Adapt most flame jet settings to UDMF

This commit is contained in:
MascaraSnake 2021-12-27 17:58:18 +01:00
parent 3bab07d036
commit 720df51b6e
3 changed files with 35 additions and 11 deletions

View file

@ -6110,6 +6110,18 @@ udmf
sprite = "internal:flameh";
width = 16;
height = 40;
arg0
{
title = "On time";
}
arg1
{
title = "Off time";
}
arg2
{
title = "Strength";
}
}
1301
{
@ -6117,6 +6129,18 @@ udmf
sprite = "internal:flamev";
width = 16;
height = 40;
arg0
{
title = "On time";
}
arg1
{
title = "Off time";
}
arg2
{
title = "Strength";
}
}
1302
{

View file

@ -7226,8 +7226,7 @@ static void P_FlameJetSceneryThink(mobj_t *mobj)
else
flame->angle += FixedAngle(mobj->fuse<<FRACBITS);
strength = 20*FRACUNIT;
strength -= ((20*FRACUNIT)/16)*mobj->movedir;
strength = (mobj->movedir ? mobj->movedir : 80)<<(FRACBITS-2);
P_InstaThrust(flame, flame->angle, strength);
S_StartSound(flame, sfx_fire);
@ -7257,8 +7256,7 @@ static void P_VerticalFlameJetSceneryThink(mobj_t *mobj)
flame = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_FLAMEJETFLAME);
strength = 20*FRACUNIT;
strength -= ((20*FRACUNIT)/16)*mobj->movedir;
strength = (mobj->movedir ? mobj->movedir : 80)<<(FRACBITS-2);
// If deaf'd, the object spawns on the ceiling.
if (mobj->flags2 & MF2_AMBUSH)
@ -12797,13 +12795,9 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
break;
case MT_FLAMEJET:
case MT_VERTICALFLAMEJET:
mobj->threshold = (mthing->angle >> 10) & 7;
mobj->movecount = (mthing->angle >> 13);
mobj->threshold *= (TICRATE/2);
mobj->movecount *= (TICRATE/2);
mobj->movedir = mthing->extrainfo;
mobj->movecount = mthing->args[0];
mobj->threshold = mthing->args[1];
mobj->movedir = mthing->args[2];
break;
case MT_MACEPOINT:
case MT_CHAINMACEPOINT:

View file

@ -5141,6 +5141,12 @@ static void P_ConvertBinaryMap(void)
P_WriteConstant(MT_ROCKCRUMBLE1 + (sides[lines[j].sidenum[0]].rowoffset >> FRACBITS), &mapthings[i].stringargs[0]);
break;
}
case 1300: //Flame jet (horizontal)
case 1301: //Flame jet (vertical)
mapthings[i].args[0] = (mapthings[i].angle >> 13)*TICRATE/2;
mapthings[i].args[1] = ((mapthings[i].angle >> 10) & 7)*TICRATE/2;
mapthings[i].args[2] = 80 - 5*mapthings[i].extrainfo;
break;
case 1700: //Axis
mapthings[i].args[2] = mapthings[i].angle & 16383;
mapthings[i].args[3] = !!(mapthings[i].angle & 16384);