Wenn C bevorzugt wird, dann solltest du auch bei C bleiben. Also kein class, template, virtual, const, public, private, new, delete, bool, typedef ... . Dann solltest du aber auch fuer deine Dateiendungen nicht .cpp, sonder .c waehlen. Bei allen moeglichen Headerfiles nutzt du .hpp als Endung, aber dein Singleton hat ein .h. Desweiteren ist deine Singletonumsetzung ... hmm ... unschoen, um es mal vorsichtig auszudruecken. Test_Compare, da frage ich mich, warum du eine ganze Klasse fuer eine einzige Funktion brauchst. Allgemein solltest du malloc nicht auf class/struct anwenden, wenn du einen C++ Compiler nutzt. In C++ ist struct nichts anderes als class, nur dass alle Member per default public sind. Allgemein solltest du C++ und C nicht mixen. Deine Half-Life-Sprites habe ich nur ueberflogen und ich wuerde mich nur wiederholen. Aber: Auch Kommentare koennen mehrzeilg sein, hier und da ein Zeilenumbruch waere nett. Relative oder absolute Pfadangaben wie in #include "../bitmap/bitmap.h vermeidet man meist, da sie nicht portabel (auch zwischen Kompilern) sind. Das erledigt man in den Projekteinstellungen, makefile oder sonst wo.
Als leak-detector nutze ich valgrind, selbst wuerde das man wohl nur aus Spass selbst schreiben. Und Sprites (ja die pixeligen, wobei jedes Bild aus Pixeln besteht) werden von Partikelsystemen eingesetzt oder wenn Baeume gerendert werden (aber net mehr die Billboards).