I have a very stupid question... does changing the start date (let's say making it 5 years earlier) have any effect on the 13-year-crash limit? And if not, why does it crash after 13 years?
No. Game time is stored as a number of ticks since the game start, and the start date is added to that to make the current date. The crash is because the number of ticks is stored as a 32 bit integer, which overflows after 13 and a bit years.Sduibek said:I have a very stupid question... does changing the start date (let's say making it 5 years earlier) have any effect on the 13-year-crash limit? And if not, why does it crash after 13 years?
changelog said:>Fixed folding of constant float expressions in sfall script editors optimizer
>Fixed the active_hand and set_pickpocket_max script functions
>Added a fix for a crash when killing critters with explosives
Are you sure you've quoted the right address? 424907 is in the middle of compute_damage, but there's no mul instruction anywhere near there. 424907 is a mov instruction that loads a pointer to the player critter into edx.Glovz said:@Timeslip
in the F2 exe at 00424907 EBP and EAX are multiplied
Damn late night coding!!! 004249D7Timeslip said:Are you sure you've quoted the right address? 424907 is in the middle of compute_damage, but there's no mul instruction anywhere near there. 424907 is a mov instruction that loads a pointer to the player critter into edx.Glovz said:@Timeslip
in the F2 exe at 00424907 EBP and EAX are multiplied
In that case, as far as I can see, ebp will always be 1 at that point. eax does indeed contain the ammo divisor. Or at least, it contains the result of a function called 'item_w_dam_div', which would be rather misnamed if it returned something other than the ammos damage divider.Glovz said:Damn late night coding!!! 004249D7
If EBP is always 1 then that's great! No need to be concerned about how another value may affect the damage calculation.Timeslip said:In that case, as far as I can see, ebp will always be 1 at that point. eax does indeed contain the ammo divisor. Or at least, it contains the result of a function called 'item_w_dam_div', which would be rather misnamed if it returned something other than the ammos damage divider.Glovz said:Damn late night coding!!! 004249D7
"Removed ddraw.ini defined global shader"
Via script. I think it went something like:fix58 said:"Removed ddraw.ini defined global shader"
So how can I use any post-processing shader now?
procedure start begin
activate_shader(load_shader("path to your shader"));
end
Via script.
I would assume it sets artificial maximum success rate, like the engine does with capping ToHit at 95%.JimTheDinosaur said:Probably a stupid question, but what does set_pickpocket_max do exactly? I've searched everywhere but couldn't figure it out.
IIRC you're safe as long as you don't go over one block of scripts (16).Sduibek said:There's supposed to be an engine bug that causes crashes when too many scripted items, right? What's the cutoff? Like if I make it so a script is attached to flares, how many flares on a map or in player's inventory will cause problems?