|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
boringperson69 How do I cheat? Reputation: 0
Joined: 22 Aug 2024 Posts: 7
|
Posted: Sat Aug 24, 2024 3:22 am Post subject: what rotation system is this and how do I use it? |
|
|
I've made 2 posts already but since they didn't get any reply, I'm going to put in some more efforts into this one in hopes of getting some help
I'm trying to make a free fly camera for tomb raider 2013. I've found the coordinates, and the pitch and yaw. Using these values, I created a lua script to move the camera around. This works when the camera is completely in the player's control but breaks if it's rotated automatically in during gameplay or cutscenes as the pitch values remain the same as they were before the camera was rotated
There's also a minimum and maximum range pitch. I tried rotating the camera to its maximum pitch, then changing the value of the pitch to something beyond the maximum and checking what writes to the address. but apparently nothing does. It only glitches when you move the mouse but the camera doesn't rotate beyond the maximum angle even though the pitch is -1 (max is -0.87). I know that the pitch and yaw angles do work because locking them or noping them locks the rotation done by the player but it has no effect on auto rotation during gameplay and cutscenes
I found 9 values that completely lock the camera rotation, both the auto rotation as well as the rotation from player's input (The rot 1 to 9 in the video I've attached). But that's the problem because I can't find a code that only locks auto rotation and lets the player control the camera. Changing them or not locking all of them has a very weird effect on the camera rotation (I've shown this in the video). moving the camera when these values are nop'd causes it to go in different directions as the pitch and the yaw values continue to change
Does anyone have an idea what these values are and what I can do with them to get the camera completely under the player's control?
Another thing about these values: If I pause the game when they are nop'd, the camera starts continuously flipping vertically. When I release the camera, depending on the timing, the game will either be or not be inverted. I found a code that would lock that stops this when nop'd but if I do it before noping the 9 values, the games get flipped upside down. I've shown this in the video as well
VIDEO:
youtu(dot)be/AxTydfMwSpg
The weird behavior of the 9 values (rot 1-9) is shown at the start
The camera flipping continuously is at 5:58
Finding the code and fixing this is at 6:33
Sorry for the low quality, I can't do anything about it, my pc's like 15 years old :/
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 147
Joined: 06 Jul 2014 Posts: 4570
|
Posted: Sat Aug 24, 2024 9:51 am Post subject: |
|
|
There is no simple answer that works for any general case. It all depends on the game's implementation.
You can try to look at the callstack at instructions that write to important address. Maybe you'll find a function call you can nop instead- i.e. allow calls used by the player to manually control the camera but nop calls used by the game for cutscenes or scripted events.
Regarding math, it's probably all basic linear algebra. Search for information regarding 3d game development- e.g. view matrices. (knowledge of linear algebra isn't required, but you should at least know what a matrix is)
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
boringperson69 How do I cheat? Reputation: 0
Joined: 22 Aug 2024 Posts: 7
|
Posted: Sat Aug 24, 2024 1:00 pm Post subject: |
|
|
Thanks for replying. I do know what a matrix is, but the camera's entire rotation system depends on just 9 values. I looked up what a rotation matrix is but found out that there is 1 matrix for each axis so there should've been I think 27 values that would affect the rotation right? I also read that you can have 1 matrix for all axes by multiplying the 3 matrices together but when I did that and calculated the values by plugging in the angles I got really simple answers that do not match with those very precise values at the same pitch and yaw.
Otis_inf has already made a camera system for the game (Doesn't work for my version, probably because it's cracked) so I took a look at his source code. According to that, the game uses quaternions but on doing some reasearch on them, I found out that they only need 4 values
I tried looking at the code that writes to it and tried noping the code above that which copies some stuff to the register that writes to the code but it had the same effect as noping the original code and noping the code even prior to that with the same register crashes the game. I can't think of anything else to try
If I can somehow figured out how these values work, I can write a code that takes input from the arrow keys and changes these values correctly
For now I'm writing a code that switches between standard angles (0,45,90,60 degrees etc) when the 9 values are locked
Also, Idk if I mentioned this in the post but when I lock those 9 values and move the mouse around, the camera remains fixed but the pitch and the yaw values change and everything else in the game thinks that the camera is rotating
EDIT: OK Nvm I was wrong. I think the 9 values are 3 rotation matrices (x,y,x) multiplied together! If this is correct I'll be able to rotate the camera during cutscenes as well
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|