mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-07 11:13:53 +03:00
Add more anims to NewAnims; Fix lean
This commit is contained in:
parent
8dc41f1f0f
commit
f5ec4695ef
8 changed files with 174 additions and 184 deletions
|
@ -196,12 +196,12 @@ function<LaraRoutineFunction> lara_control_routines[NUM_LARA_STATES + 1] = {
|
||||||
lara_as_null,//137
|
lara_as_null,//137
|
||||||
lara_as_null,//138
|
lara_as_null,//138
|
||||||
lara_as_null,//ara_as_hang_feet,//139
|
lara_as_null,//ara_as_hang_feet,//139
|
||||||
lara_as_null,//lara_as_hang_feet_shimmyr,//140
|
lara_as_hang_feet_shimmyr,//140
|
||||||
lara_as_null,//lara_as_hang_feet_shimmyl,//141
|
lara_as_hang_feet_shimmyl,//141
|
||||||
lara_as_null,//lara_as_hang_feet_inRcorner,//142
|
lara_as_hang_feet_inRcorner,//142
|
||||||
lara_as_null,//lara_as_hang_feet_inLcorner,//143
|
lara_as_hang_feet_inLcorner,//143
|
||||||
lara_as_null,//lara_as_hang_feet_outRcorner,//144
|
lara_as_hang_feet_outRcorner,//144
|
||||||
lara_as_null,//lara_as_hang_feet_outLcorner,//145
|
lara_as_hang_feet_outLcorner,//145
|
||||||
lara_as_controlledl,
|
lara_as_controlledl,
|
||||||
lara_as_null,
|
lara_as_null,
|
||||||
lara_as_null,
|
lara_as_null,
|
||||||
|
@ -349,9 +349,9 @@ function<LaraRoutineFunction> lara_collision_routines[NUM_LARA_STATES + 1] = {
|
||||||
lara_void_func,
|
lara_void_func,
|
||||||
lara_void_func,
|
lara_void_func,
|
||||||
lara_void_func,
|
lara_void_func,
|
||||||
lara_void_func,//lara_col_hang_feet,
|
lara_col_hang_feet,
|
||||||
lara_void_func,//lara_col_hang_feet_shimmyr,
|
lara_col_hang_feet_shimmyr,
|
||||||
lara_void_func,//lara_col_hang_feet_shimmyl,
|
lara_col_hang_feet_shimmyl,
|
||||||
lara_default_col,
|
lara_default_col,
|
||||||
lara_default_col,
|
lara_default_col,
|
||||||
lara_default_col,
|
lara_default_col,
|
||||||
|
|
|
@ -230,6 +230,12 @@ void lara_as_run(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (item->pos.zRot < -LARA_LEAN_MAX)
|
if (item->pos.zRot < -LARA_LEAN_MAX)
|
||||||
item->pos.zRot = -LARA_LEAN_MAX;
|
item->pos.zRot = -LARA_LEAN_MAX;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot -= LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot < -LARA_LEAN_MAX * 3 / 5)//gives best results
|
||||||
|
item->pos.zRot = -LARA_LEAN_MAX * 3 / 5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (TrInput & IN_RIGHT)
|
else if (TrInput & IN_RIGHT)
|
||||||
{
|
{
|
||||||
|
@ -243,6 +249,12 @@ void lara_as_run(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (item->pos.zRot > LARA_LEAN_MAX)
|
if (item->pos.zRot > LARA_LEAN_MAX)
|
||||||
item->pos.zRot = LARA_LEAN_MAX;
|
item->pos.zRot = LARA_LEAN_MAX;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot += LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot > LARA_LEAN_MAX * 3 / 5)//gives best results
|
||||||
|
item->pos.zRot = LARA_LEAN_MAX * 3 / 5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item->animNumber == LA_STAND_TO_RUN)
|
if (item->animNumber == LA_STAND_TO_RUN)
|
||||||
|
@ -1066,39 +1078,39 @@ void lara_col_reach(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
if (TestHangSwingIn(item, angle))
|
if (TestHangSwingIn(item, angle))
|
||||||
{
|
{
|
||||||
/* if (TR12_OSCILLATE_HANG == true)
|
if (Lara.NewAnims.OscillateHanging)
|
||||||
{
|
{
|
||||||
Lara.headYrot = 0;
|
Lara.headYrot = 0;
|
||||||
Lara.headXrot = 0;
|
Lara.headXrot = 0;
|
||||||
Lara.torsoYrot = 0;
|
Lara.torsoYrot = 0;
|
||||||
Lara.torsoXrot = 0;
|
Lara.torsoXrot = 0;
|
||||||
item->animNumber = LA_REACH_TO_HANG_OSCILLATE;
|
item->animNumber = LA_REACH_TO_HANG_OSCILLATE;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
item->currentAnimState = LS_HANG;
|
item->currentAnimState = LS_HANG;
|
||||||
item->goalAnimState = LS_HANG;
|
item->goalAnimState = LS_HANG;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ */
|
{
|
||||||
Lara.headYrot = 0;
|
Lara.headYrot = 0;
|
||||||
Lara.headXrot = 0;
|
Lara.headXrot = 0;
|
||||||
Lara.torsoYrot = 0;
|
Lara.torsoYrot = 0;
|
||||||
Lara.torsoXrot = 0;
|
Lara.torsoXrot = 0;
|
||||||
item->animNumber = LA_REACH_TO_MONKEYSWING;
|
item->animNumber = LA_REACH_TO_MONKEYSWING;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
item->currentAnimState = LS_MONKEYSWING_IDLE;
|
item->currentAnimState = LS_MONKEYSWING_IDLE;
|
||||||
item->goalAnimState = LS_MONKEYSWING_IDLE;
|
item->goalAnimState = LS_MONKEYSWING_IDLE;
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* if (TestHangFeet(item, angle))
|
if (TestHangFeet(item, angle))
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
item->currentAnimState = LS_HANG;
|
item->currentAnimState = LS_HANG;
|
||||||
item->goalAnimState = LS_HANG_FEET;
|
item->goalAnimState = LS_HANG_FEET;
|
||||||
}
|
}
|
||||||
else*/
|
else
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
|
@ -1683,14 +1695,14 @@ void lara_col_upjump(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* if (TestHangFeet(item, angle))
|
if (TestHangFeet(item, angle))
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 12;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 12;
|
||||||
item->currentAnimState = LS_HANG;
|
item->currentAnimState = LS_HANG;
|
||||||
item->goalAnimState = LS_HANG_FEET;
|
item->goalAnimState = LS_HANG_FEET;
|
||||||
}
|
}
|
||||||
else*/
|
else
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 12;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 12;
|
||||||
|
@ -1840,7 +1852,10 @@ void lara_col_roll(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (LaraFallen(item, coll))
|
if (LaraFallen(item, coll))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (TrInput & IN_FORWARD && item->animNumber == LA_SWANDIVE_ROLL)
|
//##LUA debug etc.
|
||||||
|
Lara.NewAnims.SwandiveRollRun = 1;
|
||||||
|
|
||||||
|
if (TrInput & IN_FORWARD && item->animNumber == LA_SWANDIVE_ROLL && Lara.NewAnims.SwandiveRollRun)
|
||||||
{
|
{
|
||||||
item->goalAnimState = LS_RUN_FORWARD;
|
item->goalAnimState = LS_RUN_FORWARD;
|
||||||
}
|
}
|
||||||
|
@ -1957,8 +1972,14 @@ void lara_as_wade(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (TestLaraLean(item, coll))
|
if (TestLaraLean(item, coll))
|
||||||
{
|
{
|
||||||
item->pos.zRot -= LARA_LEAN_RATE;
|
item->pos.zRot -= LARA_LEAN_RATE;
|
||||||
if (item->pos.zRot < -(LARA_LEAN_MAX / 2))
|
if (item->pos.zRot < -LARA_LEAN_MAX / 2)
|
||||||
item->pos.zRot = -(LARA_LEAN_MAX / 2);
|
item->pos.zRot = -LARA_LEAN_MAX / 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot -= LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot < -LARA_LEAN_MAX * 3 / 5)
|
||||||
|
item->pos.zRot = -LARA_LEAN_MAX * 3 / 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (TrInput & IN_RIGHT)
|
else if (TrInput & IN_RIGHT)
|
||||||
|
@ -1970,8 +1991,14 @@ void lara_as_wade(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (TestLaraLean(item, coll))
|
if (TestLaraLean(item, coll))
|
||||||
{
|
{
|
||||||
item->pos.zRot += LARA_LEAN_RATE;
|
item->pos.zRot += LARA_LEAN_RATE;
|
||||||
if (item->pos.zRot > (LARA_LEAN_MAX / 2))
|
if (item->pos.zRot > LARA_LEAN_MAX / 2)
|
||||||
item->pos.zRot = (LARA_LEAN_MAX / 2);
|
item->pos.zRot = LARA_LEAN_MAX / 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot += LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot > LARA_LEAN_MAX * 3 / 5)
|
||||||
|
item->pos.zRot = LARA_LEAN_MAX * 3 / 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1994,6 +2021,12 @@ void lara_as_wade(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (item->pos.zRot < -LARA_LEAN_MAX)
|
if (item->pos.zRot < -LARA_LEAN_MAX)
|
||||||
item->pos.zRot = -LARA_LEAN_MAX;
|
item->pos.zRot = -LARA_LEAN_MAX;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot -= LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot < -LARA_LEAN_MAX * 3 / 5)
|
||||||
|
item->pos.zRot = -LARA_LEAN_MAX * 3 / 5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (TrInput & IN_RIGHT)
|
else if (TrInput & IN_RIGHT)
|
||||||
{
|
{
|
||||||
|
@ -2007,6 +2040,12 @@ void lara_as_wade(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (item->pos.zRot > LARA_LEAN_MAX)
|
if (item->pos.zRot > LARA_LEAN_MAX)
|
||||||
item->pos.zRot = LARA_LEAN_MAX;
|
item->pos.zRot = LARA_LEAN_MAX;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->pos.zRot += LARA_LEAN_RATE;
|
||||||
|
if (item->pos.zRot > LARA_LEAN_MAX * 3 / 5)
|
||||||
|
item->pos.zRot = LARA_LEAN_MAX * 3 / 5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TrInput & IN_FORWARD)
|
if (TrInput & IN_FORWARD)
|
||||||
|
|
|
@ -189,14 +189,14 @@ void lara_as_all4s(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FOR DEBUG PURPOSES UNTIL SCRIPTING IS FINISHED
|
// FOR DEBUG PURPOSES UNTIL SCRIPTING IS FINISHED
|
||||||
Lara.NewAnims.Crawl1clickdown = 1;
|
// Lara.NewAnims.Crawl1clickdown = 1;
|
||||||
Lara.NewAnims.Crawl1clickup = 1;
|
// Lara.NewAnims.Crawl1clickup = 1;
|
||||||
Lara.NewAnims.CrawlExit1click = 1;
|
// Lara.NewAnims.CrawlExit1click = 1;
|
||||||
Lara.NewAnims.CrawlExit2click = 1;
|
// Lara.NewAnims.CrawlExit2click = 1;
|
||||||
Lara.NewAnims.CrawlExit3click = 1;
|
// Lara.NewAnims.CrawlExit3click = 1;
|
||||||
|
Lara.NewAnims.CrawlExitJump = 1;
|
||||||
|
|
||||||
|
if (TrInput & IN_JUMP && Lara.NewAnims.CrawlExitJump)
|
||||||
if (TrInput & IN_JUMP)
|
|
||||||
{
|
{
|
||||||
GAME_VECTOR s, d;
|
GAME_VECTOR s, d;
|
||||||
MESH_INFO* StaticMesh;
|
MESH_INFO* StaticMesh;
|
||||||
|
@ -512,7 +512,7 @@ void lara_as_crawl(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 81*/
|
/*state 81*/
|
||||||
/*collision: lara_col_crawl*/
|
/*collision: lara_col_crawl*/
|
||||||
if (item->hitPoints <= 0 || TrInput & IN_JUMP)
|
if (item->hitPoints <= 0)
|
||||||
{
|
{
|
||||||
item->goalAnimState = LS_CRAWL_IDLE;
|
item->goalAnimState = LS_CRAWL_IDLE;
|
||||||
return;
|
return;
|
||||||
|
@ -853,14 +853,14 @@ void lara_col_crawl2hang(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* if (TestHangFeet(item, angle))
|
if (TestHangFeet(item, angle))
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
item->currentAnimState = LS_HANG;
|
item->currentAnimState = LS_HANG;
|
||||||
item->goalAnimState = LS_HANG_FEET;
|
item->goalAnimState = LS_HANG_FEET;
|
||||||
}
|
}
|
||||||
else*/
|
else
|
||||||
{
|
{
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
|
|
|
@ -274,10 +274,10 @@ void lara_as_intcornerr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
-corner anims(works well, tested with placeholder anims)
|
-corner anims(works well, tested with placeholder anims)
|
||||||
-handstand(not tested)*/
|
-handstand(not tested)*/
|
||||||
|
|
||||||
/*void lara_as_hang_feet(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 139*/
|
/*state 139*/
|
||||||
/*collision: lara_col_hang_feet
|
//collision: lara_col_hang_feet
|
||||||
Lara.isClimbing = false;
|
Lara.isClimbing = false;
|
||||||
|
|
||||||
if (item->hitPoints <= 0)
|
if (item->hitPoints <= 0)
|
||||||
|
@ -298,7 +298,7 @@ void lara_as_intcornerr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
void lara_col_hang_feet(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_col_hang_feet(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 139*/
|
/*state 139*/
|
||||||
/*state code: lara_as_hang_feet
|
//state code: lara_as_hang_feet
|
||||||
item->fallspeed = 0;
|
item->fallspeed = 0;
|
||||||
item->gravityStatus = false;
|
item->gravityStatus = false;
|
||||||
|
|
||||||
|
@ -395,35 +395,35 @@ void lara_col_hang_feet(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if (Lara.climbStatus != 0 &&
|
if (Lara.climbStatus != 0 &&
|
||||||
coll->midCeiling <= -256 &&
|
coll->midCeiling <= -256 &&
|
||||||
abs(coll->leftCeiling2 - coll->rightCeiling2) < 60)
|
abs(coll->leftCeiling2 - coll->rightCeiling2) < 60)
|
||||||
|
{
|
||||||
|
if (LaraTestClimbStance(item, coll))
|
||||||
{
|
{
|
||||||
if (LaraTestClimbStance(item, coll))
|
item->goalAnimState = LS_LADDER_IDLE;
|
||||||
{
|
|
||||||
item->goalAnimState = LS_LADDER_IDLE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
item->animNumber = LA_LADDER_UP_HANDS;
|
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
|
||||||
item->goalAnimState = LS_HANG;
|
|
||||||
item->currentAnimState = LS_HANG;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return;
|
else
|
||||||
}
|
{
|
||||||
|
item->animNumber = LA_LADDER_SHIMMY_UP;
|
||||||
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
|
item->goalAnimState = LS_HANG;
|
||||||
|
item->currentAnimState = LS_HANG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Lara.moveAngle = item->pos.yRot;
|
Lara.moveAngle = item->pos.yRot;
|
||||||
LaraHangTest(item, coll);
|
LaraHangTest(item, coll);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lara_as_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 140*/
|
/*state 140*/
|
||||||
/*collision: lara_col_hang_feet_shimmyr
|
//collision: lara_col_hang_feet_shimmyr
|
||||||
coll->enableBaddiePush = false;
|
coll->enableBaddiePush = false;
|
||||||
coll->enableSpaz = false;
|
coll->enableSpaz = false;
|
||||||
Camera.targetAngle = 0;
|
Camera.targetAngle = 0;
|
||||||
|
@ -436,7 +436,7 @@ void lara_as_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
void lara_col_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_col_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 140*/
|
/*state 140*/
|
||||||
/*state code: lara_as_hang_feet_shimmyr
|
//state code: lara_as_hang_feet_shimmyr
|
||||||
Lara.moveAngle = item->pos.yRot + ANGLE(90);
|
Lara.moveAngle = item->pos.yRot + ANGLE(90);
|
||||||
coll->radius = LARA_RAD;
|
coll->radius = LARA_RAD;
|
||||||
LaraHangTest(item, coll);
|
LaraHangTest(item, coll);
|
||||||
|
@ -446,7 +446,7 @@ void lara_col_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
void lara_as_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 141*/
|
/*state 141*/
|
||||||
/*collision: lara_col_hang_feet_shimmyl
|
//collision: lara_col_hang_feet_shimmyl
|
||||||
coll->enableBaddiePush = false;
|
coll->enableBaddiePush = false;
|
||||||
coll->enableSpaz = false;
|
coll->enableSpaz = false;
|
||||||
Camera.targetAngle = 0;
|
Camera.targetAngle = 0;
|
||||||
|
@ -458,55 +458,51 @@ void lara_as_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
void lara_col_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_col_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 141*/
|
/*state 141*/
|
||||||
/*state code: lara_as_hang_feet_shimmyl
|
//state code: lara_as_hang_feet_shimmyl
|
||||||
Lara.moveAngle = item->pos.yRot - ANGLE(90);
|
Lara.moveAngle = item->pos.yRot - ANGLE(90);
|
||||||
coll->radius = LARA_RAD;
|
coll->radius = LARA_RAD;
|
||||||
LaraHangTest(item, coll);
|
LaraHangTest(item, coll);
|
||||||
Lara.moveAngle = item->pos.yRot - ANGLE(90);
|
Lara.moveAngle = item->pos.yRot - ANGLE(90);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*go around corners feet
|
//go around corners feet
|
||||||
|
|
||||||
void lara_as_hang_feet_inRcorner(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_inRcorner(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 142*/
|
/*state 142*/
|
||||||
/*collision: lara_default_col
|
//collision: lara_default_col
|
||||||
Camera.laraNode = 8;
|
Camera.laraNode = 8;
|
||||||
Camera.targetElevation = ANGLE(33.0f);
|
Camera.targetElevation = ANGLE(33.0f);
|
||||||
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_RIGHT_CORNER_INNER].frameEnd) // I don't like this either but it's better than adding 4 new 1 frame anims?
|
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_RIGHT_CORNER_INNER].frameEnd) // I don't like this either but it's better than adding 4 new 1 frame anims?
|
||||||
SetCornerAnimFeet(item, coll, ANGLE(90.0f),
|
SetCornerAnimFeet(item, coll, ANGLE(90.0f), 1);
|
||||||
item->animNumber = LA_SHIMMY_FEET_RIGHT_CORNER_INNER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lara_as_hang_feet_inLcorner(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_inLcorner(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 143*/
|
/*state 143*/
|
||||||
/*collision: lara_default_col
|
//collision: lara_default_col
|
||||||
Camera.laraNode = 8;
|
Camera.laraNode = 8;
|
||||||
Camera.targetElevation = ANGLE(33.0f);
|
Camera.targetElevation = ANGLE(33.0f);
|
||||||
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_LEFT_CORNER_INNER].frameEnd)
|
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_LEFT_CORNER_INNER].frameEnd)
|
||||||
SetCornerAnimFeet(item, coll, -ANGLE(90.0f),
|
SetCornerAnimFeet(item, coll, -ANGLE(90.0f), 1);
|
||||||
item->animNumber = LA_SHIMMY_FEET_LEFT_CORNER_INNER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lara_as_hang_feet_outRcorner(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_outRcorner(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 144*/
|
/*state 144*/
|
||||||
/*collision: lara_default_col
|
//collision: lara_default_col
|
||||||
Camera.laraNode = 8;
|
Camera.laraNode = 8;
|
||||||
Camera.targetElevation = ANGLE(33.0f);
|
Camera.targetElevation = ANGLE(33.0f);
|
||||||
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_RIGHT_CORNER_OUTER].frameEnd)
|
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_RIGHT_CORNER_OUTER].frameEnd)
|
||||||
SetCornerAnimFeet(item, coll, -ANGLE(90.0f),
|
SetCornerAnimFeet(item, coll, -ANGLE(90.0f), 1);
|
||||||
item->animNumber = LA_SHIMMY_FEET_RIGHT_CORNER_OUTER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lara_as_hang_feet_outLcorner(ITEM_INFO* item, COLL_INFO* coll)
|
void lara_as_hang_feet_outLcorner(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
/*state 145*/
|
/*state 145*/
|
||||||
/*collision: lara_default_col
|
//collision: lara_default_col
|
||||||
Camera.laraNode = 8;
|
Camera.laraNode = 8;
|
||||||
Camera.targetElevation = ANGLE(33.0f);
|
Camera.targetElevation = ANGLE(33.0f);
|
||||||
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_LEFT_CORNER_OUTER].frameEnd)
|
if (item->frameNumber == g_Level.Anims[LA_SHIMMY_FEET_LEFT_CORNER_OUTER].frameEnd)
|
||||||
SetCornerAnimFeet(item, coll, ANGLE(90.0f),
|
SetCornerAnimFeet(item, coll, ANGLE(90.0f), 1);
|
||||||
item->animNumber = LA_SHIMMY_FEET_LEFT_CORNER_OUTER);
|
}
|
||||||
}*/
|
|
||||||
|
|
|
@ -13,15 +13,15 @@ void lara_as_extcornerl(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_extcornerr(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_extcornerr(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_intcornerl(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_intcornerl(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_intcornerr(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_intcornerr(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
/*feet hanging and shimmying
|
//feet hanging and shimmying
|
||||||
void lara_as_hang_feet(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_col_hang_feet(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_col_hang_feet(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_col_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_col_hang_feet_shimmyr(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_col_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_col_hang_feet_shimmyl(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
/*go around corners feet
|
//go around corners feet
|
||||||
void lara_as_hang_feet_inRcorner(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet_inRcorner(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_hang_feet_inLcorner(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet_inLcorner(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_hang_feet_outRcorner(ITEM_INFO* item, COLL_INFO* coll);
|
void lara_as_hang_feet_outRcorner(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
void lara_as_hang_feet_outLcorner(ITEM_INFO* item, COLL_INFO* coll);*/
|
void lara_as_hang_feet_outLcorner(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
|
|
|
@ -472,10 +472,10 @@ enum LARA_ANIM
|
||||||
LA_CRAWL_IDLE = 263, // Crwal idle
|
LA_CRAWL_IDLE = 263, // Crwal idle
|
||||||
LA_CROUCH_TO_CRAWL_END = 264, // Crawl > crouch (2/2)
|
LA_CROUCH_TO_CRAWL_END = 264, // Crawl > crouch (2/2)
|
||||||
LA_CRAWL_TO_CROUCH_END_UNUSED = 265, // Crouch > crawl (3/3)
|
LA_CRAWL_TO_CROUCH_END_UNUSED = 265, // Crouch > crawl (3/3)
|
||||||
LA_CRAWL_TO_IDLE_END_RIGHT_POINTLESS = 266, // TODO: remove.
|
LA_CRAWL_TO_IDLE_END_RIGHT_POINTLESS = 266, // TODO: remove.//no dont remove thanks
|
||||||
LA_CRAWL_TO_IDLE_RIGHT = 267, // Crawl forward > crawl idle, right leg first
|
LA_CRAWL_TO_IDLE_RIGHT = 267, // Crawl forward > crawl idle, right leg first
|
||||||
// TODO: in WAD, link next to 263
|
// TODO: in WAD, link next to 263
|
||||||
LA_CRAWL_TO_IDLE_END_LEFT_POINTLESS = 268, // TODO: remove.
|
LA_CRAWL_TO_IDLE_END_LEFT_POINTLESS = 268, // TODO: remove. //no dont remove thanks
|
||||||
LA_CRAWL_TURN_LEFT = 269, // Crawl rotate left (looped)
|
LA_CRAWL_TURN_LEFT = 269, // Crawl rotate left (looped)
|
||||||
LA_CRAWL_TURN_RIGHT = 270, // Crawl rotate right (looped)
|
LA_CRAWL_TURN_RIGHT = 270, // Crawl rotate right (looped)
|
||||||
LA_MONKEYSWING_TURN_LEFT = 271, // Monkey swing rotate left
|
LA_MONKEYSWING_TURN_LEFT = 271, // Monkey swing rotate left
|
||||||
|
@ -974,6 +974,10 @@ struct AnimsNew
|
||||||
bool CrawlVault2click; //vault into crawlspace at 2 clicks
|
bool CrawlVault2click; //vault into crawlspace at 2 clicks
|
||||||
bool CrawlVault3click; //vault into crawlspace at 3 clicks
|
bool CrawlVault3click; //vault into crawlspace at 3 clicks
|
||||||
bool MonkeyVault; //vault up to monkeybars when pressing up + action underneath them. super annoying :)
|
bool MonkeyVault; //vault up to monkeybars when pressing up + action underneath them. super annoying :)
|
||||||
|
bool CrawlExitJump; //TR5 crawlspace exit with jump!
|
||||||
|
bool SwandiveRollRun; //the transition from swandive roll to run
|
||||||
|
bool OscillateHanging; //the thin ledge grab animation from TR1 and 2
|
||||||
|
bool FeetHanging; //Daniel's super awesome feet hanging
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct LaraInfo
|
typedef struct LaraInfo
|
||||||
|
|
|
@ -18,9 +18,6 @@ static short RightClimbTab[4] = // offset 0xA0640
|
||||||
0x0800, 0x0100, 0x0200, 0x0400
|
0x0800, 0x0100, 0x0200, 0x0400
|
||||||
};
|
};
|
||||||
|
|
||||||
//bool EnableCrawlFlex1click, EnableCrawlFlex2click, EnableCrawlFlex3click, EnableMonkeyVault;
|
|
||||||
//bool TR12_OSCILLATE_HANG, EnableFeetHang;
|
|
||||||
|
|
||||||
/*this file has all the generic test functions called in lara's state code*/
|
/*this file has all the generic test functions called in lara's state code*/
|
||||||
|
|
||||||
int TestLaraVault(ITEM_INFO* item, COLL_INFO* coll)
|
int TestLaraVault(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
|
@ -28,10 +25,11 @@ int TestLaraVault(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (!(TrInput & IN_ACTION) || Lara.gunStatus != LG_NO_ARMS)
|
if (!(TrInput & IN_ACTION) || Lara.gunStatus != LG_NO_ARMS)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
Lara.NewAnims.CrawlVault1click = 1;
|
//##LUA debug etc.
|
||||||
Lara.NewAnims.CrawlVault2click = 1;
|
// Lara.NewAnims.CrawlVault1click = 1;
|
||||||
Lara.NewAnims.CrawlVault3click = 1;
|
// Lara.NewAnims.CrawlVault2click = 1;
|
||||||
Lara.NewAnims.MonkeyVault = 1;
|
// Lara.NewAnims.CrawlVault3click = 1;
|
||||||
|
// Lara.NewAnims.MonkeyVault = 1;
|
||||||
|
|
||||||
if (coll->collType == CT_FRONT)
|
if (coll->collType == CT_FRONT)
|
||||||
{
|
{
|
||||||
|
@ -427,13 +425,13 @@ int LaraHangTest(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
item->animNumber = LA_REACH_TO_HANG;
|
item->animNumber = LA_REACH_TO_HANG;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 21;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase + 21;
|
||||||
}
|
}
|
||||||
/* else if (item->currentAnimState == LS_SHIMMY_FEET_LEFT || item->currentAnimState == LS_SHIMMY_FEET_RIGHT)
|
else if (item->currentAnimState == LS_SHIMMY_FEET_LEFT || item->currentAnimState == LS_SHIMMY_FEET_RIGHT)
|
||||||
{
|
{
|
||||||
item->currentAnimState = LS_HANG_FEET;
|
item->currentAnimState = LS_HANG_FEET;
|
||||||
item->goalAnimState = LS_HANG_FEET;
|
item->goalAnimState = LS_HANG_FEET;
|
||||||
item->animNumber = LA_HANG_FEET_IDLE;
|
item->animNumber = LA_HANG_FEET_IDLE;
|
||||||
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
item->frameNumber = g_Level.Anims[item->animNumber].frameBase;
|
||||||
}*/
|
}
|
||||||
result = 1;
|
result = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -458,7 +456,7 @@ int LaraHangTest(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
|
|
||||||
int LaraHangLeftCornerTest(ITEM_INFO* item, COLL_INFO* coll)
|
int LaraHangLeftCornerTest(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
if (item->animNumber != LA_REACH_TO_HANG)// && item->animNumber != LA_HANG_FEET_IDLE)
|
if (item->animNumber != LA_REACH_TO_HANG && item->animNumber != LA_HANG_FEET_IDLE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (coll->hitStatic)
|
if (coll->hitStatic)
|
||||||
|
@ -613,7 +611,7 @@ int LaraHangLeftCornerTest(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
|
|
||||||
int LaraHangRightCornerTest(ITEM_INFO* item, COLL_INFO* coll)
|
int LaraHangRightCornerTest(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
if (item->animNumber != LA_REACH_TO_HANG)// && item->animNumber != LA_HANG_FEET_IDLE)
|
if (item->animNumber != LA_REACH_TO_HANG && item->animNumber != LA_HANG_FEET_IDLE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (coll->hitStatic)
|
if (coll->hitStatic)
|
||||||
|
@ -933,24 +931,7 @@ int TestHangSwingIn(ITEM_INFO* item, short angle)
|
||||||
int h, c;
|
int h, c;
|
||||||
|
|
||||||
//debug till scripting be ready
|
//debug till scripting be ready
|
||||||
// TR12_OSCILLATE_HANG = true;
|
Lara.NewAnims.OscillateHanging = 0;
|
||||||
|
|
||||||
/*if (angle == ANGLE(180.0f))
|
|
||||||
{
|
|
||||||
z -= 256;
|
|
||||||
}
|
|
||||||
else if (angle == -ANGLE(90))
|
|
||||||
{
|
|
||||||
x -= 256;
|
|
||||||
}
|
|
||||||
else if (angle == ANGLE(90))
|
|
||||||
{
|
|
||||||
x += 256;
|
|
||||||
}
|
|
||||||
else if (angle == ANGLE(0))
|
|
||||||
{
|
|
||||||
z += 256;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
z += phd_cos(angle) * STEP_SIZE;
|
z += phd_cos(angle) * STEP_SIZE;
|
||||||
x += phd_sin(angle) * STEP_SIZE;
|
x += phd_sin(angle) * STEP_SIZE;
|
||||||
|
@ -961,35 +942,29 @@ int TestHangSwingIn(ITEM_INFO* item, short angle)
|
||||||
|
|
||||||
if (h != NO_HEIGHT)
|
if (h != NO_HEIGHT)
|
||||||
{
|
{
|
||||||
/* if (TR12_OSCILLATE_HANG == true)
|
if (Lara.NewAnims.OscillateHanging)
|
||||||
{
|
{
|
||||||
if (((h - y) > 0)
|
if (h - y > 0 && c - y < -400)
|
||||||
&& ((c - y) < -400))
|
return 1;
|
||||||
return(1);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{*/
|
{
|
||||||
if (((h - y) > 0)
|
if (h - y > 0 && c - y < -400 && (y - 819 - c > -72))
|
||||||
&& ((c - y) < -400)
|
return 1;
|
||||||
&& ((y - 819 - c) > -72))
|
}
|
||||||
return(1);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
return(0);
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*int TestHangFeet(ITEM_INFO* item, short angle)
|
bool TestHangFeet(ITEM_INFO* item, short angle)
|
||||||
{
|
{
|
||||||
return 0;
|
//##LUA debug etc.
|
||||||
if (Lara.climbStatus)
|
Lara.NewAnims.FeetHanging = 0;
|
||||||
|
|
||||||
|
if (Lara.climbStatus || !Lara.NewAnims.FeetHanging)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// EnableFeetHang = true;
|
|
||||||
|
|
||||||
|
|
||||||
// if (!EnableFeetHang)
|
|
||||||
// return 0;
|
|
||||||
|
|
||||||
int x = item->pos.xPos;
|
int x = item->pos.xPos;
|
||||||
int y = item->pos.yPos;
|
int y = item->pos.yPos;
|
||||||
int z = item->pos.zPos;
|
int z = item->pos.zPos;
|
||||||
|
@ -997,22 +972,8 @@ int TestHangSwingIn(ITEM_INFO* item, short angle)
|
||||||
FLOOR_INFO* floor;
|
FLOOR_INFO* floor;
|
||||||
int h, c, g, m, j;
|
int h, c, g, m, j;
|
||||||
|
|
||||||
if (angle == ANGLE(180.0f))
|
z += phd_cos(angle) * STEP_SIZE;
|
||||||
{
|
x += phd_sin(angle) * STEP_SIZE;
|
||||||
z -= 256;
|
|
||||||
}
|
|
||||||
else if (angle == -ANGLE(90.0f))
|
|
||||||
{
|
|
||||||
x -= 256;
|
|
||||||
}
|
|
||||||
else if (angle == ANGLE(90.0f))
|
|
||||||
{
|
|
||||||
x += 256;
|
|
||||||
}
|
|
||||||
else if (angle == ANGLE(0.0f))
|
|
||||||
{
|
|
||||||
z += 256;
|
|
||||||
}
|
|
||||||
|
|
||||||
floor = GetFloor(x, y, z, &roomNum);
|
floor = GetFloor(x, y, z, &roomNum);
|
||||||
h = GetFloorHeight(floor, x, y, z);
|
h = GetFloorHeight(floor, x, y, z);
|
||||||
|
@ -1021,29 +982,12 @@ int TestHangSwingIn(ITEM_INFO* item, short angle)
|
||||||
m = c - y;
|
m = c - y;
|
||||||
j = y - 128 - c;
|
j = y - 128 - c;
|
||||||
|
|
||||||
if (item->currentAnimState == LS_CRAWL_TO_HANG)
|
if (h != NO_HEIGHT)
|
||||||
{
|
{
|
||||||
if (h != NO_HEIGHT)
|
if (g > 0 && m < -128 && j > -72)
|
||||||
{
|
return 1;
|
||||||
if (((g) > 0)
|
|
||||||
&& ((m) < -128)
|
|
||||||
&& ((j) > -72))
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
|
||||||
if (h != NO_HEIGHT)
|
|
||||||
{
|
|
||||||
if (((g) > 0)
|
|
||||||
&& ((m) < -128)
|
|
||||||
&& ((j) > -72))
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
int CanLaraHangSideways(ITEM_INFO* item, COLL_INFO* coll, short angle)
|
int CanLaraHangSideways(ITEM_INFO* item, COLL_INFO* coll, short angle)
|
||||||
{
|
{
|
||||||
|
@ -1131,7 +1075,7 @@ void SetCornerAnim(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void SetCornerAnimFeet(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip)
|
void SetCornerAnimFeet(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip)
|
||||||
{
|
{
|
||||||
if (item->hitPoints <= 0)
|
if (item->hitPoints <= 0)
|
||||||
{
|
{
|
||||||
|
@ -1165,7 +1109,7 @@ void SetCornerAnim(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip)
|
||||||
|
|
||||||
item->pos.yRot += rot;
|
item->pos.yRot += rot;
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
int LaraFloorFront(ITEM_INFO* item, short ang, int dist)
|
int LaraFloorFront(ITEM_INFO* item, short ang, int dist)
|
||||||
{
|
{
|
||||||
|
@ -1252,6 +1196,7 @@ void GetTighRopeFallOff(int regularity)
|
||||||
|
|
||||||
bool TestLaraLean(ITEM_INFO* item, COLL_INFO* coll)
|
bool TestLaraLean(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
// TODO: make it more fine-tuned when new collision is done.
|
// TODO: make it more fine-tuned when new collision is done.
|
||||||
switch (coll->collType)
|
switch (coll->collType)
|
||||||
{
|
{
|
||||||
|
@ -1263,4 +1208,10 @@ bool TestLaraLean(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
#else
|
||||||
|
if (coll->collType == CT_RIGHT || coll->collType == CT_LEFT)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,10 +11,10 @@ int LaraTestHangOnClimbWall(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
int LaraTestEdgeCatch(ITEM_INFO* item, COLL_INFO* coll, int* edge);
|
int LaraTestEdgeCatch(ITEM_INFO* item, COLL_INFO* coll, int* edge);
|
||||||
int IsValidHangPos(ITEM_INFO* item, COLL_INFO* coll);
|
int IsValidHangPos(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
int TestHangSwingIn(ITEM_INFO* item, short angle);
|
int TestHangSwingIn(ITEM_INFO* item, short angle);
|
||||||
//int TestHangFeet(ITEM_INFO* item, short angle);
|
bool TestHangFeet(ITEM_INFO* item, short angle);
|
||||||
int CanLaraHangSideways(ITEM_INFO* item, COLL_INFO* coll, short angle);
|
int CanLaraHangSideways(ITEM_INFO* item, COLL_INFO* coll, short angle);
|
||||||
void SetCornerAnim(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip);
|
void SetCornerAnim(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip);
|
||||||
//void SetCornerAnimFeet(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip);
|
void SetCornerAnimFeet(ITEM_INFO* item, COLL_INFO* coll, short rot, short flip);
|
||||||
int LaraFloorFront(ITEM_INFO* item, short ang, int dist);
|
int LaraFloorFront(ITEM_INFO* item, short ang, int dist);
|
||||||
int LaraCeilingFront(ITEM_INFO* item, short ang, int dist, int h);
|
int LaraCeilingFront(ITEM_INFO* item, short ang, int dist, int h);
|
||||||
int LaraFallen(ITEM_INFO* item, COLL_INFO* coll);
|
int LaraFallen(ITEM_INFO* item, COLL_INFO* coll);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue