diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OE0.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OE0.patch.s index 094180ec..b2b9054d 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OE0.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OE0.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA06393B0 # 8000D6A4 => lhz r3, [r3 - 0x6C50] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825B1C0 # 8000D6B8 => b +0x0025B1C0 /* 80268878 */ - # region @ 80268874 (4 bytes) - .data 0x80268874 # address - .data 0x00000004 # size - .data 0x4BDA4E2C # 80268874 => b -0x0025B1D4 /* 8000D6A0 */ - # region @ 8034525C (4 bytes) - .data 0x8034525C # address - .data 0x00000004 # size - .data 0x38600000 # 8034525C => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x8034525C # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x8034525C + li r3, 0 + + .data 0x80268788 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80268788 + nop + + .data 0x80250AEC # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80250AEC + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x6C50] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80268874 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80268874 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OE1.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OE1.patch.s index 2abd8230..30f10fd3 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OE1.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OE1.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA0639890 # 8000D6A4 => lhz r3, [r3 - 0x6770] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825B1C0 # 8000D6B8 => b +0x0025B1C0 /* 80268878 */ - # region @ 80268874 (4 bytes) - .data 0x80268874 # address - .data 0x00000004 # size - .data 0x4BDA4E2C # 80268874 => b -0x0025B1D4 /* 8000D6A0 */ - # region @ 803452A0 (4 bytes) - .data 0x803452A0 # address - .data 0x00000004 # size - .data 0x38600000 # 803452A0 => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x803452A0 # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x803452A0 + li r3, 0 + + .data 0x80268788 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80268788 + nop + + .data 0x80250AEC # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80250AEC + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x6770] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80268874 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80268874 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OE2.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OE2.patch.s index 0ce364ee..6f068bed 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OE2.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OE2.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA063E270 # 8000D6A4 => lhz r3, [r3 - 0x1D90] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825C594 # 8000D6B8 => b +0x0025C594 /* 80269C4C */ - # region @ 80269C48 (4 bytes) - .data 0x80269C48 # address - .data 0x00000004 # size - .data 0x4BDA3A58 # 80269C48 => b -0x0025C5A8 /* 8000D6A0 */ - # region @ 80346E4C (4 bytes) - .data 0x80346E4C # address - .data 0x00000004 # size - .data 0x38600000 # 80346E4C => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x80346E4C # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x80346E4C + li r3, 0 + + .data 0x80269B5C # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80269B5C + nop + + .data 0x80251C68 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80251C68 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x1D90] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80269C48 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80269C48 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OJ2.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OJ2.patch.s index b0bee57b..df1e738c 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OJ2.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OJ2.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA0638AD0 # 8000D6A4 => lhz r3, [r3 - 0x7530] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825A814 # 8000D6B8 => b +0x0025A814 /* 80267ECC */ - # region @ 80267EC8 (4 bytes) - .data 0x80267EC8 # address - .data 0x00000004 # size - .data 0x4BDA57D8 # 80267EC8 => b -0x0025A828 /* 8000D6A0 */ - # region @ 8034445C (4 bytes) - .data 0x8034445C # address - .data 0x00000004 # size - .data 0x38600000 # 8034445C => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x8034445C # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x8034445C + li r3, 0 + + .data 0x80267DDC # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80267DDC + nop + + .data 0x80250264 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80250264 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x7530] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80267EC8 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80267EC8 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OJ3.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OJ3.patch.s index 8df35197..5904391a 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OJ3.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OJ3.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA063C590 # 8000D6A4 => lhz r3, [r3 - 0x3A70] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825B4C0 # 8000D6B8 => b +0x0025B4C0 /* 80268B78 */ - # region @ 80268B74 (4 bytes) - .data 0x80268B74 # address - .data 0x00000004 # size - .data 0x4BDA4B2C # 80268B74 => b -0x0025B4D4 /* 8000D6A0 */ - # region @ 803457AC (4 bytes) - .data 0x803457AC # address - .data 0x00000004 # size - .data 0x38600000 # 803457AC => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x803457AC # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x803457AC + li r3, 0 + + .data 0x80268A88 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80268A88 + nop + + .data 0x80250CB0 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80250CB0 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x3A70] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80268B74 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80268B74 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OJ4.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OJ4.patch.s index 7447b18b..fac1ead9 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OJ4.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OJ4.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA063EBD0 # 8000D6A4 => lhz r3, [r3 - 0x1430] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825C51C # 8000D6B8 => b +0x0025C51C /* 80269BD4 */ - # region @ 80269BD0 (4 bytes) - .data 0x80269BD0 # address - .data 0x00000004 # size - .data 0x4BDA3AD0 # 80269BD0 => b -0x0025C530 /* 8000D6A0 */ - # region @ 80346CCC (4 bytes) - .data 0x80346CCC # address - .data 0x00000004 # size - .data 0x38600000 # 80346CCC => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x80346CCC # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x80346CCC + li r3, 0 + + .data 0x80269AE4 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80269AE4 + nop + + .data 0x80251CA4 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x80251CA4 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x1430] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80269BD0 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80269BD0 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OJ5.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OJ5.patch.s index a5160c6f..26279d23 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OJ5.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OJ5.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA063E970 # 8000D6A4 => lhz r3, [r3 - 0x1690] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825C2D0 # 8000D6B8 => b +0x0025C2D0 /* 80269988 */ - # region @ 80269984 (4 bytes) - .data 0x80269984 # address - .data 0x00000004 # size - .data 0x4BDA3D1C # 80269984 => b -0x0025C2E4 /* 8000D6A0 */ - # region @ 80346A80 (4 bytes) - .data 0x80346A80 # address - .data 0x00000004 # size - .data 0x38600000 # 80346A80 => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x80346A80 # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x80346A80 + li r3, 0 + + .data 0x80269898 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80269898 + nop + + .data 0x802519A4 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x802519A4 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x1690] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80269984 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80269984 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3OP0.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3OP0.patch.s index fa476164..4335cf8e 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3OP0.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3OP0.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -9,24 +9,39 @@ reloc0: .offsetof start start: .include WriteCodeBlocksGC - # region @ 8000D6A0 (28 bytes) - .data 0x8000D6A0 # address - .data 0x0000001C # size - .data 0x3C608051 # 8000D6A0 => lis r3, 0x8051 - .data 0xA063F290 # 8000D6A4 => lhz r3, [r3 - 0x0D70] - .data 0x70600003 # 8000D6A8 => andi. r0, r3, 0x0003 - .data 0x28000003 # 8000D6AC => cmplwi r0, 3 - .data 0x41820008 # 8000D6B0 => beq +0x00000008 /* 8000D6B8 */ - .data 0xD03C0084 # 8000D6B4 => stfs [r28 + 0x0084], f1 - .data 0x4825BDDC # 8000D6B8 => b +0x0025BDDC /* 80269494 */ - # region @ 80269490 (4 bytes) - .data 0x80269490 # address - .data 0x00000004 # size - .data 0x4BDA4210 # 80269490 => b -0x0025BDF0 /* 8000D6A0 */ - # region @ 8034627C (4 bytes) - .data 0x8034627C # address - .data 0x00000004 # size - .data 0x38600000 # 8034627C => li r3, 0x0000 - # end sentinel - .data 0x00000000 # address - .data 0x00000000 # size + + .data 0x8034627C # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x8034627C + li r3, 0 + + .data 0x802693A4 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x802693A4 + nop + + .data 0x802514B0 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x802514B0 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: + lis r3, 0x8051 + lhz r3, [r3 - 0x0D70] + andi. r0, r3, 0x0003 + cmplwi r0, 3 + beqlr + stfs [r28 + 0x0084], f1 + blr +scroll_lock_hook_end: + + .data 0x80269490 # Chat Log Window: Scroll Lock (Hold L+R) + .data 0x00000004 + .address 0x80269490 + bl scroll_lock_hook + + .data 0x00000000 + .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3SE0.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3SE0.patch.s index eb465c22..d5de2e9c 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3SE0.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3SE0.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -10,23 +10,38 @@ reloc0: start: .include WriteCodeBlocksGC - .data 0x8000D6A0 - .data 0x0000001C + .data 0x801C7D88 # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x801C7D88 + li r3, 0 + + .data 0x8016FBB4 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x8016FBB4 + nop + + .data 0x8015B0CC # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x8015B0CC + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: lis r3, 0x804A - lhz r3, [r3 + 0x0098] + lhz r3, [r3 + 0x0560] andi. r0, r3, 0x0003 cmplwi r0, 3 beqlr stfs [r28 + 0x0084], f1 blr +scroll_lock_hook_end: - .data 0x8016FC9C + .data 0x8016FC9C # Chat Log Window: Scroll Lock (Hold L+R) .data 0x00000004 - .data 0x4BE9DA05 - - .data 0x801C7D88 - .data 0x00000004 - li r3, 0x0000 + .address 0x8016FC9C + bl scroll_lock_hook .data 0x00000000 .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3SJ0.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3SJ0.patch.s index e6bfa33a..14925a03 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3SJ0.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3SJ0.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -10,23 +10,38 @@ reloc0: start: .include WriteCodeBlocksGC - .data 0x8000D6A0 - .data 0x0000001C + .data 0x801C7CFC # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x801C7CFC + li r3, 0 + + .data 0x8016FD00 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x8016FD00 + nop + + .data 0x8015B1BC # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x8015B1BC + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: lis r3, 0x804A - lhz r3, [r3 - 0x0D88] + lhz r3, [r3 - 0x08C0] andi. r0, r3, 0x0003 cmplwi r0, 3 beqlr stfs [r28 + 0x0084], f1 blr +scroll_lock_hook_end: - .data 0x8016FDE8 + .data 0x8016FDE8 # Chat Log Window: Scroll Lock (Hold L+R) .data 0x00000004 - .data 0x4BE9D8B9 - - .data 0x801C7CFC - .data 0x00000004 - li r3, 0x0000 + .address 0x8016FDE8 + bl scroll_lock_hook .data 0x00000000 .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3SJT.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3SJT.patch.s index 24a46321..922ba493 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3SJT.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3SJT.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -10,23 +10,38 @@ reloc0: start: .include WriteCodeBlocksGC - .data 0x8000D6A0 - .data 0x0000001C + .data 0x801D9B30 # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x801D9B30 + li r3, 0 + + .data 0x8017F434 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x8017F434 + nop + + .data 0x8016A77C # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x8016A77C + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: lis r3, 0x8048 - lhz r3, [r3 + 0x1238] + lhz r3, [r3 + 0x1700] andi. r0, r3, 0x0003 cmplwi r0, 3 beqlr stfs [r28 + 0x0084], f1 blr +scroll_lock_hook_end: - .data 0x8017F51C + .data 0x8017F51C # Chat Log Window: Scroll Lock (Hold L+R) .data 0x00000004 - .data 0x4BE8E185 - - .data 0x801D9B30 - .data 0x00000004 - li r3, 0x0000 + .address 0x8017F51C + bl scroll_lock_hook .data 0x00000000 .data 0x00000000 diff --git a/system/client-functions/ChatFeatures/ChatFeatures.3SP0.patch.s b/system/client-functions/ChatFeatures/ChatFeatures.3SP0.patch.s index 5df07f77..31f5543e 100644 --- a/system/client-functions/ChatFeatures/ChatFeatures.3SP0.patch.s +++ b/system/client-functions/ChatFeatures/ChatFeatures.3SP0.patch.s @@ -1,6 +1,6 @@ .meta name="Chat" .meta description="Enables extended\nWord Select and\nstops the Log\nWindow from\nscrolling with L+R" -# Original code by Ralf @ GC-Forever and Aleron Ives +# Original codes 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 @@ -10,23 +10,38 @@ reloc0: start: .include WriteCodeBlocksGC - .data 0x8000D6A0 - .data 0x0000001C + .data 0x801C83FC # Extended Word Select Menu (PSO PCv2 Style) + .data 0x00000004 + .address 0x801C83FC + li r3, 0 + + .data 0x80170060 # Chat Log Window LF/TAB Bug Fix + .data 0x00000004 + .address 0x80170060 + nop + + .data 0x8015B578 # Chat Bubble Window TAB Bug Fix + .data 0x00000004 + .address 0x8015B578 + nop + + .data 0x8000D6A0 # Chat Log Window: Scroll Lock (Hold L+R) + .deltaof scroll_lock_hook, scroll_lock_hook_end + .address 0x8000D6A0 +scroll_lock_hook: lis r3, 0x804A - lhz r3, [r3 + 0x24B8] + lhz r3, [r3 + 0x2980] andi. r0, r3, 0x0003 cmplwi r0, 3 beqlr stfs [r28 + 0x0084], f1 blr +scroll_lock_hook_end: - .data 0x80170148 + .data 0x80170148 # Chat Log Window: Scroll Lock (Hold L+R) .data 0x00000004 - .data 0x4BE9D559 - - .data 0x801C83FC - .data 0x00000004 - li r3, 0x0000 + .address 0x80170148 + bl scroll_lock_hook .data 0x00000000 .data 0x00000000