Page 1 of 1

r246 Coop botmatch crash when burning your friends

Posted: Sat Nov 29, 2008 2:50
by Enjay
I don't know if this is specific to bots, or it would happen in any coop game. Also, I'm having no joy recreating it with a different set up, but I can get the game to crash reliably with my own IWAD (where I noticed it first) and with my Burghead WAD loaded into Doom2.

Load Doom2 with my Burghead mod.

Go to a map with multiple player starts (I used map07).

Use "kill monsters" to clear anything alive on the level that might be messed up by the mod.

Add some bots.

Give yourself all the weapons.

Use the phosphor version of the grenade launcher (njlauncher2).

Fire a few grenades and wait for a bot to get burned to death.

A crash should happen, but I'm not sure if it happens when the bot dies, of if it is when the bot tries to respawn.


The crash seems to be GZdoom specific because I can't get it to happen with Zdoom.

Posted: Sat Nov 29, 2008 3:03
by Enjay
Also happens in DM mode.

If I shorten the burn death state, I can stop the crash.

This crashes:

Code: Select all

Burn:
	    	BURN A 5 BRIGHT
	    	BURN BC 5 BRIGHT
	    	BURN D 5 BRIGHT A_PlaySound ("beeg/flamedeath")
	    	BURN EFGHIJKLMN 5 BRIGHT
	    	BURN O 5 BRIGHT A_Fall
	    	BURN PQRS 5 BRIGHT
	    	BURN T 5 BRIGHT A_CustomMissile("SmokeA", 0, 10, random(0, 360), 2, random(80, 100))
	    	BURN U 5 BRIGHT A_CustomMissile("SmokeD", 0, 10, random(0, 360), 2, random(80, 100))
	    	BURN V -1
		Stop
This does not:

Code: Select all

Burn:
	    	BURN A 5 BRIGHT
	    	BURN BC 5 BRIGHT
	    	BURN D 5 BRIGHT A_PlaySound ("beeg/flamedeath")
	    	BURN D 5 BRIGHT A_Fall
	    	BURN D -1
	    	Stop

My personal work around is to make a short burn death that spawns a "burning player" actor that goes through the burning agony animation from Strife instead of the player doing it himself.

Could it be the game is crashing with the longer death animation because the new player/bot is spawning whilst the old one is still active?

Posted: Sat Nov 29, 2008 8:49
by wildweasel
Enjay wrote:Could it be the game is crashing with the longer death animation because the new player/bot is spawning whilst the old one is still active?
I'm sure that this can't be the case; from random deathmatches with Marty Kirra with the Diaz wad, several times one of us has died and respawned in full view of our still-dying corpse, sometimes from normal means, sometimes during the burning death animation.

I've got a sneaking suspicion that it might have something to do with the smoketrails, though? Have you tried removing just the A_CustomMissiles and testing it like that?

Posted: Sat Nov 29, 2008 9:49
by Graf Zahl
The crash happens in gl_SetActorLights. Torr Samaho even added a fix for it once but it was in the wrong place so it didn't work properly.

Posted: Sat Nov 29, 2008 13:58
by Enjay
Ah, so something to do with the ownership of the lights associated with the death frames?

(@WW, yes, I had tried removing the smoke)

Posted: Sat Nov 29, 2008 16:48
by Graf Zahl
Precisely. Torr tried to fix it by deleting the invalid pointers but did it too late. The proper fix is to prevent the specific pointer in the light from being changed altogether.

I still need to test it though.