mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 04:21:47 +00:00
Updated player->panims.
Added PA_JUMP and PA_RIDE to handle new Super jump and ride, and added new animations to panim finder.
This commit is contained in:
parent
ff181d099c
commit
98ba9ca140
4 changed files with 43 additions and 11 deletions
|
|
@ -164,8 +164,10 @@ typedef enum
|
||||||
PA_WALK,
|
PA_WALK,
|
||||||
PA_RUN,
|
PA_RUN,
|
||||||
PA_ROLL,
|
PA_ROLL,
|
||||||
|
PA_JUMP,
|
||||||
PA_FALL,
|
PA_FALL,
|
||||||
PA_ABILITY
|
PA_ABILITY,
|
||||||
|
PA_RIDE
|
||||||
} panim_t;
|
} panim_t;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ void P_DoSpring(mobj_t *spring, mobj_t *object)
|
||||||
/*Someone want to make these work like bumpers?*/
|
/*Someone want to make these work like bumpers?*/
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
object->eflags |= MFE_SPRUNG; // apply this flag asap!
|
object->eflags |= MFE_SPRUNG; // apply this flag asap!
|
||||||
spring->flags &= ~(MF_SOLID|MF_SPECIAL); // De-solidify
|
spring->flags &= ~(MF_SOLID|MF_SPECIAL); // De-solidify
|
||||||
|
|
||||||
|
|
@ -1853,7 +1853,7 @@ boolean P_TryMove(mobj_t *thing, fixed_t x, fixed_t y, boolean allowdropoff)
|
||||||
|
|
||||||
// Don't 'step up' while springing,
|
// Don't 'step up' while springing,
|
||||||
// Only step up "if needed".
|
// Only step up "if needed".
|
||||||
if (thing->state-states == S_PLAY_JUMP
|
if (thing->player->panim == PA_JUMP
|
||||||
&& P_MobjFlip(thing)*thing->momz > FixedMul(FRACUNIT, thing->scale))
|
&& P_MobjFlip(thing)*thing->momz > FixedMul(FRACUNIT, thing->scale))
|
||||||
maxstep = 0;
|
maxstep = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
src/p_mobj.c
12
src/p_mobj.c
|
|
@ -184,7 +184,6 @@ boolean P_SetPlayerMobjState(mobj_t *mobj, statenum_t state)
|
||||||
case S_PLAY_STND:
|
case S_PLAY_STND:
|
||||||
case S_PLAY_WAIT:
|
case S_PLAY_WAIT:
|
||||||
case S_PLAY_EDGE:
|
case S_PLAY_EDGE:
|
||||||
case S_PLAY_RIDE:
|
|
||||||
case S_PLAY_SUPER_STND:
|
case S_PLAY_SUPER_STND:
|
||||||
case S_PLAY_SUPER_EDGE:
|
case S_PLAY_SUPER_EDGE:
|
||||||
player->panim = PA_IDLE;
|
player->panim = PA_IDLE;
|
||||||
|
|
@ -198,15 +197,26 @@ boolean P_SetPlayerMobjState(mobj_t *mobj, statenum_t state)
|
||||||
player->panim = PA_RUN;
|
player->panim = PA_RUN;
|
||||||
break;
|
break;
|
||||||
case S_PLAY_SPIN:
|
case S_PLAY_SPIN:
|
||||||
|
case S_PLAY_DASH:
|
||||||
|
case S_PLAY_SUPER_SPIN:
|
||||||
player->panim = PA_ROLL;
|
player->panim = PA_ROLL;
|
||||||
break;
|
break;
|
||||||
|
case S_PLAY_JUMP:
|
||||||
|
case S_PLAY_SUPER_JUMP:
|
||||||
|
player->panim = PA_JUMP;
|
||||||
|
break;
|
||||||
case S_PLAY_FALL:
|
case S_PLAY_FALL:
|
||||||
|
case S_PLAY_SUPER_FALL:
|
||||||
player->panim = PA_FALL;
|
player->panim = PA_FALL;
|
||||||
break;
|
break;
|
||||||
case S_PLAY_FLY:
|
case S_PLAY_FLY:
|
||||||
case S_PLAY_GLIDE:
|
case S_PLAY_GLIDE:
|
||||||
player->panim = PA_ABILITY;
|
player->panim = PA_ABILITY;
|
||||||
break;
|
break;
|
||||||
|
case S_PLAY_RIDE:
|
||||||
|
case S_PLAY_SUPER_RIDE:
|
||||||
|
player->panim = PA_RIDE;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
player->panim = PA_ETC;
|
player->panim = PA_ETC;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
34
src/p_user.c
34
src/p_user.c
|
|
@ -3438,12 +3438,32 @@ static void P_DoSuperStuff(player_t *player)
|
||||||
{
|
{
|
||||||
if ((player->pflags & PF_JUMPED) || (player->pflags & PF_SPINNING))
|
if ((player->pflags & PF_JUMPED) || (player->pflags & PF_SPINNING))
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_SPIN);
|
P_SetPlayerMobjState(player->mo, S_PLAY_SPIN);
|
||||||
else if (player->panim == PA_RUN)
|
else switch (player->mo->state-states)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_RUN);
|
{
|
||||||
else if (player->panim == PA_WALK)
|
default:
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_WALK);
|
|
||||||
else
|
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
||||||
|
break;
|
||||||
|
case S_PLAY_DASH:
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_WALK:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_WALK);
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_RUN:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_RUN);
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_PAIN:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_PAIN);
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_JUMP:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_JUMP);
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_FALL:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_FALL);
|
||||||
|
break;
|
||||||
|
case S_PLAY_SUPER_RIDE:
|
||||||
|
P_SetPlayerMobjState(player->mo, S_PLAY_RIDE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!player->exiting)
|
if (!player->exiting)
|
||||||
{
|
{
|
||||||
|
|
@ -6429,10 +6449,10 @@ static void P_MovePlayer(player_t *player)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_WALK);
|
P_SetPlayerMobjState(player->mo, S_PLAY_WALK);
|
||||||
|
|
||||||
// If Springing, but travelling DOWNWARD, change back!
|
// If Springing, but travelling DOWNWARD, change back!
|
||||||
if (player->mo->state == &states[S_PLAY_JUMP] && P_MobjFlip(player->mo)*player->mo->momz < 0)
|
if (player->panim == PA_JUMP && P_MobjFlip(player->mo)*player->mo->momz < 0)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_FALL);
|
P_SetPlayerMobjState(player->mo, S_PLAY_FALL);
|
||||||
// If Springing but on the ground, change back!
|
// If Springing but on the ground, change back!
|
||||||
else if (onground && (player->mo->state == &states[S_PLAY_JUMP] || player->panim == PA_FALL || player->mo->state == &states[S_PLAY_RIDE]) && !player->mo->momz)
|
else if (onground && (player->panim == PA_JUMP || player->panim == PA_FALL || player->panim == PA_RIDE) && !player->mo->momz)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
||||||
|
|
||||||
// If you are stopped and are still walking, stand still!
|
// If you are stopped and are still walking, stand still!
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue