Darek said:
I found one crash problem though.
Planting explosives on ground next to the scientists in the reactor room still crash the game if they notice you planting explosives and then you sneak and exit combat. glexplc1 is not fired. If you are not noticed it works. Need a change in dude script. If G_var770 is -1 you don't want to take any action.
Code:
procedure combat_p_proc
begin
if (global_var(770) == -1) then begin
// set_global_var(770, 0);
end
Oops, funny you mention this. As I was falling asleep last night, I realized that bit of code was wrong to include. I was being overly conservative when the combat hack would trigger and I had assumed that just starting combat was enough and thus the hack should be voided in that case, but no, that's for a different crash scenario (where Timeslip's first test dll came into play).
Darek said:
Also, I just had a thought about your fix.
What happens if you blow someone up, leave the map, blow someone up there and then come back to the first map?
Or what if they do this on say 10 different maps. Yes, this occurred to me later on and my solution would be to fill an array of maps ids that need to run the combat hack on. I didn't realize until yesterday that sfall provided arrays to Fallout scripting. omg, why didn't I know about this when I was coding the repair bay stuff at the Sierra Army depot. I might actually revisit that code...
Anyway, if I do these changes then I think my workaround is a pretty viable solution. However, Timeslip's new sfall dll is the winner. I couldn't reproduce a crash at all with various scenarios (normal explosive tests, stating combat at various times during it, doing explosive deaths across several maps, etc). All came out good. Great job, Timeslip! Cleanest solution.
Darek said:
And as i saw someone mention supper stimming, there is another crash bug there. Could be related.
The use of this "tactic" is controversial so I haven't bothered looking into it.
Yeah, I've seen crashes with that too. And I can reproduce one consistently with the Enclave save game. Just super stim the vault girl by the reactor exit a good 10 times and try to leave the map - insta crash. Doesn't matter if you start combat, leave the map first and then super stim, etc. Only waiting around on the map (or sleeping) is the way to get the game to not crash when over stimming someone. Any thoughts here, Timeslip?
At the very least, I think we're good with your latest test dll, Timeslip, at least in terms of explosives. Again, great work!
Sduibek said:
Didn't you guys say it's possible to crash right as the person dies from explosives? Do you know what causes that one?
I can fix the leave-map-come-back-crash issue in Fallout 1 but I don't know even what causes the instacrash (i.e. how to prevent it), that wasn't clear to me from the posts above.
The only true clean way to fix the problem is via sfall. However, to fix the insta-crash problem (which we, well at least I, have no idea how it differs from the other explosive crash problems) you must start combat right after dropping an active explosive. So, Darek's script is the only viable solution for F1 until Timeslip makes a new dll for it.