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",
"S_ADVENTUREAIRBOOSTER_EXHAUST1", "S_ADVENTUREAIRBOOSTER_EXHAUST1",
"S_ADVENTUREAIRBOOSTER_EXHAUST2", "S_ADVENTUREAIRBOOSTER_EXHAUST2",
"S_ADVENTUREAIRBOOSTER_PART", "S_ADVENTUREAIRBOOSTER_FRAME",
"S_ADVENTUREAIRBOOSTER_ARROW",
// Sneaker Panels // Sneaker Panels
"S_SNEAKERPANEL", "S_SNEAKERPANEL",

View file

@ -503,6 +503,7 @@ char sprnames[NUMSPRITES + 1][5] =
// Adventure Air Booster // Adventure Air Booster
"ADVR", "ADVR",
"ADVE",
// Sneaker Panels // Sneaker Panels
"BSTP", "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 {SPR_RAIR, FF_ADD|3, 2, {NULL}, 0, 0, S_DASHRING_VERTICAL_FLASH1}, // S_DASHRING_VERTICAL_FLASH2
// Adventure Air Booster // Adventure Air Booster
{SPR_ADVR, 17|FF_FULLBRIGHT|FF_ADD, 1, {A_RollAngle}, 8, 0, S_ADVENTUREAIRBOOSTER}, // S_ADVENTUREAIRBOOSTER {SPR_ADVE, 13|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_ADVE, 1|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_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_PART {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 // Sneaker Panels
{SPR_BSTP, FF_ANIMATE|FF_GLOBALANIM|FF_FLOORSPRITE|FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_SNEAKERPANEL}, // S_SNEAKERPANEL {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 { // MT_ADVENTUREAIRBOOSTER_PART
-1, // doomednum -1, // doomednum
S_ADVENTUREAIRBOOSTER_PART, // spawnstate S_ADVENTUREAIRBOOSTER_FRAME, // spawnstate
1000, // spawnhealth 1000, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_None, // seesound sfx_None, // seesound

View file

@ -1042,6 +1042,7 @@ typedef enum sprite
// Adventure Air Booster // Adventure Air Booster
SPR_ADVR, SPR_ADVR,
SPR_ADVE,
// Sneaker Panels // Sneaker Panels
SPR_BSTP, SPR_BSTP,
@ -3469,7 +3470,8 @@ typedef enum state
S_ADVENTUREAIRBOOSTER, S_ADVENTUREAIRBOOSTER,
S_ADVENTUREAIRBOOSTER_EXHAUST1, S_ADVENTUREAIRBOOSTER_EXHAUST1,
S_ADVENTUREAIRBOOSTER_EXHAUST2, S_ADVENTUREAIRBOOSTER_EXHAUST2,
S_ADVENTUREAIRBOOSTER_PART, S_ADVENTUREAIRBOOSTER_FRAME,
S_ADVENTUREAIRBOOSTER_ARROW,
// Sneaker Panels // Sneaker Panels
S_SNEAKERPANEL, 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; 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. // with this order of operations, the first arrow we spawn is the right one, then the left one. Angle them accordingly.
SpawnPart(); SpawnPart();
part->frame |= 4; P_SetMobjState(part, S_ADVENTUREAIRBOOSTER_ARROW);
part->old_angle = part->angle = mobj->angle - (ANGLE_45 * i); part->old_angle = part->angle = mobj->angle - (ANGLE_45 * i);
} }
#undef SpawnPart #undef SpawnPart

View file

@ -3881,9 +3881,14 @@ boolean R_ThingIsFullDark(mobj_t *thing)
boolean R_ThingModelUsesDirectionalLighting(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; return true;
} }