MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / LaraDeflectEdgeMonkey

Function LaraDeflectEdgeMonkey

TombEngine/Game/Lara/lara_collide.cpp:211–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209}
210
211bool LaraDeflectEdgeMonkey(ItemInfo* item, CollisionInfo* coll)
212{
213 // HACK
214 if (coll->Shift.Position.y >= 0 && coll->Shift.Position.y <= CLICK(1.25f))
215 coll->Shift.Position.y = 0;
216
217 if (coll->CollisionType == CollisionType::Front || coll->CollisionType == CollisionType::TopFront ||
218 coll->HitTallObject)
219 {
220 ShiftItem(item, coll);
221
222 item->Animation.TargetState = LS_MONKEY_IDLE;
223 item->Animation.Velocity.z = 0;
224 item->Animation.IsAirborne = false;
225 return true;
226 }
227
228 if (coll->CollisionType == CollisionType::Left)
229 {
230 ShiftItem(item, coll);
231 item->Pose.Orientation.y += coll->DiagonalStepAtLeft() ? DEFLECT_DIAGONAL_ANGLE : DEFLECT_STRAIGHT_ANGLE;
232 }
233 else if (coll->CollisionType == CollisionType::Right)
234 {
235 ShiftItem(item, coll);
236 item->Pose.Orientation.y -= coll->DiagonalStepAtRight() ? DEFLECT_DIAGONAL_ANGLE : DEFLECT_STRAIGHT_ANGLE;
237 }
238
239 return false;
240}
241
242void LaraCollideStop(ItemInfo* item, CollisionInfo* coll)
243{

Callers 4

lara_col_monkey_forwardFunction · 0.85
lara_col_monkey_backFunction · 0.85

Calls 3

ShiftItemFunction · 0.85
DiagonalStepAtLeftMethod · 0.80
DiagonalStepAtRightMethod · 0.80

Tested by

no test coverage detected