make $exit work without a quest loaded on most versions

This commit is contained in:
Martin Michelsen
2025-04-24 18:58:20 -07:00
parent ebef2f2bd1
commit 1ad2c47444
21 changed files with 405 additions and 12 deletions
@@ -0,0 +1,26 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
mov r2, 0
mova r0, [addrs]
mov.l r1, [r0]
mov.l [r1], r2
mov.l r1, [r0 + 4]
mov.l [r1], r2
mov r2, 1
mov.l r1, [r0 + 8]
rets
mov.w [r1], r2
.align 4
addrs:
.data 0x8C4ED300
.data 0x8C4ED344
.data 0x8C4E8D88
@@ -0,0 +1,26 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
mov r2, 0
mova r0, [addrs]
mov.l r1, [r0]
mov.l [r1], r2
mov.l r1, [r0 + 4]
mov.l [r1], r2
mov r2, 1
mov.l r1, [r0 + 8]
rets
mov.w [r1], r2
.align 4
addrs:
.data 0x8C4ED300
.data 0x8C4ED344
.data 0x8C4E8D88
@@ -0,0 +1,26 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
mov r2, 0
mova r0, [addrs]
mov.l r1, [r0]
mov.l [r1], r2
mov.l r1, [r0 + 4]
mov.l [r1], r2
mov r2, 1
mov.l r1, [r0 + 8]
rets
mov.w [r1], r2
.align 4
addrs:
.data 0x8C4E6DA0
.data 0x8C4E6DE4
.data 0x8C4E2828
@@ -0,0 +1,26 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
mov r2, 0
mova r0, [addrs]
mov.l r1, [r0]
mov.l [r1], r2
mov.l r1, [r0 + 4]
mov.l [r1], r2
mov r2, 1
mov.l r1, [r0 + 8]
rets
mov.w [r1], r2
.align 4
addrs:
.data 0x8C4DC800
.data 0x8C4DC844
.data 0x8C4D8288
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4748], r0
stw [r13 - 0x4744], r0
li r0, 1
sth [r13 - 0x4938], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4748], r0
stw [r13 - 0x4744], r0
li r0, 1
sth [r13 - 0x4938], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4728], r0
stw [r13 - 0x4724], r0
li r0, 1
sth [r13 - 0x4918], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4760], r0
stw [r13 - 0x475C], r0
li r0, 1
sth [r13 - 0x4950], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4758], r0
stw [r13 - 0x4754], r0
li r0, 1
sth [r13 - 0x4948], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4738], r0
stw [r13 - 0x4734], r0
li r0, 1
sth [r13 - 0x4928], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x4738], r0
stw [r13 - 0x4734], r0
li r0, 1
sth [r13 - 0x4928], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
li r0, 0
stw [r13 - 0x46E8], r0
stw [r13 - 0x46E4], r0
li r0, 1
sth [r13 - 0x48D8], r0
blr
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x00632934], eax # is_in_quest = false
mov [0x00632930], eax # dat_source_type = NONE
inc eax
mov [0x00723F88], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x006321CC], eax # is_in_quest = false
mov [0x006321C8], eax # dat_source_type = NONE
inc eax
mov [0x00723808], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x0062D374], eax # is_in_quest = false
mov [0x0062D370], eax # dat_source_type = NONE
inc eax
mov [0x0071E8E8], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x0062D914], eax # is_in_quest = false
mov [0x0062D910], eax # dat_source_type = NONE
inc eax
mov [0x0071EF48], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x0063544C], eax # is_in_quest = false
mov [0x00635448], eax # dat_source_type = NONE
inc eax
mov [0x00726A88], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x00632934], eax # is_in_quest = false
mov [0x00632930], eax # dat_source_type = NONE
inc eax
mov [0x00723F88], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x00632CCC], eax # is_in_quest = false
mov [0x00632CC8], eax # dat_source_type = NONE
inc eax
mov [0x00724308], ax # should_leave_game = true
ret
@@ -0,0 +1,17 @@
# This function implements $exit in a game when no quest is loaded.
.meta name="Exit anywhere"
.meta description=""
.meta hide_from_patches_menu
entry_ptr:
reloc0:
.offsetof start
start:
xor eax, eax
mov [0x00A95624], eax # is_in_quest = false
mov [0x00A955E0], eax # dat_source_type = NONE
inc eax
mov [0x00AAE6D4], ax # should_leave_game = true
ret