Fallout 2 mod FO2 Engine Tweaks (Sfall)

Discussion in 'Fallout General Modding' started by Dude101, Jul 30, 2007.

  1. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    Not sure why it should matter. People complaining about a missing shortcut is more than worth it, to fix one of the biggest exploits in the game. EDIT: But even better you could just make it optional, explained below.

    Wouldn't disabling the reading of that key be literally like one line of code? If it's additionally disabled by default I really don't understand the problem. Because there would be no problem. Everyone goes home happy.

    Something like:
    Code:
    if (input) == ("A" ASCII code) then
    override_input_send;
    I find it ironic that in previous versions the CantSaveDuringCombat was enabled by default, which would piss a lot of people off or at the very least confuse them as to why something provided isn't working (just like you say would be the issue with the keyboard shortcut), but that you both feel the opposite is true for this issue. Personal taste in gameplay style should not dictate fixing of massive exploits. :roll: An exploit is an exploit is an exploit.

    Example: It took me while to figure out that I couldn't save during combat because of Sfall. When I found out, I was very frustrated. So your reasoning is valid. However, if the setting had come disabled by default, it would have been transparent and thus players and modders could choose whether to enable it. Like I said, everyone goes home happy that way.

    Best solution, I think:
    Players are given choice whether to PreventSaveDuringCombat or DisableKeyToStartCombat, but both disabled by default. Modders such as myself and killap could simply add each to the installer, letting users choose if they want to disable them.
     
  2. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Maybe add a line in the message box to notify player about this when they press the key? Like the way blocking save in combat does.
     
  3. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    I am pretty sure that the generic player doesn't even know about this exploit.

    In worst case, I would try to set a delay after pressing the key, so it isn't that fast anymore (in theory one could simply press the normal combat start button as well, if the player is fast enough).
     
  4. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    Now I remember why I thought sfall globals didn't save: they don't for me. I'm using the Patch000.dat folder method, and while the sfalls.sav and sfallgv.sav appear just fine when I remove the Patch000.dat folder, if I leave it in, the files don't save.

    Does anybody have a solution for this? Or should I use a different method for modding (if so, which)?
     
  5. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
  6. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    Thanks Lexx, I'll give that a try.

    I asked this question a while ago, but given that it's still obsessing me and on the off-chance that Timeslip missed it:

    the "script id" that the get_script function retrieves, what is its use? It can't be used for the set_script function, which takes an entry from scripts.lst, so there must be something else it does, right? I'd mainly love to be able to take a critter's script, then create a new critter and attach that script to it, but I guess it's impossible due to the different types of values of get_script and set_script.
     
  7. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    Timeslip you use Sourceforge, could you give me some tips on how to set up a recurring upload? I want to set up a "Nightly Build" type thing -- not for binaries, but just uploading the most current versions of about 2000 files once a day.
     
  8. Oppen

    Oppen FIXT n°1 fan

    Dec 26, 2011
    Wouldn't it be simpler to just setup a git repo?
     
  9. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    Maybe. I know nothing about that, or SVN.

    Whatever would be "easiest" is what I want. If I could just drop them into a folder, or run a batch file or something, that would be awesome.

    It will be roughly 2000 files, maybe less. But not much size; probably like 15MB total.
     
  10. Oppen

    Oppen FIXT n°1 fan

    Dec 26, 2011
    I think you can easily make it work from a batch script with the program you can find here.

    As for setting it up, the easiest way I know of is github, it's got thorough instructions.
     
  11. gvx

    gvx First time out of the vault

    86
    Apr 4, 2008
    I run VS Express 2012 for Desktop is OK.
    But I run VS Express 2013 for Desktop is warning

    \scriptextender.cpp(7673): warning C4731: 'LoadGlobalScripts' :
    Inline assembly code has been modified frame pointer register 'ebx'
    \scriptextender.cpp(7682): warning C4731: 'LoadGlobalScripts' :
    Inline assembly code has been modified frame pointer register 'ebx'
     
  12. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    3.2 is up. Nothing new recently, just making a new build for killap to use in the next RP patch. Note the required d3dx9_xx.dll version has changed, and win xp sp 3 is now the minimum supported OS.

    Code:
    >The build environment is now visual studio 2012. The required d3dx9 version is increased, and
      win xp sp2 and win 2000 are no longer supported.
    >Fixed potential corruption of pc's age, gender, or current hp/poison/rads when using perks.ini
    >Readded npc combat control
    >Changed the way mode 1 global scripts work, to fix compatibility with the latest res patch
    >Fixes to glovz ammo patch
    urk, apparently vs sometimes uses ebx as a sort of extra frame pointer. Does the compiled code still work?
     
  13. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    What is the new version of the .dll required?

    Also it looks like maybe changelog on your personal site isn't updated anymore: [redacted]
     
  14. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    Can't remember, sorry. iirc it's the latest one that was ever released, but it doesn't really matter anyway; the directx installer will install the whole lot of them.

    eww, please don't link to chorrol. chorrol.com hasn't been updated by me in a loooooong time. It went down years ago, so I switched to sourceforge, then it came back up randomly a couple of years later but without my ftp access and with a non-responsive admin, so I haven't been able to get it pointed at sourceforge or taken down. It's just sitting there serving obsolete versions of everything for ever more.

    Although for that matter, I killed most of my sourceforge site too when I started my new job, rather than leave it unupdated due to lack of time. iirc it's just a bunch of download links now.
     
  15. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    One interesting thing is I tried to test the compiled sfall with VS2012 v110_xp toolset in XP SP2, and it seems working. I didn't try DX9-related functions though.
    BTW, you didn't update ddraw.ini for NPC combat control options.

    @Sduibek
    The DX9 dll dependency is now D3DX9_43.dll.
     
  16. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    I thought the 110_xp toolset had a min requirement of SP3? That's what I built it with anyways, so if it's SP2 then sfall will work on SP2 too. SP2 is out of support anyways, so I really hope no-one is still using it either way...

    oh, poop. I normally update it in step with svn, so I didn't check it at the end. Ah well, I shouldn't make it too easy for people to break their games anyways. They can look up the extra lines they need to add if they want.
     
  17. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    The reason I try to test SP2 is also because I saw the documents on MSDN, and thought "XP SP3 only? oh really? What will the error message be?"
    At least you might want to remove ControlPartyMembers in INI, since now it's only a decoy. :P
    So I guess the only thing 3.2 different from SVN is version number?
     
  18. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    Timeslip I removed the URL from my post, so you can remove it from your quote of me if you want
     
  19. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    Added a few new requests to the wiki which I might as well post here too. Removed a couple old ones I posted because I found out how to do them script-wise: removed my requests for tracking hexes moved (can be done with a lot of global scripts), persistent object pointers (when I failed at doing this with global scripts I didn't realize it was because global scripts weren't saving for me) and regular item use (can be done with hs_removeinvenobj).

    My requests *drumroll* are:

    - Very unlikely, I know, but if there'd be a way of overriding the critical failure effect tables that'd be really awesome.

    - a version of get_light_level that returns an object's light level rather than the general one: it's really annoying that I (as far as I can tell) can't replicate object lighting in the to hit hookscript and therefore can't make flare's worthwhile like in the original.

    - a get_script type function that gives me the script ID, rather than a pointer to a specific script object: would be really cool to be able to take one object's script and give it to another.

    - a function like get_tile_fid, only then get_tile_pid; specifically I want to know the "material" of certain tiles so I can tell where traps can be set easier or not.
     
  20. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    For anyone who's still using Win2k or WinXP prior to SP3, here's the Win2k version of sfall 3.2, compiled with VS2012 using v90 toolset (VS2008):
    http://www.mediafire.com/?o11bjb7ya2xdjqd

    I can't guarantee it works 100% since I only did some basic tests in Win2000 SP4.