Fallout 2 mod FO2 Engine Tweaks (Sfall)

Dude101

Vault Fossil
Modder
Update:

SFall and details of contents changes / updates can now be found here:

http://sourceforge.net/projects/sfall/

End Update.


Found on Beth:

http://www.bethsoft.com/bgsforums/index.php?showtopic=736370

I've spent the last week replaying fallout 2, but I found a few things rather irritating. Being the habitual modder that I am, I decided to make an attempt at fixing them. You can download the mod I came up with here.

The first thing it changes is gameplay speed. Running from one side of new reno to the other for the hundredth time gets a bit boring, so you can set up some keyboard keys to modify the speed to anywhere between 0.5x and 10x normal. It affects running speed and combat, but not the world map, sound, movies or talking heads.

The second thing is that there's no option to play fallout in a window, so I added a windowed mode. It messes up if you scroll the window around, but it makes alt-tabbing, working with two monitors and taking screenshots a lot easier.

Lastly, scrolling through the inventory gets a bit cumbersome if you have lots of stuff in it, so I tweaked it to let you use the mouse scroll wheel as well as the normal controls.

I've only tested it with the copy of fallout2.exe that comes with megamod 2, but it should work with a normal v1.02 US version too.

http://timeslip.chorrol.com/
http://timeslip.chorrol.com/current/sfall.7z
 
How ironic, I just came across this too. I tested it and it works just fine with my patch. The scrolling is very cool and makes going through the inventory much easier. I have asked the author if I am allowed to include that aspect of his mod in my patch and upcoming expansion. Hopefully he won't mind.
 
Well done!

This guy knows the DirectDraw library and its functions very well. Basically, the fallout2.exe refers to his version of DDraw and applies the changes to itself. Hard to explain, yet simple and very clever. It's like "hidden" features which were always there, only unused.

An INI file controls his custom DDraw library, so you can set up options in there easily.
 
lisac2k said:
Well done!

This guy knows the DirectDraw library and its functions very well. Basically, the fallout2.exe refers to his version of DDraw and applies the changes to itself. Hard to explain, yet simple and very clever. It's like "hidden" features which were always there, only unused.

An INI file controls his custom DDraw library, so you can set up options in there easily.
Yep, that's exactly it. Also, I got permission to use it in my work, so expect the ability to scroll in the inventory (probably none of the other ones) in my next patch and expansion.
 
I dunno. We need a good coder to read it through... Maybe ravachol or someone. Anyone?
 
I don't quite get it. Who is the dude? some random hippie who dug in the exe somehow? Or um....?
 
lisac2k said:
I dunno. We need a good coder to read it through... Maybe ravachol or someone. Anyone?

What I can say after looking at the code:

Since the ddraw.dll and dinput.dll are loaded via an api call, it's possible to make proxy dlls that are located in the current directory (I mean it's easier than if the dlls are loaded when the executable is loaded into memory). When the dll is loaded for the first time (ddraw.dll is loaded before dinput.dll), the "dinput.dll" string is changed to "ddraw.dll" and that makes the trick to have both proxies in the same dll.

I didn't look into the details, basically, what he does is returning proxy objects to fallout that sometimes do a bit more than what they're expected to do. For exemple, when he detects a movement of the mouse scroll wheel (in the GetDeviceState method of the mouse IDirectInput object), he emulates a pression on the up or down button.

For the speed, he hooks GetTickCount, timeGetTime and GetLocalTime when the dll is loaded and make the time run slower or faster as needed.

That's a nice set of hacks, however, I don't think I'd need more than the scrolling... windowed mode is nice for debugging but it already works perfectly fine with d3d windower, I don't need to change.
 
Would it be possible to make a similar thing for Fallout - I mean the mouse scrolling thing?
 
Vault 69er said:
Direct links don't work.

They're both mirrored on NMA. Both files also link to a page he made so you can download the sourcecode/the mods from his site.
 
ravachol said:
What I can say after looking at the code...
You could start with your name and address, so I can send you a package of the finest beer.

Good work, man! :salute:

Say, you think you could tinker with the code a bit? I know you don't have time and blah blah... But we need your skills. That is, before the aliens hijack you.
 
It depends what has to be done, I'm not an expert when it comes to directx programming. It would require some research in this field if I wanted to add/alter some functionnalities. On the other hand, if it's only "light" tinkering, it could be quite easy. It really depends on what needs to be done.

(I've just thought of something that might be interesting: instead of patching the game or using a loader, some patching code could be added in the DllMain function. It would be a nice way to apply the needed patches for a mod.)
 
This is a great and extremely useful release for Fallout 1/2. Ahhhh to be able to use the mouse-wheel to scroll through the inventory. :-D

My Fallout 1/2 experience would be complete if the mod that was released to allow greater screen resolutions was 100% working without glitches..mmmmmm! :-)

But I totally digress.
Love this release..
 
ravachol said:
It really depends on what needs to be done.
Bigger resolution support? (this one is hard, I know)
World Map Speed Fix?
Hakunin Dreams Remove?
13 years limit? (this one is really tough)
Other standard features (like in the patchers before): starting sprites, setting starting datum and map etc...

ravachol said:
...instead of patching the game or using a loader, some patching code could be added in the DllMain function. It would be a nice way to apply the needed patches for a mod.
Yeah, that one is a gem. Many of the above mentioned features could be forced this way.
 
Back
Top