XProger / OpenLara

Classic Tomb Raider open-source engine
http://xproger.info/projects/OpenLara/
BSD 2-Clause "Simplified" License
4.7k stars 359 forks source link

Bug: Lara Climb. #38

Open Gh0stBlade opened 7 years ago

Gh0stBlade commented 7 years ago

Level: LEVEL7A (Cistern) / LEVEL8A (City of Khamoon) Room: 111 Lara Position: 33453, -1580, 58468

~Issue 1: http://i.imgur.com/PRF6GMg.png Pressing UP+Action will allow Lara to grab slope edges which isn't possible in the original game. Edit: https://www.youtube.com/watch?v=Bcvgv_6NqR0 This is also possible due to the ability to grab slope edges.~

Issue 2: http://i.imgur.com/r4iBYDO.png Lara cannot jump up + hang to grab this wall. But if you climb on-top press back then grab. Lara can grab this wall which shouldn't be possible due to how low it is.

Issue 3: Referring to screenshot 2, if you pull up Lara will go into animation 42, vault up onto block but you can roll during this animation which shouldn't be possible.

Issue 4: http://i.imgur.com/Ag0Nq59.png

If you run towards the corner of this floor point, Lara will collide with something invisible.

~Issue 5: If you tun towards this wall and press UP+Action Lara will vault the ledge below and clip through the wall. http://i.imgur.com/09SMn4G.png http://i.imgur.com/WoXrjM7.png~ (Solved in: cd29100d6a17955f0fe8bf411edc1c55164e9ba7) Lara can no longer automatically vault this wall via up+action, will have to confirm if this is possible in the retail game.

Issue 6: Lara cannot pull up here: http://i.imgur.com/ZA80PFT.png May be related to this same bug in LEVEL8A http://i.imgur.com/YX6AxwX.png

Issue 7: If you face a certain angle towards low walls, Lara can vault them and appear ontop of ledges. https://www.youtube.com/watch?v=FyRvyxb310g

hexdoll commented 7 years ago

RE: Issue 6 I think the bug where Lara is unable to pull up in some places might be related to the edge where she's hanging being on the boundary between two rooms.

Gh0stBlade commented 7 years ago

Another bug, similar to issue 1 which has been fixed.

LEVEL8A (City of Khamoon) http://i.imgur.com/hoCXeP3.jpg At the very beginning turn around. In reference to the screenshot position Lara there. If you hold the STEP RIGHT button, press ACTION then UP. Lara will vault on thin air.

bryc commented 5 years ago

image

Still an issue I think - you can grab ledge from below bridge in map1 and even climb "downwards" into the floor. Easily reproducible many times, just jump and grab upward near middle bottom of bridge.

image

dj4g11e32 commented 4 years ago

Screencast 2020-08-28 20:38:01.zip I've found another similar example in "City of Karmoon" where Lara can't pull up. On the attached video, she can't pull up on the first two blocks where she stops, but can then pull up on the 3rd block.

If someone could tell me how to get the coordinates to appear like in the screenshots by @Gh0stBlade, I'll be happy to add the info as I guess this would be more useful than the video.

UPDATE: I now have the debug version compiled so here are Lara's coordinates and an updated screenshot. pos=(25232, -860, 21162), angle = (0, 179), room = 5. (Pulling up into room 6.)

dj4g11e32 commented 4 years ago

RE: Issue 6 I think the bug where Lara is unable to pull up in some places might be related to the edge where she's hanging being on the boundary between two rooms.

I have an example that seems to back this up. This screen-shot is in the Obelisk of Khamoon and is on the boundry between two 'rooms' (as defined in the Level editor). Lara is unable to pull up onto the platform ahead of her even though there is plenty of space.

I'm running on Linux and have just run a git pull and built from source ('nix' version) to make sure I have all the latest fixes.

(I still can't work out how to find Lara's coordinates so I'll ask on the discord thread and post back here if I find out.)

UPDATE: I now have the debug version compiled so here are Lara's coordinates and an updated screenshot. pos=(51120, -2048, 4472), angle = (0, 270), room = 30

image

XProger commented 4 years ago

try to define _DEBUG in compiler options for onscreen info

dj4g11e32 commented 4 years ago

try to define _DEBUG in compiler options for onscreen info

I set the _DEBUG flag in build.sh but I get the following error when I try to build. ../../debug.h:671:41: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'uint32' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] FOURCC("RIFF"), sizeof(Header) - 8 + dataSize,

UPDATE: I got the debug version to compile using g++ rather than clang++ by adapting the 'build_e2k.sh' script. It still produced some warnings but it did compile.

The first time that I ran the debug version (via gdb), I received this error :

no font found

Thread 1 "OpenLara_debug" received signal SIGSEGV, Segmentation fault.
Debug::init () at ../../debug.h:35
35                  id = fontInfo->fid;

This just needed me to specify an xfont that was available on my system in the debug.h file and rebuild.

debug.h line 28:

Was: fontInfo = XLoadQueryFont(glXGetCurrentDisplay(), "-adobe-times-medium-r-normal--17-120-100-100-p-88-iso8859-1");
Now: fontInfo = XLoadQueryFont(glXGetCurrentDisplay(), "-*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1");

(I couldn't find the original -adobe-times-medium font anywhere...)

I haven't pushed this as an update as it clearly depends on the system that OpenLara is being compiled on, but hopefully this info could be useful for someone.