Clean options field of binary-converted things

This commit is contained in:
spherallic 2023-06-11 13:40:18 +02:00
parent f416c6a98d
commit 90d95d1305
2 changed files with 6 additions and 5 deletions

View file

@ -13390,7 +13390,7 @@ void P_SpawnHoop(mapthing_t *mthing)
vector4_t v, res;
fixed_t x = mthing->x << FRACBITS;
fixed_t y = mthing->y << FRACBITS;
fixed_t z = P_GetMobjSpawnHeight(MT_HOOP, x, y, mthing->z << FRACBITS, 0, false, mthing->scale, !!(mthing->options & MTF_ABSOLUTEZ));
fixed_t z = P_GetMobjSpawnHeight(MT_HOOP, x, y, mthing->z << FRACBITS, 0, false, mthing->scale, mthing->options & MTF_ABSOLUTEZ);
hoopcenter = P_SpawnMobj(x, y, z, MT_HOOPCENTER);
hoopcenter->spawnpoint = mthing;
@ -13517,7 +13517,7 @@ static void P_SpawnItemRow(mapthing_t *mthing, mobjtype_t *itemtypes, UINT8 numi
itemtypes[r] = P_GetMobjtypeSubstitute(&dummything, itemtypes[r]);
}
}
z = P_GetMobjSpawnHeight(itemtypes[0], x, y, z, 0, mthing->options & MTF_OBJECTFLIP, mthing->scale, !!(mthing->options & MTF_ABSOLUTEZ));
z = P_GetMobjSpawnHeight(itemtypes[0], x, y, z, 0, mthing->options & MTF_OBJECTFLIP, mthing->scale, mthing->options & MTF_ABSOLUTEZ);
for (r = 0; r < numitems; r++)
{
@ -13576,7 +13576,7 @@ static void P_SpawnItemCircle(mapthing_t *mthing, mobjtype_t *itemtypes, UINT8 n
itemtypes[i] = P_GetMobjtypeSubstitute(&dummything, itemtypes[i]);
}
}
z = P_GetMobjSpawnHeight(itemtypes[0], x, y, z, 0, false, mthing->scale, !!(mthing->options & MTF_ABSOLUTEZ));
z = P_GetMobjSpawnHeight(itemtypes[0], x, y, z, 0, false, mthing->scale, mthing->options & MTF_ABSOLUTEZ);
for (i = 0; i < numitems; i++)
{

View file

@ -6681,7 +6681,6 @@ static void P_ConvertBinaryThingTypes(void)
break;
case 1704: //NiGHTS bumper
mapthings[i].pitch = 30 * (((mapthings[i].options & 15) + 9) % 12);
mapthings[i].options &= ~0xF;
break;
case 1705: //Hoop
case 1713: //Hoop (Customizable)
@ -6690,7 +6689,6 @@ static void P_ConvertBinaryThingTypes(void)
mapthings[i].angle = (mapthings[i].extrainfo == 1) ? oldangle - 90 : ((oldangle >> 8)*360)/256;
mapthings[i].pitch = (mapthings[i].extrainfo == 1) ? oldangle / 360 : ((oldangle & 255)*360)/256;
mapthings[i].args[0] = (mapthings[i].type == 1705) ? 96 : (mapthings[i].options & 0xF)*16 + 32;
mapthings[i].options &= ~0xF;
mapthings[i].type = 1713;
break;
}
@ -6718,6 +6716,9 @@ static void P_ConvertBinaryThingTypes(void)
default:
break;
}
// Clear binary thing height hacks, to prevent interfering with UDMF-only flags
mapthings[i].options &= 8;
}
}