Adjust Adventure Air Boosters for 3D models

This commit is contained in:
Lach 2024-04-04 20:41:21 +11:00
parent de651b6d6c
commit d2a53a0e64
5 changed files with 20 additions and 10 deletions

View file

@ -2449,7 +2449,8 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_ADVENTUREAIRBOOSTER",
"S_ADVENTUREAIRBOOSTER_EXHAUST1",
"S_ADVENTUREAIRBOOSTER_EXHAUST2",
"S_ADVENTUREAIRBOOSTER_PART",
"S_ADVENTUREAIRBOOSTER_FRAME",
"S_ADVENTUREAIRBOOSTER_ARROW",
// Sneaker Panels
"S_SNEAKERPANEL",

View file

@ -503,6 +503,7 @@ char sprnames[NUMSPRITES + 1][5] =
// Adventure Air Booster
"ADVR",
"ADVE",
// Sneaker Panels
"BSTP",
@ -2965,10 +2966,11 @@ state_t states[NUMSTATES] =
{SPR_RAIR, FF_ADD|3, 2, {NULL}, 0, 0, S_DASHRING_VERTICAL_FLASH1}, // S_DASHRING_VERTICAL_FLASH2
// Adventure Air Booster
{SPR_ADVR, 17|FF_FULLBRIGHT|FF_ADD, 1, {A_RollAngle}, 8, 0, S_ADVENTUREAIRBOOSTER}, // S_ADVENTUREAIRBOOSTER
{SPR_ADVR, 5|FF_FULLBRIGHT|FF_ADD|FF_ANIMATE|FF_PAPERSPRITE, 10, {NULL}, 4, 2, S_NULL}, // S_ADVENTUREAIRBOOSTER_EXHAUST1
{SPR_ADVR, 11|FF_FULLBRIGHT|FF_ADD|FF_ANIMATE|FF_PAPERSPRITE, 10, {NULL}, 4, 2, S_NULL}, // S_ADVENTUREAIRBOOSTER_EXHAUST2
{SPR_ADVR, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ADVENTUREAIRBOOSTER_PART
{SPR_ADVE, 13|FF_FULLBRIGHT|FF_ADD, 1, {A_RollAngle}, 8, 0, S_ADVENTUREAIRBOOSTER}, // S_ADVENTUREAIRBOOSTER
{SPR_ADVE, 1|FF_FULLBRIGHT|FF_ADD|FF_ANIMATE|FF_PAPERSPRITE, 10, {NULL}, 4, 2, S_NULL}, // S_ADVENTUREAIRBOOSTER_EXHAUST1
{SPR_ADVE, 7|FF_FULLBRIGHT|FF_ADD|FF_ANIMATE|FF_PAPERSPRITE, 10, {NULL}, 4, 2, S_NULL}, // S_ADVENTUREAIRBOOSTER_EXHAUST2
{SPR_ADVR, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ADVENTUREAIRBOOSTER_FRAME
{SPR_ADVE, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ADVENTUREAIRBOOSTER_ARROW
// Sneaker Panels
{SPR_BSTP, FF_ANIMATE|FF_GLOBALANIM|FF_FLOORSPRITE|FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_SNEAKERPANEL}, // S_SNEAKERPANEL
@ -16977,7 +16979,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
{ // MT_ADVENTUREAIRBOOSTER_PART
-1, // doomednum
S_ADVENTUREAIRBOOSTER_PART, // spawnstate
S_ADVENTUREAIRBOOSTER_FRAME, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound

View file

@ -1042,6 +1042,7 @@ typedef enum sprite
// Adventure Air Booster
SPR_ADVR,
SPR_ADVE,
// Sneaker Panels
SPR_BSTP,
@ -3469,7 +3470,8 @@ typedef enum state
S_ADVENTUREAIRBOOSTER,
S_ADVENTUREAIRBOOSTER_EXHAUST1,
S_ADVENTUREAIRBOOSTER_EXHAUST2,
S_ADVENTUREAIRBOOSTER_PART,
S_ADVENTUREAIRBOOSTER_FRAME,
S_ADVENTUREAIRBOOSTER_ARROW,
// Sneaker Panels
S_SNEAKERPANEL,

View file

@ -116,7 +116,7 @@ void Obj_AdventureAirBoosterSetup(mobj_t *mobj, mapthing_t *mthing)
yPos = P_ReturnThrustY(NULL, positionAngle, AAB_RADIUS * i) / 2;
// with this order of operations, the first arrow we spawn is the right one, then the left one. Angle them accordingly.
SpawnPart();
part->frame |= 4;
P_SetMobjState(part, S_ADVENTUREAIRBOOSTER_ARROW);
part->old_angle = part->angle = mobj->angle - (ANGLE_45 * i);
}
#undef SpawnPart

View file

@ -3881,9 +3881,14 @@ boolean R_ThingIsFullDark(mobj_t *thing)
boolean R_ThingModelUsesDirectionalLighting(mobj_t *thing)
{
if (thing->type == MT_ARKARROW)
switch (thing->type)
{
return false;
case MT_ARKARROW:
case MT_ADVENTUREAIRBOOSTER_PART:
return false;
default:
break;
}
return true;
}