Some interesting stuff I found in the source code...

Status
Not open for further replies.

Fawfulfan

The Tortured Planet guy
I found this while combing through "doomdef.h" in the source code. A bunch of disabled stuff, some of it from the past, some of it from the future.

Code:
//#define SLOPENESS // Fun experimental slope stuff!
Let me guess...this was a previous attempt to make slopes supported. I assume you've given up on this now.

Code:
//#define WEAPON_SFX
//#define FISHCAKE /// \todo Remove this to disable cheating. Remove for release!
//#define JOHNNYFUNCODE
//#define SHUFFLE //Incomplete OpenGL sorting code
I don't really understand this stuff...but never mind.

Code:
//#define CHAOSISNOTDEADYET // Pre-1.08 Chaos gametype code
This one's pretty self-explanatory, I guess.

Code:
//#define POLYOBJECTS_PLANES // Polyobject fake flat code
Is this what I think it is? If so, YAYZ.

Code:
//#define BLUE_SPHERES // Blue spheres for future use.
Huh?
 
#DEFINE simply enables any code wrapped around #IFDEF [descriptor]. // prevents the declaration, so the code is never executed. In other words, if you had a compiling environment, you could revive the long-gone Chaos mode (or enable any of those other trinkets) by simply removing the commenting.

We keep a lot of things in and around the source code, both for archival and posterity. If you think you've uncovered something super secret, you clearly haven't seen anything yet. ;)

JOHNNYFUNCODE actually found its way back in quite recently, although in a "neutered" state, so to speak. True story: AJ and Sonikku used this in the early days of SRB2 to do thing placement in a few levels (Spring Hill Zone was one of them, as I recall).
 
Last edited:
WEAPON_SFX adds custom sounds for the weapon rings. FISHCAKE is DEVMODE without modifying the game. And BLUE_SPHERES replaces special stage rings with blue spheres.
 
From a coding perspective, anything prefixed with # is a compiler operation. Any code surrounded in #IFDEF (whatever) (...) #ENDIF blocks only gets compiled into the EXE if (whatever) is defined first, whether it be through a #DEFINE operation or through paramaters passed to the compiler. We use this all over the source code for code that needs to be specific to the OS/compiler/etc, as well as keeping some outdated things around that we want to keep around, just in case. (Chaos mode, for example.)

WEAPON_SFX gives each weapon their own firing sounds. We commented it out because we couldn't find decent sounds for each weapon in time.

FISHCAKE's comment gives all of its info away.

JOHNNYFUNCODE enables Objectplace in multiplayer -- placing objects, all that jazz. And no, there is no neutered version of this in place now, the spectator movement is actually fundamentally different from Objectplace.

SHUFFLE is... well, look at ShufflarB2, basically. It's OpenGL fixes and other fancy stuff, done by Shuffle and JTE if I recall correctly.

POLYOBJECTS_PLANES is exactly what you think it is. Just one problem -- they leak, very badly, if I do recall correctly.

BLUE_SPHERES is pretty self explanatory. Enable it and all the special stage rings turn into blue spheres. This was supposed to be 2.0's intended behavior but we ended up taking it out a bit before release because they got REALLY laggy at times.
 
Last edited:
Wow, I kind of imagined BLUE_SPHERES to be something way cooler and more secret. The real answer turned out to be quite anticlimactic.

And I don't know why I grouped WEAPON_SFX under the ones I didn't understand...it was pretty self-explanatory, too.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top