make client functions parameterizable by version
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED381 # 8000C67C => bl +0x001ED380 /* 801F99FC */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F6240 # 8000C684 => b +0x000F6240 /* 801028C4 */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x4802721D # 8000C6B0 => bl +0x0002721C /* 800338CC */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E8F0 # 8000C6B8 => b +0x0010E8F0 /* 8011AFA8 */
|
||||
# region @ 801028C0 (4 bytes)
|
||||
.data 0x801028C0 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09DA0 # 801028C0 => b -0x000F6260 /* 8000C660 */
|
||||
# region @ 8011AFA4 (4 bytes)
|
||||
.data 0x8011AFA4 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF16EC # 8011AFA4 => b -0x0010E914 /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED381 # 8000C67C => bl +0x001ED380 /* 801F99FC */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F6240 # 8000C684 => b +0x000F6240 /* 801028C4 */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x4802721D # 8000C6B0 => bl +0x0002721C /* 800338CC */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E8F0 # 8000C6B8 => b +0x0010E8F0 /* 8011AFA8 */
|
||||
# region @ 801028C0 (4 bytes)
|
||||
.data 0x801028C0 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09DA0 # 801028C0 => b -0x000F6260 /* 8000C660 */
|
||||
# region @ 8011AFA4 (4 bytes)
|
||||
.data 0x8011AFA4 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF16EC # 8011AFA4 => b -0x0010E914 /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED511 # 8000C67C => bl +0x001ED510 /* 801F9B8C */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F6108 # 8000C684 => b +0x000F6108 /* 8010278C */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x480271E5 # 8000C6B0 => bl +0x000271E4 /* 80033894 */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E810 # 8000C6B8 => b +0x0010E810 /* 8011AEC8 */
|
||||
# region @ 80102788 (4 bytes)
|
||||
.data 0x80102788 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09ED8 # 80102788 => b -0x000F6128 /* 8000C660 */
|
||||
# region @ 8011AEC4 (4 bytes)
|
||||
.data 0x8011AEC4 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF17CC # 8011AEC4 => b -0x0010E834 /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ECE15 # 8000C67C => bl +0x001ECE14 /* 801F9490 */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F5F9C # 8000C684 => b +0x000F5F9C /* 80102620 */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x48026FFD # 8000C6B0 => bl +0x00026FFC /* 800336AC */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E64C # 8000C6B8 => b +0x0010E64C /* 8011AD04 */
|
||||
# region @ 8010261C (4 bytes)
|
||||
.data 0x8010261C # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF0A044 # 8010261C => b -0x000F5FBC /* 8000C660 */
|
||||
# region @ 8011AD00 (4 bytes)
|
||||
.data 0x8011AD00 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF1990 # 8011AD00 => b -0x0010E670 /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED4B1 # 8000C67C => bl +0x001ED4B0 /* 801F9B2C */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F6178 # 8000C684 => b +0x000F6178 /* 801027FC */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x4802702D # 8000C6B0 => bl +0x0002702C /* 800336DC */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E868 # 8000C6B8 => b +0x0010E868 /* 8011AF20 */
|
||||
# region @ 801027F8 (4 bytes)
|
||||
.data 0x801027F8 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09E68 # 801027F8 => b -0x000F6198 /* 8000C660 */
|
||||
# region @ 8011AF1C (4 bytes)
|
||||
.data 0x8011AF1C # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF1774 # 8011AF1C => b -0x0010E88C /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED709 # 8000C67C => bl +0x001ED708 /* 801F9D84 */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F6788 # 8000C684 => b +0x000F6788 /* 80102E0C */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x48027049 # 8000C6B0 => bl +0x00027048 /* 800336F8 */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810EA38 # 8000C6B8 => b +0x0010EA38 /* 8011B0F0 */
|
||||
# region @ 80102E08 (4 bytes)
|
||||
.data 0x80102E08 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09858 # 80102E08 => b -0x000F67A8 /* 8000C660 */
|
||||
# region @ 8011B0EC (4 bytes)
|
||||
.data 0x8011B0EC # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF15A4 # 8011B0EC => b -0x0010EA5C /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481ED4BD # 8000C67C => bl +0x001ED4BC /* 801F9B38 */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F60F8 # 8000C684 => b +0x000F60F8 /* 8010277C */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x48026FDD # 8000C6B0 => bl +0x00026FDC /* 8003368C */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E800 # 8000C6B8 => b +0x0010E800 /* 8011AEB8 */
|
||||
# region @ 80102778 (4 bytes)
|
||||
.data 0x80102778 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09EE8 # 80102778 => b -0x000F6118 /* 8000C660 */
|
||||
# region @ 8011AEB4 (4 bytes)
|
||||
.data 0x8011AEB4 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF17DC # 8011AEB4 => b -0x0010E824 /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -1,49 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 @ 8000C660 (40 bytes)
|
||||
.data 0x8000C660 # address
|
||||
.data 0x00000028 # size
|
||||
.data 0x881F00EF # 8000C660 => lbz r0, [r31 + 0x00EF]
|
||||
.data 0x28000004 # 8000C664 => cmplwi r0, 4
|
||||
.data 0x40820018 # 8000C668 => bne +0x00000018 /* 8000C680 */
|
||||
.data 0x387F0038 # 8000C66C => addi r3, r31, 0x0038
|
||||
.data 0x3C80FFFF # 8000C670 => lis r4, 0xFFFF
|
||||
.data 0x38A00001 # 8000C674 => li r5, 0x0001
|
||||
.data 0x38C00000 # 8000C678 => li r6, 0x0000
|
||||
.data 0x481EDA8D # 8000C67C => bl +0x001EDA8C /* 801FA108 */
|
||||
.data 0x7FE3FB78 # 8000C680 => mr r3, r31
|
||||
.data 0x480F62F8 # 8000C684 => b +0x000F62F8 /* 8010297C */
|
||||
# region @ 8000C690 (44 bytes)
|
||||
.data 0x8000C690 # address
|
||||
.data 0x0000002C # size
|
||||
.data 0x28030000 # 8000C690 => cmplwi r3, 0
|
||||
.data 0x41820020 # 8000C694 => beq +0x00000020 /* 8000C6B4 */
|
||||
.data 0x880300EF # 8000C698 => lbz r0, [r3 + 0x00EF]
|
||||
.data 0x28000004 # 8000C69C => cmplwi r0, 4
|
||||
.data 0x40820014 # 8000C6A0 => bne +0x00000014 /* 8000C6B4 */
|
||||
.data 0x3C600005 # 8000C6A4 => lis r3, 0x0005
|
||||
.data 0x60632813 # 8000C6A8 => ori r3, r3, 0x2813
|
||||
.data 0x38800000 # 8000C6AC => li r4, 0x0000
|
||||
.data 0x4802725D # 8000C6B0 => bl +0x0002725C /* 8003390C */
|
||||
.data 0x80010024 # 8000C6B4 => lwz r0, [r1 + 0x0024]
|
||||
.data 0x4810E9E8 # 8000C6B8 => b +0x0010E9E8 /* 8011B0A0 */
|
||||
# region @ 80102978 (4 bytes)
|
||||
.data 0x80102978 # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BF09CE8 # 80102978 => b -0x000F6318 /* 8000C660 */
|
||||
# region @ 8011B09C (4 bytes)
|
||||
.data 0x8011B09C # address
|
||||
.data 0x00000004 # size
|
||||
.data 0x4BEF15F4 # 8011B09C => b -0x0010EA0C /* 8000C690 */
|
||||
# end sentinel
|
||||
.data 0x00000000 # address
|
||||
.data 0x00000000 # size
|
||||
@@ -0,0 +1,51 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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 0x8000C660
|
||||
.data 0x00000028
|
||||
.data 0x881F00EF
|
||||
.data 0x28000004
|
||||
.data 0x40820018
|
||||
.data 0x387F0038
|
||||
.data 0x3C80FFFF
|
||||
.data 0x38A00001
|
||||
.data 0x38C00000
|
||||
.data <VERS 0x481ED381 0x481ED381 0x481ED511 0x481ECE15 0x481ED4B1 0x481ED709 0x481ED4BD 0x481EDA8D>
|
||||
.data 0x7FE3FB78
|
||||
.data <VERS 0x480F6240 0x480F6240 0x480F6108 0x480F5F9C 0x480F6178 0x480F6788 0x480F60F8 0x480F62F8>
|
||||
|
||||
.data 0x8000C690
|
||||
.data 0x0000002C
|
||||
.data 0x28030000
|
||||
.data 0x41820020
|
||||
.data 0x880300EF
|
||||
.data 0x28000004
|
||||
.data 0x40820014
|
||||
.data 0x3C600005
|
||||
.data 0x60632813
|
||||
.data 0x38800000
|
||||
.data <VERS 0x4802721D 0x4802721D 0x480271E5 0x48026FFD 0x4802702D 0x48027049 0x48026FDD 0x4802725D>
|
||||
.data 0x80010024
|
||||
.data <VERS 0x4810E8F0 0x4810E8F0 0x4810E810 0x4810E64C 0x4810E868 0x4810EA38 0x4810E800 0x4810E9E8>
|
||||
|
||||
.data <VERS 0x801028C0 0x801028C0 0x80102788 0x8010261C 0x801027F8 0x80102E08 0x80102778 0x80102978>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BF09DA0 0x4BF09DA0 0x4BF09ED8 0x4BF0A044 0x4BF09E68 0x4BF09858 0x4BF09EE8 0x4BF09CE8>
|
||||
|
||||
.data <VERS 0x8011AFA4 0x8011AFA4 0x8011AEC4 0x8011AD00 0x8011AF1C 0x8011B0EC 0x8011AEB4 0x8011B09C>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEF16EC 0x4BEF16EC 0x4BEF17CC 0x4BEF1990 0x4BEF1774 0x4BEF15A4 0x4BEF17DC 0x4BEF15F4>
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172360
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172385
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x001725E2
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16ED86 # 002E1370 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (001725F0)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188578
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188A92
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188AD1
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x1628DA # 002EB3B0 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172220
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172245
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x001724A2
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16CA96 # 002DEF40 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (001724B0)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188388
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x001888A2
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x001888E1
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x16094A # 002E9230 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172310
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172335
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x00172592
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16D526 # 002DFAC0 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (001725A0)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188548
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188A62
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188AA1
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x16130A # 002E9DB0 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x001723F0
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172415
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x00172672
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16ECD6 # 002E1350 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (00172680)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188648
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188B62
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188BA1
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x1627EA # 002EB390 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172370
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172395
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x001725F2
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16E8D6 # 002E0ED0 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (00172600)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188558
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188A72
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188AB1
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x16270A # 002EB1C0 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,86 +0,0 @@
|
||||
.meta name="Rare alerts"
|
||||
.meta description="Shows rare items on\nthe map and plays a\nsound when a rare\nitem drops"
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172320
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
jne +0x280 # skip_dot
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172345
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
push 0x01
|
||||
push 0xFFFFFFFF # White
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x001725A2
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16EDF6 # 002E13A0 = minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (001725B0)
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188538
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
pop edi # From original function
|
||||
pop esi # From original function
|
||||
add esp, 0xC # From original function
|
||||
test eax, eax
|
||||
je fail # Item does not exist (was on a different floor)
|
||||
cmp byte [eax + 0xEF], 0x4
|
||||
je +0x503 # sound2_start
|
||||
fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188A52
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push ecx
|
||||
push 0x0000055E
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188A91
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x16294A # 002EB3E0 => play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
+11
-9
@@ -5,6 +5,8 @@
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
||||
# Xbox port by fuzziqersoftware
|
||||
|
||||
.versions 4OED 4OEU 4OJB 4OJD 4OJU 4OPD 4OPU
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
@@ -15,7 +17,7 @@ start:
|
||||
|
||||
# Map dot render hook
|
||||
|
||||
.data 0x00172350
|
||||
.data <VERS 0x00172350 0x00172360 0x00172220 0x00172310 0x001723F0 0x00172370 0x00172320>
|
||||
.deltaof dot1_start, dot1_end
|
||||
dot1_start:
|
||||
cmp byte [esi + 0x000000EF], 0x4
|
||||
@@ -23,7 +25,7 @@ dot1_start:
|
||||
jmp +0x16 # dot2_start
|
||||
dot1_end:
|
||||
|
||||
.data 0x00172375
|
||||
.data <VERS 0x00172375 0x00172385 0x00172245 0x00172335 0x00172415 0x00172395 0x00172345>
|
||||
.deltaof dot2_start, dot2_end
|
||||
dot2_start:
|
||||
push 0x00
|
||||
@@ -32,23 +34,23 @@ dot2_start:
|
||||
jmp +0x252 # dot3_start
|
||||
dot2_end:
|
||||
|
||||
.data 0x001725D2
|
||||
.data <VERS 0x001725D2 0x001725E2 0x001724A2 0x00172592 0x00172672 0x001725F2 0x001725A2>
|
||||
.deltaof dot3_start, dot3_end
|
||||
dot3_start:
|
||||
lea edx, [esi + 0x38]
|
||||
call +0x16E8C6 # 002E0EA0 = minimap_render_dot
|
||||
call <VERS +0x16E8C6 +0x16ED86 +0x16CA96 +0x16D526 +0x16ECD6 +0x16E8D6 +0x16EDF6> # minimap_render_dot
|
||||
add esp, 0xC
|
||||
skip_dot:
|
||||
mov eax, esi
|
||||
pop esi
|
||||
# Falls through to the original tail-call-optimized target (001725E0)
|
||||
# Falls through to the original tail-call-optimized target
|
||||
dot3_end:
|
||||
|
||||
|
||||
|
||||
# Notification sound hook
|
||||
|
||||
.data 0x00188538
|
||||
.data <VERS 0x00188538 0x00188578 0x00188388 0x00188548 0x00188648 0x00188558 0x00188538>
|
||||
.deltaof sound1_start, sound1_end
|
||||
sound1_start:
|
||||
pop edi # From original function; shorter replacement for add esp, 4
|
||||
@@ -63,7 +65,7 @@ fail:
|
||||
ret
|
||||
sound1_end:
|
||||
|
||||
.data 0x00188A52
|
||||
.data <VERS 0x00188A52 0x00188A92 0x001888A2 0x00188A62 0x00188B62 0x00188A72 0x00188A52>
|
||||
.deltaof sound2_start, sound2_end
|
||||
sound2_start:
|
||||
xor ecx, ecx
|
||||
@@ -74,10 +76,10 @@ sound2_start:
|
||||
jmp +0x33 # sound3_start
|
||||
sound2_end:
|
||||
|
||||
.data 0x00188A91
|
||||
.data <VERS 0x00188A91 0x00188AD1 0x001888E1 0x00188AA1 0x00188BA1 0x00188AB1 0x00188A91>
|
||||
.deltaof sound3_start, sound3_end
|
||||
sound3_start:
|
||||
call +0x1626FA # 002EB190 => play_sound(0x55E, nullptr, 0, 0);
|
||||
call <VERS +0x1626FA +0x1628DA +0x16094A +0x16130A +0x1627EA +0x16270A +0x16294A> # play_sound(0x55E, nullptr, 0, 0);
|
||||
add esp, 0x10
|
||||
ret
|
||||
sound3_end:
|
||||
Reference in New Issue
Block a user