mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-28 05:11:34 +00:00
Fix exit music occasionally being wrong on race exit, add K_KartUpdatePosition to Lua
This commit is contained in:
parent
29410bb93d
commit
7b475d0f91
4 changed files with 16 additions and 3 deletions
|
@ -4660,7 +4660,7 @@ static void K_KartDrift(player_t *player, boolean onground)
|
||||||
//
|
//
|
||||||
// K_KartUpdatePosition
|
// K_KartUpdatePosition
|
||||||
//
|
//
|
||||||
static void K_KartUpdatePosition(player_t *player)
|
void K_KartUpdatePosition(player_t *player)
|
||||||
{
|
{
|
||||||
fixed_t position = 1;
|
fixed_t position = 1;
|
||||||
fixed_t oldposition = player->kartstuff[k_position];
|
fixed_t oldposition = player->kartstuff[k_position];
|
||||||
|
|
|
@ -49,6 +49,7 @@ player_t *K_FindJawzTarget(mobj_t *actor, player_t *source);
|
||||||
boolean K_CheckPlayersRespawnColliding(INT32 playernum, fixed_t x, fixed_t y);
|
boolean K_CheckPlayersRespawnColliding(INT32 playernum, fixed_t x, fixed_t y);
|
||||||
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
|
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
|
||||||
INT32 K_GetKartDriftSparkValue(player_t *player);
|
INT32 K_GetKartDriftSparkValue(player_t *player);
|
||||||
|
void K_KartUpdatePosition(player_t *player);
|
||||||
void K_DropItems(player_t *player);
|
void K_DropItems(player_t *player);
|
||||||
void K_StripItems(player_t *player);
|
void K_StripItems(player_t *player);
|
||||||
void K_StripOther(player_t *player);
|
void K_StripOther(player_t *player);
|
||||||
|
|
|
@ -2386,6 +2386,16 @@ static int lib_kGetKartDriftSparkValue(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int lib_kKartUpdatePosition(lua_State *L)
|
||||||
|
{
|
||||||
|
player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
|
||||||
|
NOHUD
|
||||||
|
if (!player)
|
||||||
|
return LUA_ErrInvalid(L, "player_t");
|
||||||
|
K_KartUpdatePosition(player);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int lib_kDropItems(lua_State *L)
|
static int lib_kDropItems(lua_State *L)
|
||||||
{
|
{
|
||||||
player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
|
player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
|
||||||
|
@ -2677,6 +2687,7 @@ static luaL_Reg lib[] = {
|
||||||
{"K_RepairOrbitChain",lib_kRepairOrbitChain},
|
{"K_RepairOrbitChain",lib_kRepairOrbitChain},
|
||||||
{"K_FindJawzTarget",lib_kFindJawzTarget},
|
{"K_FindJawzTarget",lib_kFindJawzTarget},
|
||||||
{"K_GetKartDriftSparkValue",lib_kGetKartDriftSparkValue},
|
{"K_GetKartDriftSparkValue",lib_kGetKartDriftSparkValue},
|
||||||
|
{"K_KartUpdatePosition",lib_kKartUpdatePosition},
|
||||||
{"K_DropItems",lib_kDropItems},
|
{"K_DropItems",lib_kDropItems},
|
||||||
{"K_StripItems",lib_kStripItems},
|
{"K_StripItems",lib_kStripItems},
|
||||||
{"K_StripOther",lib_kStripOther},
|
{"K_StripOther",lib_kStripOther},
|
||||||
|
|
|
@ -1778,6 +1778,9 @@ void P_DoPlayerExit(player_t *player)
|
||||||
|
|
||||||
if (G_RaceGametype()) // If in Race Mode, allow
|
if (G_RaceGametype()) // If in Race Mode, allow
|
||||||
{
|
{
|
||||||
|
player->exiting = raceexittime+2;
|
||||||
|
K_KartUpdatePosition(player);
|
||||||
|
|
||||||
if (cv_kartvoices.value)
|
if (cv_kartvoices.value)
|
||||||
{
|
{
|
||||||
if (P_IsLocalPlayer(player))
|
if (P_IsLocalPlayer(player))
|
||||||
|
@ -1798,8 +1801,6 @@ void P_DoPlayerExit(player_t *player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
player->exiting = raceexittime+2;
|
|
||||||
|
|
||||||
if (cv_inttime.value > 0)
|
if (cv_inttime.value > 0)
|
||||||
P_EndingMusic(player);
|
P_EndingMusic(player);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue