Implemented D-Pad support for the World Map, Gaia Colossus, Super Sonic and the Bobsleigh (#150)

* Implemented D-Pad support for World Map, Super Sonic (WIP) and Bobsleigh

* Implemented D-Pad support for Gaia Colossus and Super Sonic

* Improved touchpad sensitivity
This commit is contained in:
Hyper 2025-01-23 17:43:08 +00:00 committed by GitHub
parent ca6b42e20e
commit 686ef22c4d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 623 additions and 22 deletions

View file

@ -548,41 +548,153 @@ jump_address = 0x82585480
name = "LoadingScreenControllerMidAsmHook"
address = 0x824DC9D4
# CPlayerSpeedPostureInputOnPath
# SWA::Player::CPlayerSpeedPostureInputOnPath
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
name = "PostureDPadSupportInvertYMidAsmHook"
address = 0x8234F194
registers = ["r31", "f13", "f0"]
# CPlayerSpeedPostureInputOnPathLocal
# SWA::Player::CPlayerSpeedPostureInputOnPathLocal
[[midasm_hook]]
name = "PostureDPadSupportPathLocalMidAsmHook"
name = "PostureDPadSupportMidAsmHook"
address = 0x8234F610
registers = ["r30", "f0", "f13"]
# CPlayerSpeedPostureInput3DStandard
# SWA::Player::CPlayerSpeedPostureInput3DStandard
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
name = "PostureDPadSupportInvertYMidAsmHook"
address = 0x8234EEE8
registers = ["r31", "f12", "f13"]
# CEvilPostureInputStandard
# SWA::Player::CEvilPostureInputStandard
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
name = "PostureDPadSupportInvertYMidAsmHook"
address = 0x823CDA60
registers = ["r3", "f11", "f12"]
# CEvilPostureInputStandard
# SWA::Player::CEvilPostureInputStandard
[[midasm_hook]]
name = "PostureDPadSupportXMidAsmHook"
address = 0x823CDA74
registers = ["r3", "f0"]
# CEvilPostureInputStandard
# SWA::Player::CEvilPostureInputStandard
[[midasm_hook]]
name = "PostureDPadSupportYMidAsmHook"
address = 0x823CDA88
registers = ["r3", "f12"]
name = "PostureDPadSupportXMidAsmHook"
address = 0x823CDA74
registers = ["r3", "f0"]
# SWA::CObjBobsleigh::CStateMode3D
[[midasm_hook]]
name = "PostureDPadSupportXMidAsmHook"
address = 0x8266B5F0
registers = ["r29", "f13"]
# SWA::CObjBobsleigh::CStateMode3D
[[midasm_hook]]
name = "PostureDPadSupportXMidAsmHook"
address = 0x8266B8B4
registers = ["r29", "f0"]
# SWA::CObjBobsleigh::CStateMode3D
[[midasm_hook]]
name = "PostureDPadSupportXMidAsmHook"
address = 0x8266B618
registers = ["r29", "f0"]
# SWA::CObjBobsleigh::CStateMode3D
[[midasm_hook]]
name = "PostureDPadSupportXMidAsmHook"
address = 0x8266B6AC
registers = ["r29", "f0"]
# SWA::Boss::Temple::CTemple (shared)
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
address = 0x82A77E68
registers = ["r31", "f31", "f30"]
# SWA::Boss::Temple::CTempleStateMove
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
address = 0x82A7B3CC
registers = ["r30", "f29", "f28"]
# SWA::Boss::Temple::CTempleStateMove
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
address = 0x82A7B288
registers = ["r30", "f13", "f10"]
# SWA::Player::CSuperSonicPostureInputSpaceHurrier
[[midasm_hook]]
name = "PostureSpaceHurrierDPadSupportXMidAsmHook"
address = 0x82455DD8
registers = ["r30", "v61"]
# SWA::Player::CSuperSonicPostureInputSpaceHurrier
[[midasm_hook]]
name = "PostureSpaceHurrierDPadSupportYMidAsmHook"
address = 0x82455DC8
registers = ["r30", "v63"]
# SWA::Player::CSuperSonicPostureNights
[[midasm_hook]]
name = "PostureDPadSupportMidAsmHook"
address = 0x82454104
registers = ["r29", "f28", "f27"]
after_instruction = true
# SWA::CWorldMapCamera - disable rotation deadzone for touch
[[midasm_hook]]
name = "WorldMapTouchSupportMidAsmHook"
address = 0x824862EC
jump_address_on_true = 0x824862F0
# SWA::CWorldMapCamera - disable flag magnetism for touch
[[midasm_hook]]
name = "WorldMapTouchMagnetismSupportMidAsmHook"
address = 0x824866D4
registers = ["f0"]
jump_address_on_true = 0x82486838
# SWA::CWorldMapCamera - touch and D-Pad support for camera adjustment threshold on the X axis
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapXMidAsmHook"
address = 0x824862D8
registers = ["r30", "f12"]
# SWA::CWorldMapCamera - touch and D-Pad support for adjusing camera yaw
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapXMidAsmHook"
address = 0x82486318
registers = ["r30", "f12"]
# SWA::CWorldMapCamera - touch and D-Pad support for camera adjustment threshold on the Y axis
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapYMidAsmHook"
address = 0x824862CC
registers = ["r30", "f0"]
# SWA::CWorldMapCamera - touch and D-Pad support for adjusing camera pitch
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapYMidAsmHook"
address = 0x824862F4
registers = ["r30", "f0"]
# SWA::CWorldMapCamera - touch and D-Pad support for flag magnetism on the X axis
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapXMidAsmHook"
address = 0x8248665C
registers = ["r27", "f29"]
after_instruction = true
# SWA::CWorldMapCamera - touch and D-Pad support for flag magnetism on the Y axis
[[midasm_hook]]
name = "TouchAndDPadSupportWorldMapYMidAsmHook"
address = 0x82486658
registers = ["r27", "f28"]
after_instruction = true
[[midasm_hook]]
name = "LoadingUpdateMidAsmHook"