00001 #ifndef _ANTI_DEBUG_
00002 #define _ANTI_DEBUG_
00003
00004 #include "antistd.h"
00005
00006
00007 int aeAssert(int,const char*,int,const char*);
00008 void* aeAssertPtr(void*,const char*,int,const char*);
00009
00010 #define ASSERT(a,b) aeAssert(a,b,__LINE__,__FILE__)
00011 #define ASSERTPTR(a,b) aeAssertPtr(a,b,__LINE__,__FILE__)
00012
00013
00014 void aeLog(FILE*,const char*,...);
00015
00016
00017 typedef struct aeProfilerEntry
00018 {
00019 char* name;
00020 uint frames;
00021 uint totalticks;
00022 uint minticks;
00023 uint maxticks;
00024
00025 uint clock;
00026 uint frametotal;
00027
00028 struct aeProfilerEntry* parent;
00029 struct aeProfilerEntry* childroot;
00030 struct aeProfilerEntry* next;
00031 } aeProfilerEntry;
00032
00033 typedef struct aeProfiler
00034 {
00035 aeProfilerEntry* root;
00036 aeProfilerEntry* cur;
00037 } aeProfiler;
00038
00039 void aeProfilerInit(aeProfiler*);
00040 void aeProfilerFree(aeProfiler*);
00041 void aeProfilerStartFrame(aeProfiler*);
00042 void aeProfilerStartSample(aeProfiler*,const char*);
00043 void aeProfilerEndSample(aeProfiler*);
00044 void aeProfilerEndFrame(aeProfiler*);
00045 void aeProfilerBuildTable(aeProfiler*,char**);
00046 void __aeProfilerTreeIterate(aeProfilerEntry*,void(*)(aeProfilerEntry*));
00047 void __aeProfilerEndFrameAnalyze(aeProfilerEntry*);
00048 void __aeProfilerTablePrint(aeProfilerEntry*);
00049 void __aeProfilerTreeFree(aeProfilerEntry*);
00050 #endif