Merge pull request 'Fix player start zpos being ignored on UDMF maps (fixes #152)' (#153) from Wumbo/blankart:fixudmfspawns into blankart-dev
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/153
This commit is contained in:
commit
1ca099ae48
1 changed files with 4 additions and 2 deletions
|
|
@ -12600,11 +12600,13 @@ void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing)
|
||||||
|
|
||||||
if (mthing)
|
if (mthing)
|
||||||
{
|
{
|
||||||
|
fixed_t offset = udmf ? mthing->z << FRACBITS : 0;
|
||||||
|
|
||||||
// Setting the spawnpoint's args[0] will make the player start on the ceiling
|
// Setting the spawnpoint's args[0] will make the player start on the ceiling
|
||||||
// Objectflip inverts
|
// Objectflip inverts
|
||||||
if (!!(mthing->args[0]) ^ !!(mthing->options & MTF_OBJECTFLIP))
|
if (!!(mthing->args[0]) ^ !!(mthing->options & MTF_OBJECTFLIP))
|
||||||
{
|
{
|
||||||
z = ceiling - mobjinfo[MT_PLAYER].height;
|
z = ceiling - mobjinfo[MT_PLAYER].height - offset;
|
||||||
if (mthing->options >> ZSHIFT)
|
if (mthing->options >> ZSHIFT)
|
||||||
z -= ((mthing->options >> ZSHIFT) << FRACBITS);
|
z -= ((mthing->options >> ZSHIFT) << FRACBITS);
|
||||||
if (p->respawn)
|
if (p->respawn)
|
||||||
|
|
@ -12612,7 +12614,7 @@ void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
z = floor;
|
z = floor + offset;
|
||||||
if (mthing->options >> ZSHIFT)
|
if (mthing->options >> ZSHIFT)
|
||||||
z += ((mthing->options >> ZSHIFT) << FRACBITS);
|
z += ((mthing->options >> ZSHIFT) << FRACBITS);
|
||||||
if (p->respawn)
|
if (p->respawn)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue