mirror of https://github.com/zeldaret/tmc.git
Use assembly macros instead
This commit is contained in:
parent
174694a99b
commit
223cf98a51
|
|
@ -0,0 +1,217 @@
|
|||
@ All the macro functions for scripts
|
||||
@ Generated by disassemble_script.py
|
||||
.macro SCRIPT_START name
|
||||
.globl \name
|
||||
.section .rodata
|
||||
\name:
|
||||
.endm
|
||||
|
||||
.macro SCRIPT_END
|
||||
.short 0xffff
|
||||
.endm
|
||||
|
||||
.macro nullsub_507
|
||||
.short 0x0400
|
||||
.endm
|
||||
|
||||
.macro sub_0807E004
|
||||
.short 0x0401
|
||||
.endm
|
||||
|
||||
.macro sub_0807E014
|
||||
.short 0x0402
|
||||
.endm
|
||||
|
||||
.macro sub_0807E024 s
|
||||
.short 0x0803
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E050 s
|
||||
.short 0x0804
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E064 s
|
||||
.short 0x0805
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E078 s
|
||||
.short 0x0806
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E0A0 w
|
||||
.short 0x0c07
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E0B8 w
|
||||
.short 0x0c08
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E0CC w
|
||||
.short 0x0c09
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E0E0 w
|
||||
.short 0x0c0a
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E10C w
|
||||
.short 0x0c0b
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E124 a,b
|
||||
.short 0x140c
|
||||
.word \a
|
||||
.word \b
|
||||
.endm
|
||||
|
||||
.macro sub_0807E148 w
|
||||
.short 0x0c0d
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E158 w
|
||||
.short 0x0c0e
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E188 s
|
||||
.short 0x080f
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E1D8 s
|
||||
.short 0x0810
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E4AC s
|
||||
.short 0x0811
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E260 s
|
||||
.short 0x0815
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E2A8 s
|
||||
.short 0x0817
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E2E4
|
||||
.short 0x0418
|
||||
.endm
|
||||
|
||||
.macro sub_0807E5F8 w
|
||||
.short 0x0c28
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E680 s
|
||||
.short 0x0831
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E6AC w
|
||||
.short 0x0c33
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E864
|
||||
.short 0x0443
|
||||
.endm
|
||||
|
||||
.macro sub_0807E878
|
||||
.short 0x0444
|
||||
.endm
|
||||
|
||||
.macro sub_0807E8C4 w
|
||||
.short 0x0c47
|
||||
.word \w
|
||||
.endm
|
||||
|
||||
.macro sub_0807E8E4_0
|
||||
.short 0x0449
|
||||
.endm
|
||||
|
||||
.macro sub_0807E8E4_1
|
||||
.short 0x044a
|
||||
.endm
|
||||
|
||||
.macro sub_0807E8E4_2
|
||||
.short 0x044b
|
||||
.endm
|
||||
|
||||
.macro sub_0807E8E4_3
|
||||
.short 0x044c
|
||||
.endm
|
||||
|
||||
.macro sub_0807E930 s
|
||||
.short 0x0850
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807E9D4
|
||||
.short 0x0453
|
||||
.endm
|
||||
|
||||
.macro sub_0807E9DC
|
||||
.short 0x0454
|
||||
.endm
|
||||
|
||||
.macro sub_0807EA94
|
||||
.short 0x0459
|
||||
.endm
|
||||
|
||||
.macro sub_0807EAD0 a,b
|
||||
.short 0x0c5c
|
||||
.short \a
|
||||
.short \b
|
||||
.endm
|
||||
|
||||
.macro sub_0807EB28 s
|
||||
.short 0x085f
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807EB8C
|
||||
.short 0x0464
|
||||
.endm
|
||||
|
||||
.macro sub_0807EBC0 param
|
||||
.short 0x0867
|
||||
.short \param
|
||||
.endm
|
||||
|
||||
.macro sub_0807EC1C s
|
||||
.short 0x086d
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807EE30
|
||||
.short 0x0475
|
||||
.endm
|
||||
|
||||
.macro sub_0807EF80 s
|
||||
.short 0x0879
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807EFAC s
|
||||
.short 0x087c
|
||||
.short \s
|
||||
.endm
|
||||
|
||||
.macro sub_0807EFE4
|
||||
.short 0x047e
|
||||
.endm
|
||||
|
|
@ -0,0 +1,233 @@
|
|||
.include "asm/macros/script.inc"
|
||||
|
||||
SCRIPT_START gUnk_080126FC
|
||||
sub_0807E004
|
||||
sub_0807EBC0 0x0040
|
||||
sub_0807EF80 0x0007
|
||||
sub_0807E014
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0022
|
||||
sub_0807E10C sub_0807F3C8
|
||||
sub_0807EAD0 0x1102, 0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0021
|
||||
sub_0807E10C sub_0807F3C8
|
||||
sub_0807EAD0 0x1103,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807EF80 0x0004
|
||||
sub_0807E680 0x003c
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807EF80 0x0011
|
||||
sub_0807E930 0x001c
|
||||
sub_0807EAD0 0x1105,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0022
|
||||
sub_0807E10C sub_0807F3C8
|
||||
sub_0807EAD0 0x1106,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001c
|
||||
sub_0807E10C sub_0806D96C // Ezlo Angry FX
|
||||
sub_0807EAD0 0x1107,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0021
|
||||
sub_0807E10C sub_0807F3C8 // Ezlo Angry FX
|
||||
sub_0807EAD0 0x1108,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001c
|
||||
sub_0807E10C sub_0806D96C// Ezlo Angry FX
|
||||
sub_0807EAD0 0x1109,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807EF80 0x000a
|
||||
sub_0807E9D4
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E014
|
||||
sub_0807E004
|
||||
sub_0807E260 0x0000
|
||||
sub_0807E050 0x0028
|
||||
sub_0807E2E4
|
||||
sub_0807E064 0xfff0
|
||||
sub_0807E014
|
||||
sub_0807E864
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x1114,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0020
|
||||
sub_0807E878
|
||||
sub_0807E024 0xffd0
|
||||
sub_0807E864
|
||||
sub_0807E9DC
|
||||
sub_0807E124 sub_0807F5B0,0x0000003c
|
||||
sub_0807E10C sub_080791D0
|
||||
sub_0807E014
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807EF80 0x000b
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E10C sub_0806D944// Ezlo look at player
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110a,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001f
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110b,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001f
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807EF80 0x0004
|
||||
sub_0807E680 0x003c
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110c,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001f
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110d,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x001f
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110e,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0018
|
||||
sub_0807EBC0 0x0080
|
||||
sub_0807E10C sub_0806D908
|
||||
sub_0807EC1C 0x0010
|
||||
sub_0807EF80 0x000a
|
||||
sub_0807E9D4
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E014
|
||||
sub_0807E004
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E2E4
|
||||
sub_0807E050 0x000e
|
||||
sub_0807E2A8 0x3030
|
||||
sub_0807E064 0x0020
|
||||
sub_0807E024 0xffe6
|
||||
sub_0807E864
|
||||
sub_0807E930 0x0010
|
||||
sub_0807E014
|
||||
sub_0807EAD0 0x1115,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0018
|
||||
sub_0807E878
|
||||
sub_0807E024 0xffcc
|
||||
sub_0807E014
|
||||
sub_0807E864
|
||||
sub_0807E10C sub_0807F9A4
|
||||
sub_0807E10C sub_0807DF28
|
||||
sub_0807EB8C
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x110f,0x000c
|
||||
sub_0807E930 0x0018
|
||||
sub_0807EBC0 0x0080
|
||||
sub_0807E10C sub_0806D908
|
||||
sub_0807EC1C 0x0050
|
||||
sub_0807EA94
|
||||
sub_0807E10C sub_0807DF50
|
||||
sub_0807E878
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E014
|
||||
sub_0807E004
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E2E4
|
||||
sub_0807E050 0x000e
|
||||
sub_0807E2A8 0x3030
|
||||
sub_0807E064 0x0020
|
||||
sub_0807E024 0xffe6
|
||||
sub_0807E864
|
||||
sub_0807E930 0x0010
|
||||
sub_0807E014
|
||||
sub_0807EAD0 0x1115,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0018
|
||||
sub_0807E878
|
||||
sub_0807E024 0xffcc
|
||||
sub_0807E014
|
||||
sub_0807E864
|
||||
sub_0807E10C sub_0807F9A4
|
||||
sub_0807E10C sub_0807DF28
|
||||
sub_0807EB8C
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x1110,0x000c
|
||||
sub_0807E930 0x0018
|
||||
sub_0807EBC0 0x0080
|
||||
sub_0807E10C sub_0806D908
|
||||
sub_0807EC1C 0x0050
|
||||
sub_0807E930 0x0018
|
||||
sub_0807EA94
|
||||
sub_0807E10C sub_0807DF50
|
||||
sub_0807E878
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807E6AC 0x00000004
|
||||
sub_0807E014
|
||||
sub_0807E004
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E2E4
|
||||
sub_0807E050 0x000e
|
||||
sub_0807E2A8 0x3030
|
||||
sub_0807E064 0x0020
|
||||
sub_0807E024 0xffe6
|
||||
sub_0807E864
|
||||
sub_0807E930 0x0010
|
||||
sub_0807E014
|
||||
sub_0807EAD0 0x1115,0x000c
|
||||
sub_0807EA94
|
||||
sub_0807E930 0x0018
|
||||
sub_0807E878
|
||||
sub_0807E024 0xffcc
|
||||
sub_0807E014
|
||||
sub_0807E864
|
||||
sub_0807E10C sub_0807F9A4
|
||||
sub_0807E10C sub_0807DF28
|
||||
sub_0807EFE4
|
||||
sub_0807EF80 0x000b
|
||||
sub_0807EB8C
|
||||
sub_0807E10C sub_0806D944 // Ezlo look at player
|
||||
sub_0807E930 0x0010
|
||||
sub_0807EAD0 0x1111,0x000c
|
||||
sub_0807E930 0x0018
|
||||
sub_0807EBC0 0x0080
|
||||
sub_0807E10C sub_0806D8A0
|
||||
sub_0807EE30
|
||||
sub_0807E064 0xfffc
|
||||
sub_0807E930 0x001f
|
||||
sub_0807EA94
|
||||
sub_0807E8C4 0x08012b18
|
||||
sub_0807E10C sub_0806D9A4
|
||||
sub_0807EF80 0x0008
|
||||
sub_0807E680 0x0078
|
||||
sub_0807EFAC 0x000e
|
||||
sub_0807E004
|
||||
sub_0807E8E4_2
|
||||
sub_0807EB28 0x1112
|
||||
sub_0807E014
|
||||
sub_0807EA94
|
||||
sub_0807E5F8 0x00000008
|
||||
sub_0807EF80 0x0006
|
||||
SCRIPT_END
|
||||
|
|
@ -295,6 +295,7 @@ SECTIONS {
|
|||
asm/code_080043E8.o(.text);
|
||||
data/data_08007DF4.o(.rodata);
|
||||
asm/code_0800857C.o(.text);
|
||||
data/scripts/ezlo_angry.o(.rodata);
|
||||
src/scripts/ezlo_angry.o(.rodata);
|
||||
asm/code_08012AB0.o(.text);
|
||||
src/scripts/npc4e_fusion.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -12,235 +12,7 @@ extern void sub_0807DF50(Entity*, ScriptExecutionContext*);
|
|||
extern void sub_0806D8A0(Entity*, ScriptExecutionContext*);
|
||||
extern void sub_0806D9A4(Entity*, ScriptExecutionContext*);
|
||||
// clang-format off
|
||||
START_SCRIPT(gUnk_080126FC)
|
||||
sub_0807E004()
|
||||
sub_0807EBC0(0x0040)
|
||||
sub_0807EF80(0x0007)
|
||||
sub_0807E014()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0022)
|
||||
sub_0807E10C(sub_0807F3C8)
|
||||
sub_0807EAD0(0x1102,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0021)
|
||||
sub_0807E10C(sub_0807F3C8)
|
||||
sub_0807EAD0(0x1103,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807EF80(0x0004)
|
||||
sub_0807E680(0x003c)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807EF80(0x0011)
|
||||
sub_0807E930(0x001c)
|
||||
sub_0807EAD0(0x1105,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0022)
|
||||
sub_0807E10C(sub_0807F3C8)
|
||||
sub_0807EAD0(0x1106,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001c)
|
||||
sub_0807E10C(sub_0806D96C) // Ezlo Angry FX
|
||||
sub_0807EAD0(0x1107,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0021)
|
||||
sub_0807E10C(sub_0807F3C8) // Ezlo Angry FX
|
||||
sub_0807EAD0(0x1108,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001c)
|
||||
sub_0807E10C(sub_0806D96C)// Ezlo Angry FX
|
||||
sub_0807EAD0(0x1109,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807EF80(0x000a)
|
||||
sub_0807E9D4()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E014()
|
||||
sub_0807E004()
|
||||
sub_0807E260(0x0000)
|
||||
sub_0807E050(0x0028)
|
||||
sub_0807E2E4()
|
||||
sub_0807E064(0xfff0)
|
||||
sub_0807E014()
|
||||
sub_0807E864()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x1114,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0020)
|
||||
sub_0807E878()
|
||||
sub_0807E024(0xffd0)
|
||||
sub_0807E864()
|
||||
sub_0807E9DC()
|
||||
sub_0807E124(sub_0807F5B0,0x0000003c)
|
||||
sub_0807E10C(sub_080791D0)
|
||||
sub_0807E014()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807EF80(0x000b)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E10C(sub_0806D944)// Ezlo look at player
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110a,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001f)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110b,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001f)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807EF80(0x0004)
|
||||
sub_0807E680(0x003c)
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110c,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001f)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110d,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x001f)
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110e,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807EBC0(0x0080)
|
||||
sub_0807E10C(sub_0806D908)
|
||||
sub_0807EC1C(0x0010)
|
||||
sub_0807EF80(0x000a)
|
||||
sub_0807E9D4()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E014()
|
||||
sub_0807E004()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E2E4()
|
||||
sub_0807E050(0x000e)
|
||||
sub_0807E2A8(0x3030)
|
||||
sub_0807E064(0x0020)
|
||||
sub_0807E024(0xffe6)
|
||||
sub_0807E864()
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807E014()
|
||||
sub_0807EAD0(0x1115,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807E878()
|
||||
sub_0807E024(0xffcc)
|
||||
sub_0807E014()
|
||||
sub_0807E864()
|
||||
sub_0807E10C(sub_0807F9A4)
|
||||
sub_0807E10C(sub_0807DF28)
|
||||
sub_0807EB8C()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x110f,0x000c)
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807EBC0(0x0080)
|
||||
sub_0807E10C(sub_0806D908)
|
||||
sub_0807EC1C(0x0050)
|
||||
sub_0807EA94()
|
||||
sub_0807E10C(sub_0807DF50)
|
||||
sub_0807E878()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E014()
|
||||
sub_0807E004()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E2E4()
|
||||
sub_0807E050(0x000e)
|
||||
sub_0807E2A8(0x3030)
|
||||
sub_0807E064(0x0020)
|
||||
sub_0807E024(0xffe6)
|
||||
sub_0807E864()
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807E014()
|
||||
sub_0807EAD0(0x1115,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807E878()
|
||||
sub_0807E024(0xffcc)
|
||||
sub_0807E014()
|
||||
sub_0807E864()
|
||||
sub_0807E10C(sub_0807F9A4)
|
||||
sub_0807E10C(sub_0807DF28)
|
||||
sub_0807EB8C()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x1110,0x000c)
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807EBC0(0x0080)
|
||||
sub_0807E10C(sub_0806D908)
|
||||
sub_0807EC1C(0x0050)
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807EA94()
|
||||
sub_0807E10C(sub_0807DF50)
|
||||
sub_0807E878()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807E6AC(0x00000004)
|
||||
sub_0807E014()
|
||||
sub_0807E004()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E2E4()
|
||||
sub_0807E050(0x000e)
|
||||
sub_0807E2A8(0x3030)
|
||||
sub_0807E064(0x0020)
|
||||
sub_0807E024(0xffe6)
|
||||
sub_0807E864()
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807E014()
|
||||
sub_0807EAD0(0x1115,0x000c)
|
||||
sub_0807EA94()
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807E878()
|
||||
sub_0807E024(0xffcc)
|
||||
sub_0807E014()
|
||||
sub_0807E864()
|
||||
sub_0807E10C(sub_0807F9A4)
|
||||
sub_0807E10C(sub_0807DF28)
|
||||
sub_0807EFE4()
|
||||
sub_0807EF80(0x000b)
|
||||
sub_0807EB8C()
|
||||
sub_0807E10C(sub_0806D944) // Ezlo look at player
|
||||
sub_0807E930(0x0010)
|
||||
sub_0807EAD0(0x1111,0x000c)
|
||||
sub_0807E930(0x0018)
|
||||
sub_0807EBC0(0x0080)
|
||||
sub_0807E10C(sub_0806D8A0)
|
||||
sub_0807EE30()
|
||||
sub_0807E064(0xfffc)
|
||||
sub_0807E930(0x001f)
|
||||
sub_0807EA94()
|
||||
sub_0807E8C4(0x08012b18)
|
||||
sub_0807E10C(sub_0806D9A4)
|
||||
sub_0807EF80(0x0008)
|
||||
sub_0807E680(0x0078)
|
||||
sub_0807EFAC(0x000e)
|
||||
sub_0807E004()
|
||||
sub_0807E8E4_2()
|
||||
sub_0807EB28(0x1112)
|
||||
sub_0807E014()
|
||||
sub_0807EA94()
|
||||
sub_0807E5F8(0x00000008)
|
||||
sub_0807EF80(0x0006)
|
||||
END_SCRIPT()
|
||||
//START_SCRIPT(gUnk_080126FC)
|
||||
asm(".section .rodata");
|
||||
|
||||
// clang-format on
|
||||
|
|
@ -199,25 +199,25 @@ parameters = {
|
|||
's': {
|
||||
'length': 1,
|
||||
'param': 's',
|
||||
'expr': 'asm(".short " #s);',
|
||||
'expr': ' .short \s',
|
||||
'read': lambda ctx: barray_to_u16_hex(ctx.data[ctx.ptr+2:ctx.ptr+4])[0]
|
||||
},
|
||||
'w': {
|
||||
'length': 2,
|
||||
'param': 'w',
|
||||
'expr': 'asm(".word " #w);',
|
||||
'expr': ' .word \w',
|
||||
'read': lambda ctx: barray_to_u32_hex(ctx.data[ctx.ptr+2:ctx.ptr+6])[0]
|
||||
},
|
||||
'ss': {
|
||||
'length': 2,
|
||||
'param': 'a,b',
|
||||
'expr': 'asm(".short " #a);asm(".short " #b);',
|
||||
'expr': ' .short \\a\n .short \\b',
|
||||
'read': lambda ctx: ','.join(barray_to_u16_hex(ctx.data[ctx.ptr+2:ctx.ptr+6]))
|
||||
},
|
||||
'ww': {
|
||||
'length': 4,
|
||||
'param': 'a,b',
|
||||
'expr': 'asm(".word " #a);asm(".word " #b);',
|
||||
'expr': ' .word \\a\n .word \\b',
|
||||
'read': lambda ctx: ','.join(barray_to_u32_hex(ctx.data[ctx.ptr+2:ctx.ptr+10]))
|
||||
},
|
||||
}
|
||||
|
|
@ -251,7 +251,7 @@ def ExecuteScriptCommandSet(ctx: Context):
|
|||
raise Exception('Call with ' + (unk_06-1) +' length, while length of ' + params['length']+' defined')
|
||||
|
||||
|
||||
print(command['fun'] + '(' + params['read'](ctx) + ')')
|
||||
print(command['fun'] + ' ' + params['read'](ctx))
|
||||
|
||||
# Execute script
|
||||
ctx.ptr += unk_06*2
|
||||
|
|
@ -271,14 +271,22 @@ def disassemble_script(input_data):
|
|||
# Print rest (did not manage to get there)
|
||||
|
||||
print(',\n'.join(barray_to_u16_hex(ctx.data[ctx.ptr:])))
|
||||
|
||||
|
||||
def generate_macros():
|
||||
print('#ifndef SCRIPT_MACROS_H')
|
||||
print('#define SCRIPT_MACROS_H')
|
||||
print('// Generated by disassemble_script.py')
|
||||
print('#define START_SCRIPT(name) asm(".globl "#name); asm(".section .rodata"); asm(#name":");')
|
||||
print('#define END_SCRIPT()')
|
||||
#print('#define WORD_TO_SHORTS(word) (unsigned short)word & 0xffff,(unsigned short)word >> 16')
|
||||
print('@ All the macro functions for scripts')
|
||||
print('@ Generated by disassemble_script.py')
|
||||
|
||||
print('.macro SCRIPT_START name')
|
||||
print(' .globl \\name')
|
||||
print(' .section .rodata')
|
||||
print('\\name:')
|
||||
print('.endm')
|
||||
|
||||
print('.macro SCRIPT_END')
|
||||
print(' .short 0xffff')
|
||||
print('.endm')
|
||||
|
||||
print('')
|
||||
for num, command in enumerate(commands):
|
||||
if not 'params' in command:
|
||||
|
|
@ -289,9 +297,16 @@ def generate_macros():
|
|||
|
||||
params = parameters[command['params']]
|
||||
id = ((params['length']+1) << 0xA) + num
|
||||
print('#define ' + command['fun'] + '(' + params['param'] + ') asm(".short '+u16_to_hex(id)+'");' + params['expr'])
|
||||
|
||||
print ('#endif')
|
||||
print(f'.macro {command["fun"]} {params["param"]}')
|
||||
print(f' .short {u16_to_hex(id)}')
|
||||
if params['expr'] != '':
|
||||
print(params['expr'])
|
||||
print('.endm')
|
||||
print('')
|
||||
|
||||
#print('#define ' + command['fun'] + '(' + params['param'] + ') asm(".short '+u16_to_hex(id)+'");' + params['expr'])
|
||||
print('')
|
||||
|
||||
def main():
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue