|
Blood 2 Mod
Now available
for download is my minor Blood2 mod for both Blood2 and
the Nightmares addon. Frustrated with not being to have
precise control over your display settings. Ever wished
that Blood2 have a "custom" setting just like Shogo: Mobile
Armor Division? Well now you can with this minor patch.
Also included is the "John
Woo Akimbo" patch which fires your magums and flare guns
alternately for maximum style. Hopefully I'll get the
shotguns to work the same way later.
No further updates will be made
to this mod. I've decided to move on to other things.
Other mods for Blood2 may be incompatible with mine.
Blood2 Custom config Mod v0.1
Blood2 Custom config Mod for
Nightmares v0.1
Blood2 Compile Notes
Trying to compile the Blood2 source with Microsoft Visuall C++ 6.0?
Getting this error when you compile the client shell (CShell.dll) ?
Command line error D2016 :
'/ZI' and '/Ob1' command-line options are incompatible
Don't know why it comes like this but I looked up the command
switches. One of them is for debugging purposes and the other
handles inline expansion. Removing one of these would fix the
problem but then I realized that the workspace was using a
DEBUGGING project when in fact I wanted the final realease.
Fiddled a little more and found that I needed to select "Set
Active Configuration" from the Build menu. From there I chose
the Win32-Release option. The command line errors went away
and I was greeted with two new errors. Both errors related to
pointer type mismatches. Though I have developed code before,
this is my first effort on the PC so I didn't know how to tell
the compiler to ignore pointer types and just let everything
flow.
Instead I modified some code, specifically:
In NetStart.cpp around line 1250 you have this:
>DRESULT dr = pClient->GetEngineHook("HWND", &s_hMainWnd)
I remarked that out and changed it to this:
>DRESULT dr = pClient->GetEngineHook("HWND", (void **)&s_hMainWnd);
Not sure yet why this is an issue considering that GetEngineHook
is already pre-defined to use (void **) for its second parameter.
The other problem also occurs in NetStart.cpp at line 159 with:
>extern HINSTANCE g_hLTDLLInstance;
Again, a pointer type conflict solved by changing it to this:
>extern void *g_hLTDLLInstance;
Once done, the client compiled fine and assuming you have
already Lithrez-ed your files you can easily try out your new
client shell (CShell.dll) by replacing the old one in whatever
directory you decompressed the files to.
|