diff --git a/src/SB/Game/zEntPlayer.cpp b/src/SB/Game/zEntPlayer.cpp index 9871cd1c..9e1b444e 100644 --- a/src/SB/Game/zEntPlayer.cpp +++ b/src/SB/Game/zEntPlayer.cpp @@ -3576,6 +3576,40 @@ static U32 count_talk_anims(xAnimTable* anims) return talkAnimCount; } +F32 det3x3top1(float a, float b, float c, float d, float e, float f) +{ + F32 ret = -((a * f) - ((b * f) - (e * c))); + return -((d * b) - ((a * e) + ((d * c) + ret))); +} + +void zEntPlayerExit(xEnt* ent) +{ + bungee_state::destroy(); +} + +void zEntPlayerPreReset() +{ + globals.player.ControlOff = 0; + if (!oob_state::IsPlayerInControl()) + { + zEntPlayerControlOff(CONTROL_OWNER_OOB); + globals.player.ControlOffTimer = 1e38; + } +} + +F32 ComputeFudge(F32 a, F32 b) +{ + F32 min = MIN(a, b); + a = (min - 0.075f) / -0.175f; + + if (0.0f > MIN(a, 1.0f)) + { + return 0.0f; + } + + return MIN(a, 1.0f); +} + static void load_player_ini(zPlayerSettings& ps, xModelInstance& model, xModelAssetParam* modelass, U32 params_size) { diff --git a/src/SB/Game/zEntPlayerBungeeState.h b/src/SB/Game/zEntPlayerBungeeState.h index 1e9ee3ab..ac1dfbbe 100644 --- a/src/SB/Game/zEntPlayerBungeeState.h +++ b/src/SB/Game/zEntPlayerBungeeState.h @@ -67,6 +67,7 @@ namespace bungee_state void load(xBase& data, xDynAsset& asset, size_t); bool active(); bool landed(); + bool destroy(); void insert_animations(xAnimTable& table); } // namespace bungee_state