add condition clearing and auto-revive to infinite hp mode
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805C5650
|
||||
.data 0x801E3F9C
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805CC630
|
||||
.data 0x801E3F9C
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805D5E50
|
||||
.data 0x801E405C
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805C4D58
|
||||
.data 0x801E3B38
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805CF320
|
||||
.data 0x801E40BC
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805D67A0
|
||||
.data 0x801E4290
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805D6540
|
||||
.data 0x801E4008
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerGC
|
||||
.data 0x805D2090
|
||||
.data 0x801E4698
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x00723F68
|
||||
.data 0x002DDB00
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x007237E8
|
||||
.data 0x002DE000
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x0071E8C8
|
||||
.data 0x002DBBA0
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x0071EF28
|
||||
.data 0x002DC720
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x00726A68
|
||||
.data 0x002DDFE0
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x00723F68
|
||||
.data 0x002DDB30
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,14 @@
|
||||
.meta hide_from_patches_menu
|
||||
.meta name="CallProtectedHandler"
|
||||
.meta description=""
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include CallProtectedHandlerXB
|
||||
.data 0x007242E8
|
||||
.data 0x002DE030
|
||||
size:
|
||||
.data 0x00000000
|
||||
data:
|
||||
@@ -0,0 +1,32 @@
|
||||
stwu [r1 - 0x10], r1
|
||||
mflr r0
|
||||
stw [r1 + 0x14], r0
|
||||
stw [r1 + 0x08], r31
|
||||
stw [r1 + 0x0C], r30
|
||||
|
||||
b get_data_addr
|
||||
resume:
|
||||
mflr r31
|
||||
|
||||
lwz r30, [r31]
|
||||
li r0, 1
|
||||
stw [r30], r0
|
||||
|
||||
addi r3, r31, 0x0C
|
||||
lwz r4, [r31 + 8]
|
||||
lwz r0, [r31 + 4]
|
||||
mtctr r0
|
||||
bctrl
|
||||
|
||||
li r0, 0
|
||||
stw [r30], r0
|
||||
|
||||
lwz r30, [r1 + 0x0C]
|
||||
lwz r31, [r1 + 0x08]
|
||||
lwz r0, [r1 + 0x14]
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
|
||||
get_data_addr:
|
||||
bl resume
|
||||
@@ -0,0 +1,20 @@
|
||||
jmp get_data_addr
|
||||
resume:
|
||||
xchg ebx, [esp]
|
||||
|
||||
mov edx, [ebx]
|
||||
mov dword [edx], 1
|
||||
|
||||
mov edx, [ebx + 4]
|
||||
lea ecx, [ebx + 0x0C]
|
||||
mov eax, [ebx + 8]
|
||||
call edx
|
||||
|
||||
mov edx, [ebx]
|
||||
mov dword [edx], 0
|
||||
|
||||
pop ebx
|
||||
ret
|
||||
|
||||
get_data_addr:
|
||||
call resume
|
||||
@@ -966,7 +966,13 @@
|
||||
// exploiting a bug in Episode 3, and while it seems to work reliably on
|
||||
// Dolphin, it hasn't been tested on a real GameCube. So, newserv doesn't
|
||||
// enable Episode 3 USA patches by default; it only does if this option is on.
|
||||
// "EnableEpisode3SendFunctionCall": true,
|
||||
"EnableEpisode3SendFunctionCall": false,
|
||||
|
||||
// Whether to enable protected subcommands on GC and Xbox. This enables the
|
||||
// infinite HP cheat to also automatically revive players and clear conditions
|
||||
// like poison and freeze. (On v1 and v2, those functions are always enabled
|
||||
// in infinite HP mode.)
|
||||
"EnableV3V4ProtectedSubcommands": false,
|
||||
|
||||
// Whether to allow cross-play for various game versions. DCv1 and DCv2 are
|
||||
// always allowed to join each other's games (though DCv2 can deny permission
|
||||
|
||||
Reference in New Issue
Block a user