#pragma once enum TraceType { TraceNone = 0x00000000, TraceError = 0x00000001, TraceSettings = 0x00000002, TraceGfxPlugin = 0x00000004, TraceDebug = 0x00000010, TraceRecompiler = 0x00000020, TraceRSP = 0x00000040, TraceTLB = 0x00000080, TraceValidate = 0x00000100, TraceAudio = 0x00000200, TraceProtectedMem = 0x00000400, TraceNoHeader = 0x80000000, }; enum TraceLevel { //Handle Existing Code TrLvError = TraceError, TrLv1 = TraceSettings | TrLvError, TrLv2 = TrLv1 | TraceDebug, TrlvGfxPlugin = TraceGfxPlugin, TrLvAll = ~TraceNoHeader, }; void WriteTrace(TraceType Type, const char * Message); void WriteTraceF(TraceType Type, const char * strFormat, ...); void CloseTrace(void); //Free's all memory associated with trace