Apply renaming

This commit is contained in:
octorock
2021-03-05 00:31:07 +01:00
parent 849ff8dcfd
commit 37d03d1382
7 changed files with 957 additions and 607 deletions
-1
View File
@@ -62,7 +62,6 @@ types_*.taghl
!calcrom.pl
!sound/programmable_wave_samples/*.pcm
_Deparsed_XSubs.pm
*.py
*.sna
__pycache__
.vscode/settings.json
+558 -161
View File
@@ -1,285 +1,682 @@
@ All the macro functions for scripts
@ Generated by disassemble_script.py
.macro SCRIPT_START name
.globl \name
.section .text
.globl \name
.section .text
\name:
.endm
.macro SCRIPT_END
.short 0xffff
.short 0xffff
.endm
.macro nullsub_507
.short 0x0400
.macro ScriptCommandNop
.short 0x0400
.endm
.macro sub_0807E004
.short 0x0401
.macro StartScript
.short 0x0401
.endm
.macro sub_0807E014
.short 0x0402
.macro StopScript
.short 0x0402
.endm
.macro sub_0807E024 s
.short 0x0803
.short \s
.macro Jump s
.short 0x0803
.short \s
.endm
.macro sub_0807E050 s
.short 0x0804
.short \s
.macro JumpIf s
.short 0x0804
.short \s
.endm
.macro sub_0807E064 s
.short 0x0805
.short \s
.macro JumpIfNot s
.short 0x0805
.short \s
.endm
.macro sub_0807E078 s
.short 0x0806
.short \s
.macro _0807E078 s
.short 0x0806
.short \s
.endm
.macro sub_0807E0A0 w
.short 0x0c07
.word \w
.macro JumpAbsolute w
.short 0x0c07
.word \w
.endm
.macro sub_0807E0B8 w
.short 0x0c08
.word \w
.macro JumpAbsoluteIf w
.short 0x0c08
.word \w
.endm
.macro sub_0807E0CC w
.short 0x0c09
.word \w
.macro JumpAbsoluteIfNot w
.short 0x0c09
.word \w
.endm
.macro sub_0807E0E0 w
.short 0x0c0a
.word \w
.macro _0807E0E0 w
.short 0x0c0a
.word \w
.endm
.macro sub_0807E10C w
.short 0x0c0b
.word \w
.macro Call w
.short 0x0c0b
.word \w
.endm
.macro sub_0807E124 a,b
.short 0x140c
.word \a
.word \b
.macro CallWithArg a,b
.short 0x140c
.word \a
.word \b
.endm
.macro sub_0807E148 w
.short 0x0c0d
.word \w
.macro LoadRoomEntityList w
.short 0x0c0d
.word \w
.endm
.macro sub_0807E158 w
.short 0x0c0e
.word \w
.macro TestBit w
.short 0x0c0e
.word \w
.endm
.macro sub_0807E188 s
.short 0x080f
.short \s
.macro CheckInventory1 s
.short 0x080f
.short \s
.endm
.macro sub_0807E1D8 s
.short 0x0810
.short \s
.macro CheckInventory2 s
.short 0x0810
.short \s
.endm
.macro sub_0807E4AC s
.short 0x0811
.short \s
.macro HasRoomItemForSale s
.short 0x0811
.short \s
.endm
.macro sub_0807E260 s
.short 0x0815
.short \s
.macro CheckLocalFlag s
.short 0x0812
.short \s
.endm
.macro sub_0807E2A8 s
.short 0x0817
.short \s
.macro CheckLocalFlagByOffset a,b
.short 0x0c13
.short \a
.short \b
.endm
.macro sub_0807E2E4
.short 0x0418
.macro CheckGlobalFlag s
.short 0x0814
.short \s
.endm
.macro sub_0807E30C
.short 0x0419
.macro CheckRoomFlag s
.short 0x0815
.short \s
.endm
.macro sub_0807E40C s
.short 0x081d
.short \s
.macro CheckPlayerInRegion a,b,c
.short 0x1016
.short \a
.short \b
.short \c
.endm
.macro sub_0807E5F8 w
.short 0x0c28
.word \w
.macro CheckPlayerInRegion2 s
.short 0x0817
.short \s
.endm
.macro sub_0807E650 s
.short 0x082d
.short \s
.macro CheckEntityInteractType
.short 0x0418
.endm
.macro sub_0807E680 s
.short 0x0831
.short \s
.macro _0807E30C
.short 0x0419
.endm
.macro sub_0807E6AC w
.short 0x0c33
.word \w
.macro HasRupees s
.short 0x081a
.short \s
.endm
.macro sub_0807E6DC
.short 0x0434
.macro _0807E3BC s
.short 0x081b
.short \s
.endm
.macro sub_0807E864
.short 0x0443
.macro _0807E3E8
.short 0x041c
.endm
.macro sub_0807E878
.short 0x0444
.macro CheckKinstoneFused s
.short 0x081d
.short \s
.endm
.macro sub_0807E8C4 w
.short 0x0c47
.word \w
.macro BuyItem a,b
.short 0x0c1e
.short \a
.short \b
.endm
.macro sub_0807E8E4_0
.short 0x0449
.macro _0807E48C s
.short 0x081f
.short \s
.endm
.macro sub_0807E8E4_1
.short 0x044a
.macro _0807E4CC w
.short 0x0c20
.word \w
.endm
.macro sub_0807E8E4_2
.short 0x044b
.macro _0807E4EC w
.short 0x0c21
.word \w
.endm
.macro sub_0807E8E4_3
.short 0x044c
.macro _0807E51 s
.short 0x0822
.short \s
.endm
.macro sub_0807E930 s
.short 0x0850
.short \s
.macro CheckPlayerFlags w
.short 0x0c23
.word \w
.endm
.macro sub_0807E944
.short 0x0451
.macro _0807E564
.short 0x0424
.endm
.macro sub_0807E9D4
.short 0x0453
.macro EntityHasHeight
.short 0x0425
.endm
.macro sub_0807E9DC
.short 0x0454
.macro ComparePlayerAction s
.short 0x0826
.short \s
.endm
.macro sub_0807E9F0
.short 0x0456
.macro ComparePlayerAnimationState s
.short 0x0827
.short \s
.endm
.macro sub_0807EA4C
.short 0x0457
.macro _0807E5F8 w
.short 0x0c28
.word \w
.endm
.macro sub_0807EA94
.short 0x0459
.macro _0807E610 w
.short 0x0c29
.word \w
.endm
.macro sub_0807EAB4 s
.short 0x085a
.short \s
.macro SetLocalFlag s
.short 0x082a
.short \s
.endm
.macro sub_0807EAD0 a,b
.short 0x0c5c
.short \a
.short \b
.macro SetLocalFlagByOffset a,b
.short 0x0c2b
.short \a
.short \b
.endm
.macro sub_0807EB28 s
.short 0x085f
.short \s
.macro ClearLocalFlag s
.short 0x082c
.short \s
.endm
.macro sub_0807EB44 s
.short 0x0861
.short \s
.macro SetGlobalFlag s
.short 0x082d
.short \s
.endm
.macro sub_0807EB74
.short 0x0463
.macro ClearGlobalFlag s
.short 0x082e
.short \s
.endm
.macro sub_0807EB8C
.short 0x0464
.macro SetRoomFlag s
.short 0x082f
.short \s
.endm
.macro sub_0807EBC0 s
.short 0x0867
.short \s
.macro ClearRoomFlag s
.short 0x0830
.short \s
.endm
.macro sub_0807EC1C s
.short 0x086d
.short \s
.macro Wait s
.short 0x0831
.short \s
.endm
.macro sub_0807ECF4 s
.short 0x0871
.short \s
.macro WaitForSomething w
.short 0x0c32
.word \w
.endm
.macro sub_0807EDD4 a,b
.short 0x0c73
.short \a
.short \b
.macro WaitForSomething2 w
.short 0x0c33
.word \w
.endm
.macro sub_0807EE30
.short 0x0475
.macro WaitPlayerAction8
.short 0x0434
.endm
.macro sub_0807EF80 s
.short 0x0879
.short \s
.macro WaitForPlayerAction0x17
.short 0x0435
.endm
.macro sub_0807EFAC s
.short 0x087c
.short \s
.macro WaitFor_1
.short 0x0436
.endm
.macro sub_0807EFE4
.short 0x047e
.macro WaitFor_2
.short 0x0437
.endm
.macro sub_0807F034 s
.short 0x0882
.short \s
.macro _0807E778 s
.short 0x0838
.short \s
.endm
.macro sub_0807F098
.short 0x0487
.macro _0807E788 w
.short 0x0c39
.word \w
.endm
.macro sub_0807F0B4 s
.short 0x0889
.short \s
.endm
.macro _0807E79C
.short 0x043a
.endm
.macro ScriptCommandNop2 s
.short 0x083b
.short \s
.endm
.macro DoFade4
.short 0x043c
.endm
.macro DoFade5
.short 0x043d
.endm
.macro DoFade6
.short 0x043e
.endm
.macro DoFade7
.short 0x043f
.endm
.macro _0807E800 w
.short 0x0c40
.word \w
.endm
.macro _0807E80C w
.short 0x0c41
.word \w
.endm
.macro _0807E858 s
.short 0x0842
.short \s
.endm
.macro _0807E864
.short 0x0443
.endm
.macro _0807E878
.short 0x0444
.endm
.macro _0807E888
.short 0x0445
.endm
.macro SetPlayerAction w
.short 0x0c46
.word \w
.endm
.macro StartPlayerScript w
.short 0x0c47
.word \w
.endm
.macro _0807E8D4 s
.short 0x0848
.short \s
.endm
.macro _0807E8E4_0
.short 0x0449
.endm
.macro _0807E8E4_1
.short 0x044a
.endm
.macro _0807E8E4_2
.short 0x044b
.endm
.macro _0807E8E4_3
.short 0x044c
.endm
.macro _0807E908 s
.short 0x084d
.short \s
.endm
.macro _0807E914 w
.short 0x0c4e
.word \w
.endm
.macro _0807E924
.short 0x044f
.endm
.macro _0807E930 s
.short 0x0850
.short \s
.endm
.macro _0807E944
.short 0x0451
.endm
.macro _0807E974 s
.short 0x0852
.short \s
.endm
.macro _0807E9D4
.short 0x0453
.endm
.macro _0807E9DC
.short 0x0454
.endm
.macro _0807E9E4 s
.short 0x0855
.short \s
.endm
.macro _0807E9F0
.short 0x0456
.endm
.macro _0807EA4C
.short 0x0457
.endm
.macro _0807EA88 s
.short 0x0858
.short \s
.endm
.macro _0807EA94
.short 0x0459
.endm
.macro TextboxNoOverlapFollow s
.short 0x085a
.short \s
.endm
.macro TextboxNoOverlap s
.short 0x085b
.short \s
.endm
.macro TextboxNoOverlapFollowPos a,b
.short 0x0c5c
.short \a
.short \b
.endm
.macro _0807EAF0 w
.short 0x0c5d
.word \w
.endm
.macro TextboxNoOverlapVar
.short 0x045e
.endm
.macro _0807EB28 s
.short 0x085f
.short \s
.endm
.macro _0807EB38
.short 0x0460
.endm
.macro _0807EB44 s
.short 0x0861
.short \s
.endm
.macro _0807EB4C a,b
.short 0x0c62
.short \a
.short \b
.endm
.macro _0807EB74
.short 0x0463
.endm
.macro _0807EB8C
.short 0x0464
.endm
.macro SetEntityDirection s
.short 0x0865
.short \s
.endm
.macro SetEntityDirectionWithAnimationState s
.short 0x0866
.short \s
.endm
.macro SetEntityNonPlanarMovement s
.short 0x0867
.short \s
.endm
.macro SetEntity0x20 w
.short 0x0c68
.word \w
.endm
.macro SetEntityPositionRelative w
.short 0x0c69
.word \w
.endm
.macro SetEntityPosition a,b
.short 0x0c6a
.short \a
.short \b
.endm
.macro MoveEntityToPlayer
.short 0x046b
.endm
.macro ScriptCommandNop3
.short 0x046c
.endm
.macro _0807EC1C s
.short 0x086d
.short \s
.endm
.macro _0807EC64 s
.short 0x086e
.short \s
.endm
.macro _0807EC94 s
.short 0x086f
.short \s
.endm
.macro _0807ECC4 s
.short 0x0870
.short \s
.endm
.macro _0807ECF4 s
.short 0x0871
.short \s
.endm
.macro _0807ED24 a,b,c
.short 0x1072
.short \a
.short \b
.short \c
.endm
.macro _0807EDD4 a,b
.short 0x0c73
.short \a
.short \b
.endm
.macro _0807EE04 a,b
.short 0x0c74
.short \a
.short \b
.endm
.macro _0807EE30
.short 0x0475
.endm
.macro _0807EEB4
.short 0x0476
.endm
.macro _0807EEF4 a,b
.short 0x0c77
.short \a
.short \b
.endm
.macro _0807EF3C a,b
.short 0x0c78
.short \a
.short \b
.endm
.macro _0807EF80 s
.short 0x0879
.short \s
.endm
.macro _0807EF90 s
.short 0x087a
.short \s
.endm
.macro SoundReq s
.short 0x087b
.short \s
.endm
.macro SoundReq2 s
.short 0x087c
.short \s
.endm
.macro SoundReq3 w
.short 0x0c7d
.word \w
.endm
.macro SoundReq0x80100000
.short 0x047e
.endm
.macro ModRupees s
.short 0x087f
.short \s
.endm
.macro ModHealth s
.short 0x0880
.short \s
.endm
.macro IncreaseMaxHealth s
.short 0x0881
.short \s
.endm
.macro _0807F034 s
.short 0x0882
.short \s
.endm
.macro _0807F050 s
.short 0x0883
.short \s
.endm
.macro GetInventoryValue s
.short 0x0884
.short \s
.endm
.macro _0807F078 a,b
.short 0x0c85
.short \a
.short \b
.endm
.macro _0807F088 s
.short 0x0886
.short \s
.endm
.macro CameraTargetEntity
.short 0x0487
.endm
.macro CameraTargetPlayer
.short 0x0488
.endm
.macro _0807F0B4 s
.short 0x0889
.short \s
.endm
.macro _0807F0C8 a,b
.short 0x0c8a
.short \a
.short \b
.endm
+229 -229
View File
@@ -1,231 +1,231 @@
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
StartScript
SetEntityNonPlanarMovement 0x0040
_0807EF80 0x0007
StopScript
_0807E930 0x0020
WaitForSomething2 0x00000004
_0807E930 0x0022
Call sub_0807F3C8
TextboxNoOverlapFollowPos 0x1102, 0x000c
_0807EA94
_0807E930 0x0020
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0021
Call sub_0807F3C8
TextboxNoOverlapFollowPos 0x1103,0x000c
_0807EA94
_0807E930 0x0020
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807EF80 0x0004
Wait 0x003c
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807EF80 0x0011
_0807E930 0x001c
TextboxNoOverlapFollowPos 0x1105,0x000c
_0807EA94
_0807E930 0x0020
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0022
Call sub_0807F3C8
TextboxNoOverlapFollowPos 0x1106,0x000c
_0807EA94
_0807E930 0x001c
Call sub_0806D96C // Ezlo Angry FX
TextboxNoOverlapFollowPos 0x1107,0x000c
_0807EA94
_0807E930 0x0020
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0021
Call sub_0807F3C8 // Ezlo Angry FX
TextboxNoOverlapFollowPos 0x1108,0x000c
_0807EA94
_0807E930 0x001c
Call sub_0806D96C// Ezlo Angry FX
TextboxNoOverlapFollowPos 0x1109,0x000c
_0807EA94
_0807E930 0x0020
_0807EF80 0x000a
_0807E9D4
_0807E5F8 0x00000008
StopScript
StartScript
CheckRoomFlag 0x0000
JumpIf 0x0028
CheckEntityInteractType
JumpIfNot 0xfff0
StopScript
_0807E864
Call sub_0806D944 // Ezlo look at player
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x1114,0x000c
_0807EA94
_0807E930 0x0020
_0807E878
Jump 0xffd0
_0807E864
_0807E9DC
CallWithArg sub_0807F5B0,0x0000003c
Call sub_080791D0
StopScript
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807EF80 0x000b
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
Call sub_0806D944// Ezlo look at player
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110a,0x000c
_0807EA94
_0807E930 0x001f
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110b,0x000c
_0807EA94
_0807E930 0x001f
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807EF80 0x0004
Wait 0x003c
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110c,0x000c
_0807EA94
_0807E930 0x001f
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110d,0x000c
_0807EA94
_0807E930 0x001f
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110e,0x000c
_0807EA94
_0807E930 0x0018
SetEntityNonPlanarMovement 0x0080
Call sub_0806D908
_0807EC1C 0x0010
_0807EF80 0x000a
_0807E9D4
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
StopScript
StartScript
Call sub_0806D944 // Ezlo look at player
CheckEntityInteractType
JumpIf 0x000e
CheckPlayerInRegion2 0x3030
JumpIfNot 0x0020
Jump 0xffe6
_0807E864
_0807E930 0x0010
StopScript
TextboxNoOverlapFollowPos 0x1115,0x000c
_0807EA94
_0807E930 0x0018
_0807E878
Jump 0xffcc
StopScript
_0807E864
Call sub_0807F9A4
Call sub_0807DF28
_0807EB8C
Call sub_0806D944 // Ezlo look at player
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x110f,0x000c
_0807E930 0x0018
SetEntityNonPlanarMovement 0x0080
Call sub_0806D908
_0807EC1C 0x0050
_0807EA94
Call sub_0807DF50
_0807E878
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
StopScript
StartScript
Call sub_0806D944 // Ezlo look at player
CheckEntityInteractType
JumpIf 0x000e
CheckPlayerInRegion2 0x3030
JumpIfNot 0x0020
Jump 0xffe6
_0807E864
_0807E930 0x0010
StopScript
TextboxNoOverlapFollowPos 0x1115,0x000c
_0807EA94
_0807E930 0x0018
_0807E878
Jump 0xffcc
StopScript
_0807E864
Call sub_0807F9A4
Call sub_0807DF28
_0807EB8C
Call sub_0806D944 // Ezlo look at player
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x1110,0x000c
_0807E930 0x0018
SetEntityNonPlanarMovement 0x0080
Call sub_0806D908
_0807EC1C 0x0050
_0807E930 0x0018
_0807EA94
Call sub_0807DF50
_0807E878
_0807E5F8 0x00000008
WaitForSomething2 0x00000004
StopScript
StartScript
Call sub_0806D944 // Ezlo look at player
CheckEntityInteractType
JumpIf 0x000e
CheckPlayerInRegion2 0x3030
JumpIfNot 0x0020
Jump 0xffe6
_0807E864
_0807E930 0x0010
StopScript
TextboxNoOverlapFollowPos 0x1115,0x000c
_0807EA94
_0807E930 0x0018
_0807E878
Jump 0xffcc
StopScript
_0807E864
Call sub_0807F9A4
Call sub_0807DF28
SoundReq0x80100000
_0807EF80 0x000b
_0807EB8C
Call sub_0806D944 // Ezlo look at player
_0807E930 0x0010
TextboxNoOverlapFollowPos 0x1111,0x000c
_0807E930 0x0018
SetEntityNonPlanarMovement 0x0080
Call sub_0806D8A0
_0807EE30
JumpIfNot 0xfffc
_0807E930 0x001f
_0807EA94
StartPlayerScript 0x08012b18
Call sub_0806D9A4
_0807EF80 0x0008
Wait 0x0078
SoundReq2 0x000e
StartScript
_0807E8E4_2
_0807EB28 0x1112
StopScript
_0807EA94
_0807E5F8 0x00000008
_0807EF80 0x0006
SCRIPT_END
+12 -12
View File
@@ -1,14 +1,14 @@
sub_0807E004
sub_0807EF80 0x0007
sub_0807EB44 0x0004
sub_0807E930 0x0008
sub_0807E014
sub_0807E690 0x00000001
sub_0807EF80 0x0000
sub_0807E6AC 0x00000020
sub_0807EF80 0x0004
sub_0807E680 0x003c
sub_0807EB44 0x0002
sub_0807E680 0x000f
ScriptCommand_StartScript
ScriptCommand_0807EF80 0x0007
ScriptCommand_0807EB44 0x0004
ScriptCommand_0807E930 0x0008
ScriptCommand_StopScript
ScriptCommand_WaitForSomething 0x00000001
ScriptCommand_0807EF80 0x0000
ScriptCommand_WaitForSomething2 0x00000020
ScriptCommand_0807EF80 0x0004
ScriptCommand_Wait 0x003c
ScriptCommand_0807EB44 0x0002
ScriptCommand_Wait 0x000f
.short 0x0861
.short 0x0006
+12 -12
View File
@@ -1,16 +1,16 @@
SCRIPT_START gUnk_08016030
sub_0807E004
sub_0807E40C 0x0009
sub_0807E050 0x002a
sub_0807E014
sub_0807E6AC 0x00000001
sub_0807EF80 0x0010
sub_0807E680 0x003c
sub_0807EBC0 0x0020
sub_0807ECF4 0x0080
sub_0807E680 0x001e
sub_0807EF80 0x0010
sub_0807E5F8 0x0000008
StartScript
CheckKinstoneFused 0x0009
JumpIf 0x002a
StopScript
WaitForSomething2 0x00000001
_0807EF80 0x0010
Wait 0x003c
SetEntityNonPlanarMovement 0x0020
_0807ECF4 0x0080
Wait 0x001e
_0807EF80 0x0010
_0807E5F8 0x0000008
.short 0xffff
.short 0x0c6a
.short 0xfff0
-51
View File
@@ -1,51 +0,0 @@
#ifndef SCRIPT_MACROS_H
#define SCRIPT_MACROS_H
// Generated by disassemble_script.py
#define START_SCRIPT(name) asm(".globl "#name); asm(".section .rodata"); asm(#name":");
#define END_SCRIPT() asm(".short 0xffff");
#define nullsub_507() asm(".short 0x0400");
#define sub_0807E004() asm(".short 0x0401");
#define sub_0807E014() asm(".short 0x0402");
#define sub_0807E024(s) asm(".short 0x0803");asm(".short " #s);
#define sub_0807E050(s) asm(".short 0x0804");asm(".short " #s);
#define sub_0807E064(s) asm(".short 0x0805");asm(".short " #s);
#define sub_0807E078(s) asm(".short 0x0806");asm(".short " #s);
#define sub_0807E0A0(w) asm(".short 0x0c07");asm(".word " #w);
#define sub_0807E0B8(w) asm(".short 0x0c08");asm(".word " #w);
#define sub_0807E0CC(w) asm(".short 0x0c09");asm(".word " #w);
#define sub_0807E0E0(w) asm(".short 0x0c0a");asm(".word " #w);
#define sub_0807E10C(w) asm(".short 0x0c0b");asm(".word " #w);
#define sub_0807E124(a,b) asm(".short 0x140c");asm(".word " #a);asm(".word " #b);
#define sub_0807E148(w) asm(".short 0x0c0d");asm(".word " #w);
#define sub_0807E158(w) asm(".short 0x0c0e");asm(".word " #w);
#define sub_0807E188(s) asm(".short 0x080f");asm(".short " #s);
#define sub_0807E1D8(s) asm(".short 0x0810");asm(".short " #s);
#define sub_0807E4AC(s) asm(".short 0x0811");asm(".short " #s);
#define sub_0807E260(s) asm(".short 0x0815");asm(".short " #s);
#define sub_0807E2A8(s) asm(".short 0x0817");asm(".short " #s);
#define sub_0807E2E4() asm(".short 0x0418");
#define sub_0807E5F8(w) asm(".short 0x0c28");asm(".word " #w);
#define sub_0807E680(s) asm(".short 0x0831");asm(".short " #s);
#define sub_0807E6AC(w) asm(".short 0x0c33");asm(".word " #w);
#define sub_0807E864() asm(".short 0x0443");
#define sub_0807E878() asm(".short 0x0444");
#define sub_0807E8C4(w) asm(".short 0x0c47");asm(".word " #w);
#define sub_0807E8E4_0() asm(".short 0x0449");
#define sub_0807E8E4_1() asm(".short 0x044a");
#define sub_0807E8E4_2() asm(".short 0x044b");
#define sub_0807E8E4_3() asm(".short 0x044c");
#define sub_0807E930(s) asm(".short 0x0850");asm(".short " #s);
#define sub_0807E9D4() asm(".short 0x0453");
#define sub_0807E9DC() asm(".short 0x0454");
#define sub_0807EA94() asm(".short 0x0459");
#define sub_0807EAD0(a,b) asm(".short 0x0c5c");asm(".short " #a);asm(".short " #b);
#define sub_0807EB28(s) asm(".short 0x085f");asm(".short " #s);
#define sub_0807EB8C() asm(".short 0x0464");
#define sub_0807EBC0(s) asm(".short 0x0867");asm(".short " #s);
#define sub_0807EC1C(s) asm(".short 0x086d");asm(".short " #s);
#define sub_0807EE30() asm(".short 0x0475");
#define sub_0807EF80(s) asm(".short 0x0879");asm(".short " #s);
#define sub_0807EFAC(s) asm(".short 0x087c");asm(".short " #s);
#define sub_0807EFE4() asm(".short 0x047e");
#endif
+146 -141
View File
@@ -32,145 +32,145 @@ def get_pointer(barray):
return 'sub_' + (struct.pack('>I', integers[0]-1).hex()).upper()
commands = [
{'fun': 'nullsub_507', 'params': ''},
{'fun': 'sub_0807E004', 'params': '', 'name': 'start executing scripts'},
{'fun': 'sub_0807E014', 'params': '', 'name': 'stop executing scripts'},
{'fun': 'sub_0807E024', 'params': 's', 'name': 'jump by offset'},
{'fun': 'sub_0807E050', 'params': 's', 'name': 'jump if'},
{'fun': 'sub_0807E064', 'params': 's', 'name': 'jump if not'},
{'fun': 'sub_0807E078', 'params': 's'},
{'fun': 'sub_0807E0A0', 'params': 'w','name': 'abs jump' },
{'fun': 'sub_0807E0B8', 'params': 'w', 'name': 'abs jump if'},
{'fun': 'sub_0807E0CC', 'params': 'w', 'name': 'abs jump if not'},
{'fun': 'sub_0807E0E0', 'params': 'w'},
{'fun': 'sub_0807E10C', 'params':'p', 'name': 'Execute function via pointer'},# 'exec': sub_0807E10C},
{'fun': 'sub_0807E124', 'params': 'pw'},
{'fun': 'sub_0807E148', 'params': 'w'},
{'fun': 'sub_0807E158', 'params': 'w'},
{'fun': 'sub_0807E188', 'params': 's'},
{'fun': 'sub_0807E1D8', 'params': 's'},
{'fun': 'sub_0807E4AC', 'params': 's'},
{'fun': 'sub_0807E200', 'params': 's'},
{'fun': 'sub_0807E220', 'params': 'ss'},
{'fun': 'sub_0807E240', 'params': 's'},
{'fun': 'sub_0807E260', 'params': 's'},
{'fun': 'sub_0807E280', 'params': 'sss'},
{'fun': 'sub_0807E2A8', 'params': 's'},
{'fun': 'sub_0807E2E4', 'params': ''},
{'fun': 'sub_0807E30C', 'params': ''},
{'fun': 'sub_0807E390', 'params': 's'},
{'fun': 'sub_0807E3BC', 'params': 's'},
{'fun': 'sub_0807E3E8', 'params': ''},
{'fun': 'sub_0807E40C', 'params': 's'},
{'fun': 'sub_0807E42C', 'params': 'ss'},
{'fun': 'sub_0807E48C', 'params': 's'},
{'fun': 'sub_0807E4CC', 'params': 'w'},
{'fun': 'sub_0807E4EC', 'params': 'w'},
{'fun': 'sub_0807E514', 'params': 's'},
{'fun': 'sub_0807E538', 'params':'w'},
{'fun': 'sub_0807E564', 'params': ''},
{'fun': 'sub_0807E584', 'params': ''},
{'fun': 'sub_0807E5A0', 'params': 's'},
{'fun': 'sub_0807E5CC', 'params': 's'},
{'fun': 'sub_0807E5F8', 'params': 'w'},# 'exec': sub_0807E5F8},
{'fun': 'sub_0807E610', 'params': 'w'},
{'fun': 'sub_0807E628', 'params': 's'},
{'fun': 'sub_0807E634', 'params': 'ss'},
{'fun': 'sub_0807E644', 'params': 's'},
{'fun': 'sub_0807E650', 'params': 's'},
{'fun': 'sub_0807E65C', 'params': 's'},
{'fun': 'sub_0807E668', 'params': 's'},
{'fun': 'sub_0807E674', 'params': 's'},
{'fun': 'sub_0807E680', 'params': 's'},
{'fun': 'sub_0807E690', 'params': 'w'},
{'fun': 'sub_0807E6AC', 'params': 'w'},
{'fun': 'sub_0807E6DC', 'params': ''},
{'fun': 'sub_0807E700', 'params': ''},
{'fun': 'sub_0807E72C', 'params': ''},
{'fun': 'sub_0807E75C', 'params': ''},
{'fun': 'sub_0807E778', 'params': 's'},
{'fun': 'sub_0807E788', 'params': 'w'},
{'fun': 'sub_0807E79C', 'params': ''},
{'fun': 'nullsub_508', 'params': 's'},
{'fun': 'sub_0807E7B0', 'params': ''},
{'fun': 'sub_0807E7C4', 'params': ''},
{'fun': 'sub_0807E7D8', 'params': ''},
{'fun': 'sub_0807E7EC', 'params': ''},
{'fun': 'sub_0807E800', 'params': 'w'},
{'fun': 'sub_0807E80C', 'params': 'w'},
{'fun': 'sub_0807E858', 'params': 's'},
{'fun': 'sub_0807E864', 'params': ''},
{'fun': 'sub_0807E878', 'params': ''},
{'fun': 'sub_0807E888', 'params': ''},
{'fun': 'sub_0807E898', 'params': 'w'},
{'fun': 'sub_0807E8C4', 'params': 'w'},
{'fun': 'sub_0807E8D4', 'params': 's'},
{'fun': 'sub_0807E8E4_0', 'params': ''}, # duplicate
{'fun': 'sub_0807E8E4_1', 'params': ''}, # duplicate
{'fun': 'sub_0807E8E4_2', 'params': ''}, # duplicate
{'fun': 'sub_0807E8E4_3', 'params': ''}, # duplicate
{'fun': 'sub_0807E908', 'params': 's'},
{'fun': 'sub_0807E914', 'params': 'w'},
{'fun': 'sub_0807E924', 'params': ''},
{'fun': 'sub_0807E930', 'params': 's'},
{'fun': 'sub_0807E944', 'params': ''},
{'fun': 'sub_0807E974', 'params': 's'},
{'fun': 'sub_0807E9D4', 'params': ''},
{'fun': 'sub_0807E9DC', 'params': ''},
{'fun': 'sub_0807E9E4', 'params': 's'},
{'fun': 'sub_0807E9F0', 'params': ''},
{'fun': 'sub_0807EA4C', 'params': ''},
{'fun': 'sub_0807EA88', 'params': 's'},
{'fun': 'sub_0807EA94', 'params': ''},
{'fun': 'sub_0807EAB4', 'params': 's'},
{'fun': 'sub_0807EAC0', 'params': 's'},
{'fun': 'sub_0807EAD0', 'params': 'ss'},
{'fun': 'sub_0807EAF0', 'params': 'w'},
{'fun': 'sub_0807EB18', 'params': ''},
{'fun': 'sub_0807EB28', 'params': 's'},
{'fun': 'sub_0807EB38', 'params': ''},
{'fun': 'sub_0807EB44', 'params': 's'},
{'fun': 'sub_0807EB4C', 'params': 'ss'},
{'fun': 'sub_0807EB74', 'params': ''},
{'fun': 'sub_0807EB8C', 'params': ''},
{'fun': 'sub_0807EBA8', 'params': 's'},
{'fun': 'sub_0807EBB0', 'params': 's'},
{'fun': 'sub_0807EBC0', 'params': 's'},
{'fun': 'sub_0807EBC8', 'params': 'w'},
{'fun': 'sub_0807EBD8', 'params': 'w'},
{'fun': 'sub_0807EBF4', 'params': 'ss'},
{'fun': 'sub_0807EC08', 'params': ''},
{'fun': 'nullsub_509', 'params': ''},
{'fun': 'sub_0807EC1C', 'params': 's'},
{'fun': 'sub_0807EC64', 'params': 's'},
{'fun': 'sub_0807EC94', 'params': 's'},
{'fun': 'sub_0807ECC4', 'params': 's'},
{'fun': 'sub_0807ECF4', 'params': 's'},
{'fun': 'sub_0807ED24', 'params': 'sss'},
{'fun': 'sub_0807EDD4', 'params': 'ss'},
{'fun': 'sub_0807EE04', 'params': 'ss'},
{'fun': 'sub_0807EE30', 'params': ''},
{'fun': 'sub_0807EEB4', 'params': ''},
{'fun': 'sub_0807EEF4', 'params': 'ss'},
{'fun': 'sub_0807EF3C', 'params': 'ss'},
{'fun': 'sub_0807EF80', 'params': 's'},
{'fun': 'sub_0807EF90', 'params': 's'},
{'fun': 'sub_0807EFA0', 'params': 's'},
{'fun': 'sub_0807EFAC', 'params': 's'},
{'fun': 'sub_0807EFD4', 'params': 'w'},
{'fun': 'sub_0807EFE4', 'params': ''},
{'fun': 'sub_0807EFF4', 'params': 's'},
{'fun': 'sub_0807F004', 'params': 's'},
{'fun': 'sub_0807F010', 'params': 's'},
{'fun': 'sub_0807F034', 'params': 's'},
{'fun': 'sub_0807F050', 'params': 's'},
{'fun': 'sub_0807F060', 'params': 's'},
{'fun': 'sub_0807F078', 'params': 'ss'},
{'fun': 'sub_0807F088', 'params': 's'},
{'fun': 'sub_0807F098', 'params': ''},
{'fun': 'sub_0807F0A4', 'params': ''},
{'fun': 'sub_0807F0B4', 'params': 's'},
{'fun': 'sub_0807F0C8', 'params': 'ss'}
{'fun': 'ScriptCommandNop', 'params': ''},
{'fun': 'ScriptCommand_StartScript', 'params': '', 'name': 'start executing scripts'},
{'fun': 'ScriptCommand_StopScript', 'params': '', 'name': 'stop executing scripts'},
{'fun': 'ScriptCommand_Jump', 'params': 's', 'name': 'jump by offset'},
{'fun': 'ScriptCommand_JumpIf', 'params': 's', 'name': 'jump if'},
{'fun': 'ScriptCommand_JumpIfNot', 'params': 's', 'name': 'jump if not'},
{'fun': 'ScriptCommand_0807E078', 'params': 's'},
{'fun': 'ScriptCommand_JumpAbsolute', 'params': 'w','name': 'abs jump' },
{'fun': 'ScriptCommand_JumpAbsoluteIf', 'params': 'w', 'name': 'abs jump if'},
{'fun': 'ScriptCommand_JumpAbsoluteIfNot', 'params': 'w', 'name': 'abs jump if not'},
{'fun': 'ScriptCommand_0807E0E0', 'params': 'w'},
{'fun': 'ScriptCommand_Call', 'params':'p', 'name': 'Execute function via pointer'},# 'exec': ScriptCommand_Call},
{'fun': 'ScriptCommand_CallWithArg', 'params': 'pw'},
{'fun': 'ScriptCommand_LoadRoomEntityList', 'params': 'w'},
{'fun': 'ScriptCommand_TestBit', 'params': 'w'},
{'fun': 'ScriptCommand_CheckInventory1', 'params': 's'},
{'fun': 'ScriptCommand_CheckInventory2', 'params': 's'},
{'fun': 'ScriptCommand_HasRoomItemForSale', 'params': 's'},
{'fun': 'ScriptCommand_CheckLocalFlag', 'params': 's'},
{'fun': 'ScriptCommand_CheckLocalFlagByOffset', 'params': 'ss'},
{'fun': 'ScriptCommand_CheckGlobalFlag', 'params': 's'},
{'fun': 'ScriptCommand_CheckRoomFlag', 'params': 's'},
{'fun': 'ScriptCommand_CheckPlayerInRegion', 'params': 'sss'},
{'fun': 'ScriptCommand_CheckPlayerInRegion2', 'params': 's'},
{'fun': 'ScriptCommand_CheckEntityInteractType', 'params': ''},
{'fun': 'ScriptCommand_0807E30C', 'params': ''},
{'fun': 'ScriptCommand_HasRupees', 'params': 's'},
{'fun': 'ScriptCommand_0807E3BC', 'params': 's'},
{'fun': 'ScriptCommand_0807E3E8', 'params': ''},
{'fun': 'ScriptCommand_CheckKinstoneFused', 'params': 's'},
{'fun': 'ScriptCommand_BuyItem', 'params': 'ss'},
{'fun': 'ScriptCommand_0807E48C', 'params': 's'},
{'fun': 'ScriptCommand_0807E4CC', 'params': 'w'},
{'fun': 'ScriptCommand_0807E4EC', 'params': 'w'},
{'fun': 'ScriptCommand_0807E51', 'params': 's'},
{'fun': 'ScriptCommand_CheckPlayerFlags', 'params':'w'},
{'fun': 'ScriptCommand_0807E564', 'params': ''},
{'fun': 'ScriptCommand_EntityHasHeight', 'params': ''},
{'fun': 'ScriptCommand_ComparePlayerAction', 'params': 's'},
{'fun': 'ScriptCommand_ComparePlayerAnimationState', 'params': 's'},
{'fun': 'ScriptCommand_0807E5F8', 'params': 'w'},# 'exec': ScriptCommand_0807E5F8},
{'fun': 'ScriptCommand_0807E610', 'params': 'w'},
{'fun': 'ScriptCommand_SetLocalFlag', 'params': 's'},
{'fun': 'ScriptCommand_SetLocalFlagByOffset', 'params': 'ss'},
{'fun': 'ScriptCommand_ClearLocalFlag', 'params': 's'},
{'fun': 'ScriptCommand_SetGlobalFlag', 'params': 's'},
{'fun': 'ScriptCommand_ClearGlobalFlag', 'params': 's'},
{'fun': 'ScriptCommand_SetRoomFlag', 'params': 's'},
{'fun': 'ScriptCommand_ClearRoomFlag', 'params': 's'},
{'fun': 'ScriptCommand_Wait', 'params': 's'},
{'fun': 'ScriptCommand_WaitForSomething', 'params': 'w'},
{'fun': 'ScriptCommand_WaitForSomething2', 'params': 'w'},
{'fun': 'ScriptCommand_WaitPlayerAction8', 'params': ''},
{'fun': 'ScriptCommand_WaitForPlayerAction0x17', 'params': ''},
{'fun': 'ScriptCommand_WaitFor_1', 'params': ''},
{'fun': 'ScriptCommand_WaitFor_2', 'params': ''},
{'fun': 'ScriptCommand_0807E778', 'params': 's'},
{'fun': 'ScriptCommand_0807E788', 'params': 'w'},
{'fun': 'ScriptCommand_0807E79C', 'params': ''},
{'fun': 'ScriptCommandNop2', 'params': 's'},
{'fun': 'ScriptCommand_DoFade4', 'params': ''},
{'fun': 'ScriptCommand_DoFade5', 'params': ''},
{'fun': 'ScriptCommand_DoFade6', 'params': ''},
{'fun': 'ScriptCommand_DoFade7', 'params': ''},
{'fun': 'ScriptCommand_0807E800', 'params': 'w'},
{'fun': 'ScriptCommand_0807E80C', 'params': 'w'},
{'fun': 'ScriptCommand_0807E858', 'params': 's'},
{'fun': 'ScriptCommand_0807E864', 'params': ''},
{'fun': 'ScriptCommand_0807E878', 'params': ''},
{'fun': 'ScriptCommand_0807E888', 'params': ''},
{'fun': 'ScriptCommand_SetPlayerAction', 'params': 'w'},
{'fun': 'ScriptCommand_StartPlayerScript', 'params': 'w'},
{'fun': 'ScriptCommand_0807E8D4', 'params': 's'},
{'fun': 'ScriptCommand_0807E8E4_0', 'params': ''}, # duplicate
{'fun': 'ScriptCommand_0807E8E4_1', 'params': ''}, # duplicate
{'fun': 'ScriptCommand_0807E8E4_2', 'params': ''}, # duplicate
{'fun': 'ScriptCommand_0807E8E4_3', 'params': ''}, # duplicate
{'fun': 'ScriptCommand_0807E908', 'params': 's'},
{'fun': 'ScriptCommand_0807E914', 'params': 'w'},
{'fun': 'ScriptCommand_0807E924', 'params': ''},
{'fun': 'ScriptCommand_0807E930', 'params': 's'},
{'fun': 'ScriptCommand_0807E944', 'params': ''},
{'fun': 'ScriptCommand_0807E974', 'params': 's'},
{'fun': 'ScriptCommand_0807E9D4', 'params': ''},
{'fun': 'ScriptCommand_0807E9DC', 'params': ''},
{'fun': 'ScriptCommand_0807E9E4', 'params': 's'},
{'fun': 'ScriptCommand_0807E9F0', 'params': ''},
{'fun': 'ScriptCommand_0807EA4C', 'params': ''},
{'fun': 'ScriptCommand_0807EA88', 'params': 's'},
{'fun': 'ScriptCommand_0807EA94', 'params': ''},
{'fun': 'ScriptCommand_TextboxNoOverlapFollow', 'params': 's'},
{'fun': 'ScriptCommand_TextboxNoOverlap', 'params': 's'},
{'fun': 'ScriptCommand_TextboxNoOverlapFollowPos', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EAF0', 'params': 'w'},
{'fun': 'ScriptCommand_TextboxNoOverlapVar', 'params': ''},
{'fun': 'ScriptCommand_0807EB28', 'params': 's'},
{'fun': 'ScriptCommand_0807EB38', 'params': ''},
{'fun': 'ScriptCommand_0807EB44', 'params': 's'},
{'fun': 'ScriptCommand_0807EB4C', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EB74', 'params': ''},
{'fun': 'ScriptCommand_0807EB8C', 'params': ''},
{'fun': 'ScriptCommand_SetEntityDirection', 'params': 's'},
{'fun': 'ScriptCommand_SetEntityDirectionWithAnimationState', 'params': 's'},
{'fun': 'ScriptCommand_SetEntityNonPlanarMovement', 'params': 's'},
{'fun': 'ScriptCommand_SetEntity0x20', 'params': 'w'},
{'fun': 'ScriptCommand_SetEntityPositionRelative', 'params': 'w'},
{'fun': 'ScriptCommand_SetEntityPosition', 'params': 'ss'},
{'fun': 'ScriptCommand_MoveEntityToPlayer', 'params': ''},
{'fun': 'ScriptCommandNop3', 'params': ''},
{'fun': 'ScriptCommand_0807EC1C', 'params': 's'},
{'fun': 'ScriptCommand_0807EC64', 'params': 's'},
{'fun': 'ScriptCommand_0807EC94', 'params': 's'},
{'fun': 'ScriptCommand_0807ECC4', 'params': 's'},
{'fun': 'ScriptCommand_0807ECF4', 'params': 's'},
{'fun': 'ScriptCommand_0807ED24', 'params': 'sss'},
{'fun': 'ScriptCommand_0807EDD4', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EE04', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EE30', 'params': ''},
{'fun': 'ScriptCommand_0807EEB4', 'params': ''},
{'fun': 'ScriptCommand_0807EEF4', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EF3C', 'params': 'ss'},
{'fun': 'ScriptCommand_0807EF80', 'params': 's'},
{'fun': 'ScriptCommand_0807EF90', 'params': 's'},
{'fun': 'ScriptCommand_SoundReq', 'params': 's'},
{'fun': 'ScriptCommand_SoundReq2', 'params': 's'},
{'fun': 'ScriptCommand_SoundReq3', 'params': 'w'},
{'fun': 'ScriptCommand_SoundReq0x80100000', 'params': ''},
{'fun': 'ScriptCommand_ModRupees', 'params': 's'},
{'fun': 'ScriptCommand_ModHealth', 'params': 's'},
{'fun': 'ScriptCommand_IncreaseMaxHealth', 'params': 's'},
{'fun': 'ScriptCommand_0807F034', 'params': 's'},
{'fun': 'ScriptCommand_0807F050', 'params': 's'},
{'fun': 'ScriptCommand_GetInventoryValue', 'params': 's'},
{'fun': 'ScriptCommand_0807F078', 'params': 'ss'},
{'fun': 'ScriptCommand_0807F088', 'params': 's'},
{'fun': 'ScriptCommand_CameraTargetEntity', 'params': ''},
{'fun': 'ScriptCommand_CameraTargetPlayer', 'params': ''},
{'fun': 'ScriptCommand_0807F0B4', 'params': 's'},
{'fun': 'ScriptCommand_0807F0C8', 'params': 'ss'}
]
# definitions for parameters
@@ -225,6 +225,11 @@ parameters = {
},
}
def build_script_command(name: str):
name = name.replace("ScriptCommand_", "")
if name[0].isdigit():
return '_' + name
return name
def ExecuteScriptCommandSet(ctx: Context):
cmd = struct.unpack('H', ctx.data[ctx.ptr:ctx.ptr+2])[0]
@@ -268,7 +273,7 @@ def ExecuteScriptCommandSet(ctx: Context):
#ctx.ptr += unk_06*2
#return 1
print(command['fun'] + ' ' + params['read'](ctx))
print(build_script_command(command['fun']) + ' ' + params['read'](ctx))
# Execute script
ctx.ptr += unk_06*2
@@ -319,7 +324,7 @@ def generate_macros():
params = parameters[command['params']]
id = ((params['length']+1) << 0xA) + num
print(f'.macro {command["fun"]} {params["param"]}')
print(f'.macro {build_script_command(command["fun"])} {params["param"]}')
print(f' .short {u16_to_hex(id)}')
if params['expr'] != '':
print(params['expr'])