The really really sad thing is that it seems no one on the PC deveopment staff has ever heard of a an #IFDEF precompiler directive....
I can understand that it's nice to have the engine toss out what it's doing to stdio so you can follow along. However, when you want to make a production biniary, using #IFDEF will allow the compiler to skip whole blocks of unneeded code.
the command "cc -DDEBUG_CODE whatever.c " would automagicly include any debugging code you put into your .c file within a #IFDEF DEBUG_CODE directive. Not using the -D switch will cause the precompiler to *SKIP IT* and not allow it into the final binary. Wow! Even I know that! (Though I may have the sentax wrong)
Not only that, they used printf strings to spill out debugging data. So now not only do I have the names of very important engine varibles and concepts, I also have thier format. Here a quick example...
It's still quite possible that they may have used #IFDEF.. a compiled binary wouldn't give us a yes or no answer to that.. Judging from the binary though, I guess they did ship a debug build instead of one compiled for release mode.
Off topic, but a lot of games are released in a debug mode.. Even games like GTA (on the PS2) have loads of text and information inside the binaries.. The GTA data is even in easy to read text files.
Oh, I couldn't get pcsx to compile under Mingw or Visual C++ 6. It seems to have errors with plugins.h or plugin.h at the CALLBACK* lines..
I'll have to see if I can compile it on Linux some time in the future.
Anyways, I know my comments bring no further help for you.. so I'll just end my post with a..
Good work halkun.