marinesciencedude / xenia-canary-mousehook

Xbox 360 Emulator Research Project, Mousehook included
https://xenia.jp
Other
35 stars 3 forks source link

Saints Row 1 Mousehook. #20

Closed Clippy95 closed 2 weeks ago

Clippy95 commented 4 months ago

Camera addresses for both games seem to be static. Saints Row 1 TU1:

827F9B00 Y-Axis 827f9af8 X-Axis addition: 827F9A08 : This could be a point of interest, might be X and Y together, but changing it live in CE only changes X in not a smooth manner

Saints Row 2 TU3 ~hello~ 82B7A590 ~Y-Axis~ 82B7A570 ~X-Axis , from 0 to 2*pi)~ 82B7ABC4 ~player status~ 83A475FC Tagging Diversion, Y-Axis, from 0 to 255 83A475F8 Tagging Diversion, X-axis, from 0 to 255 82B7A400 82B7A428` btnmash? 0 normal gameplay, 8 in btnmash (quicktime events)

82B58DA0: ~2 normal gameplay? 15 is in game stores (these have RS control), 20 pause menu, 3 map menu~

844FC944 0 not in vehicle, 1 in vehicle

82B7A56C enables / disables auto centering, this gets written to and can break on foot controls

https://github.com/marinesciencedude/xenia-canary-mousehook/assets/7094610/b92dbd49-b0da-4fc0-9198-689b44ac44b7

For Saints Row 2 there are a lot of actions that need to be looked into, ~vehicles disabling auto-centering doesn't get applied for example (the opcodes for accessing the addresses are probably shared between vehicles and planes) or fine-aim jumps to last aimed at coords with RS instead of current value set through my hook, could be because my implementation is not the best~

SR2 player status values (incomplete): 0 on foot (outside) 1 on foot (interior) 3 in vehicle 5 in boat 6 (helicopter) 14 (ragdoll from height or guaranteed death from fall damage) 13 (ragdoll) 16 (fine aim) 17 (fine aim crouched) 23 (sprinting)

secluls commented 4 months ago

Hi Clippy, sorry if I sound naive, but can you please tell me how to get the camera addresses from a Xenia game? I'm quite new to game debugging.

Clippy95 commented 4 months ago

Hi Clippy, sorry if I sound naive, but can you please tell me how to get the camera addresses from a Xenia game? I'm quite new to game debugging.

I only found the X - Y Axis addresses by luck, some games might not have them or they might be written out of the xex range, I'd recommend you to join the Xenia Discord server, I'm also quite new to game debugging otherwise I would have finished SR2 hook.

secluls commented 4 months ago

Hi Clippy, sorry if I sound naive, but can you please tell me how to get the camera addresses from a Xenia game? I'm quite new to game debugging.

I only found the X - Y Axis addresses by luck, some games might not have them or they might be written out of the xex range, I'd recommend you to join the Xenia Discord server, I'm also quite new to game debugging otherwise I would have finished SR2 hook.

thanks for the info, right now im trying to do something similar but with gta 4.

Clippy95 commented 4 months ago

Hi Clippy, sorry if I sound naive, but can you please tell me how to get the camera addresses from a Xenia game? I'm quite new to game debugging.

I only found the X - Y Axis addresses by luck, some games might not have them or they might be written out of the xex range, I'd recommend you to join the Xenia Discord server, I'm also quite new to game debugging otherwise I would have finished SR2 hook.

thanks for the info, right now im trying to do something similar but with gta 4.

Tag me in the Xenia discord, Clippy95, RAGE games are probably a lot more hands on

Clippy95 commented 3 months ago

For different bindings I suggest the use of player status address and if vehicle address If-Vehicle byte: 844FC947 status 4 bytes: 82B7ABC4 / byte: 82B7ABC7 Midgame bindings(WIP?): Default Car/Bike/Boat: vehicle = 1 OR status =3 OR 5 Helicopter: Status = 6 Airplane: Status = 8 Weapon wheel: Weapon wheel should just be when B is pressed, so we can ensure that WASD is tied to LS directions

Clippy95 commented 3 months ago

Saints Row 2 is done with https://github.com/marinesciencedude/xenia-canary-mousehook/releases/tag/saintsrow2_megafix

Clippy95 commented 2 weeks ago

I'm implementing SR1 support at https://github.com/marinesciencedude/xenia-canary-mousehook/pull/39