diff --git a/docs/progress.svg b/docs/progress.svg index d9cdee010..9ae4c77c7 100644 --- a/docs/progress.svg +++ b/docs/progress.svg @@ -376,7 +376,7 @@ - + @@ -1070,7 +1070,7 @@ - + @@ -1403,10 +1403,10 @@ -Functions decompiled (count): 14.69% -Functions decompiled (bytesize): 7.51% -Functions not decompiled, but with known names (count): 69.61% -Functions not decompiled, but with known names (bytesize): 74.90% +Functions decompiled (count): 14.84% +Functions decompiled (bytesize): 7.58% +Functions not decompiled, but with known names (count): 69.47% +Functions not decompiled, but with known names (bytesize): 74.83% Functions not decompiled, with unknown names (count): 15.69% Functions not decompiled, with unknown names (bytesize): 17.59% diff --git a/docs/progress.txt b/docs/progress.txt index 07ac10e5d..8afdb7e9e 100644 --- a/docs/progress.txt +++ b/docs/progress.txt @@ -379,7 +379,7 @@ LaraColStepLeft 0x004247D0 0x00000136 + LaraColSlide 0x00424910 0x0000001E + LaraColBackJump 0x00424930 0x000000A2 + LaraColRightJump 0x004249E0 0x000000A2 + -LaraColLeftJump 0x00424A90 0x000000A2 - +LaraColLeftJump 0x00424A90 0x000000A2 + LaraColUpJump 0x00424B40 0x00000149 - LaraColFallback 0x00424CD0 0x000000A3 - LaraColHangLeft 0x00424D80 0x00000033 - diff --git a/src/game/lara.c b/src/game/lara.c index 78f5540d6..e2bc55c06 100644 --- a/src/game/lara.c +++ b/src/game/lara.c @@ -1335,6 +1335,12 @@ void __cdecl LaraColRightJump(ITEM_INFO* item, COLL_INFO* coll) LaraColJumper(item, coll); } +void __cdecl LaraColLeftJump(ITEM_INFO* item, COLL_INFO* coll) +{ + Lara.move_angle = item->pos.y_rot - 16384; + LaraColJumper(item, coll); +} + void __cdecl LaraColJumper(ITEM_INFO* item, COLL_INFO* coll) { coll->bad_pos = NO_BAD_POS; @@ -1503,6 +1509,7 @@ void TR1MInjectLara() INJECT(0x00424910, LaraColSlide); INJECT(0x00424930, LaraColBackJump); INJECT(0x004249E0, LaraColRightJump); + INJECT(0x00424A90, LaraColLeftJump); INJECT(0x004237A0, LaraAsWaterOut); } diff --git a/src/game/lara.h b/src/game/lara.h index bf3559591..9e5dcb0d8 100644 --- a/src/game/lara.h +++ b/src/game/lara.h @@ -88,6 +88,7 @@ void __cdecl LaraColStepLeft(ITEM_INFO* item, COLL_INFO* coll); void __cdecl LaraColSlide(ITEM_INFO* item, COLL_INFO* coll); void __cdecl LaraColBackJump(ITEM_INFO* item, COLL_INFO* coll); void __cdecl LaraColRightJump(ITEM_INFO* item, COLL_INFO* coll); +void __cdecl LaraColLeftJump(ITEM_INFO* item, COLL_INFO* coll); void __cdecl LaraColJumper(ITEM_INFO* item, COLL_INFO* coll); void __cdecl GetLaraCollisionInfo(ITEM_INFO* item, COLL_INFO* coll); int32_t __cdecl LaraHitCeiling(ITEM_INFO* item, COLL_INFO* coll);