I finished the patches to SDK 2.2 to allow you to build the server DLL and the
client DLL with the freely available Borland or MinGW C++ compilers.

Download the SDK 2.2 source code zip file from the valve-erc.com website.

Download my SDK 2.2 patches from here...

http://planethalflife.com/botman/building.shtml

Download either the Borland or MinGW C++ compiler (URLs are on my website).

1. Install the unmodified SDK 2.2 source code.

2. Unzip the patches, read the ReadMe.txt file and follow the directions...
   Unzip Patch_Full.zip for the Full SDK... OR
   Unzip Patch_Standard.zip for the Standard SDK
   Run the "DO_PATCH" batch file to modify the SDK source code files.

3. Install and configure the compiler

4. Modify the Makefile in the "cl_dll" and "dlls" folder for you MOD.

5. Run "make" in the dlls folder to build the server DLL.

6. Run "make" in the cl_dll folder to build the client DLL.

The Makefiles will automatically copy the DLLs to the proper MOD directory (for
whatever path you set up in the Makefile).

The client DLL is built with VGUI support disabled.  I have created a
NoVGUI.dll file that initializes the display and takes care of painting the
background to render video frames.  Since the scoreboard in SDK 2.2 was a VGUI
scoreboard, I have replaced this with the "classic" scoreboard from SDK 1.0
(oldschool style!).

There's even an included cl_dll_novgui.dsp file in the cl_dll folder to allow
you to build the modified VGUI-less client DLL using Microsoft Visual C++.

All of the changes are backward compatible with MSVC 6.0 and will work with
older versions of the gcc compiler on Linux (egcs-1.1.2) but they will also
compile cleanly using gcc 2.96 (which comes with RedHat 7.2).  I am still
building gcc 3.0.4 (it's been 6 hours now building it) so I don't know if
things are compatible with gcc 3.0.4, but I would think it should also work
just fine (update: it just finished building as I was typing this, I'll try
compiling everything tomorrow).

The only bug I haven't been able to fix is trying to get the MinGW compiler to
properly save function pointers in the Save/Restore stuff in single player.
The Borland compiler handles this correctly (using my namefunc.cpp file to
handle the non-MSVC C++ name mangling that the Half-Life engine uses).

Now that people can build both the server and the client DLL using freely
available compilers, it should allow more people who couldn't afford MSVC to be
able to play around with building MODs for Half-Life.

Jeffrey "botman" Broome

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to