mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 04:21:23 +00:00
Play gravity flip sound on jump in jumpflip sectors, reorganize code
This commit is contained in:
parent
9fabddd4bb
commit
8d06145377
4 changed files with 19 additions and 16 deletions
|
@ -1290,17 +1290,6 @@ static int lib_pInSpaceSector(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lib_pInJumpFlipSector(lua_State *L)
|
|
||||||
{
|
|
||||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
|
||||||
//HUDSAFE
|
|
||||||
INLEVEL
|
|
||||||
if (!mo)
|
|
||||||
return LUA_ErrInvalid(L, "mobj_t");
|
|
||||||
lua_pushboolean(L, P_InJumpFlipSector(mo));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int lib_pInQuicksand(lua_State *L)
|
static int lib_pInQuicksand(lua_State *L)
|
||||||
{
|
{
|
||||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||||
|
@ -1312,6 +1301,17 @@ static int lib_pInQuicksand(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int lib_pInJumpFlipSector(lua_State *L)
|
||||||
|
{
|
||||||
|
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||||
|
//HUDSAFE
|
||||||
|
INLEVEL
|
||||||
|
if (!mo)
|
||||||
|
return LUA_ErrInvalid(L, "mobj_t");
|
||||||
|
lua_pushboolean(L, P_InJumpFlipSector(mo));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int lib_pSetObjectMomZ(lua_State *L)
|
static int lib_pSetObjectMomZ(lua_State *L)
|
||||||
{
|
{
|
||||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||||
|
@ -4019,8 +4019,8 @@ static luaL_Reg lib[] = {
|
||||||
{"P_IsObjectInGoop",lib_pIsObjectInGoop},
|
{"P_IsObjectInGoop",lib_pIsObjectInGoop},
|
||||||
{"P_IsObjectOnGround",lib_pIsObjectOnGround},
|
{"P_IsObjectOnGround",lib_pIsObjectOnGround},
|
||||||
{"P_InSpaceSector",lib_pInSpaceSector},
|
{"P_InSpaceSector",lib_pInSpaceSector},
|
||||||
{"P_InJumpFlipSector",lib_pInJumpFlipSector},
|
|
||||||
{"P_InQuicksand",lib_pInQuicksand},
|
{"P_InQuicksand",lib_pInQuicksand},
|
||||||
|
{"P_InJumpFlipSector",lib_pInJumpFlipSector},
|
||||||
{"P_SetObjectMomZ",lib_pSetObjectMomZ},
|
{"P_SetObjectMomZ",lib_pSetObjectMomZ},
|
||||||
{"P_PlayJingle",lib_pPlayJingle},
|
{"P_PlayJingle",lib_pPlayJingle},
|
||||||
{"P_PlayJingleMusic",lib_pPlayJingleMusic},
|
{"P_PlayJingleMusic",lib_pPlayJingleMusic},
|
||||||
|
|
|
@ -149,8 +149,8 @@ boolean P_PlayerShouldUseSpinHeight(player_t *player);
|
||||||
boolean P_IsObjectInGoop(mobj_t *mo);
|
boolean P_IsObjectInGoop(mobj_t *mo);
|
||||||
boolean P_IsObjectOnGround(mobj_t *mo);
|
boolean P_IsObjectOnGround(mobj_t *mo);
|
||||||
boolean P_InSpaceSector(mobj_t *mo);
|
boolean P_InSpaceSector(mobj_t *mo);
|
||||||
boolean P_InJumpFlipSector(mobj_t *mo);
|
|
||||||
boolean P_InQuicksand(mobj_t *mo);
|
boolean P_InQuicksand(mobj_t *mo);
|
||||||
|
boolean P_InJumpFlipSector(mobj_t *mo);
|
||||||
boolean P_PlayerHitFloor(player_t *player, boolean dorollstuff);
|
boolean P_PlayerHitFloor(player_t *player, boolean dorollstuff);
|
||||||
|
|
||||||
void P_SetObjectMomZ(mobj_t *mo, fixed_t value, boolean relative);
|
void P_SetObjectMomZ(mobj_t *mo, fixed_t value, boolean relative);
|
||||||
|
|
|
@ -5940,7 +5940,7 @@ static void P_ConvertBinarySectorTypes(void)
|
||||||
case 5: //Speed pad
|
case 5: //Speed pad
|
||||||
sectors[i].specialflags |= SSF_SPEEDPAD;
|
sectors[i].specialflags |= SSF_SPEEDPAD;
|
||||||
break;
|
break;
|
||||||
case 6: //Gravity flip on jump
|
case 6: //Gravity flip on jump (think VVVVVV)
|
||||||
sectors[i].specialflags |= SSF_JUMPFLIP;
|
sectors[i].specialflags |= SSF_JUMPFLIP;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -2516,7 +2516,7 @@ boolean P_InJumpFlipSector(mobj_t *mo) // Returns true if you are in a jumpflip
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false; // No jumpflip here, Captain!
|
return false; // No gravity jumping here, Captain Viridian!
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean P_PlayerCanBust(player_t *player, ffloor_t *rover)
|
static boolean P_PlayerCanBust(player_t *player, ffloor_t *rover)
|
||||||
|
@ -4484,8 +4484,11 @@ void P_DoJump(player_t *player, boolean soundandstate)
|
||||||
if (player->charflags & SF_NOJUMPDAMAGE)
|
if (player->charflags & SF_NOJUMPDAMAGE)
|
||||||
player->pflags &= ~PF_SPINNING;
|
player->pflags &= ~PF_SPINNING;
|
||||||
|
|
||||||
if (P_InJumpFlipSector(player->mo))
|
if (P_InJumpFlipSector(player->mo)) // Flip gravity on jump?
|
||||||
|
{
|
||||||
player->mo->flags2 ^= MF2_OBJECTFLIP;
|
player->mo->flags2 ^= MF2_OBJECTFLIP;
|
||||||
|
S_StartSound(player->mo, sfx_s3k73); // Play gravity flip sound
|
||||||
|
}
|
||||||
|
|
||||||
if (soundandstate)
|
if (soundandstate)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue