By Dest
Date: 07-15-2002
Feel free to use my source but give credit where credit is do. Remember tchouky did all the model scaling and rgb saber
stuff so credit should go to him for those things.
I used very weird defines to make some of the stuff possible in this mod. In the game source you will find a lot of
#ifdef CLIENTSIDE stuff. This is so that if I have CLIENTSIDE defined then the game source will compile as a
clientside and serverside mod. If I dont define it then it will only be a serverside mod. There aren\'t any
#ifdef CLIENTSIDE\'s in cgame because its obvious that it will be clientside. I also use #ifdef CLIENTCOMPILE
In order to make it so you could turn the ability to spin in backstabs on and off I had to have two different version of
bg_pmove.c and since both game and cgame use the same bg_pmove.c I had to use defines to basically make it to
different versions. The problem was because I needed to access cvars like mod_nerfspin which were only set on the
server so I basically did
#ifdef CLIENTCOMPILE
vmcvar_t mod_nerfspin;
#endif
#ifdef CLIENTCOMPILE
mod_nerfspin.integer = cgs.nerfspin
#endif
This means that in order to compile cgame you have to define CLIENTCOMPILE in a couple of files and CLIENTSIDE
in gamedefs.h and in order to compile game you have to define CLIENTSIDE in gamedefs.h and undefine
CLIENTCOMPILE.
I just added the define to the projects/settings/c/c++/preprocessor definations
This works for when you use a dll but to compile into a qvm you must put the defines in the source files.
Some of the defines are very ugly but it is good to have it so I can make it a server side only mod
(no model scaling rgb sabers etc).
I tried to mark all my changes with comments like this ////comment
so if you search for //// you will find my comments.