Skip to content

Preprocessor

chino edited this page Jan 5, 2013 · 4 revisions

Custom

TITANBITS_SEND

	DESC:	This flag changes the behaivor of the Titan Bits (babies) in Multiplayer.

	ON:	Titan Bits trajectories are generated locally by each players computer.

	OFF:	Titan Bits trajectories are generated by the owner.
        	The owner sends a broadcast with the Titan Bits trajectories.

	WHY:	This obviously saves network bandwidth and improves game response time.
		Titans Bits packets are 200 bytes making them the largest packets in the game.
		Normally a players pc would have to wait for the new packet to arive,
		with this method the Titan Bits are instantly generated with no delays.

	BAD:	Only downfall is that each client will generates different trajectories.
		Basically each Titan Bit is directed at MultiPlayers then Enemies then Randomly.
		Each player most likely see's others in slightly different locations.
		Also the randomly sent bits will obviously be different on each client.
	
		Possible work around is to replace the Random trajectories with pre-defined angles.
		Although this doesn't stop clients aiming Bits at players from their own perspectives.


NO_ORBITAL_POLYS

	DESC:	This flag turns on/off rendering of little circles around your cursor to signify that
                you have orbitals

	ON:	Turns off the rendering of the circles.

	OFF:	Leaves the rendering in place.

	WHY:	Slows the shit out of debuggin mode in visual studios so it must cause much overhead.
		This is here in case people want to turn it off because of desire or for speed improvements.

	BAD:	You don't know if you have orbitals unless you shoot.


NO_GRAVGON_TIMER

	DESC:	USed to turn on/off the gravgon timer.

	ON:	Stops gravgons from disapearing.

	OFF:	Gravgons act normal.

	WHY:	For training purposes.

Existing

Recommended preprocessor macros:

add _CRT_SECURE_NO_WARNINGS,_CRT_SECURE_NO_DEPRECATE to all to reduce warnings.

Barebones:                    BSP
Final Release:                BSP,PLAYER_SPEECH_TAUNTS
Final Release Optimisations:  USEINLINE,FINAL_RELEASE,BSP,PLAYER_SPEECH_TAUNTS
Debug:                        DEBUG_ON,DEBUG,Z_TRICK,DEBUG_COMP,DEBUG_ENUM_PLAYERS,DEBUG_SPOTFX_SOUND,
                              DEBUG_VIEWPORT,DPTEST
Debug Optimisations:          USEINLINE,FINAL_RELEASE,DEBUG_ON,DEBUG,Z_TRICK,DEBUG_COMP,DEBUG_ENUM_PLAYERS,
                              DEBUG_SPOTFX_SOUND,DEBUG_VIEWPORT,DPTEST

-------------------------------------

#ifdef                // Comments:

// code optimisations
OPT_ON                // turns on code optimisation (causes rendering lag?)
USEINLINE             // turns on inlining
USEASM                // uses assembler code (causes crash on start up)
FINAL_RELEASE         // enables some extra inlining and hides weapon kills info

// useable
BSP                   // needed or else levels wont load
PLAYER_SPEECH_TAUNTS  // enables you to press a key and send a biker voice taunt
                         Note: sound doesn't play on other people's machines yet
REMOTE_CAMERA_ENABLED // enables remote camera view in game (press 12 to turn on)
REFLECTION            // enables extra camera which uses other bikes to show your reflection
CLIP_LINES            // changes input in ClipGroup() from GroupImIn to group
MULTIPLE_READINPUTS   // moves ReadInput() further down RenderScene() - no apparent controls
                         difference in brief game
COOPERATIVE           // adjusts single player AI to attack nearest player in range
USE_DINPUT_KEYNAMES   // - no apparent controls difference in brief game
SINT_PEACEFROG_CHEAT  // titans and titan sharpnel home in on enemy targets
OLD_JOYSTICK_FORMAT   // old joystick format for config (config.c)
OLD_METHOD            // old method of trojax hitting a player (Primary.c)
BUGGED_STATIC_POV_NAME    // instead of displaying joystick axis not connected, show the name of
                             the axis that is not working correctly
ENUM_PLAYERS_ON_TITLES    // gets number of players (and names) at join screen (DPlayEnumPlayers())
                             instead of calculating ??

// debugging options
DEBUG_ON              // enables debug menu options from within the game
DEBUG                 // aids debugging for framelag out of range (Oct2.c) and collisions (Node.c)
Z_TRICK               // adds Z Buffer clearing on/off to detail levels menu
DEBUG_COMP            // writes componented object data info (CompObjects.c) to logs for debugging
DEBUG_ENUM_PLAYERS    // displays the status of player's at the 'start game' screen (chat area)
                         before launching game
DEBUG_SPOTFX_SOUND    // displays informational messages about spot sound fx (.FX files) errors
                         from spotfx.c
DPTEST                // displays networking informational messages in-game: Dpthread.c ListenThread()
DEBUG_VIEWPORT        // displays detailed information (size, xpos, width etc.) about a viewport
                         (camera window) if a function fails.

LOBBY_DEBUG           // compiles/runs ok (Oct2.c) only used in one place to include 2 things
                         Note: not needed? delete?

DEBUG_MULTI_RAYS      // compiles/runs ok (Collision.c)
TESTING_SUBTRACTIVE   // compiles/runs ok
DEBUG_PICKUPS         //
MANUAL_SESSIONDESC_PROPAGATE    // makes a copy and manually propagates the session description
NO_PRECALCULATED_CELL_COLOURS   // calls CreateCellColours() from Oct2.c in RenderScene()

// levels stuff
INSIDE_BSP            // will turn frame rate from green to red based on diff criteria 
LOAD_ZBSP             // 
BSP_ONLY              //
BSP2                  //                  
NO_SEPARATE_BSP_PORTAL_COLLIDE    //

// causes crashes/errors
USEASM                // uses assembler - causes game to crash (used in New3d.c, models.c and Lights.c)
UNICODE               // uses older version of directplay - causes lots of errors
SHADOWTEST            // missing shadows.h and triangles.h
USE_A3D               // missing a3dguid.h and ia3d.h (A3D sounds)
TRILINEAR_MENU_OPTION // causes game to crash
SCROLLING_MESSAGES    // causes lots of errors in Text.c
PHILHASTIME           // generates errors in Oct2.c - used in ScoreDisplayOrig() (end of level stats)
POLYGONAL_COLLISIONS  // crashes on level load - generates MCload non zero failed
UNSCRAMBLE            // crashes on level load - generates PreMload() Incomptible level( .MXV )
                         file data\\<level>\\level.mxv
DEBUG_SFX             // generates errors in Oct2.c
MENU_FORMAT_DEBUG     // generates errors in Title.c

// languages - needs completing or else errors
VERSION_GERMAN        // 
VERSION_SPANISH       // 
VERSION_ITALIAN       // 
VERSION_FRENCH        // 

// key stuff
KDEF
VDUKDEF
KEY_ENTER_AT_EMPTY_ADDS_KEYDEF
KEY_RIGHT_AT_END_ADDS_KEYDEF

// development stuff
THIS_SHOULD_WORK_BUT_DOESNT                 // compiles/runs ok
DOESNT_WORK_AND_A_BAD_IDEA_ANYWAY           // compiles/runs ok
THIS_OR_SOMETHING_SIMILAR_MIGHT_BE_NEEDED   // compiles/runs ok

// automatically used - (most are used to stop it from being redefined (don't touch this))
USE_SPECULAR          // used in Lights.c
FAST_RGB_CLAMP        // used in models.c
WSA_DEBUG             // used in Multiplayer.c  WSA = WinSock
GUARANTEEDMESSAGES    // used in mydplay.h
SAVESCREEN_3DFX       // used in Oct2.c
SAVEGAME_SLOTS        // used in loadsave.h
SHORTBANK             // used in mydplay.h
__cplusplus           // used for c/c++ linking compatibility
__D3DDEMO_H__         // used in D3ddemo.h  
__D3DMACS_H__         // used in D3dmacs.h
_WIN32                // localisation of user interface resource
AFX_RESOURCE_DLL      // localisation of user interface resource
AFX_TARG_ENU          // localisation of user interface resource

----------------------------------------

// not got to yet
PHIL_TESTSFX          // link error: @PlayPannedSfxVariable@20 referenced in function @UpdateShipModel@4
APSTUDIO_INVOKED      // compiles/runs ok
FIX_MXA_UV            //
NOTYET                //
 
UDP_PINGS             // compiles/runs ok
DOES_NOT_WORK_FOR_BLASTER // adds alpha setting to between frames of MXA model animation colours
                             (i see no visual difference of pickups or bikes)

// these two are linked in Node.c
CHECK_NODE_DISTANCES                //
LOAD_PRECALC_NODE_DISTANCE_TABLE    //
Clone this wiki locally