mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-03 10:17:59 +03:00
Tweak vault state functions; cleanup
This commit is contained in:
parent
a85c8ad0e3
commit
7fd54041a6
5 changed files with 32 additions and 30 deletions
|
@ -108,7 +108,7 @@ function<LaraRoutineFunction> lara_control_routines[NUM_LARA_STATES + 1] =
|
|||
lara_as_climbend,//59
|
||||
lara_as_climbright,//60
|
||||
lara_as_climbdown,//61
|
||||
lara_void_func,//62
|
||||
lara_as_auto_jump,//62
|
||||
lara_void_func,//63
|
||||
lara_void_func,//64
|
||||
lara_as_wade_forward,//65
|
||||
|
@ -214,12 +214,12 @@ function<LaraRoutineFunction> lara_control_routines[NUM_LARA_STATES + 1] =
|
|||
lara_as_null,//161
|
||||
lara_as_null,//162
|
||||
lara_as_monkey_back,//163
|
||||
lara_as_null,//164
|
||||
lara_as_null,//165
|
||||
lara_as_null,//166
|
||||
lara_as_null,//167
|
||||
lara_as_null,//168
|
||||
lara_as_null,//169
|
||||
lara_as_vault,//164
|
||||
lara_as_vault,//165
|
||||
lara_as_vault,//166
|
||||
lara_as_vault,//167
|
||||
lara_as_vault,//168
|
||||
lara_as_vault,//169
|
||||
lara_as_idle,//170
|
||||
};
|
||||
|
||||
|
@ -287,7 +287,7 @@ function<LaraRoutineFunction> lara_collision_routines[NUM_LARA_STATES + 1] =
|
|||
lara_col_climbend,
|
||||
lara_col_climbright,
|
||||
lara_col_climbdown,
|
||||
lara_col_auto_jump,//62
|
||||
lara_void_func,//62
|
||||
lara_void_func,
|
||||
lara_void_func,
|
||||
lara_col_wade_forward,
|
||||
|
@ -389,12 +389,12 @@ function<LaraRoutineFunction> lara_collision_routines[NUM_LARA_STATES + 1] =
|
|||
lara_void_func,//161
|
||||
lara_void_func,//162
|
||||
lara_col_monkey_back,//163
|
||||
lara_col_vault,//164
|
||||
lara_col_vault,//165
|
||||
lara_col_vault,//166
|
||||
lara_col_vault,//167
|
||||
lara_col_vault,//168
|
||||
lara_col_vault,//169
|
||||
lara_void_func,//164
|
||||
lara_void_func,//165
|
||||
lara_void_func,//166
|
||||
lara_void_func,//167
|
||||
lara_void_func,//168
|
||||
lara_void_func,//169
|
||||
lara_col_idle,//170
|
||||
};
|
||||
|
||||
|
|
|
@ -87,10 +87,11 @@ void lara_as_controlled_no_look(ITEM_INFO* item, COLL_INFO* coll)
|
|||
coll->Setup.EnableSpasm = false;
|
||||
}
|
||||
|
||||
// State: LS_VAULT, LS_VAULT_2_STEPS, LS_VAULT_3_STEPS,
|
||||
// VAULT_1_STEP_CROUCH, VAULT_2_STEPS_CROUCH, VAULT_3_STEPS_CROUCH (164, 165, 166, 167, 168, 169)
|
||||
// Control: lara_as_null()
|
||||
void lara_col_vault(ITEM_INFO* item, COLL_INFO* coll)
|
||||
// State: LS_VAULT (164),
|
||||
// LS_VAULT_2_STEPS (165), LS_VAULT_3_STEPS (166),
|
||||
// VAULT_1_STEP_CROUCH (167), VAULT_2_STEPS_CROUCH (168), VAULT_3_STEPS_CROUCH (169)
|
||||
// Collision: lara_void_func()
|
||||
void lara_as_vault(ITEM_INFO* item, COLL_INFO* coll)
|
||||
{
|
||||
auto* info = GetLaraInfo(item);
|
||||
|
||||
|
@ -103,9 +104,9 @@ void lara_col_vault(ITEM_INFO* item, COLL_INFO* coll)
|
|||
EaseOutLaraHeight(item, info->ProjectedFloorHeight - item->Position.yPos);
|
||||
}
|
||||
|
||||
// State: LS_AUTO_JUMP (62)
|
||||
// Control: lara_as_null()
|
||||
void lara_col_auto_jump(ITEM_INFO* item, COLL_INFO* coll)
|
||||
// State: LS_AUTO_JUMP (62)
|
||||
// Collision: lara_lara_void_func()
|
||||
void lara_as_auto_jump(ITEM_INFO* item, COLL_INFO* coll)
|
||||
{
|
||||
auto* info = GetLaraInfo(item);
|
||||
|
||||
|
@ -386,10 +387,10 @@ void lara_col_run_forward(ITEM_INFO* item, COLL_INFO* coll)
|
|||
}
|
||||
}
|
||||
|
||||
item->TargetState = LS_SPLAT_SOFT;
|
||||
item->TargetState = LS_SOFT_SPLAT;
|
||||
if (GetChange(item, &g_Level.Anims[item->AnimNumber]))
|
||||
{
|
||||
item->ActiveState = LS_SPLAT_SOFT;
|
||||
item->ActiveState = LS_SOFT_SPLAT;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2135,10 +2136,10 @@ void lara_col_wade_forward(ITEM_INFO* item, COLL_INFO* coll)
|
|||
|
||||
if (!TestEnvironment(ENV_FLAG_SWAMP, item))
|
||||
{
|
||||
item->TargetState = LS_SPLAT_SOFT;
|
||||
item->TargetState = LS_SOFT_SPLAT;
|
||||
if (GetChange(item, &g_Level.Anims[item->AnimNumber]))
|
||||
{
|
||||
item->ActiveState = LS_SPLAT_SOFT;
|
||||
item->ActiveState = LS_SOFT_SPLAT;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2266,10 +2267,10 @@ void lara_col_sprint(ITEM_INFO* item, COLL_INFO* coll)
|
|||
}
|
||||
}
|
||||
|
||||
item->TargetState = LS_SPLAT_SOFT;
|
||||
item->TargetState = LS_SOFT_SPLAT;
|
||||
if (GetChange(item, &g_Level.Anims[item->AnimNumber]))
|
||||
{
|
||||
item->ActiveState = LS_SPLAT_SOFT;
|
||||
item->ActiveState = LS_SOFT_SPLAT;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ void lara_as_special(ITEM_INFO* item, COLL_INFO* coll);
|
|||
void lara_as_null(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_as_controlled(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_as_controlled_no_look(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_col_vault(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_col_auto_jump(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_as_vault(ITEM_INFO* item, COLL_INFO* coll);
|
||||
void lara_as_auto_jump(ITEM_INFO* item, COLL_INFO* coll);
|
||||
|
||||
// ---------------
|
||||
// BASIC MOVEMENT:
|
||||
|
|
|
@ -33,6 +33,7 @@ void DoLaraLean(ITEM_INFO* item, COLL_INFO* coll, short maxAngle, short rate)
|
|||
if (!item->Velocity)
|
||||
return;
|
||||
|
||||
rate = abs(rate);
|
||||
int sign = copysign(1, maxAngle);
|
||||
|
||||
if (coll->CollisionType == CT_LEFT || coll->CollisionType == CT_RIGHT)
|
||||
|
|
|
@ -204,7 +204,7 @@ enum LaraState
|
|||
LS_VAULT_1_STEP_CROUCH = 167,
|
||||
LS_VAULT_2_STEPS_CROUCH = 168,
|
||||
LS_VAULT_3_STEPS_CROUCH = 169,
|
||||
LS_SPLAT_SOFT = 170,
|
||||
LS_SOFT_SPLAT = 170,
|
||||
|
||||
NUM_LARA_STATES
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue