clean up some patches

This commit is contained in:
Martin Michelsen
2025-10-20 22:28:02 -07:00
parent 09b96a4a86
commit 790363adb5
15 changed files with 245 additions and 219 deletions
+10 -7
View File
@@ -6369,13 +6369,16 @@ struct G_AddSRankWeaponSpecial_BB_6xD8 {
// more (or less!) data than necessary.
struct G_MomokaItemExchange_BB_6xD9 {
G_ClientIDHeader header;
ItemData find_item; // Only data1[0]-[2] are used
ItemData replace_item; // Only data1[0]-[2] are used
le_uint32_t token1 = 0; // valueC (from F95B opcode) ^ sender client ID
le_uint32_t token2 = 0; // valueD (from F95B opcode) ^ sender client ID
le_uint16_t success_label = 0;
le_uint16_t failure_label = 0;
/* 00 */ G_ClientIDHeader header;
// Only data1[0-2] are used in find_item and replace_item when this is sent
// by the F95B quest opcode.
/* 04 */ ItemData find_item;
/* 18 */ ItemData replace_item;
/* 2C */ le_uint32_t token1 = 0; // valueC (from F95B opcode) ^ sender client ID
/* 30 */ le_uint32_t token2 = 0; // valueD (from F95B opcode) ^ sender client ID
/* 34 */ le_uint16_t success_label = 0;
/* 36 */ le_uint16_t failure_label = 0;
/* 38 */
} __packed_ws__(G_MomokaItemExchange_BB_6xD9, 0x38);
// 6xDA: Upgrade weapon attribute (BB; handled by server)
@@ -9,10 +9,11 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x8012D2D4 0x8012D518 0x8012D550 0x8012D4B0 0x8012D578 0x8012D578 0x8012D4C0 0x8012D698>
.label TItemWeapon_SealedJSword_count_kill_loc, <VERS 0x8012D2D4 0x8012D518 0x8012D550 0x8012D4B0 0x8012D578 0x8012D578 0x8012D4C0 0x8012D698>
.data TItemWeapon_SealedJSword_count_kill_loc
.deltaof TItemWeapon_SealedJSword_count_kill, TItemWeapon_SealedJSword_count_kill_end
.address <VERS 0x8012D2D4 0x8012D518 0x8012D550 0x8012D4B0 0x8012D578 0x8012D578 0x8012D4C0 0x8012D698>
TItemWeapon_SealedJSword_count_kill: # [std] (TItemWeapon_SealedJSword* this @ r3) -> void
.address TItemWeapon_SealedJSword_count_kill_loc
TItemWeapon_SealedJSword_count_kill: # [std](TItemWeapon_SealedJSword* this @ r3) -> void
lwz r4, [r3 + 0xF0] # r4 = this->owner_player
lha r5, [r4 + 0x11A] # r5 = this->owner_player->num_kills_since_map_load
lha r6, [r3 + 0x1F8] # r6 = this->last_owner_player_kill_count
@@ -40,7 +40,9 @@ resume:
get_data_addr:
bl resume
# allow_local_client_commands
.data <VERS 0x8065F458 0x805C4D58 0x805CF320 0x805D67A0 0x805D6540 0x805C5650 0x805CC630 0x805D5E50 0x805D2090>
# RcvPsoData2
.data <VERS 0x80236F24 0x801E3B38 0x801E40BC 0x801E4290 0x801E4008 0x801E3F9C 0x801E3F9C 0x801E405C 0x801E4698>
size:
@@ -15,26 +15,24 @@ start:
# Extended Word Select Menu (PSO PCv2 Style)
.data <VERS 0x8034445C 0x803457AC 0x80346CCC 0x80346A80 0x8034525C 0x803452A0 0x80346E4C 0x8034627C 0x801D9B30 0x801C7CFC 0x801C7D88 0x801C83FC>
.data 0x00000004
.address <VERS 0x8034445C 0x803457AC 0x80346CCC 0x80346A80 0x8034525C 0x803452A0 0x80346E4C 0x8034627C 0x801D9B30 0x801C7CFC 0x801C7D88 0x801C83FC>
li r3, 0
# Chat Log Window LF/TAB Bug Fix
.data <VERS 0x80267DDC 0x80268A88 0x80269AE4 0x80269898 0x80268788 0x80268788 0x80269B5C 0x802693A4 0x8017F434 0x8016FD00 0x8016FBB4 0x80170060>
.data 0x00000004
.address <VERS 0x80267DDC 0x80268A88 0x80269AE4 0x80269898 0x80268788 0x80268788 0x80269B5C 0x802693A4 0x8017F434 0x8016FD00 0x8016FBB4 0x80170060>
nop
# Chat Bubble Window TAB Bug Fix
.data <VERS 0x80250264 0x80250CB0 0x80251CA4 0x802519A4 0x80250AEC 0x80250AEC 0x80251C68 0x802514B0 0x8016A77C 0x8015B1BC 0x8015B0CC 0x8015B578>
.data 0x00000004
.address <VERS 0x80250264 0x80250CB0 0x80251CA4 0x802519A4 0x80250AEC 0x80250AEC 0x80251C68 0x802514B0 0x8016A77C 0x8015B1BC 0x8015B0CC 0x8015B578>
nop
# Chat Log Window: Scroll Lock (Hold L+R)
.data 0x8000D6A0
.deltaof scroll_lock_hook, scroll_lock_hook_end
.address 0x8000D6A0
scroll_lock_hook:
.label scroll_lock_hook_loc, 0x8000D6A0
.data scroll_lock_hook_loc
.deltaof scroll_lock_hook_start, scroll_lock_hook_end
.address scroll_lock_hook_loc
scroll_lock_hook_start:
lis r3, <VERS 0x8051 0x8051 0x8051 0x8051 0x8051 0x8051 0x8051 0x8051 0x8048 0x804A 0x804A 0x804A>
lhz r3, [r3 <VERS -0x7530 -0x3A70 -0x1430 -0x1690 -0x6C50 -0x6770 -0x1D90 -0x0D70 +0x1700 -0x08C0 +0x0560 +0x2980>]
andi. r0, r3, 0x0003
@@ -44,11 +42,11 @@ scroll_lock_hook:
blr
scroll_lock_hook_end:
# Chat Log Window: Scroll Lock (Hold L+R)
.data <VERS 0x80267EC8 0x80268B74 0x80269BD0 0x80269984 0x80268874 0x80268874 0x80269C48 0x80269490 0x8017F51C 0x8016FDE8 0x8016FC9C 0x80170148>
.label scroll_lock_hook_call, <VERS 0x80267EC8 0x80268B74 0x80269BD0 0x80269984 0x80268874 0x80268874 0x80269C48 0x80269490 0x8017F51C 0x8016FDE8 0x8016FC9C 0x80170148>
.data scroll_lock_hook_call
.data 0x00000004
.address <VERS 0x80267EC8 0x80268B74 0x80269BD0 0x80269984 0x80268874 0x80268874 0x80269C48 0x80269490 0x8017F51C 0x8016FDE8 0x8016FC9C 0x80170148>
bl scroll_lock_hook
.address scroll_lock_hook_call
bl scroll_lock_hook_start
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -30,17 +30,17 @@ hook1_skip:
.binary 434F4D4D4F4E2042414E4B00
hook2:
lwz r0, [r13 - <VERS 0x7148 0x7148 0x7148 0x7150 0x7150 0x7150 0x7150 0x7148>]
lwz r0, [r13 - <VERS 0x7150 0x7150 0x7150 0x7150 0x7148 0x7148 0x7148 0x7148>]
cmplwi r0, 1
bne hook2_skip
lis r4, 0x8051
lhz r4, [r4 - <VERS 0x6C50 0x6770 0x1D90 0x7530 0x3A70 0x1430 0x1690 0x0D70>]
lhz r4, [r4 - <VERS 0x7530 0x3A70 0x1430 0x1690 0x6C50 0x6770 0x1D90 0x0D70>]
andi. r0, r4, 0x0002
beq hook2_default_bank
lwz r0, [r13 - <VERS 0x46AC 0x46AC 0x468C 0x46C4 0x46BC 0x469C 0x469C 0x464C>]
lwz r0, [r13 - <VERS 0x46C4 0x46BC 0x469C 0x469C 0x46AC 0x46AC 0x468C 0x464C>]
cmplwi r0, 6
beq hook2_default_bank
lwz r3, [r13 - <VERS 0x46C8 0x46C8 0x46A8 0x46E0 0x46D8 0x46B8 0x46B8 0x4668>]
lwz r3, [r13 - <VERS 0x46E0 0x46D8 0x46B8 0x46B8 0x46C8 0x46C8 0x46A8 0x4668>]
cmplwi r3, 0
beq hook2_default_bank
li r0, 0x0000
@@ -54,7 +54,7 @@ hook2_skip:
blr
hook3:
lwz r0, [r13 - <VERS 0x7148 0x7148 0x7148 0x7150 0x7150 0x7150 0x7150 0x7148>]
lwz r0, [r13 - <VERS 0x7150 0x7150 0x7150 0x7150 0x7148 0x7148 0x7148 0x7148>]
cmplwi r0, 1
bne hook3_skip
lis r3, 0x8001
@@ -64,29 +64,29 @@ hook3_skip:
blr
hooks_end:
.data <VERS 0x8021026C 0x8021026C 0x802111BC 0x8020F9F8 0x8021034C 0x8021112C 0x80210E88 0x80210BB8>
.data <VERS 0x8020F9F8 0x8021034C 0x8021112C 0x80210E88 0x8021026C 0x8021026C 0x802111BC 0x80210BB8>
.data 0x00000004
.address <VERS 0x8021026C 0x8021026C 0x802111BC 0x8020F9F8 0x8021034C 0x8021112C 0x80210E88 0x80210BB8>
.address <VERS 0x8020F9F8 0x8021034C 0x8021112C 0x80210E88 0x8021026C 0x8021026C 0x802111BC 0x80210BB8>
bl hook3
.data <VERS 0x802102E0 0x802102E0 0x80211230 0x8020FAE4 0x802103C0 0x802111A0 0x80210EFC 0x80210C2C>
.data <VERS 0x8020FAE4 0x802103C0 0x802111A0 0x80210EFC 0x802102E0 0x802102E0 0x80211230 0x80210C2C>
.data 0x00000004
.address <VERS 0x802102E0 0x802102E0 0x80211230 0x8020FAE4 0x802103C0 0x802111A0 0x80210EFC 0x80210C2C>
.address <VERS 0x8020FAE4 0x802103C0 0x802111A0 0x80210EFC 0x802102E0 0x802102E0 0x80211230 0x80210C2C>
bl hook2
.data <VERS 0x8030B414 0x8030B458 0x8030CE60 0x8030AA54 0x8030BAA4 0x8030CEF0 0x8030CCA4 0x8030C228>
.data <VERS 0x8030AA54 0x8030BAA4 0x8030CEF0 0x8030CCA4 0x8030B414 0x8030B458 0x8030CE60 0x8030C228>
.data 0x00000004
.address <VERS 0x8030B414 0x8030B458 0x8030CE60 0x8030AA54 0x8030BAA4 0x8030CEF0 0x8030CCA4 0x8030C228>
.address <VERS 0x8030AA54 0x8030BAA4 0x8030CEF0 0x8030CCA4 0x8030B414 0x8030B458 0x8030CE60 0x8030C228>
bl hook1
.data <VERS 0x8030B46C 0x8030B4B0 0x8030CEB8 0x8030AAAC 0x8030BAFC 0x8030CF48 0x8030CCFC 0x8030C280>
.data <VERS 0x8030AAAC 0x8030BAFC 0x8030CF48 0x8030CCFC 0x8030B46C 0x8030B4B0 0x8030CEB8 0x8030C280>
.data 0x00000004
.address <VERS 0x8030B46C 0x8030B4B0 0x8030CEB8 0x8030AAAC 0x8030BAFC 0x8030CF48 0x8030CCFC 0x8030C280>
.address <VERS 0x8030AAAC 0x8030BAFC 0x8030CF48 0x8030CCFC 0x8030B46C 0x8030B4B0 0x8030CEB8 0x8030C280>
bl hook1
.data <VERS 0x8046DC5C 0x8046E0DC 0x80471ACC 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x80471804>
.data <VERS 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x8046DC5C 0x8046E0DC 0x80471ACC 0x80471804>
.data 0x00000004
.address <VERS 0x8046DC5C 0x8046E0DC 0x80471ACC 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x80471804>
.address <VERS 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x8046DC5C 0x8046E0DC 0x80471ACC 0x80471804>
.data 0xFFFFFFFF
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,9 +12,9 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x803515F4 0x80351638 0x80353220 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x80352614>
.data <VERS 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x803515F4 0x80351638 0x80353220 0x80352614>
.data 0x00000098
.address <VERS 0x803515F4 0x80351638 0x80353220 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x80352614>
.address <VERS 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x803515F4 0x80351638 0x80353220 0x80352614>
lbz r0, [r3 + 0xEE]
cmplwi r0, 11
bne +0x144
@@ -33,7 +33,7 @@ start:
li r5, 0x0D44
bl +0x38
mr r3, r31
.data <VERS 0x4BE64BD9 0x4BE64B95 0x4BE63145 0x4BE656A1 0x4BE646F1 0x4BE654CD 0x4BE634AD 0x4BE6420D>
.data <VERS 0x4BE656A1 0x4BE646F1 0x4BE654CD 0x4BE634AD 0x4BE64BD9 0x4BE64B95 0x4BE63145 0x4BE6420D>
lhz r0, [r31 + 0x032C]
lhz r3, [r31 + 0x02B8]
cmpl r0, r3
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -13,78 +13,80 @@ start:
.include WriteCodeBlocksGC
.data 0x8000DFA0
.data 0x00000040
.deltaof hook_start, hook_end
.address 0x8000DFA0
hook_start:
hook1:
lfs f30, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
lfs f30, [r2 - <VERS 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00 0x3E00 0x3E00 0x3E00>]
fmuls f30, f30, f1
blr
hook2:
lfs f2, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
lfs f2, [r2 - <VERS 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00 0x3E00 0x3E00 0x3E00>]
lfs f0, [r30 + 0x001C]
fmuls f0, f0, f2
blr
hook3:
lfs f28, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
lfs f28, [r2 - <VERS 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00 0x3E00 0x3E00 0x3E00>]
fmuls f28, f28, f2
blr
hook4:
lfs f0, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
lfs f0, [r2 - <VERS 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00 0x3E00 0x3E00 0x3E00>]
lfs f1, [r3 + 0x000C]
fmuls f0, f0, f1
stfs [r3 + 0x000C], f0
lis r3, <VERS 0x804C 0x804C 0x804D 0x804C 0x804C 0x804D 0x804D 0x804D>
lis r3, <VERS 0x804C 0x804C 0x804D 0x804D 0x804C 0x804C 0x804D 0x804D>
blr
hook_end:
.data <VERS 0x80100B8C 0x80100B8C 0x80100A60 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100C50>
.data <VERS 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100B8C 0x80100B8C 0x80100A60 0x80100C50>
.data 0x00000004
.address <VERS 0x80100B8C 0x80100B8C 0x80100A60 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100C50>
.address <VERS 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100B8C 0x80100B8C 0x80100A60 0x80100C50>
bl hook1
.data <VERS 0x80156AD8 0x80156AD8 0x80156BF8 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x801570BC>
.data <VERS 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x80156AD8 0x80156AD8 0x80156BF8 0x801570BC>
.data 0x00000004
.address <VERS 0x80156AD8 0x80156AD8 0x80156BF8 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x801570BC>
.address <VERS 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x80156AD8 0x80156AD8 0x80156BF8 0x801570BC>
bl hook2
.data <VERS 0x801A2040 0x801A2040 0x801A2164 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2628>
.data <VERS 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2040 0x801A2040 0x801A2164 0x801A2628>
.data 0x00000004
.address <VERS 0x801A2040 0x801A2040 0x801A2164 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2628>
.address <VERS 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2040 0x801A2040 0x801A2164 0x801A2628>
bl hook3
.data <VERS 0x801A2240 0x801A2240 0x801A2364 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2828>
.data <VERS 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2240 0x801A2240 0x801A2364 0x801A2828>
.data 0x00000004
.address <VERS 0x801A2240 0x801A2240 0x801A2364 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2828>
.address <VERS 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2240 0x801A2240 0x801A2364 0x801A2828>
bl hook1
.data <VERS 0x80205840 0x80205840 0x80206728 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80206124>
.data <VERS 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80205840 0x80205840 0x80206728 0x80206124>
.data 0x00000004
.address <VERS 0x80205840 0x80205840 0x80206728 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80206124>
.address <VERS 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80205840 0x80205840 0x80206728 0x80206124>
bl hook4
.data <VERS 0x80205FE4 0x80205FE4 0x80206ECC 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x802068C8>
.data <VERS 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x80205FE4 0x80205FE4 0x80206ECC 0x802068C8>
.data 0x00000004
.address <VERS 0x80205FE4 0x80205FE4 0x80206ECC 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x802068C8>
.address <VERS 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x80205FE4 0x80205FE4 0x80206ECC 0x802068C8>
bl hook4
.data <VERS 0x805C8CB0 0x805CFCD0 0x805D94F0 0x805C83A8 0x805D29A8 0x805D9E48 0x805D9BE8 0x805D5730>
.data <VERS 0x805C83A8 0x805D29A8 0x805D9E48 0x805D9BE8 0x805C8CB0 0x805CFCD0 0x805D94F0 0x805D5730>
.data 0x00000004
.data 0x47AFC800
.float 90000
.data <VERS 0x805C9B5C 0x805D0B7C 0x805DA39C 0x805C9254 0x805D3854 0x805DACF4 0x805DAA94 0x805D65DC>
.data <VERS 0x805C9254 0x805D3854 0x805DACF4 0x805DAA94 0x805C9B5C 0x805D0B7C 0x805DA39C 0x805D65DC>
.data 0x00000004
.data 0x47742400
.float 62500
.data <VERS 0x805CA184 0x805D11A4 0x805DA9C4 0x805C987C 0x805D3E7C 0x805DB31C 0x805DB0BC 0x805D6C04>
.data <VERS 0x805C987C 0x805D3E7C 0x805DB31C 0x805DB0BC 0x805CA184 0x805D11A4 0x805DA9C4 0x805D6C04>
.data 0x00000004
.data 0x491C4000
.float 640000
.data <VERS 0x805CB010 0x805D2030 0x805DB850 0x805CA708 0x805D4D08 0x805DC1A8 0x805DBF48 0x805D7A90>
.data <VERS 0x805CA708 0x805D4D08 0x805DC1A8 0x805DBF48 0x805CB010 0x805D2030 0x805DB850 0x805D7A90>
.data 0x00000004
.data 0x47AFC800
.float 90000
.data <VERS 0x805CB5A0 0x805D25C0 0x805DBDE0 0x805CAC98 0x805D5298 0x805DC738 0x805DC4D8 0x805D8020>
.data <VERS 0x805CAC98 0x805D5298 0x805DC738 0x805DC4D8 0x805CB5A0 0x805D25C0 0x805DBDE0 0x805D8020>
.data 0x00000004
.data 0x44AF0000
.float 1400
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,92 +12,100 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data 0x8000B650
.data 0x0000006C
.address 0x8000B650
.label hook_addr, 0x8000B650
.label sprintf, <VERS 0x80395EFC 0x80398904 0x8039A7A4 0x8039A554 0x803971CC 0x80397224 0x8039A924 0x80399414>
.data hook_addr
.deltaof hooks_start, hooks_end
.address hook_addr
hooks_start:
hook1:
lis r5, 0x8001
lwz r3, [r5 - 0x4944]
mr r30, r31
lha r6, [r30 + 0x032C]
b +0x10
b entry_merge
hook2:
lha r6, [r30 + 0x02B8]
lis r5, 0x8001
stw [r5 - 0x4944], r3
entry_merge:
mflr r0
stw [r5 - 0x4940], r0
mr r5, r3
lha r7, [r30 + 0x02B8]
lis r4, 0x8000
ori r4, r4, 0xB6AC
addi r3, r4, 0x0018
ori r4, r4, 0xB6AC # r4 = &hp_format_str
addi r3, r4, 0x0018 # r3 = dest buffer
crxor crb6, crb6, crb6
.data <VERS 0x4838BB3D 0x4838BB95 0x4838F295 0x4838A86D 0x4838D275 0x4838F115 0x4838EEC5 0x4838DD85>
bl sprintf
lis r4, 0x8000
ori r4, r4, 0xB6C4
mr r3, r28
lwz r0, [r4 - 0x0004]
mtlr r0
blr
.data 0x25730A0A
.data 0x48503A25
.data 0x642F2564
.data 0x00000000
hp_format_str:
.binary "%s\n\nHP:%d/%d"00000000
hooks_end:
.data <VERS 0x80261B38 0x80261B38 0x80262EF8 0x80261260 0x80261E38 0x80262E80 0x80262C34 0x80262740>
.label hook1_call, <VERS 0x80261260 0x80261E38 0x80262E80 0x80262C34 0x80261B38 0x80261B38 0x80262EF8 0x80262740>
.data hook1_call
.data 0x00000004
.address <VERS 0x80261B38 0x80261B38 0x80262EF8 0x80261260 0x80261E38 0x80262E80 0x80262C34 0x80262740>
.address hook1_call
bl hook1
.data <VERS 0x80261B9C 0x80261B9C 0x80262F5C 0x802612C4 0x80261E9C 0x80262EE4 0x80262C98 0x802627A4>
.label flag_clear_call, <VERS 0x802612C4 0x80261E9C 0x80262EE4 0x80262C98 0x80261B9C 0x80261B9C 0x80262F5C 0x802627A4>
.data flag_clear_call
.data 0x00000004
.data <VERS 0x4BFE1545 0x4BFE1545 0x4BFE12B1 0x4BFE1541 0x4BFE1349 0x4BFE0665 0x4BFE1241 0x4BFE12B1>
.address flag_clear_call
bl [<VERS 80242804 802431E4 80243548 80243ED8 802430E0 802430E0 8024420C 80243A54>]
.data <VERS 0x80261CF8 0x80261CF8 0x802630B8 0x80261420 0x80261FF8 0x80263040 0x80262DF4 0x80262900>
.label hook2_call, <VERS 0x80261420 0x80261FF8 0x80263040 0x80262DF4 0x80261CF8 0x80261CF8 0x802630B8 0x80262900>
.data hook2_call
.data 0x00000004
.address <VERS 0x80261CF8 0x80261CF8 0x802630B8 0x80261420 0x80261FF8 0x80263040 0x80262DF4 0x80262900>
.address hook2_call
bl hook2
.data <VERS 0x804CB610 0x804CBAF0 0x804D0158 0x804CAE40 0x804CE590 0x804D0AE0 0x804D0880 0x804D0548>
.data <VERS 0x804CAE40 0x804CE590 0x804D0AE0 0x804D0880 0x804CB610 0x804CBAF0 0x804D0158 0x804D0548>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB61C 0x804CBAFC 0x804D0164 0x804CAE4C 0x804CE59C 0x804D0AEC 0x804D088C 0x804D0554>
.data <VERS 0x804CAE4C 0x804CE59C 0x804D0AEC 0x804D088C 0x804CB61C 0x804CBAFC 0x804D0164 0x804D0554>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB628 0x804CBB08 0x804D0170 0x804CAE58 0x804CE5A8 0x804D0AF8 0x804D0898 0x804D0560>
.data <VERS 0x804CAE58 0x804CE5A8 0x804D0AF8 0x804D0898 0x804CB628 0x804CBB08 0x804D0170 0x804D0560>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB634 0x804CBB14 0x804D017C 0x804CAE64 0x804CE5B4 0x804D0B04 0x804D08A4 0x804D056C>
.data <VERS 0x804CAE64 0x804CE5B4 0x804D0B04 0x804D08A4 0x804CB634 0x804CBB14 0x804D017C 0x804D056C>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB640 0x804CBB20 0x804D0188 0x804CAE70 0x804CE5C0 0x804D0B10 0x804D08B0 0x804D0578>
.data <VERS 0x804CAE70 0x804CE5C0 0x804D0B10 0x804D08B0 0x804CB640 0x804CBB20 0x804D0188 0x804D0578>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB670 0x804CBB50 0x804D01B8 0x804CAEA0 0x804CE5F0 0x804D0B40 0x804D08E0 0x804D05A8>
.data <VERS 0x804CAEA0 0x804CE5F0 0x804D0B40 0x804D08E0 0x804CB670 0x804CBB50 0x804D01B8 0x804D05A8>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB6A0 0x804CBB80 0x804D01E8 0x804CAED0 0x804CE620 0x804D0B70 0x804D0910 0x804D05D8>
.data <VERS 0x804CAED0 0x804CE620 0x804D0B70 0x804D0910 0x804CB6A0 0x804CBB80 0x804D01E8 0x804D05D8>
.data 0x00000004
.data 0x42960000
.float 75
.data <VERS 0x804CB6D0 0x804CBBB0 0x804D0218 0x804CAF00 0x804CE650 0x804D0BA0 0x804D0940 0x804D0608>
.data <VERS 0x804CAF00 0x804CE650 0x804D0BA0 0x804D0940 0x804CB6D0 0x804CBBB0 0x804D0218 0x804D0608>
.data 0x00000004
.data 0x42780000
.float 62
.data <VERS 0x804CB6EC 0x804CBBCC 0x804D0234 0x804CAF1C 0x804CE66C 0x804D0BBC 0x804D095C 0x804D0624>
.data <VERS 0x804CAF1C 0x804CE66C 0x804D0BBC 0x804D095C 0x804CB6EC 0x804CBBCC 0x804D0234 0x804D0624>
.data 0x00000004
.data 0xFF00FF15
.data <VERS 0x805CC8C4 0x805D38E4 0x805DD104 0x805CBFBC 0x805D65BC 0x805DDA5C 0x805DD7FC 0x805D9344>
.data <VERS 0x805CBFBC 0x805D65BC 0x805DDA5C 0x805DD7FC 0x805CC8C4 0x805D38E4 0x805DD104 0x805D9344>
.data 0x00000004
.data 0x42C00000
.float 96
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,27 +12,27 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x801D381C 0x801D381C 0x801D3A1C 0x801D33E4 0x801D38EC 0x801D3CC4 0x801D39B8 0x801D3ED8>
.data <VERS 0x801D33E4 0x801D38EC 0x801D3CC4 0x801D39B8 0x801D381C 0x801D381C 0x801D3A1C 0x801D3ED8>
.data 0x00000004
b +0x4C
.data <VERS 0x801FF0FC 0x801FF0FC 0x801FFA44 0x801FE900 0x801FF174 0x8020010C 0x801FF710 0x801FF9E0>
.data <VERS 0x801FE900 0x801FF174 0x8020010C 0x801FF710 0x801FF0FC 0x801FF0FC 0x801FFA44 0x801FF9E0>
.data 0x00000004
nop
.data <VERS 0x80200658 0x80200658 0x80200FD0 0x801FFE5C 0x802006D0 0x802016CC 0x80200C9C 0x80200F3C>
.data <VERS 0x801FFE5C 0x802006D0 0x802016CC 0x80200C9C 0x80200658 0x80200658 0x80200FD0 0x80200F3C>
.data 0x00000004
nop
.data <VERS 0x802021C4 0x802021C4 0x80202B94 0x802019C8 0x8020223C 0x801FD944 0x80202860 0x80202AA8>
.data <VERS 0x802019C8 0x8020223C 0x801FD944 0x80202860 0x802021C4 0x802021C4 0x80202B94 0x80202AA8>
.data 0x00000004
li r0, 0
.data <VERS 0x802C2A40 0x802C2A84 0x802C402C 0x802C2060 0x802C2F98 0x802C42E4 0x802C3E78 0x802C37C0>
.data <VERS 0x802C2060 0x802C2F98 0x802C42E4 0x802C3E78 0x802C2A40 0x802C2A84 0x802C402C 0x802C37C0>
.data 0x00000004
b +0x4C
.data <VERS 0x802D1480 0x802D14C4 0x802D2AEC 0x802D0AA0 0x802D1A58 0x802D2C10 0x802D2938 0x802D2280>
.data <VERS 0x802D0AA0 0x802D1A58 0x802D2C10 0x802D2938 0x802D1480 0x802D14C4 0x802D2AEC 0x802D2280>
.data 0x00000004
b +0x20
@@ -4,28 +4,39 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
.data 0x8000B938
.data 0x00000020
.data 0x387C0550
.data 0x38800100
.data <VERS 0x4834428D 0x483442D1 0x48345EB9 0x483433D9 0x483447DD 0x48345D45 0x48345AED 0x483452AD>
.data 0x2C030000
.data 0x4182000C
.data 0x7F83E378
.data <VERS 0x481AA150 0x481AA150 0x481AA2E8 0x481A9D64 0x481AA1B8 0x481AC370 0x481AA284 0x481AA7A4>
.data <VERS 0x481AA15C 0x481AA15C 0x481AA2F4 0x481A9D70 0x481AA1C4 0x481AC37C 0x481AA290 0x481AA7B0>
.data <VERS 0x801B5A9C 0x801B5A9C 0x801B5C34 0x801B56B0 0x801B5B04 0x801B7CBC 0x801B5BD0 0x801B60F0>
.label hook_loc, 0x8000B938
.data hook_loc
.deltaof hook_start, hook_end
.address hook_loc
hook_start:
addi r3, r28, 0x0550
li r4, 0x0100
bl [<VERS 8034ED18 8035011C 80351684 8035142C 8034FBCC 8034FC10 803517F8 80350BEC>]
cmpwi r3, 0
beq skip
mr r3, r28
b [<VERS 801B56B4 801B5B08 801B7CC0 801B5BD4 801B5AA0 801B5AA0 801B5C38 801B60F4>]
skip:
b [<VERS 801B56C4 801B5B18 801B7CD0 801B5BE4 801B5AB0 801B5AB0 801B5C48 801B6104>]
hook_end:
.label hook_call, <VERS 0x801B56B0 0x801B5B04 0x801B7CBC 0x801B5BD0 0x801B5A9C 0x801B5A9C 0x801B5C34 0x801B60F0>
.data hook_call
.data 0x00000004
.data <VERS 0x4BE55E9C 0x4BE55E9C 0x4BE55D04 0x4BE56288 0x4BE55E34 0x4BE53C7C 0x4BE55D68 0x4BE55848>
.data <VERS 0x8024CC0C 0x8024CC0C 0x8024DD88 0x8024C384 0x8024CDD0 0x8024DD28 0x8024DAC4 0x8024D5D0>
.address hook_call
b hook_start
.data <VERS 0x8024C384 0x8024CDD0 0x8024DD28 0x8024DAC4 0x8024CC0C 0x8024CC0C 0x8024DD88 0x8024D5D0>
.data 0x00000004
.data 0x38800008
li r4, 8
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,11 +12,11 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x801CEBF0 0x801CEBF0 0x801CEDF0 0x801CE7AC 0x801CECC0 0x801D0D10 0x801CED8C 0x801CF2AC>
.data <VERS 0x801CE7AC 0x801CECC0 0x801D0D10 0x801CED8C 0x801CEBF0 0x801CEBF0 0x801CEDF0 0x801CF2AC>
.data 0x00000004
b +0x0C
.data <VERS 0x801CFAE0 0x801CFAE0 0x801CFCE0 0x801CF69C 0x801CFBB0 0x801D1CEC 0x801CFC7C 0x801D019C>
.data <VERS 0x801CF69C 0x801CFBB0 0x801D1CEC 0x801CFC7C 0x801CFAE0 0x801CFAE0 0x801CFCE0 0x801D019C>
.data 0x00000004
b +0x14
@@ -2,7 +2,7 @@
# https://github.com/Solybum/Blue-Burst-Patch-Project
# GC port by fuzziqersoftware
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
.meta name="No rare selling"
.meta description="Stops you from\naccidentally\nselling rares\nto shops"
@@ -15,35 +15,36 @@ start:
# See comments in the 59NL version of this patch for details on how it works.
.data <VERS 0x8010E114 0x8010E114 0x8010E00C 0x8010DE70 0x8010E070 0x8010E1BC 0x8010DFFC 0x8010E1F0>
.data <VERS 0x8010DE70 0x8010E070 0x8010E1BC 0x8010DFFC 0x8010E114 0x8010E114 0x8010E00C 0x8010E1F0>
.data 0x00000004
li r29, 0
.data <VERS 0x8010E100 0x8010E100 0x8010DFF8 0x8010DE5C 0x8010E05C 0x8010E1A8 0x8010DFE8 0x8010E1DC>
.data <VERS 0x8010DE5C 0x8010E05C 0x8010E1A8 0x8010DFE8 0x8010E100 0x8010E100 0x8010DFF8 0x8010E1DC>
.data 0x00000004
li r29, 0
.data <VERS 0x8010E248 0x8010E248 0x8010E140 0x8010DFA4 0x8010E1A4 0x8010E2F0 0x8010E130 0x8010E324>
.data <VERS 0x8010DFA4 0x8010E1A4 0x8010E2F0 0x8010E130 0x8010E248 0x8010E248 0x8010E140 0x8010E324>
.data 0x00000004
li r29, 0
.data 0x800041A0
.deltaof tool_check_start, tool_check_end
.address 0x800041A0
tool_check_start:
.label tool_check_hook_loc, 0x800041A0
.data tool_check_hook_loc
.deltaof tool_check_hook_start, tool_check_hook_end
.address tool_check_hook_loc
tool_check_hook_start:
lwz r29, [r3 + 0x10] # Flags
xori r29, r29, 0x0080
andi. r29, r29, 0x0080
beq is_rare_tool
bnelr # Not rare; r29 (returned price) is zero already
lwz r29, [r3 + 0x0C] # Cost
is_rare_tool:
blr
tool_check_end:
tool_check_hook_end:
.data <VERS 0x8010E3BC 0x8010E3BC 0x8010E2B4 0x8010E118 0x8010E318 0x8010E464 0x8010E2A4 0x8010E498>
.label tool_check_hook_call, <VERS 0x8010E118 0x8010E318 0x8010E464 0x8010E2A4 0x8010E3BC 0x8010E3BC 0x8010E2B4 0x8010E498>
.data tool_check_hook_call
.data 0x00000004
.address <VERS 0x8010E3BC 0x8010E3BC 0x8010E2B4 0x8010E118 0x8010E318 0x8010E464 0x8010E2A4 0x8010E498>
bl tool_check_start
.address tool_check_hook_call
bl tool_check_hook_start
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
# This code will let you have up to four different palettes of action buttons.
# Battle Screen Control Keys
@@ -31,15 +31,15 @@ start:
.label memcpy, 0x8000E41C
.label memset, 0x8000E334
.label get_main_phase, <VERS 0x8000F948 0x8000F948 0x8000F8FC 0x8000F948 0x8000F94C 0x8000F94C 0x8000F8FC 0x8000F970>
.label get_main_phase, <VERS 0x8000F948 0x8000F94C 0x8000F94C 0x8000F8FC 0x8000F948 0x8000F948 0x8000F8FC 0x8000F970>
.data 0x8000B958 # Save Extra Palettes To Memory Card (Temp Slot 3)
.deltaof save_to_memcard_hook1, save_to_memcard_end
.address 0x8000B958
save_to_memcard_hook1:
stw [r13 - <VERS 0x46AC 0x46AC 0x468C 0x46C4 0x46BC 0x469C 0x469C 0x464C>], r3
stw [r13 - <VERS 0x46C4 0x46BC 0x469C 0x469C 0x46AC 0x46AC 0x468C 0x464C>], r3
mulli r3, r3, 60
lwz r4, [r13 - <VERS 0x46C8 0x46C8 0x46A8 0x46E0 0x46D8 0x46B8 0x46B8 0x4668>]
lwz r4, [r13 - <VERS 0x46E0 0x46D8 0x46B8 0x46B8 0x46C8 0x46C8 0x46A8 0x4668>]
addis r4, r4, 0x0001
addi r4, r4, 0x0B80
add r4, r4, r3
@@ -49,9 +49,9 @@ save_to_memcard_hook1:
b memcpy
save_to_memcard_hook2:
stw [r4], r3
lwz r3, [r13 - <VERS 0x46AC 0x46AC 0x468C 0x46C4 0x46BC 0x469C 0x469C 0x464C>]
lwz r3, [r13 - <VERS 0x46C4 0x46BC 0x469C 0x469C 0x46AC 0x46AC 0x468C 0x464C>]
mulli r3, r3, 60
lwz r4, [r13 - <VERS 0x46C8 0x46C8 0x46A8 0x46E0 0x46D8 0x46B8 0x46B8 0x4668>]
lwz r4, [r13 - <VERS 0x46E0 0x46D8 0x46B8 0x46B8 0x46C8 0x46C8 0x46A8 0x4668>]
addis r4, r4, 0x0001
addi r4, r4, 0x0B80
add r3, r4, r3
@@ -60,9 +60,9 @@ save_to_memcard_hook2:
li r5, 0x003C
b memcpy
save_to_memcard_hook3:
lwz r3, [r13 - <VERS 0x46AC 0x46AC 0x468C 0x46C4 0x46BC 0x469C 0x469C 0x464C>]
lwz r3, [r13 - <VERS 0x46C4 0x46BC 0x469C 0x469C 0x46AC 0x46AC 0x468C 0x464C>]
mulli r3, r3, 60
lwz r4, [r13 - <VERS 0x46C8 0x46C8 0x46A8 0x46E0 0x46D8 0x46B8 0x46B8 0x4668>]
lwz r4, [r13 - <VERS 0x46E0 0x46D8 0x46B8 0x46B8 0x46C8 0x46C8 0x46A8 0x4668>]
addis r4, r4, 0x0001
addi r4, r4, 0x0B80
add r3, r4, r3
@@ -70,7 +70,7 @@ save_to_memcard_hook3:
li r5, 0x003C
bl memset
bl get_main_phase
b [<VERS 801FF034 801FF034 801FF97C 801FE838 801FF0AC 80200044 801FF648 801FF918>]
b [<VERS 801FE838 801FF0AC 80200044 801FF648 801FF034 801FF034 801FF97C 801FF918>]
save_to_memcard_end:
.data 0x8000CA40 # Full Action List (Incl. Photon Blasts & Traps)
@@ -111,9 +111,9 @@ four_palettes_hook1:
beqlr
sth [r4 + 0x003A], r31
lis r3, 0x8051
# D-pad version: lhz r0, [r3 - <VERS 0x6C4A 0x676A 0x1D8A 0x752A 0x3A6A 0x142A 0x168A 0x0D6A>]
lhz r0, [r3 - <VERS 0x6C4C 0x676C 0x1D8C 0x752C 0x3A6C 0x142C 0x168C 0x0D6C>]
lhz r5, [r3 - <VERS 0x6C50 0x6770 0x1D90 0x7530 0x3A70 0x1430 0x1690 0x0D70>]
# D-pad version: lhz r0, [r3 - <VERS 0x752A 0x3A6A 0x142A 0x168A 0x6C4A 0x676A 0x1D8A 0x0D6A>]
lhz r0, [r3 - <VERS 0x752C 0x3A6C 0x142C 0x168C 0x6C4C 0x676C 0x1D8C 0x0D6C>]
lhz r5, [r3 - <VERS 0x7530 0x3A70 0x1430 0x1690 0x6C50 0x6770 0x1D90 0x0D70>]
and r5, r5, r6
andi. r0, r0, 0x3C00 # D-pad version: andi. r0, r0, 0x00F0
beqlr
@@ -152,7 +152,7 @@ four_palettes_hook2:
blr
four_palettes_hook3:
lis r12, 0x8044
ori r12, r12, <VERS 0xA858 0xACD8 0xE5D0 0x9AB8 0xC8D8 0xE940 0xE708 0xE3D0>
ori r12, r12, <VERS 0x9AB8 0xC8D8 0xE940 0xE708 0xA858 0xACD8 0xE5D0 0xE3D0>
lwz r4, [r3]
cmp r4, r12
rlwinm r3, r0, 0, 29, 29 # Original opcode
@@ -176,69 +176,69 @@ four_palettes_hook4_again:
four_palettes_end:
# Disable Photon Blast Palette Switching
.data <VERS 0x801B59E4 0x801B59E4 0x801B5B7C 0x801B55F8 0x801B5A4C 0x801B7BB8 0x801B5B18 0x801B6038>
.data <VERS 0x801B55F8 0x801B5A4C 0x801B7BB8 0x801B5B18 0x801B59E4 0x801B59E4 0x801B5B7C 0x801B6038>
.data 0x00000004
.address <VERS 0x801B59E4 0x801B59E4 0x801B5B7C 0x801B55F8 0x801B5A4C 0x801B7BB8 0x801B5B18 0x801B6038>
.address <VERS 0x801B55F8 0x801B5A4C 0x801B7BB8 0x801B5B18 0x801B59E4 0x801B59E4 0x801B5B7C 0x801B6038>
li r3, 0x0000
# Full Action List (Incl. Photon Blasts & Traps)
.data <VERS 0x801D8230 0x801D8230 0x801D8430 0x801D7DF8 0x801D8300 0x801D84BC 0x801D83CC 0x801D88EC>
.data <VERS 0x801D7DF8 0x801D8300 0x801D84BC 0x801D83CC 0x801D8230 0x801D8230 0x801D8430 0x801D88EC>
.data 0x00000004
.address <VERS 0x801D8230 0x801D8230 0x801D8430 0x801D7DF8 0x801D8300 0x801D84BC 0x801D83CC 0x801D88EC>
.address <VERS 0x801D7DF8 0x801D8300 0x801D84BC 0x801D83CC 0x801D8230 0x801D8230 0x801D8430 0x801D88EC>
bl full_action_list_hook1
.data <VERS 0x801CC038 0x801CC038 0x801CC238 0x801CBC1C 0x801CC108 0x801CD5FC 0x801CC1D4 0x801CC6F4>
.data <VERS 0x801CBC1C 0x801CC108 0x801CD5FC 0x801CC1D4 0x801CC038 0x801CC038 0x801CC238 0x801CC6F4>
.data 0x00000004
.address <VERS 0x801CC038 0x801CC038 0x801CC238 0x801CBC1C 0x801CC108 0x801CD5FC 0x801CC1D4 0x801CC6F4>
.address <VERS 0x801CBC1C 0x801CC108 0x801CD5FC 0x801CC1D4 0x801CC038 0x801CC038 0x801CC238 0x801CC6F4>
bl full_action_list_hook2
# Save Extra Palettes To Memory Card (Temp Slot 3)
.data <VERS 0x801FC2D8 0x801FC2D8 0x801FCB58 0x801FBC74 0x801FC380 0x801FD268 0x801FC8EC 0x801FCA54>
.data <VERS 0x801FBC74 0x801FC380 0x801FD268 0x801FC8EC 0x801FC2D8 0x801FC2D8 0x801FCB58 0x801FCA54>
.data 0x00000004
.address <VERS 0x801FC2D8 0x801FC2D8 0x801FCB58 0x801FBC74 0x801FC380 0x801FD268 0x801FC8EC 0x801FCA54>
.address <VERS 0x801FBC74 0x801FC380 0x801FD268 0x801FC8EC 0x801FC2D8 0x801FC2D8 0x801FCB58 0x801FCA54>
bl save_to_memcard_hook1
.data <VERS 0x801FFB14 0x801FFB14 0x8020048C 0x801FF318 0x801FFB8C 0x80200B88 0x80200158 0x802003F8>
.data <VERS 0x801FF318 0x801FFB8C 0x80200B88 0x80200158 0x801FFB14 0x801FFB14 0x8020048C 0x802003F8>
.data 0x00000004
.address <VERS 0x801FFB14 0x801FFB14 0x8020048C 0x801FF318 0x801FFB8C 0x80200B88 0x80200158 0x802003F8>
.address <VERS 0x801FF318 0x801FFB8C 0x80200B88 0x80200158 0x801FFB14 0x801FFB14 0x8020048C 0x802003F8>
bl save_to_memcard_hook2
.data <VERS 0x801FF030 0x801FF030 0x801FF978 0x801FE834 0x801FF0A8 0x80200040 0x801FF644 0x801FF914>
.data <VERS 0x801FE834 0x801FF0A8 0x80200040 0x801FF644 0x801FF030 0x801FF030 0x801FF978 0x801FF914>
.data 0x00000004
.address <VERS 0x801FF030 0x801FF030 0x801FF978 0x801FE834 0x801FF0A8 0x80200040 0x801FF644 0x801FF914>
.address <VERS 0x801FE834 0x801FF0A8 0x80200040 0x801FF644 0x801FF030 0x801FF030 0x801FF978 0x801FF914>
b save_to_memcard_hook3
# Have Four Action Button Palettes
.data <VERS 0x801D7A78 0x801D7A78 0x801D7C78 0x801D7640 0x801D7B48 0x801D7CC4 0x801D7C14 0x801D8134>
.data <VERS 0x801D7640 0x801D7B48 0x801D7CC4 0x801D7C14 0x801D7A78 0x801D7A78 0x801D7C78 0x801D8134>
.data 0x00000004
.address <VERS 0x801D7A78 0x801D7A78 0x801D7C78 0x801D7640 0x801D7B48 0x801D7CC4 0x801D7C14 0x801D8134>
.address <VERS 0x801D7640 0x801D7B48 0x801D7CC4 0x801D7C14 0x801D7A78 0x801D7A78 0x801D7C78 0x801D8134>
bl four_palettes_hook1
.data <VERS 0x802758C8 0x8027590C 0x80276D44 0x80275034 0x80275D70 0x80276DDC 0x80276B90 0x8027658C>
.data <VERS 0x80275034 0x80275D70 0x80276DDC 0x80276B90 0x802758C8 0x8027590C 0x80276D44 0x8027658C>
.data 0x00000004
.address <VERS 0x802758C8 0x8027590C 0x80276D44 0x80275034 0x80275D70 0x80276DDC 0x80276B90 0x8027658C>
.address <VERS 0x80275034 0x80275D70 0x80276DDC 0x80276B90 0x802758C8 0x8027590C 0x80276D44 0x8027658C>
bl four_palettes_hook2
.data <VERS 0x8024B440 0x8024B440 0x8024C59C 0x8024ABB8 0x8024B5E4 0x8024C1B0 0x8024C2D8 0x8024BDE4>
.data <VERS 0x8024ABB8 0x8024B5E4 0x8024C1B0 0x8024C2D8 0x8024B440 0x8024B440 0x8024C59C 0x8024BDE4>
.data 0x00000004
.address <VERS 0x8024B440 0x8024B440 0x8024C59C 0x8024ABB8 0x8024B5E4 0x8024C1B0 0x8024C2D8 0x8024BDE4>
.address <VERS 0x8024ABB8 0x8024B5E4 0x8024C1B0 0x8024C2D8 0x8024B440 0x8024B440 0x8024C59C 0x8024BDE4>
b four_palettes_hook3
.data <VERS 0x80334C3C 0x80334C80 0x8033675C 0x8033424C 0x803352B8 0x803367E0 0x80336588 0x80335BA0>
.data <VERS 0x8033424C 0x803352B8 0x803367E0 0x80336588 0x80334C3C 0x80334C80 0x8033675C 0x80335BA0>
.data 0x00000004
.address <VERS 0x80334C3C 0x80334C80 0x8033675C 0x8033424C 0x803352B8 0x803367E0 0x80336588 0x80335BA0>
.address <VERS 0x8033424C 0x803352B8 0x803367E0 0x80336588 0x80334C3C 0x80334C80 0x8033675C 0x80335BA0>
bl four_palettes_hook4
.data <VERS 0x802462C8 0x802462C8 0x802473F4 0x80245A7C 0x8024643C 0x80247510 0x80247130 0x80246C3C>
.data <VERS 0x80245A7C 0x8024643C 0x80247510 0x80247130 0x802462C8 0x802462C8 0x802473F4 0x80246C3C>
.data 0x00000008
.address <VERS 0x802462C8 0x802462C8 0x802473F4 0x80245A7C 0x8024643C 0x80247510 0x80247130 0x80246C3C>
.address <VERS 0x80245A7C 0x8024643C 0x80247510 0x80247130 0x802462C8 0x802462C8 0x802473F4 0x80246C3C>
lhz r0, [r31 + 0x004A] # D-pad version: lhz r0, [r31 + 0x0048]
rlwinm. r3, r0, 0, 24, 27 # D-pad version: rlwinm. r3, r0, 0, 18, 21
.data <VERS 0x80275928 0x8027596C 0x80276DA4 0x80275094 0x80275DD0 0x80276E3C 0x80276BF0 0x802765EC>
.data <VERS 0x80275094 0x80275DD0 0x80276E3C 0x80276BF0 0x80275928 0x8027596C 0x80276DA4 0x802765EC>
.data 0x00000008
.address <VERS 0x80275928 0x8027596C 0x80276DA4 0x80275094 0x80275DD0 0x80276E3C 0x80276BF0 0x802765EC>
.address <VERS 0x80275094 0x80275DD0 0x80276E3C 0x80276BF0 0x80275928 0x8027596C 0x80276DA4 0x802765EC>
lhz r0, [r31 + 0x004A] # D-pad version: lhz r0, [r31 + 0x0048]
rlwinm. r3, r0, 0, 24, 27 # D-pad version: rlwinm. r3, r0, 0, 18, 21
# Full Action List (Incl. Photon Blasts & Traps)
.data <VERS 0x802766F8 0x8027673C 0x80277B74 0x80275E64 0x80276BA0 0x80277C0C 0x802779C0 0x802773BC>
.data <VERS 0x80275E64 0x80276BA0 0x80277C0C 0x802779C0 0x802766F8 0x8027673C 0x80277B74 0x802773BC>
.data 0x00000004
.address <VERS 0x802766F8 0x8027673C 0x80277B74 0x80275E64 0x80276BA0 0x80277C0C 0x802779C0 0x802773BC>
.address <VERS 0x80275E64 0x80276BA0 0x80277C0C 0x802779C0 0x802766F8 0x8027673C 0x80277B74 0x802773BC>
subi r0, r3, 0x07E8
.data <VERS 0x8044BB3C 0x8044BFBC 0x8044F8B4 0x8044ADAC 0x8044DBCC 0x8044FC34 0x8044F9FC 0x8044F6B4>
.data <VERS 0x8044ADAC 0x8044DBCC 0x8044FC34 0x8044F9FC 0x8044BB3C 0x8044BFBC 0x8044F8B4 0x8044F6B4>
.data 0x00000034
.data 0x0004000D
.data 0x0004000E
@@ -255,7 +255,7 @@ four_palettes_end:
.data 0x00080000
# Save Extra Palettes To Memory Card (Temp Slot 3)
.data <VERS 0x8046DC5C 0x8046E0DC 0x80471ACC 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x80471804>
.data <VERS 0x8046CECC 0x8046FCEC 0x80471E4C 0x80471C14 0x8046DC5C 0x8046E0DC 0x80471ACC 0x80471804>
.data 0x00000004
.data 0xFFFFFFFF
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,47 +12,47 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x802ABDB8 0x802ABDFC 0x802AD338 0x802AB3FC 0x802AC2A4 0x802AD3D0 0x802AD184 0x802ACACC>
.data <VERS 0x802AB3FC 0x802AC2A4 0x802AD3D0 0x802AD184 0x802ABDB8 0x802ABDFC 0x802AD338 0x802ACACC>
.data 0x00000004
.data 0x3C8000FF
lis r4, 0x00FF
.data <VERS 0x802ABDCC 0x802ABE10 0x802AD34C 0x802AB410 0x802AC2B8 0x802AD3E4 0x802AD198 0x802ACAE0>
.data <VERS 0x802AB410 0x802AC2B8 0x802AD3E4 0x802AD198 0x802ABDCC 0x802ABE10 0x802AD34C 0x802ACAE0>
.data 0x00000004
.data 0x388000FF
li r4, 0x00FF
.data <VERS 0x802ABDE0 0x802ABE24 0x802AD360 0x802AB424 0x802AC2CC 0x802AD3F8 0x802AD1AC 0x802ACAF4>
.data <VERS 0x802AB424 0x802AC2CC 0x802AD3F8 0x802AD1AC 0x802ABDE0 0x802ABE24 0x802AD360 0x802ACAF4>
.data 0x00000004
.data 0x3884FF00
subi r4, r4, 0x0100
.data <VERS 0x804A26C8 0x804A2BA8 0x804A7168 0x804A1F18 0x804A5638 0x804A7AD8 0x804A7898 0x804A75E8>
.data <VERS 0x804A1F18 0x804A5638 0x804A7AD8 0x804A7898 0x804A26C8 0x804A2BA8 0x804A7168 0x804A75E8>
.data 0x00000008
.data 0x3F800000
.data 0x00000000
.float 1
.float 0
.data <VERS 0x804A26D8 0x804A2BB8 0x804A7178 0x804A1F28 0x804A5648 0x804A7AE8 0x804A78A8 0x804A75F8>
.data <VERS 0x804A1F28 0x804A5648 0x804A7AE8 0x804A78A8 0x804A26D8 0x804A2BB8 0x804A7178 0x804A75F8>
.data 0x00000008
.data 0x3F800000
.data 0x00000000
.float 1
.float 0
.data <VERS 0x804A26E8 0x804A2BC8 0x804A7188 0x804A1F38 0x804A5658 0x804A7AF8 0x804A78B8 0x804A7608>
.data <VERS 0x804A1F38 0x804A5658 0x804A7AF8 0x804A78B8 0x804A26E8 0x804A2BC8 0x804A7188 0x804A7608>
.data 0x0000000C
.data 0x3F800000
.data 0x3F800000
.data 0x00000000
.float 1
.float 1
.float 0
.data <VERS 0x804A26F8 0x804A2BD8 0x804A7198 0x804A1F48 0x804A5668 0x804A7B08 0x804A78C8 0x804A7618>
.data <VERS 0x804A1F48 0x804A5668 0x804A7B08 0x804A78C8 0x804A26F8 0x804A2BD8 0x804A7198 0x804A7618>
.data 0x00000004
.data 0x00000000
.float 0
.data <VERS 0x804A2700 0x804A2BE0 0x804A71A0 0x804A1F50 0x804A5670 0x804A7B10 0x804A78D0 0x804A7620>
.data <VERS 0x804A1F50 0x804A5670 0x804A7B10 0x804A78D0 0x804A2700 0x804A2BE0 0x804A71A0 0x804A7620>
.data 0x00000004
.data 0x3F800000
.float 1
.data <VERS 0x804A2708 0x804A2BE8 0x804A71A8 0x804A1F58 0x804A5678 0x804A7B18 0x804A78D8 0x804A7628>
.data <VERS 0x804A1F58 0x804A5678 0x804A7B18 0x804A78D8 0x804A2708 0x804A2BE8 0x804A71A8 0x804A7628>
.data 0x0000000C
.data 0x3ECCCCCD
.data 0x3DCCCCCD
.data 0x3DCCCCCD
.float 0.4
.float 0.1
.float 0.1
.data 0x00000000
.data 0x00000000
@@ -4,7 +4,7 @@
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
entry_ptr:
reloc0:
@@ -12,15 +12,15 @@ reloc0:
start:
.include WriteCodeBlocksGC
.data <VERS 0x802ABDE0 0x802ABE24 0x802AD360 0x802AB424 0x802AC2CC 0x802AD3F8 0x802AD1AC 0x802ACAF4>
.data <VERS 0x802AB424 0x802AC2CC 0x802AD3F8 0x802AD1AC 0x802ABDE0 0x802ABE24 0x802AD360 0x802ACAF4>
.data 0x00000004
.data 0x388000FF
li r4, 0xFF00
.data <VERS 0x804A26E8 0x804A2BC8 0x804A7188 0x804A1F38 0x804A5658 0x804A7AF8 0x804A78B8 0x804A7608>
.data <VERS 0x804A1F38 0x804A5658 0x804A7AF8 0x804A78B8 0x804A26E8 0x804A2BC8 0x804A7188 0x804A7608>
.data 0x0000000C
.data 0x00000000
.data 0x00000000
.data 0x3F800000
.float 0
.float 0
.float 1
.data 0x00000000
.data 0x00000000