make client functions parameterizable by version

This commit is contained in:
Martin Michelsen
2025-06-01 20:50:48 -07:00
parent 1a6b26e56b
commit bee4c55446
453 changed files with 3636 additions and 21378 deletions
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 803515F4 (152 bytes)
.data 0x803515F4 # address
.data 0x00000098 # size
.data 0x880300EE # 803515F4 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 803515F8 => cmplwi r0, 11
.data 0x40820144 # 803515FC => bne +0x00000144 /* 80351740 */
.data 0x83E300F0 # 80351600 => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80351604 => li r0, 0x0000
.data 0x60000000 # 80351608 => nop
.data 0x38800374 # 8035160C => li r4, 0x0374
.data 0x38A00D38 # 80351610 => li r5, 0x0D38
.data 0x48000059 # 80351614 => bl +0x00000058 /* 8035166C */
.data 0x38A00D3A # 80351618 => li r5, 0x0D3A
.data 0x48000051 # 8035161C => bl +0x00000050 /* 8035166C */
.data 0x38A00D3C # 80351620 => li r5, 0x0D3C
.data 0x48000049 # 80351624 => bl +0x00000048 /* 8035166C */
.data 0x38A00D40 # 80351628 => li r5, 0x0D40
.data 0x48000041 # 8035162C => bl +0x00000040 /* 8035166C */
.data 0x38A00D44 # 80351630 => li r5, 0x0D44
.data 0x48000039 # 80351634 => bl +0x00000038 /* 8035166C */
.data 0x7FE3FB78 # 80351638 => mr r3, r31
.data 0x4BE64BD9 # 8035163C => bl -0x0019B428 /* 801B6214 */
.data 0xA01F032C # 80351640 => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80351644 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80351648 => cmpl r0, r3
.data 0x40810008 # 8035164C => ble +0x00000008 /* 80351654 */
.data 0xB07F032C # 80351650 => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80351654 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80351658 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 8035165C => cmpl r0, r3
.data 0x40810008 # 80351660 => ble +0x00000008 /* 80351668 */
.data 0xB07F032E # 80351664 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80351668 => b +0x000000D8 /* 80351740 */
.data 0x7CDF20AE # 8035166C => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 80351670 => lhzx r7, [r31 + r5]
.data 0x54C6083C # 80351674 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 80351678 => subf r7, r6, r7
.data 0x7CFF2B2E # 8035167C => sthx [r31 + r5], r7
.data 0x7C1F21AE # 80351680 => stbx [r31 + r4], r0
.data 0x38840001 # 80351684 => addi r4, r4, 0x0001
.data 0x4E800020 # 80351688 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80351638 (152 bytes)
.data 0x80351638 # address
.data 0x00000098 # size
.data 0x880300EE # 80351638 => lbz r0, [r3 + 0x00EE] # data1_2
.data 0x2800000B # 8035163C => cmplwi r0, 11
.data 0x40820144 # 80351640 => bne +0x00000144 /* 80351784 */
.data 0x83E300F0 # 80351644 => lwz r31, [r3 + 0x00F0] # r31 = owner_player
.data 0x38000000 # 80351648 => li r0, 0x0000
.data 0x60000000 # 8035164C => nop
.data 0x38800374 # 80351650 => li r4, 0x0374 # material_usage
.data 0x38A00D38 # 80351654 => li r5, 0x0D38 # stats.char_stats.atp
.data 0x48000059 # 80351658 => bl +0x00000058 /* 803516B0 */
.data 0x38A00D3A # 8035165C => li r5, 0x0D3A # stats.char_stats.mst
.data 0x48000051 # 80351660 => bl +0x00000050 /* 803516B0 */
.data 0x38A00D3C # 80351664 => li r5, 0x0D3C # stats.char_stats.evp
.data 0x48000049 # 80351668 => bl +0x00000048 /* 803516B0 */
.data 0x38A00D40 # 8035166C => li r5, 0x0D40 # stats.char_stats.dfp
.data 0x48000041 # 80351670 => bl +0x00000040 /* 803516B0 */
.data 0x38A00D44 # 80351674 => li r5, 0x0D44 # stats.char_stats.lck
.data 0x48000039 # 80351678 => bl +0x00000038 /* 803516B0 */
.data 0x7FE3FB78 # 8035167C => mr r3, r31
.data 0x4BE64B95 # 80351680 => bl -0x0019B46C /* 801B6214 */
.data 0xA01F032C # 80351684 => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80351688 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 8035168C => cmpl r0, r3
.data 0x40810008 # 80351690 => ble +0x00000008 /* 80351698 */
.data 0xB07F032C # 80351694 => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80351698 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 8035169C => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 803516A0 => cmpl r0, r3
.data 0x40810008 # 803516A4 => ble +0x00000008 /* 803516AC */
.data 0xB07F032E # 803516A8 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 803516AC => b +0x000000D8 /* 80351784 */
.data 0x7CDF20AE # 803516B0 => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 803516B4 => lhzx r7, [r31 + r5]
.data 0x54C6083C # 803516B8 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 803516BC => subf r7, r6, r7
.data 0x7CFF2B2E # 803516C0 => sthx [r31 + r5], r7
.data 0x7C1F21AE # 803516C4 => stbx [r31 + r4], r0
.data 0x38840001 # 803516C8 => addi r4, r4, 0x0001
.data 0x4E800020 # 803516CC => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80353220 (152 bytes)
.data 0x80353220 # address
.data 0x00000098 # size
.data 0x880300EE # 80353220 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 80353224 => cmplwi r0, 11
.data 0x40820144 # 80353228 => bne +0x00000144 /* 8035336C */
.data 0x83E300F0 # 8035322C => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80353230 => li r0, 0x0000
.data 0x60000000 # 80353234 => nop
.data 0x38800374 # 80353238 => li r4, 0x0374
.data 0x38A00D38 # 8035323C => li r5, 0x0D38
.data 0x48000059 # 80353240 => bl +0x00000058 /* 80353298 */
.data 0x38A00D3A # 80353244 => li r5, 0x0D3A
.data 0x48000051 # 80353248 => bl +0x00000050 /* 80353298 */
.data 0x38A00D3C # 8035324C => li r5, 0x0D3C
.data 0x48000049 # 80353250 => bl +0x00000048 /* 80353298 */
.data 0x38A00D40 # 80353254 => li r5, 0x0D40
.data 0x48000041 # 80353258 => bl +0x00000040 /* 80353298 */
.data 0x38A00D44 # 8035325C => li r5, 0x0D44
.data 0x48000039 # 80353260 => bl +0x00000038 /* 80353298 */
.data 0x7FE3FB78 # 80353264 => mr r3, r31
.data 0x4BE63145 # 80353268 => bl -0x0019CEBC /* 801B63AC */
.data 0xA01F032C # 8035326C => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80353270 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80353274 => cmpl r0, r3
.data 0x40810008 # 80353278 => ble +0x00000008 /* 80353280 */
.data 0xB07F032C # 8035327C => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80353280 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80353284 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 80353288 => cmpl r0, r3
.data 0x40810008 # 8035328C => ble +0x00000008 /* 80353294 */
.data 0xB07F032E # 80353290 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80353294 => b +0x000000D8 /* 8035336C */
.data 0x7CDF20AE # 80353298 => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 8035329C => lhzx r7, [r31 + r5]
.data 0x54C6083C # 803532A0 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 803532A4 => subf r7, r6, r7
.data 0x7CFF2B2E # 803532A8 => sthx [r31 + r5], r7
.data 0x7C1F21AE # 803532AC => stbx [r31 + r4], r0
.data 0x38840001 # 803532B0 => addi r4, r4, 0x0001
.data 0x4E800020 # 803532B4 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80350740 (152 bytes)
.data 0x80350740 # address
.data 0x00000098 # size
.data 0x880300EE # 80350740 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 80350744 => cmplwi r0, 11
.data 0x40820144 # 80350748 => bne +0x00000144 /* 8035088C */
.data 0x83E300F0 # 8035074C => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80350750 => li r0, 0x0000
.data 0x60000000 # 80350754 => nop
.data 0x38800374 # 80350758 => li r4, 0x0374
.data 0x38A00D38 # 8035075C => li r5, 0x0D38
.data 0x48000059 # 80350760 => bl +0x00000058 /* 803507B8 */
.data 0x38A00D3A # 80350764 => li r5, 0x0D3A
.data 0x48000051 # 80350768 => bl +0x00000050 /* 803507B8 */
.data 0x38A00D3C # 8035076C => li r5, 0x0D3C
.data 0x48000049 # 80350770 => bl +0x00000048 /* 803507B8 */
.data 0x38A00D40 # 80350774 => li r5, 0x0D40
.data 0x48000041 # 80350778 => bl +0x00000040 /* 803507B8 */
.data 0x38A00D44 # 8035077C => li r5, 0x0D44
.data 0x48000039 # 80350780 => bl +0x00000038 /* 803507B8 */
.data 0x7FE3FB78 # 80350784 => mr r3, r31
.data 0x4BE656A1 # 80350788 => bl -0x0019A960 /* 801B5E28 */
.data 0xA01F032C # 8035078C => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80350790 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80350794 => cmpl r0, r3
.data 0x40810008 # 80350798 => ble +0x00000008 /* 803507A0 */
.data 0xB07F032C # 8035079C => sth [r31 + 0x032C], r3
.data 0xA01F032E # 803507A0 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 803507A4 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 803507A8 => cmpl r0, r3
.data 0x40810008 # 803507AC => ble +0x00000008 /* 803507B4 */
.data 0xB07F032E # 803507B0 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 803507B4 => b +0x000000D8 /* 8035088C */
.data 0x7CDF20AE # 803507B8 => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 803507BC => lhzx r7, [r31 + r5]
.data 0x54C6083C # 803507C0 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 803507C4 => subf r7, r6, r7
.data 0x7CFF2B2E # 803507C8 => sthx [r31 + r5], r7
.data 0x7C1F21AE # 803507CC => stbx [r31 + r4], r0
.data 0x38840001 # 803507D0 => addi r4, r4, 0x0001
.data 0x4E800020 # 803507D4 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80351B44 (152 bytes)
.data 0x80351B44 # address
.data 0x00000098 # size
.data 0x880300EE # 80351B44 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 80351B48 => cmplwi r0, 11
.data 0x40820144 # 80351B4C => bne +0x00000144 /* 80351C90 */
.data 0x83E300F0 # 80351B50 => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80351B54 => li r0, 0x0000
.data 0x60000000 # 80351B58 => nop
.data 0x38800374 # 80351B5C => li r4, 0x0374
.data 0x38A00D38 # 80351B60 => li r5, 0x0D38
.data 0x48000059 # 80351B64 => bl +0x00000058 /* 80351BBC */
.data 0x38A00D3A # 80351B68 => li r5, 0x0D3A
.data 0x48000051 # 80351B6C => bl +0x00000050 /* 80351BBC */
.data 0x38A00D3C # 80351B70 => li r5, 0x0D3C
.data 0x48000049 # 80351B74 => bl +0x00000048 /* 80351BBC */
.data 0x38A00D40 # 80351B78 => li r5, 0x0D40
.data 0x48000041 # 80351B7C => bl +0x00000040 /* 80351BBC */
.data 0x38A00D44 # 80351B80 => li r5, 0x0D44
.data 0x48000039 # 80351B84 => bl +0x00000038 /* 80351BBC */
.data 0x7FE3FB78 # 80351B88 => mr r3, r31
.data 0x4BE646F1 # 80351B8C => bl -0x0019B910 /* 801B627C */
.data 0xA01F032C # 80351B90 => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80351B94 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80351B98 => cmpl r0, r3
.data 0x40810008 # 80351B9C => ble +0x00000008 /* 80351BA4 */
.data 0xB07F032C # 80351BA0 => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80351BA4 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80351BA8 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 80351BAC => cmpl r0, r3
.data 0x40810008 # 80351BB0 => ble +0x00000008 /* 80351BB8 */
.data 0xB07F032E # 80351BB4 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80351BB8 => b +0x000000D8 /* 80351C90 */
.data 0x7CDF20AE # 80351BBC => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 80351BC0 => lhzx r7, [r31 + r5]
.data 0x54C6083C # 80351BC4 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 80351BC8 => subf r7, r6, r7
.data 0x7CFF2B2E # 80351BCC => sthx [r31 + r5], r7
.data 0x7C1F21AE # 80351BD0 => stbx [r31 + r4], r0
.data 0x38840001 # 80351BD4 => addi r4, r4, 0x0001
.data 0x4E800020 # 80351BD8 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 803530A0 (152 bytes)
.data 0x803530A0 # address
.data 0x00000098 # size
.data 0x880300EE # 803530A0 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 803530A4 => cmplwi r0, 11
.data 0x40820144 # 803530A8 => bne +0x00000144 /* 803531EC */
.data 0x83E300F0 # 803530AC => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 803530B0 => li r0, 0x0000
.data 0x60000000 # 803530B4 => nop
.data 0x38800374 # 803530B8 => li r4, 0x0374
.data 0x38A00D38 # 803530BC => li r5, 0x0D38
.data 0x48000059 # 803530C0 => bl +0x00000058 /* 80353118 */
.data 0x38A00D3A # 803530C4 => li r5, 0x0D3A
.data 0x48000051 # 803530C8 => bl +0x00000050 /* 80353118 */
.data 0x38A00D3C # 803530CC => li r5, 0x0D3C
.data 0x48000049 # 803530D0 => bl +0x00000048 /* 80353118 */
.data 0x38A00D40 # 803530D4 => li r5, 0x0D40
.data 0x48000041 # 803530D8 => bl +0x00000040 /* 80353118 */
.data 0x38A00D44 # 803530DC => li r5, 0x0D44
.data 0x48000039 # 803530E0 => bl +0x00000038 /* 80353118 */
.data 0x7FE3FB78 # 803530E4 => mr r3, r31
.data 0x4BE654CD # 803530E8 => bl -0x0019AB34 /* 801B85B4 */
.data 0xA01F032C # 803530EC => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 803530F0 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 803530F4 => cmpl r0, r3
.data 0x40810008 # 803530F8 => ble +0x00000008 /* 80353100 */
.data 0xB07F032C # 803530FC => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80353100 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80353104 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 80353108 => cmpl r0, r3
.data 0x40810008 # 8035310C => ble +0x00000008 /* 80353114 */
.data 0xB07F032E # 80353110 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80353114 => b +0x000000D8 /* 803531EC */
.data 0x7CDF20AE # 80353118 => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 8035311C => lhzx r7, [r31 + r5]
.data 0x54C6083C # 80353120 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 80353124 => subf r7, r6, r7
.data 0x7CFF2B2E # 80353128 => sthx [r31 + r5], r7
.data 0x7C1F21AE # 8035312C => stbx [r31 + r4], r0
.data 0x38840001 # 80353130 => addi r4, r4, 0x0001
.data 0x4E800020 # 80353134 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80352E54 (152 bytes)
.data 0x80352E54 # address
.data 0x00000098 # size
.data 0x880300EE # 80352E54 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 80352E58 => cmplwi r0, 11
.data 0x40820144 # 80352E5C => bne +0x00000144 /* 80352FA0 */
.data 0x83E300F0 # 80352E60 => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80352E64 => li r0, 0x0000
.data 0x60000000 # 80352E68 => nop
.data 0x38800374 # 80352E6C => li r4, 0x0374
.data 0x38A00D38 # 80352E70 => li r5, 0x0D38
.data 0x48000059 # 80352E74 => bl +0x00000058 /* 80352ECC */
.data 0x38A00D3A # 80352E78 => li r5, 0x0D3A
.data 0x48000051 # 80352E7C => bl +0x00000050 /* 80352ECC */
.data 0x38A00D3C # 80352E80 => li r5, 0x0D3C
.data 0x48000049 # 80352E84 => bl +0x00000048 /* 80352ECC */
.data 0x38A00D40 # 80352E88 => li r5, 0x0D40
.data 0x48000041 # 80352E8C => bl +0x00000040 /* 80352ECC */
.data 0x38A00D44 # 80352E90 => li r5, 0x0D44
.data 0x48000039 # 80352E94 => bl +0x00000038 /* 80352ECC */
.data 0x7FE3FB78 # 80352E98 => mr r3, r31
.data 0x4BE634AD # 80352E9C => bl -0x0019CB54 /* 801B6348 */
.data 0xA01F032C # 80352EA0 => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80352EA4 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80352EA8 => cmpl r0, r3
.data 0x40810008 # 80352EAC => ble +0x00000008 /* 80352EB4 */
.data 0xB07F032C # 80352EB0 => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80352EB4 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80352EB8 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 80352EBC => cmpl r0, r3
.data 0x40810008 # 80352EC0 => ble +0x00000008 /* 80352EC8 */
.data 0xB07F032E # 80352EC4 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80352EC8 => b +0x000000D8 /* 80352FA0 */
.data 0x7CDF20AE # 80352ECC => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 80352ED0 => lhzx r7, [r31 + r5]
.data 0x54C6083C # 80352ED4 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 80352ED8 => subf r7, r6, r7
.data 0x7CFF2B2E # 80352EDC => sthx [r31 + r5], r7
.data 0x7C1F21AE # 80352EE0 => stbx [r31 + r4], r0
.data 0x38840001 # 80352EE4 => addi r4, r4, 0x0001
.data 0x4E800020 # 80352EE8 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -1,55 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 80352614 (152 bytes)
.data 0x80352614 # address
.data 0x00000098 # size
.data 0x880300EE # 80352614 => lbz r0, [r3 + 0x00EE]
.data 0x2800000B # 80352618 => cmplwi r0, 11
.data 0x40820144 # 8035261C => bne +0x00000144 /* 80352760 */
.data 0x83E300F0 # 80352620 => lwz r31, [r3 + 0x00F0]
.data 0x38000000 # 80352624 => li r0, 0x0000
.data 0x60000000 # 80352628 => nop
.data 0x38800374 # 8035262C => li r4, 0x0374
.data 0x38A00D38 # 80352630 => li r5, 0x0D38
.data 0x48000059 # 80352634 => bl +0x00000058 /* 8035268C */
.data 0x38A00D3A # 80352638 => li r5, 0x0D3A
.data 0x48000051 # 8035263C => bl +0x00000050 /* 8035268C */
.data 0x38A00D3C # 80352640 => li r5, 0x0D3C
.data 0x48000049 # 80352644 => bl +0x00000048 /* 8035268C */
.data 0x38A00D40 # 80352648 => li r5, 0x0D40
.data 0x48000041 # 8035264C => bl +0x00000040 /* 8035268C */
.data 0x38A00D44 # 80352650 => li r5, 0x0D44
.data 0x48000039 # 80352654 => bl +0x00000038 /* 8035268C */
.data 0x7FE3FB78 # 80352658 => mr r3, r31
.data 0x4BE6420D # 8035265C => bl -0x0019BDF4 /* 801B6868 */
.data 0xA01F032C # 80352660 => lhz r0, [r31 + 0x032C]
.data 0xA07F02B8 # 80352664 => lhz r3, [r31 + 0x02B8]
.data 0x7C001840 # 80352668 => cmpl r0, r3
.data 0x40810008 # 8035266C => ble +0x00000008 /* 80352674 */
.data 0xB07F032C # 80352670 => sth [r31 + 0x032C], r3
.data 0xA01F032E # 80352674 => lhz r0, [r31 + 0x032E]
.data 0xA07F02BA # 80352678 => lhz r3, [r31 + 0x02BA]
.data 0x7C001840 # 8035267C => cmpl r0, r3
.data 0x40810008 # 80352680 => ble +0x00000008 /* 80352688 */
.data 0xB07F032E # 80352684 => sth [r31 + 0x032E], r3
.data 0x480000D8 # 80352688 => b +0x000000D8 /* 80352760 */
.data 0x7CDF20AE # 8035268C => lbzx r6, [r31 + r4]
.data 0x7CFF2A2E # 80352690 => lhzx r7, [r31 + r5]
.data 0x54C6083C # 80352694 => rlwinm r6, r6, 1, 0, 30
.data 0x7CE63850 # 80352698 => subf r7, r6, r7
.data 0x7CFF2B2E # 8035269C => sthx [r31 + r5], r7
.data 0x7C1F21AE # 803526A0 => stbx [r31 + r4], r0
.data 0x38840001 # 803526A4 => addi r4, r4, 0x0001
.data 0x4E800020 # 803526A8 => blr
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -0,0 +1,58 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# 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
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
.data <VERS 0x803515F4 0x80351638 0x80353220 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x80352614>
.data 0x00000098
.address <VERS 0x803515F4 0x80351638 0x80353220 0x80350740 0x80351B44 0x803530A0 0x80352E54 0x80352614>
lbz r0, [r3 + 0xEE]
cmplwi r0, 11
bne +0x144
lwz r31, [r3 + 0xF0]
li r0, 0
nop
li r4, 0x0374
li r5, 0x0D38
bl +0x58
li r5, 0x0D3A
bl +0x50
li r5, 0x0D3C
bl +0x48
li r5, 0x0D40
bl +0x40
li r5, 0x0D44
bl +0x38
mr r3, r31
.data <VERS 0x4BE64BD9 0x4BE64B95 0x4BE63145 0x4BE656A1 0x4BE646F1 0x4BE654CD 0x4BE634AD 0x4BE6420D>
lhz r0, [r31 + 0x032C]
lhz r3, [r31 + 0x02B8]
cmpl r0, r3
ble +0x08
sth [r31 + 0x032C], r3
lhz r0, [r31 + 0x032E]
lhz r3, [r31 + 0x02BA]
cmpl r0, r3
ble +0x08
sth [r31 + 0x032E], r3
b +0xD8
lbzx r6, [r31 + r4]
lhzx r7, [r31 + r5]
rlwinm r6, r6, 1, 0, 30
subf r7, r6, r7
sthx [r31 + r5], r7
stbx [r31 + r4], r0
addi r4, r4, 0x0001
blr
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184340
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184341
.data 0x00000004
.data 0x001FD5E0
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184310
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184311
.data 0x00000004
.data 0x001FD5E0
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184160
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184161
.data 0x00000004
.data 0x001FD3D0
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184350
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184351
.data 0x00000004
.data 0x001FD530
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184400
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184401
.data 0x00000004
.data 0x001FD7B0
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x00184360
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x00184361
.data 0x00000004
.data 0x001FD600
.data 0x00000000
.data 0x00000000
@@ -1,22 +0,0 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data 0x001842D0
.deltaof code_start, code_end
code_start:
.include DecoctionXB
code_end:
.data 0x001842D1
.data 0x00000004
.data 0x001FD670
.data 0x00000000
.data 0x00000000
@@ -1,4 +1,20 @@
.meta name="Decoction"
.meta description="Makes the Decoction\nitem reset your\nmaterial usage"
# Original code by Ralf @ GC-Forever and Aleron Ives
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
# Xbox port by fuzziqersoftware
.versions 4OJB 4OJD 4OJU 4OED 4OEU 4OPD 4OPU
entry_ptr:
reloc0:
.offsetof start
start:
.include WriteCodeBlocksXB
.data <VERS 0x00184160 0x00184350 0x00184400 0x00184340 0x00184310 0x00184360 0x001842D0>
.deltaof code_start, code_end
code_start:
mov eax, 0x88888888 # eax = &player_compute_implied_stats (the value is overwritten by the including patch)
lea edx, [ecx + 0x78]
cmp byte [edx + 0x76], 11 # this->data1[2] (item+0xEE) ?= 0x0B
@@ -44,3 +60,10 @@ next_stat:
pop esi
skip_all:
ret
code_end:
.data <VERS 0x00184161 0x00184351 0x00184401 0x00184341 0x00184311 0x00184361 0x001842D1>
.data 0x00000004
.data <VERS 0x001FD3D0 0x001FD530 0x001FD7B0 0x001FD5E0 0x001FD5E0 0x001FD600 0x001FD670>
.data 0x00000000
.data 0x00000000