Fallout 2 mod FO2 Engine Tweaks (Sfall)

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.
 
killap said:
Request: Is it possible to dynamically create roof tiles? create_object can create any type of object, but if I specify a tile it always makes it a ground tile. According to the Mapper docs, there is both ground and roof elevation on a map. I don't see a way to access this via normal scripting though.
I added this to the Sfall Requests wiki page


alanware said:
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.
Have you tried changing the BackgroundKeyboard and BackgroundMouse settings in the file? Fiddling with settings is always the first thing to do.
 
killap said:
Request: Is it possible to dynamically create roof tiles? create_object can create any type of object, but if I specify a tile it always makes it a ground tile. According to the Mapper docs, there is both ground and roof elevation on a map. I don't see a way to access this via normal scripting though.
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.
 
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.
 
JimTheDinosaur said:
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.
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.)
 
Timeslip said:
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.

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.

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.)

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%?
 
Timeslip, can you fix this?

Untitled_1.gif


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.
 
Timeslip said:
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.
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
 
JimTheDinosaur said:
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%?
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.

Continuum said:
Timeslip, can you fix this?
Maybe, if you can rustle up a fallout 2 savegame that shows the problem.
 
Timeslip said:
Continuum said:
Timeslip, can you fix this?
Maybe, if you can rustle up a fallout 2 savegame that shows the problem.
It can be reproduced with Killian Darkwater, if we're talking Fallout 1. He can't see through Tables with "Stuff" object on them.
 
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.

changelog said:
v3.0
>Added get/set_critter_skill_points, get/set_available_skill_points, mod_skill_points_per_level, set_perk_freq, get_last_attacker, get_last_target and block_combat script functions
>Added a fix for the super stimpack exploit
>Added config options to control skill costs
>Fixed in_world_map script function potentially returning an incorrect value
>Fixed force_aimed_shots and disable_aimed_shots corrupting behaviour of other weapons
>Fixed potential problem with the modified_ini script function
>Fixed the missing last argument of the ap cost hook script
>Fixed apperence of version info in windows (From NovaRain)
>When using dx9 graphics, gpu blt is enabled automatically if supported
>When using dx9 graphics, resolution is changed automatically when using the res patch
>Removed upscaling filter support
>Removed ddraw.ini defined global shader
>Removed multiplayer
>Removed the update check

Sduibek said:
It can be reproduced with Killian Darkwater, if we're talking Fallout 1. He can't see through Tables with "Stuff" object on them.
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.
 
Timeslip said:
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.
Wow, a main version bump. :o
Just notice ControlPartyMembers section still in the ini, but actually it got removed with the multiplayer.
 
Timeslip said:
Maybe, if you can rustle up a fallout 2 savegame that shows the problem.
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):

scr00000.gif


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.
 
NovaRain said:
Wow, a main version bump. :o
Just notice ControlPartyMembers section still in the ini, but actually it got removed with the multiplayer.
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.

Continuum said:
Can't make a savegame (game crashes when loading it).
That sounds like there's something rather more serious wrong than just line of sight. o.O

Continuum said:
so use "StartingMap=" and start new game to check out this.
Thanks, will take a look as soon as I get a chance.
 
Timeslip said:
That sounds like there's something rather more serious wrong than just line of sight. o.O.
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
 
Timeslip said:
NovaRain said:
Just notice ControlPartyMembers section still in the ini, but actually it got removed with the multiplayer.
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.
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.
 
Timeslip said:
I've added set_critter_skill_points and get_critter_skill_points script functions. They work on the number of extra points that have been put into a skill, and ignore the extras from stats, difficulty level and other bonuses. You can compare the result of get_critter_skill_points to the normal function that gets a critters skill to work out what any current bonuses are.

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:
 
Timeslip said:
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.
Very cool. Thanks again for your work on this!

Heh, I knew good could come out of the massive delays in my RP release. ;)


Timeslip said:
Added a fix for the super stimpack exploit
What's this about?
 
Back
Top