Fallout 2 mod FO2 Engine Tweaks (Sfall)

sfall 3.7a is released on SourceForge, along with modders pack (only a minor change) and win2k version.

Changelog said:
v3.7a
>Partially refactored all the source code to use proper engine function/variable names
>Removed a few options from ddraw.ini that should never be turned off

Original engine bug fixes and various features based on the work by Crafty:
>Added a fix for unable to sell used geiger counters or stealth boys
>Added a fix for not counting in the weight of equipped items on NPC when stealing or bartering
>Added a fix for only using one box of ammo when reloading a weapon above the ammo in the inventory list by drag and drop
>Added an option to prevent players from using number keys to enter unvisited areas on a town map
>Added an option to leave the music playing in dialogue with talking heads
>Added an option to skip the 'Move Items' window when using drap and drop to reload weapons in the inventory
 
Last edited:
Cool, thanks for adding the "skip move items dialog" feature!
Looking forward to have other goodies from Crafty's version merged.
 
Cool, thanks for adding the "skip move items dialog" feature!
Looking forward to have other goodies from Crafty's version merged.
Personally I don't plan to add more features from his build. I focus more on bug fixes than 'convenient features'.
 
Personally I don't plan to add more features from his build. I focus more on bug fixes than 'convenient features'.
I would like to see new opportunities for scripting)
for get_game_mode add support when open inventory loot/use interface window.
and a new hook allows you to get a pointer(obj_ptr) when a player uses the object/container located on the local map.
 
Last edited:
I would like to see new opportunities for scripting)
for get_game_mode add support when open inventory loot/use interface window.
and a new hook allows you to get a pointer(obj_ptr) when a player uses the object/container located on the local map.

Finally, some proper requests. Could you explain each of these in-detail and how you want to use them? You can also add issues to github.
 
Finally, some proper requests. Could you explain each of these in-detail and how you want to use them? You can also add issues to github.
в этой теме написано для чего я бы хотел это использовать.

ну ладно указатель на объект можно получить и без хука типа так, но хотелось бы попроще)

Code:
 if (art_anim(obj_art_fid(dude_obj))==ANIM_magic_hands_middle or art_anim(obj_art_fid(dude_obj))==ANIM_magic_hands_ground) then begin
    object_array:=tile_get_objs(tile_num_in_direction(dude_tile, dude_cur_rot, 1), dude_elevation);
    ...
end

а вот определить когда открыты интерфейсы инвентаря тут скриптово увы не возможно что либо сделать.
 
Last edited:
sfall 3.7b is released on SourceForge, along with modders pack (only some minor documents changes and an additional example mod) and win2k version.
Changelog said:
v3.7b
>Fixed broken sfall_ver_* functions
>Fixed potential undefined behavior and crashes in sfall arrays (From Vennor)
>Optimized some code to make the compiled DLLs about 10 KB smaller in size
>Switched to using the precomputed CRC table instead of creating the CRC table at runtime. This could potentially improve startup time in emulated or partially emulated environments (From Oppen)
>Added rounding calculation to ComputeSprayMod for more balanced bullet distribution in burst attacks
>Re-added CarChargingFix back in ddraw.ini to compatible with other mods that have custom vehicles
>Removed MultiHexPathingFix from ddraw.ini because there is little reason to turn it off

Various features based on the work by Crafty:
>Fixed a crash bug introduced with the inventory drag and drop fix
>Added a new setting to SpeedInterfaceCounterAnims to update the hp/ac counter instantly when the number is not negative
>Added an option to skip weapon equip/unequip animations when performing various actions
>Added an option to control the speed of pipboy alarm clock animations
>Added an option to change the carry weight limit
Because phobo2077 has been busy lately, I decided to pack some bug fixes and smaller features in another minor revision. Other modding/scripting improvements and features will have to wait until the next version.
 
Last edited:
Great news, thank you!

I just tried it, and there seems to be a light inaccuracy in the changelog: equip/unequip animations are disabled in all cases, not just when using a container.
Also, could you please clarify what "speed of pipboy alarm clock animations" is supposed to do? Allow to rest faster? I can't seem to get it to work.
 
Great news, thank you!
I just tried it, and there seems to be a light inaccuracy in the changelog: equip/unequip animations are disabled in all cases, not just when using a container.
Also, could you please clarify what "speed of pipboy alarm clock animations" is supposed to do? Allow to rest faster? I can't seem to get it to work.
It says "when searching containers or doing other actions", so yes, the animations are disabled completely.
PipboyTimeAnimDelay changes the speed of the counter of Pipboy alarm clock during your rest. Setting it to zero doesn't mean your rest will finish instantly but only much faster then default. Try setting it to 120 or 0, the differences should be noticeable.
 
Last edited:
It says "when searching containers or doing other actions", so yes, the animations are disabled completely.
Well in any case, it makes it sound like there are conditions, which there arent.

PipboyTimeAnimDelay changes the speed of the counter of Pipboy alarm clock during your rest. Setting it to zero doesn't mean your rest will finish instantly but only much faster then default. Try setting it to 120 or 0, the differences should be noticeable.
I tried 1. I don't see any difference with the original.
 
Well in any case, it makes it sound like there are conditions, which there arent.
I tried 1. I don't see any difference with the original.
The animations are only skipped when action_climb_ladder_, action_use_an_item_on_object_, action_get_an_object_, intface_change_fid_animate_ and invenWieldFunc_ functions get called by the game. Maybe I should change the description a bit.
On my system, resting 12 hrs in Pipboy with PipboyTimeAnimDelay=0 takes less than 0.5 second, and PipboyTimeAnimDelay=127 takes nearly 10 seconds. I'm not sure why it doesn't work for you.
 
Last edited:
The animations are only skipped when action_climb_ladder_, action_use_an_item_on_object_, action_get_an_object_, intface_change_fid_animate_ and invenWieldFunc_ functions get called by the game. Maybe I should change the description a bit.
On my system, resting 12 hrs in Pipboy with PipboyTimeAnimDelay=0 takes less than 0.5 second, and PipboyTimeAnimDelay=127 takes nearly 10 seconds. I'm not sure why it doesn't work for you.
I'm using RP and EcCo. Want to see ddraw.ini?
 
@NovaRain
I added in the latest version of sfall, but I am still not able to recharge the car (for the MM, of course). Would you mind taking a look at it again, please?
 
There are only two functions in sfall code that related charging stuff AFAIK. One is the fix for cells getting consumed even when the car is already fully charged. This one is always enabled currently. Another one is the "fix" for being able to charge the car by using cells on other scenary/critters. This is what CarChargingFix controls.
Both of them are implemented in 3.7. If 3.6 works, I guess I need to make both functions be controlled by CarChargingFix. I haven't played Megamod for a long time (and never finished it). Are there any other vehicles in your save that happen to be fully charged? If yes, try making all of them not fully charged and see if you can charge them normally.
 
The last version of sfall that I used prior to 3.7b was 3.7, where the feature was disabled. Before that, the last one I used was version 2.12. I'm not sure if 3.6 worked. I tried recharging the car in my current playtest (it is around 1/4 power), and am unable to charge it. Hmm... I will head to the chop shop and get the car painted and see if the others can be charged.
 
Last edited:
I tried to recharge the rust bucket with sfall 3.7b and it works for me. Checking how much fuel is left still don't work, but that probably has nothing to do with sfall.
 
Back
Top