all this talk about the Half-life way, which
is a decandant of the Quake 1 way, since the half-life engine derives from that, is not a smart way, even the build in MOD support is crapping up, very often. example, my screen got a whole lot of odd lines where there should be OPENGL effects. The text was there, but it fubared until I restarted the Vidio system. This happend each time I changed Mods.
quake1 and 2 and 3 is build up so that there is the Exe file and there is the Dynamic Link Libary aka DLL files.
The Dll files are what the modders usually are allowed to mess with the first many years, and then after some time all of the Source is realeased.
DLL is ok when, you have situations where the developing company would like protect some of theire code for a time(like CD checks), so that they can split it up into two files. and at the same time keep the game modable.
But in our situation this is not needed, since we have the full code, and what we have not is because of Interplay(MVE) and possible abuse(PXO, "cheating").
The best way approach, and easiest way to enable modsupport would be to, like in Quake1,2,3 to do a set a Game name.
example fs2.exe -Game mypack
This will look in freespace2/Mypack/for tbl files and additional ANI and model files + search VP files if they exist in that directory.
If TBL files does not exits then it takes the defaults found in the DATA directory, and the same goes for all other files. IF a replacement file is found, Use it.
If game dir does not exits use the default Data dir which would be in Freespace2/Data/
-hell, maybe even I could code this, since i have already messed
with command line paramerters and how to pass them on to the correct functions.
all good functions will be incorperated into CVS, i'm sure.