Fallout 2 mod FO2 Engine Tweaks (Sfall)

Just a wild guess, at least it passes the compiler check :P
Code:
Line 96: if(critTable[slot2].values[i]!=defaultTable[slot1].values[i]) {
Line 97: sprintf_s(logmsg, "Entry %s value %d changed from %d to %d", section, i, defaultTable[slot1].values[i], critTable[slot2].values[i]);
 
Timeslip said:
Quick public service note: As of today, the fallout 2 installer on GOG bundles sfall 2.19. the colour fix is handled by launching via a wrapper program, which kills explorer (i.e. not using sfall or the 256 colour option) so there will no longer be those compatibility mode errors when installing the unofficial patch/rp or fps issues when installing the high res patch. Things like item highlight that affect gameplay are disabled by default. The critical hit table fixes are also disabled by default, because 2.19 broke critical hits against horrigan and I didn't quite get 2.20 out in time.

Also, looking through ddraw.ini to see exactly what they'd done has just made me cringe at all the spelling mistakes and other typos in there... :oops:

Did they messaged you or did you found out by "accident" that it's used now? Just curious. :>

Btw. there was at least one other bug in Sfall, which Helios fixed for me long time ago. I don't think he added it to the repository, but I am not sure. Thing is, I forgot *what exactly* it was, but I seem to remember a problem with the status change of get_game_mode.

The very first time when you check for if the player is on the worldmap or anywhere else, the status wasn't set to "1" (worldmap), even though the player was. It only worked the second time you entered the worldmap screen.

Can you check this out? I would like to update my ddraw.dll, but currently I can't, as I use a custom one and my scripts would get buggy again if I ignore this.

Though, I could also send you my ddraw.dll if that helps.
 
@gvx thanks. I didn't make a new modders pack version, so I hadn't compiled with TRACE set. NovaRain's fix is correct.

@lexx
They asked first, and took my advice about setting it up too.

I remember you mentioning that problem before. I couldn't replicate it at the time, and I still can't now... I tried global script types 1 and 3, and getting onto the world map by walking or by the world_map function, and everything worked... (See my code below) You can try this dll and see if it helps, but it's a bit of a stab in the dark. If that doesn't work, you're going to have to show me the script that's failing for you...

Code:
variable wmap, down;

procedure start begin
	if (game_loaded) then begin
		set_global_script_repeat(1);
		set_global_script_type(3);
		down:=0;
		return;
	end
	if(in_world_map) then begin
		if(not wmap) then begin
			wmap:=1;
			display_msg("Entered world map");
		end
	end else begin
		wmap:=0;
	end

	if(key_pressed(29)) then begin
		if(not down) then begin
			down:=1;
			world_map;
		end
	end else begin
		down:=0;
	end
end
 
Timeslip said:
@lexx
I remember you mentioning that problem before. I couldn't replicate it at the time, and I still can't now...

I can confirm the bug. I tried to make my movie-displaying global script work (mentioned a few posts earlier) and I finally succeeded, but for me too, the game only sees that you're in the world map when you enter it for the second time.
As for the script structure, it is identical to the example you posted above, except I'm displaying videos instead of flipping variables.
 
Ardent said:
I can confirm the bug. I tried to make my movie-displaying global script work (mentioned a few posts earlier) and I finally succeeded, but for me too, the game only sees that you're in the world map when you enter it for the second time.
As for the script structure, it is identical to the example you posted above, except I'm displaying videos instead of flipping variables.
How weird. :/ Did you try it with that test dll I posted above?
 
Timeslip said:
How weird. :/ Did you try it with that test dll I posted above?

Not yet. I'll test that asap and get back to you.

BTW, I also have a different problem now. Whenever I display a movie, a distorted image of the world map remains in the center of the screen, obscuring the movie. I tried using gfade_out() before playing the movie, hoping it would refresh the screen or whatever, but it didn't help. Are you aware of any way of hiding the worldmap image when displaying the movie? Maybe something like that could be introduced as a new sfall feature?

EDIT: OK, now it works fine with the new DLL. Thanks, Timeslip! Anything you can do about the world map displaying over the video?
 
Ardent said:
BTW, I also have a different problem now. Whenever I display a movie, a distorted image of the world map remains in the center of the screen, obscuring the movie. I tried using gfade_out() before playing the movie, hoping it would refresh the screen or whatever, but it didn't help. Are you aware of any way of hiding the worldmap image when displaying the movie? Maybe something like that could be introduced as a new sfall feature?
I don't think I've ever tried displaying a movie on the world map... I need to head to work now, but I'll check tonight. Are you playing a normal fallout movie? I suspect playing back an avi instead would work.

Ardent said:
EDIT: OK, now it works fine with the new DLL. Thanks, Timeslip! Anything you can do about the world map displaying over the video?
yay. :)

ok, that fix'll be in the next release then.
 
Timeslip said:
I don't think I've ever tried displaying a movie on the world map... I need to head to work now, but I'll check tonight. Are you playing a normal fallout movie? I suspect playing back an avi instead would work.

I wanted to emulate Hakunin dream sequences, but I need more control over when the movie is displayed. Yes, I was using normal Fallout .mve format movies. I'll try with an AVI and edit this post with the result. Have a nice day at work then :)

EDIT: OK, .avi movies display fine, but turning on sfall's DX9 mode (with pixel scaling and everything) and enabling Mash's fog of war settings on the HiRes patch default mode makes the game run very, very slowly and choppy.
I suppose it would be easier for Mash to add .avi support on his patch, rather than having sfall interact with it, wouldn't it? :look:
 
Ardent said:
but turning on sfall's DX9 mode (with pixel scaling and everything) and enabling Mash's fog of war settings on the HiRes patch default mode makes the game run very, very slowly and choppy.
Yup, same complaint as normal. sfall's dx9 graphics mode and the res patch really don't play nicely together. I think I'm going to have a bit of a clear out of the graphics code, put gpublt on by default, and see if I can make it behave itself a little better.

Actually, while I'm having a clearout, I may as well get rid of some of the other pointless cruft too. Unless anyone speaks up in their defence, the following features that afaik aren't in common use (or in any sort of use at all...) are going to go missing next version:
upscaling filters
ddraw.ini defined global shader (besides, someone could do the same thing via script, if particularly desperate)
the fake multiplayer
the update check
versions of the world map speed patch other than the one that's on by default

Anything else that could do with being dumped?

Ardent said:
I suppose it would be easier for Mash to add .avi support on his patch, rather than having sfall interact with it, wouldn't it? :look:
I doubt mash would want to add avi support to the res patch; that would require bringing in a whole pile of extra stuff. The wacky graphics stuff that no-one actually uses can be left to sfall. I'll see if I can get the normal movies to behave.



Mario_Dweller said:
Is somehow possible to modify dude skills? There is an original FO2 function critter_mod_skill. But it does not work with negative values (-20, MAXINT - 20). They are treated as positive ones.
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.

Mario_Dweller said:
In sfall function list there is some function set_critter_skill_mod(CritterPtr, int max, int mod).
But it does not accept 3 arguments (script editor throws an error), it accept only first 2.
That's a mistake in the documentation. That function is for capping the skills of a critter below 300. There's no mod parameter. :/
 
Timeslip said:
Yup, same complaint as normal. sfall's dx9 graphics mode and the res patch really don't play nicely together. I think I'm going to have a bit of a clear out of the graphics code, put gpublt on by default, and see if I can make it behave itself a little better.

You're a charm, Timeslip. ;)

Actually, while I'm having a clearout, I may as well get rid of some of the other pointless cruft too. Unless anyone speaks up in their defence, the following features that afaik aren't in common use (or in any sort of use at all...) are going to go missing next version:
upscaling filters
ddraw.ini defined global shader (besides, someone could do the same thing via script, if particularly desperate)
the fake multiplayer
the update check
versions of the world map speed patch other than the one that's on by default

I admit that I never used any of these personally. :look:

I doubt mash would want to add avi support to the res patch; that would require bringing in a whole pile of extra stuff. The wacky graphics stuff that no-one actually uses can be left to sfall. I'll see if I can get the normal movies to behave.

I e-mailed Mash with the question, let's see what he says.
 
Timeslip said:
Unless anyone speaks up in their defence, the following features that afaik aren't in common use (or in any sort of use at all...) are going to go missing next version:
versions of the world map speed patch other than the one that's on by default
Do you mean those marked as "OBSOLETE" in pre-2.7 ini but still can be enable manually?
 
ok, with the high res patch at 1280x1024 I'm at 200fps with gpublt off and 250 with it on... And that's before I've actually done what I was intending to do to speed it up. So what's peoples problems with poor fps? What on earth sort of resolutions do you play at? O.o

Sduibek said:
I'm free to add requests/ideas to http://falloutmods.wikia.com/wiki/Sfall_Requests right?
Sure. That's the preferred place to dump them actually, so that when I vanish for 6 months they don't get lost in the middle of the thread. :p
 
Timeslip said:
ok, with the high res patch at 1280x1024 I'm at 200fps with gpublt off and 250 with it on... And that's before I've actually done what I was intending to do to speed it up. So what's peoples problems with poor fps? What on earth sort of resolutions do you play at? O.o

I'm playing at 1280x800, but large resolutions aren't necessarily the core of the problem. The game runs fine on small maps, such as random encounter maps and typical F2 maps. However, the HiRes patch for Mapper enables you to build much bigger maps, because you can now access all 40000 hexes. In MR, we have plenty of very big maps with plenty of details (scenery), and on these maps, the game is at about 15-20 FPS for me.
It could also be my old shitty computer slowing things down. :look:

Turning on the gpublt improves things, so the game is slow, but playable.
 
Ardent said:
I'm playing at 1280x800, but large resolutions aren't necessarily the core of the problem. The game runs fine on small maps, such as random encounter maps and typical F2 maps. However, the HiRes patch for Mapper enables you to build much bigger maps, because you can now access all 40000 hexes. In MR, we have plenty of very big maps with plenty of details (scenery), and on these maps, the game is at about 15-20 FPS for me.
It could also be my old shitty computer slowing things down. :look:

Turning on the gpublt improves things, so the game is slow, but playable.
That's very weird. While it's certainly true that a larger map will reduce fps, sfall has to do the same amount of rendering work regardless of what fallout is doing, so if your fps hit was coming solely from a larger map, gpublt shouldn't make any difference to it. :/

Ardent said:
REQUEST: Is it possible to change the number of Skill Points gained per level via Perks.ini? Or alternatively, the number of Levels you get a Perk at?
Still slowly working my way through the backlog. I've done both of these now. (the new mod_skill_points_per_level and set_perk_freq script functions) I also added get/set_available_skill_points, because why the heck not. (I know get was already possible with get_pc_stat, dunno if there was already some way of setting them...)
 
Timeslip said:
That's very weird. While it's certainly true that a larger map will reduce fps, sfall has to do the same amount of rendering work regardless of what fallout is doing, so if your fps hit was coming solely from a larger map, gpublt shouldn't make any difference to it. :/

I'm not an expert, so I can't really pinpoint the causes of low FPS. But I'll try to run some more number-based tests with different configurations of sfall and hires patch and let you know if I find anything worthwhile.

Still slowly working my way through the backlog. I've done both of these now. (the new mod_skill_points_per_level and set_perk_freq script functions) I also added get/set_available_skill_points, because why the heck not. (I know get was already possible with get_pc_stat, dunno if there was already some way of setting them...)

Thank you very much! I know you've heard it a thousand times, but I'm going to say it all the same - you're awesome :)
 
Ardent said:
Anything you can do about the world map displaying over the video?
This appears to be a bug in the high res patch. With it uninstalled, playing movies on the world map works fine, regardless of the graphics mode sfall is using. With it installed, the world map displays on top of the movie even at a 640x480 resolution.

I think Mash will have to fix that one.

Ardent said:
BUG REPORT: I was fiddling with the command force_aimed_shots(), giving aiming options to a couple of weapons that normally don't have it (because e.g. they deal explosive or fire damage). When I did that, most other weapons lost the ability to do called shots, despite normally having it.
Fixed.
 
Timeslip said:
This appears to be a bug in the high res patch. With it uninstalled, playing movies on the world map works fine, regardless of the graphics mode sfall is using. With it installed, the world map displays on top of the movie even at a 640x480 resolution.

Ah-ha! Naughty Mash. :P


Cool.
 
I've added a feature to sfall to prevent the exploit of super stims to kill a target, by preventing you from using them on a critter who is at full health. Any thoughts on if it should be on or off by default?

For the hitting A to start combat exploit, I've added a block_combat script function. I couldn't think of any automated solution; blocking the player from moving in the first turn of combat if they're the one who initiated it would have solved it, but would give npcs an advantage over the player, since they can all move... I guess I could put a delay on how soon you can reenter combat after exiting it, to give npcs a chance to react.
 
Back
Top