Help with walking corpses. Specifically, the lack of them.

Status
Not open for further replies.

Kaysakado

Member
http://games.moria.org.uk/doom/research/running-body

In Doom, there was a bug where you could get a walking corpse. Basically, the Deathmatch starts were too close to a wall or some solid Thing was on top of the Deathmatch starts. If this happens, the game won't spawn you on that Deathmatch start, and it'll fallback to Single Player starts. If there is no Single Player start, the game thinks you respawned, but since there's nowhere to spawn you, you stay where you died, and you're still in your "dead" state but the game thinks you're alive, and everything gets screwy and you can walk around as a corpse.

I was bored and wanted to recreate this in SRB2.

First, I commented out the I_Error here, as it causes you to crash instead of becoming a walking corpse if there aren't any available starts:

Code:
void G_DeathMatchSpawnPlayer(int playernum)
{
	int i, j;

	if (numdmstarts)
		for (j = 0; j < 64; j++)
		{
			i = P_Random() % numdmstarts;
			if (G_CheckSpot(playernum, deathmatchstarts[i]))
			{
				P_SpawnPlayer(deathmatchstarts[i], playernum);
				return;
			}
		}

	// Use a coop start dependent on playernum
	CONS_Printf("No deathmatch start in this map - shifting to player starts to avoid crash...\n");

   if (!numcoopstarts)
		I_Error("There aren't enough starts in this map!\n");

	i = playernum % numcoopstarts;
	P_SpawnPlayer(playerstarts[i], playernum);
}

Then I made a quick map. It had a deathmatch start, a Gargoyle, and a death pit. I spawned, moved the Gargoyle over the only spawn in the map, and jumped into the death pit. When I tried to respawn, the game crashed with a generic "srb2win.exe has stopped working."

ok so does anyone know how to get walking corpses in srb2

EDIT: This is what you'd expect to happen, but I put a Player 1 Start in the map. When the gargoyle was not on top of the deathmatch start, I would always spawn on the Deathmatch start. When the gargoyle was on the deathmatch start, I'd spawn on the Player 1 start.

EDIT2: By the way, it doesn't check if you can spawn in the Single Player/Coop spawn, it just checks if there is one. If you put a second gargoyle over the Single Player/Coop spawn, you still spawn there if the Deathmatch spawn is blocked.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top