Fallout 2 mod FO2 Engine Tweaks (Sfall)

I have problem with using multiple patches with sfall in FO2
How to configure ddraw.ini to use few patches?

I tryied much possibilities and it doesn't work (with names like patch000.dat patch001.dat patch0001.dat and other)

I need some example.
I have three files:
mod.dat
patch1.dat
patch2.dat

What names of files I have to use and how to config ddraw.ini for them?

I use sfall 1.37 for WinXP
 
Cubik2k said:
I have problem with using multiple patches with sfall in FO2
How to configure ddraw.ini to use few patches?
You want fallout to load multiple patches at once? I don't think that's possible; if you can't do it with vanilla fallout then sfall wont help. It lets you change the name of the patch file, but nothing beyond that.

The 000, 001, 002 thing is just because fallout checks multiple file names. You can't actually load a 000 and 001 patch at the same time afaik.
 
Thanks Timeslip.

I did not understand this comment from ddraw.ini so my question:

;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
;If you want to use multiple patch files, you can include a %d in the file name
;The original file is patch%03d.dat
;PatchFile=

I understand that I can use few patches at once with sfall ;) hehe.
So my misunderstanding ;)
 
Cubik2k said:
Thanks Timeslip.

I did not understand this comment from ddraw.ini so my question:

;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
;If you want to use multiple patch files, you can include a %d in the file name
;The original file is patch%03d.dat
;PatchFile=

So my disunderstanding :)
Ah, that's worded a bit badly in sfall.ini. If patch000.dat exists, only that one will be loaded. If it doesn't, fallout will look for patch001.dat, and so on. The '%03d' bit is printf format.
 
I have make two more functions for sfall.
The write_int () command and the call_offset () command.

For write_int () you need 2 values, firstly, the offset in decimal, and secondly what value you put the offset wants.

Here's an example:
Code:
write_int(5310788,8); //This command end the combat.

For call_offset () only the offset is needed.
Example:
Code:
call_offset(4472692); //Opens Helpscreen

In addition, I have written a header with some usefull functions ther use this commands. Macros for Goris animation, combat function, mouse input ect.
I haven't enough time to put all into the header. Many engine functions are unknown at the moment. Ther are over 3600 functions. But I think for the most people it's easier to do this on script as direct in sfall. The most modder can't program C++ or Assembler. But everybody can use Cheat Engine or another memory tool to find out more. This is my opinion.

In this pack are the modified sfall, the compiler and the header. http://www.file-upload.net/download-1395976/Pack.rar.html
 
this will became all my dreams come true! i hope modders with more programming expiriance as me will look at this, it amesome. thank you helios.
 
Helios, your ddraw.dll file is not working on my computer with old AthlonXP 2500!

I wrote about it to Timeslip several months ago, you can read it on earlier posts in this topic.
 
Cubik on my second PC (AthlonXP 2600 with XP) it work correct.
I have forgot to tell that I have use the November 2008 SDK to compile sfall. That mean you must update the dx Version to 9.25. I hope this will help.
 
implementing the SPECIAL ruleset in a new engine without paying license fee

I am no lawyer, but I don't think "rules" or "game mechanics" are copyrightable. They *might* be patentable, but I am pretty sure SPECIAL is not patented.

You absolutley cannot steal the CODE. You cannot steal/repurpose the artwork (i.e, I don't think you can SELL a mod without licensing agreement). The license agreement you "agreed" to might have said something about not "reverse engineering" Fallout.

But what about SPECIAL are they going to get you on? The name might be trademarked. The names of the stats are used in 100s of RPGs spanning 30 years. Ditto the skills. % skills, levels, xp, and even some for of perks have been around for dozens of years in RPGs. The DT/DR armor system system (and a couple of other mechanics) is ripped directly from GURPS.

The combination of these things might be unique to SPECIAL, but there's nothing really "special" about them.

That's assuming Beth would even bother to worry about you if you weren't publishing a retail competitor game (for a game that was released almost 11 years ago!).

That being said... how do I mod the engine to use GURPS instead of SPECIAL? <grin>
 
Helios said:
In addition, I have written a header with some usefull functions ther use this commands. Macros for Goris animation, combat function, mouse input ect.
I haven't enough time to put all into the header. Many engine functions are unknown at the moment. Ther are over 3600 functions. But I think for the most people it's easier to do this on script as direct in sfall. The most modder can't program C++ or Assembler. But everybody can use Cheat Engine or another memory tool to find out more. This is my opinion.

In this pack are the modified sfall, the compiler and the header. http://www.file-upload.net/download-1395976/Pack.rar.html
Did you want me to include those functions in the official version? You don't seem to have included the modified source code in that download...

I did actually have reasoning behind not including generic memory write functions, even though I already have read functions; It's easy to cause problems by writing over something you shouldn't, and it moves the burden of bug fixing away from sfall to the mods themselves. If there are 3 mods using your 'write_int(5310788,8);' command to stop combat, and it turns out that under some conditions it doesn't work or crashes, then rather than me just having to fix a single stop_combat() function, all 3 mods will need to be fixed and re-released individually. On the other hand, since I'm not making regular updates any more I suppose a few write functions will let people do stuff that wouldn't be possible otherwise, and I have write_byte, write_short and write_int functions of my own in there already anyway.

Edit: ok, 1.38 is out. Aside from 11 new functions for writing memory and calling offsets, there's one extra function to change the hp per level modifier. (i.e. the extra hp you get regardless of your endurance: 2 by default) and an option for disabling the compatibility mode check.
 
Did you want me to include those functions in the official version? You don't seem to have included the modified source code in that download...

I thought yours focus would be Fallout 3. I was not sure if there are additional updates for sfall will come. Ok you wrote your own functions. Your call functions are better then my one, but I have't much time for this.

Thanks for your work :)

I hope that the other modders recognize the opportunities.
 
Helios said:
I thought yours focus would be Fallout 3. I was not sure if there are additional updates for sfall will come..
I am mainly focusing on fallout 3, but I released a new version of fomm yesterday so I'm taking a little break while the next round of bug reports come in. :)

Speaking of source code, I noticed on the german forum that you said you didn't have my modified sslc source code and had to add the rest of sfall's functions back in by hand. That was available here. (I've added a link to it on the normal sfall download page, so that it's a bit easier to find next time.)
 
Timeslip

Code:
procedure map_enter_p_proc begin

write_int(5358484, 1); - STRENGTH

end

When I use your ddraw and compile.exe (1.38a), it does not work.

When I use ddraw and compile.exe Helios, it works.

What is the problem?
 
Jordan said:
Timeslip

Code:
procedure map_enter_p_proc begin

write_int(5358484, 1); - STRENGTH

end

When I use your ddraw and compile.exe (1.38a), it does not work.

When I use ddraw and compile.exe Helios, it works.

What is the problem?
There's an ini option you need to set to turn on the read_xxx, write_xxx and call_xxx functions. Set AllowUnsafeScripting to 1.

And I really really hope you were just doing that to check that it works. If people start using generic memory writing functions for things that can be accomplished by normal scripting you're just going to be causing more problems for yourself. (In that case, set_pc_base_stat(0, 1)' would have done exactly the same thing.)
 
Josan12 said:
I do personally think it is a bug/flaw in the engine that melee weapons like the cattle prod (which does electrical damage) don't cause the appropriate electical death animation. I've looked into it and any kind of melee attack (punch, swing, thrust whatever) are all set to never cause crit deaths. Only an engine hack could solve this, methinks.

Any thoughts on this Timeslip?
 
Glovz said:
Any thoughts on this Timeslip?
I'd need to find where the death animation is chosen, and then work out how fallout picks it. I'm not really sure how to find that. :(

I'll keep an eye out though, and let you know if I have any ideas.

Edit: 1.39 is up.
>Added 3 new script functions: show_iface_tag, hide_iface_tag and is_iface_tag_active
>Added an option to fix the crash caused by withdrawal effects without an associated description (i.e. alcohol)
 
Josan12 said:
Speaking of which - does anyone else think it's a bit ridiculous the way corpses block firing?? Is there a way to stop the engine taking corpses into account?
Another one for you Timeslip. ;)
 
Hey Timeslip: also - do you have any idea how to modify the body-part to-hit chance in the .exe?

I would love to be able to make a tiny mod that makes the eyes much harder to hit (IMO the single greatest culprit for making FO2 too easy ....)

What do you think?
 
Back
Top