summaryrefslogtreecommitdiff
path: root/3dc/MEM3DCPP.CPP
diff options
context:
space:
mode:
authorRebellion Developments <rebellion@nomail>2000-03-16 11:25:00 +0100
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-19 05:45:17 +0200
commit218ca90543758a20ac326e444ca0643174ca7384 (patch)
tree16bfe3e5307f9f515489000f28728224291a0e3b /3dc/MEM3DCPP.CPP
Import Aliens vs Predator - Gold (Build 116)
Source code release, imported from: https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code All text files were converted to Unix format.
Diffstat (limited to '3dc/MEM3DCPP.CPP')
-rw-r--r--3dc/MEM3DCPP.CPP48
1 files changed, 48 insertions, 0 deletions
diff --git a/3dc/MEM3DCPP.CPP b/3dc/MEM3DCPP.CPP
new file mode 100644
index 0000000..906b589
--- /dev/null
+++ b/3dc/MEM3DCPP.CPP
@@ -0,0 +1,48 @@
+#include "mem3dc.h"
+
+#if DBGMALLOC
+
+#if 1
+
+// try and turn C++ new/delete tracking on such that
+// we can do a malloc dump when the global objects
+// with associated memory allocated is recored, the
+// deallocation is recored, and then a malloc dump
+// is done
+
+// note that some global objects wont have their memory
+// allocations/deallocations in the constructor/destructor
+// tracked through record_malloc/record_free, but since
+// global objects are deconstructed in the reverse order
+// from construction, the deallocation type in the destructor
+// will correspond to the allocation type in the constructor
+
+int __cpp_new_recording = 0;
+
+class DebugObject
+{
+public:
+ DebugObject();
+ ~DebugObject();
+};
+
+DebugObject::DebugObject()
+{
+ __cpp_new_recording = 1;
+}
+
+DebugObject::~DebugObject()
+{
+ __cpp_new_recording = 0;
+ DumpMallocInfo(DUMPTOFILE);
+}
+
+static DebugObject dbo;
+
+#else
+
+int __cpp_new_recording = 1;
+
+#endif
+
+#endif