Fallout 2 mod FO2 Engine Tweaks (Sfall)

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

  1. alanware

    alanware First time out of the vault

    4
    Feb 27, 2013
    Works

    I have the resolution working well.

    I only wish I had a way to get out of the game without closing it.

    Thanks
     
  2. Oppen

    Oppen FIXT n°1 fan

    Dec 26, 2011
    Alt+tab doesn't work? Maybe you could play in window mode?
     
  3. alanware

    alanware First time out of the vault

    4
    Feb 27, 2013
    So the game has high resolution and loads up fine. It is impossible to play due to the incredible lag and jittery mouse. Many people have reported this and I am still unsure as to a fix.

    Thanks.
     
  4. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    I added this to the Sfall Requests wiki page


    Have you tried changing the BackgroundKeyboard and BackgroundMouse settings in the file? Fiddling with settings is always the first thing to do.
     
  5. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    I can't actually get that to work reliably even for ground tiles. Can you show an example script, and what you're trying to do? If I try tiling every tile on the map using create_object, they get rendered on top of the lower half of critters instead of at tile level.
     
  6. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    I might as well formally list this as a request: is it possible to further slow down the skill progression rate (e.g. have 75-100 cost 2 points, 100-125 cost 3 points, etc.)? I'm pretty sure this is impossible or else it would have been implemented already (the preposterously easy late-game combat and swimming in skill points by the end is a frequent hang up), but I didn't spot it in the request wiki, so I thought I might as well ask just in case.
     
  7. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    Nah, not tough to do at all. It's just that no-one had asked for it yet. Or at least, asked when I wasn't busy. Done and in svn - you use a 'SkillCostxxx=yyy' line in the skills ini to control the cost of skills on a per skill basis.

    While I was poking around in skills, I also added an option to base skill costs on the number of points already spent in that skill, rather than the current skill level, which changes skill mechanics quite a bit. (i.e. it increases the worth of spending special points to get your base skill levels up. It makes tag skills rather overpowered though, because you can get them twice as high before they start costing more.)
     
  8. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    Thanks! If I understand you correctly that means we'd be able to make combat skill progression slower than non-combat skill progression? Because that would be perfect.

    Sounds interesting. One more question: Because I wrongly assumed the skill option would be impossible, I started working on a workaround I've grown quite fond of. The basics are as follows:

    Code:
    //hs_tohit.int
    procedure start;
    
    #include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\sfall.h"
    #include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\define.h"
    
    procedure start begin
       variable hitchance;
       variable target;
       variable attacker;
       variable bodypart;
       variable tmp;
       variable tmp2;
       tmp2:=-1;
       
       if(init_hook) then begin
    
       end else begin
          hitchance:=get_sfall_arg;
          target:=get_sfall_arg;
          attacker:=get_sfall_arg;
          bodypart:=get_sfall_arg;
          
          if(bodypart==1) or (bodypart==2) or (bodypart==7) or (bodypart==8) then begin 
          tmp:=(hitchance-30);
          	if (hitchance>30) then begin
             	hitchance:=(30 + (tmp/2));
          	end
          end
          else if(bodypart==0) then begin 
          tmp:=(hitchance-20);
          	if (hitchance>20) then begin
             	hitchance:=(20 + (tmp/2));
          	end
          end etc. etc. 
    This way I thought could slow down the To Hit progression per body part aimed at. I was planning on adding additional increments when I finally noticed that the hitchance is already nerfed (i.e. if the original hitchance is 200%, in the hookscript it's already down to the maximum 95%), which made my plan impossible. So is there maybe a way to manipulate the original hitchance rather than the one brought down to 95%?
     
  9. Continuum

    Continuum Vault Fossil

    Nov 8, 2006
    Timeslip, can you fix this?



    NPCs can't see player if there are objects with Shoot Thru flag YES between them and him* - (obj_can_see_obj(self_obj, dude_obj)) command. They can see player only in combat which doesn't make any sense because Shoot Thru means See Thru. Of course, this is not a problem for player - he can see them both in combat, and normal game. Because of that NPCs can't attack player properly, but instead must wait until player will attack them, or move where there's no such objects (there's nothing on LoS). In case of some maps it's looking very idiotic :o

    Note: I've noticed it in Fallout. In Mapper the same happens. But I didn't check it in Fallout 2.

    Another thingy: I've noticed hardcoded lower AC limit in Fallout - it can't drop below 0. Is this possible to remove this restriction in Fallout 2 (if exists)?

    Thanks in advance.

    * tables, chairs, one-level barrels, invisible scenery blockers, etc.
     
  10. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Just tested it a bit, and it seems working pretty well. I can even set some skill to cost more than 6 points per 1%/2%, or just set them like in the good ol' FO1. :D
     
  11. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    set_hit_chance_max(int percentage) lets you push it up to 100, but there's no way to get above 100 as the input value to the script. The only workaround is to ignore the scripts input value, and do the whole calculation yourself.

    Maybe, if you can rustle up a fallout 2 savegame that shows the problem.
     
  12. Sduibek

    Sduibek Creator of Fallout Fixt Moderator Modder

    Oct 27, 2010
    It can be reproduced with Killian Darkwater, if we're talking Fallout 1. He can't see through Tables with "Stuff" object on them.
     
  13. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    I've made a 3.0 release, since it's been a while since the last one. Only the normal version atm, modders pack and win 2k version should show up tonight.

    I wasn't, hence the 2 in the scentence you quoted. :p I'll fix it for fallout 2 if I can, and the same problem still exists, but I still have no plans to touch fallout 1.
     
  14. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Wow, a main version bump. :o
    Just notice ControlPartyMembers section still in the ini, but actually it got removed with the multiplayer.
     
  15. Continuum

    Continuum Vault Fossil

    Nov 8, 2006
    Can't make a savegame (game crashes when loading it). I hacked my Fallout map into Fallout 2 with this lil' trick:
    Code:
    StartingMap=LAGUNRUN.MAP
    ALL protos are from Fallout 2, only map is from Fallout, but it's saved in Mapper, and not converted to Fallout format, which means is 100% Fallout 2 compatible. My pipeline is set to modify Fallout: Mapper, ScriptEditor, etc. Have no will power to change it for Fallout 2 scripts/maps :yuck:

    But the map starts just fine (proof):



    Dude will start (almost) in the middle of warehouse. I intentionally put stuff around critters to highlight the problem.

    The archive: http://www.filedropper.com/data

    It contains:

    - broken savegame,
    - \maps\LAGUNRUN.MAP,
    - \scripts\ACMYNOC.INT with such code:
    Code:
    procedure critter_p_proc
    begin
    	if (obj_can_see_obj(self_obj, dude_obj)) then begin
    		float_msg(self_obj, "I SEE YOU", 2);
    		attack(dude_obj);
    	end
    	else begin
    		float_msg(self_obj, "I'M BLIND", 2);
    	end
    end
    so use "StartingMap=" and start new game to check out this.
     
  16. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    921
    Aug 15, 2007
    The major version bump is because of the removed features.

    And bah. That's what I get for going months without touching sfall. I forgot what I was in the middle of doing. I meant to readd the option to control party members in, and just scrap the multiplayer, and see if I could improve it a bit. Ah well. Buggy as it was, I doubt it has many avid users.

    That sounds like there's something rather more serious wrong than just line of sight. o.O

    Thanks, will take a look as soon as I get a chance.
     
  17. Continuum

    Continuum Vault Fossil

    Nov 8, 2006
    It's probably(?) related to my map hack. I have no idea what script in used there as map script (it can be even critter's script! :D). The thing is: LAGUNRUN.MAP is a Fallout map, which means ALL scripts are assigned from its scripts.lst, not Fallout 2's. But the point was only to show, and test (obj_can_see_obj(self_obj, dude_obj)) command in specific circumstances. So I figured out what script is listed as 10th on the list*, and made that special code.

    Such ugly swapping is the only advantage of list order, instead of names, I guess... :P

    * it's ACMYNOC.INT in case of Fallout 2, which means GUNRNR.INT in case of Fallout
     
  18. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Do you still have the plan to re-add it back? When I saw you remove the multiplayer in SVN, I thought you want to drop all stuff in it. I've tried to enable the option once in older version, but didn't get it work.

    BTW, a small typo in ddraw.ini line 374:
    Code:
    ;Uncomment to set the text colour of the exta 5 interface boxes
    Should be "extra" I suppose?
    And it seems it's the first time WorldMapTimeMod appears in the INI, I was wondering why it gets mentioned in readme but never appears in the INI for a long time.
     
  19. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    736
    Mar 17, 2013
    (Stupid questions)
     
  20. Mario_Dweller

    Mario_Dweller It Wandered In From the Wastes

    153
    Apr 9, 2004
    Excellent (I haven't read this forum for a while). I don't need to rely on allowUnsafeScripting. Also the new "set_perk_freq" is very cool. I can make my global script a lot simpler.
    Would it be also possible to prepend some credits before sfall's credits ? I wouldn't have to recompile it every time then :oops: (Of course we kept your credits untouched and we added a special thanks to you).

    And one more feature... Would it be possible to have more sfall versions at once? We have our own exe file which runs fallout2.exe and it also patches some additional things in the memory.

    It would be cool to have one sfall for fallout2.exe and one for our exe so the preconfigured sfall in our mod would not touch the original fallout2. Maybe i could find ddraw somewhere in the exe and patch it in the memory too.


    :clap: :clap: