mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-20 01:43:50 +00:00
Adapt some reserved tags to UDMF
This commit is contained in:
parent
db1f215327
commit
72e2c24fdb
6 changed files with 64 additions and 3 deletions
|
@ -258,6 +258,11 @@ doom
|
|||
sprite = "TRETA1";
|
||||
width = 16;
|
||||
height = 32;
|
||||
arg0
|
||||
{
|
||||
title = "Death trigger tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
111
|
||||
{
|
||||
|
@ -2704,6 +2709,11 @@ doom
|
|||
sprite = "KOOPA0";
|
||||
width = 16;
|
||||
height = 48;
|
||||
arg0
|
||||
{
|
||||
title = "Death trigger tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
1807
|
||||
{
|
||||
|
@ -2711,6 +2721,11 @@ doom
|
|||
sprite = "MAXEA0";
|
||||
width = 8;
|
||||
height = 16;
|
||||
arg0
|
||||
{
|
||||
title = "Death trigger tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
1808
|
||||
{
|
||||
|
|
|
@ -899,7 +899,7 @@ state_t states[NUMSTATES] =
|
|||
{SPR_TRET, FF_FULLBRIGHT|2, 7, {A_Pain}, 0, 0, S_TURRETSHOCK7}, // S_TURRETSHOCK6
|
||||
{SPR_TRET, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_TURRETSHOCK8}, // S_TURRETSHOCK7
|
||||
{SPR_TRET, FF_FULLBRIGHT|4, 7, {NULL}, 0, 0, S_TURRETSHOCK9}, // S_TURRETSHOCK8
|
||||
{SPR_TRET, FF_FULLBRIGHT|4, 7, {A_LinedefExecute}, LE_TURRET, 0, S_XPLD1}, // S_TURRETSHOCK9
|
||||
{SPR_TRET, FF_FULLBRIGHT|4, 7, {A_LinedefExecuteFromArg}, 0, 0, S_XPLD1}, // S_TURRETSHOCK9
|
||||
|
||||
{SPR_TURR, 0, 1, {A_Look}, 1, 0, S_TURRETPOPDOWN8}, // S_TURRETLOOK
|
||||
{SPR_TURR, 0, 0, {A_FaceTarget}, 0, 0, S_TURRETPOPUP1}, // S_TURRETSEE
|
||||
|
|
|
@ -150,6 +150,7 @@ enum actionnum
|
|||
A_BOSS3PATH,
|
||||
A_BOSS3SHOCKTHINK,
|
||||
A_LINEDEFEXECUTE,
|
||||
A_LINEDEFEXECUTEFROMARG,
|
||||
A_PLAYSEESOUND,
|
||||
A_PLAYATTACKSOUND,
|
||||
A_PLAYACTIVESOUND,
|
||||
|
@ -409,6 +410,7 @@ void A_Boss3TakeDamage();
|
|||
void A_Boss3Path();
|
||||
void A_Boss3ShockThink();
|
||||
void A_LinedefExecute();
|
||||
void A_LinedefExecuteFromArg();
|
||||
void A_PlaySeeSound();
|
||||
void A_PlayAttackSound();
|
||||
void A_PlayActiveSound();
|
||||
|
|
|
@ -173,6 +173,7 @@ void A_Boss3TakeDamage(mobj_t *actor);
|
|||
void A_Boss3Path(mobj_t *actor);
|
||||
void A_Boss3ShockThink(mobj_t *actor);
|
||||
void A_LinedefExecute(mobj_t *actor);
|
||||
void A_LinedefExecuteFromArg(mobj_t *actor);
|
||||
void A_PlaySeeSound(mobj_t *actor);
|
||||
void A_PlayAttackSound(mobj_t *actor);
|
||||
void A_PlayActiveSound(mobj_t *actor);
|
||||
|
@ -4049,7 +4050,8 @@ bossjustdie:
|
|||
}
|
||||
case MT_KOOPA:
|
||||
{
|
||||
EV_DoCeiling(LE_KOOPA, NULL, raiseToHighest);
|
||||
if (mo->spawnpoint)
|
||||
EV_DoCeiling(mo->spawnpoint->args[0], NULL, raiseToHighest);
|
||||
return;
|
||||
}
|
||||
case MT_FANG:
|
||||
|
@ -8307,6 +8309,38 @@ void A_LinedefExecute(mobj_t *actor)
|
|||
P_LinedefExecute((INT16)tagnum, actor, actor->subsector->sector);
|
||||
}
|
||||
|
||||
// Function: A_LinedefExecuteFromArg
|
||||
//
|
||||
// Description: Object's location is used to set the calling sector. The tag used is the spawnpoint mapthing's args[var1].
|
||||
//
|
||||
// var1 = mapthing arg to take tag from
|
||||
// var2 = unused
|
||||
//
|
||||
void A_LinedefExecuteFromArg(mobj_t *actor)
|
||||
{
|
||||
INT32 tagnum;
|
||||
INT32 locvar1 = var1;
|
||||
|
||||
if (LUA_CallAction(A_LINEDEFEXECUTEFROMARG, actor))
|
||||
return;
|
||||
|
||||
if (!actor->spawnpoint)
|
||||
return;
|
||||
|
||||
if (locvar1 < 0 || locvar1 > NUMMAPTHINGARGS)
|
||||
{
|
||||
CONS_Debug(DBG_GAMELOGIC, "A_LinedefExecuteFromArg: Invalid mapthing arg %d\n", locvar1);
|
||||
return;
|
||||
}
|
||||
|
||||
tagnum = actor->spawnpoint->args[locvar1];
|
||||
|
||||
CONS_Debug(DBG_GAMELOGIC, "A_LinedefExecuteFromArg: Running mobjtype %d's sector with tag %d\n", actor->type, tagnum);
|
||||
|
||||
// tag 32768 displayed in map editors is actually tag -32768, tag 32769 is -32767, 65535 is -1 etc.
|
||||
P_LinedefExecute((INT16)tagnum, actor, actor->subsector->sector);
|
||||
}
|
||||
|
||||
// Function: A_PlaySeeSound
|
||||
//
|
||||
// Description: Plays the object's seesound.
|
||||
|
|
|
@ -1387,7 +1387,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
if (player->bot && player->bot != BOT_MPAI)
|
||||
return;
|
||||
|
||||
EV_DoElevator(LE_AXE, NULL, bridgeFall);
|
||||
if (special->spawnpoint)
|
||||
EV_DoElevator(special->spawnpoint->args[0], NULL, bridgeFall);
|
||||
|
||||
// scan the remaining thinkers to find koopa
|
||||
for (th = thlist[THINK_MOBJ].next; th != &thlist[THINK_MOBJ]; th = th->next)
|
||||
|
|
|
@ -4873,6 +4873,9 @@ static void P_ConvertBinaryMap(void)
|
|||
{
|
||||
switch (mapthings[i].type)
|
||||
{
|
||||
case 110: //THZ Turret
|
||||
mapthings[i].args[0] = LE_TURRET;
|
||||
break;
|
||||
case 754: //Push point
|
||||
case 755: //Pull point
|
||||
{
|
||||
|
@ -5048,6 +5051,12 @@ static void P_ConvertBinaryMap(void)
|
|||
case 1714: //Ideya anchor point
|
||||
mapthings[i].args[0] = mapthings[i].extrainfo;
|
||||
break;
|
||||
case 1806: //King Bowser
|
||||
mapthings[i].args[0] = LE_KOOPA;
|
||||
break;
|
||||
case 1807: //Axe
|
||||
mapthings[i].args[0] = LE_AXE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue