1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-11 09:20:17 +00:00

Merge branch 'master' into audio_synthesis

This commit is contained in:
zelda2774 2021-08-30 22:04:32 +02:00
commit fd98888ec2
35 changed files with 2348 additions and 5532 deletions

View file

@ -1,119 +0,0 @@
glabel func_800E4590
/* B5B730 800E4590 3C078017 */ lui $a3, %hi(gAudioContext) # $a3, 0x8017
/* B5B734 800E4594 24E7F180 */ addiu $a3, %lo(gAudioContext) # addiu $a3, $a3, -0xe80
/* B5B738 800E4598 8CEE176C */ lw $t6, 0x176c($a3)
/* B5B73C 800E459C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B5B740 800E45A0 AFBF002C */ sw $ra, 0x2c($sp)
/* B5B744 800E45A4 19C00061 */ blez $t6, .L800E472C
/* B5B748 800E45A8 AFB00028 */ sw $s0, 0x28($sp)
/* B5B74C 800E45AC 1080000B */ beqz $a0, .L800E45DC
/* B5B750 800E45B0 27A5004C */ addiu $a1, $sp, 0x4c
/* B5B754 800E45B4 3C048017 */ lui $a0, %hi(gAudioContext+0x1e78) # $a0, 0x8017
/* B5B758 800E45B8 24840FF8 */ addiu $a0, %lo(gAudioContext+0x1e78) # addiu $a0, $a0, 0xff8
/* B5B75C 800E45BC 27A5004C */ addiu $a1, $sp, 0x4c
/* B5B760 800E45C0 0C000CA0 */ jal osRecvMesg
/* B5B764 800E45C4 00003025 */ move $a2, $zero
/* B5B768 800E45C8 3C078017 */ lui $a3, %hi(gAudioContext) # $a3, 0x8017
/* B5B76C 800E45CC 24E7F180 */ addiu $a3, %lo(gAudioContext) # addiu $a3, $a3, -0xe80
/* B5B770 800E45D0 ACE0176C */ sw $zero, 0x176c($a3)
/* B5B774 800E45D4 10000056 */ b .L800E4730
/* B5B778 800E45D8 00001025 */ move $v0, $zero
.L800E45DC:
/* B5B77C 800E45DC 3C048017 */ lui $a0, %hi(gAudioContext+0x1e78) # $a0, 0x8017
/* B5B780 800E45E0 24840FF8 */ addiu $a0, %lo(gAudioContext+0x1e78) # addiu $a0, $a0, 0xff8
/* B5B784 800E45E4 0C000CA0 */ jal osRecvMesg
/* B5B788 800E45E8 00003025 */ move $a2, $zero
/* B5B78C 800E45EC 3C078017 */ lui $a3, %hi(gAudioContext) # $a3, 0x8017
/* B5B790 800E45F0 2401FFFF */ li $at, -1
/* B5B794 800E45F4 14410003 */ bne $v0, $at, .L800E4604
/* B5B798 800E45F8 24E7F180 */ addiu $a3, %lo(gAudioContext) # addiu $a3, $a3, -0xe80
/* B5B79C 800E45FC 1000004C */ b .L800E4730
/* B5B7A0 800E4600 00001025 */ move $v0, $zero
.L800E4604:
/* B5B7A4 800E4604 8FA4004C */ lw $a0, 0x4c($sp)
/* B5B7A8 800E4608 24090001 */ li $t1, 1
/* B5B7AC 800E460C 240B0014 */ li $t3, 20
/* B5B7B0 800E4610 00042602 */ srl $a0, $a0, 0x18
/* B5B7B4 800E4614 00047880 */ sll $t7, $a0, 2
/* B5B7B8 800E4618 01E47821 */ addu $t7, $t7, $a0
/* B5B7BC 800E461C 000F7880 */ sll $t7, $t7, 2
/* B5B7C0 800E4620 00EF1021 */ addu $v0, $a3, $t7
/* B5B7C4 800E4624 8C580D78 */ lw $t8, 0xd78($v0)
/* B5B7C8 800E4628 24460D68 */ addiu $a2, $v0, 0xd68
/* B5B7CC 800E462C 00C01825 */ move $v1, $a2
/* B5B7D0 800E4630 17000014 */ bnez $t8, .L800E4684
/* B5B7D4 800E4634 AFA4004C */ sw $a0, 0x4c($sp)
/* B5B7D8 800E4638 8CC20004 */ lw $v0, 4($a2)
/* B5B7DC 800E463C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B7E0 800E4640 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B7E4 800E4644 8C440000 */ lw $a0, ($v0)
/* B5B7E8 800E4648 8C590004 */ lw $t9, 4($v0)
/* B5B7EC 800E464C 8CD80000 */ lw $t8, ($a2)
/* B5B7F0 800E4650 00816024 */ and $t4, $a0, $at
/* B5B7F4 800E4654 00047100 */ sll $t6, $a0, 4
/* B5B7F8 800E4658 000E7F82 */ srl $t7, $t6, 0x1e
/* B5B7FC 800E465C 032C6821 */ addu $t5, $t9, $t4
/* B5B800 800E4660 01AF2821 */ addu $a1, $t5, $t7
/* B5B804 800E4664 54B80007 */ bnel $a1, $t8, .L800E4684
/* B5B808 800E4668 AC690010 */ sw $t1, 0x10($v1)
/* B5B80C 800E466C 904C0000 */ lbu $t4, ($v0)
/* B5B810 800E4670 8CD90008 */ lw $t9, 8($a2)
/* B5B814 800E4674 318EFFF3 */ andi $t6, $t4, 0xfff3
/* B5B818 800E4678 A04E0000 */ sb $t6, ($v0)
/* B5B81C 800E467C AC590004 */ sw $t9, 4($v0)
/* B5B820 800E4680 AC690010 */ sw $t1, 0x10($v1)
.L800E4684:
/* B5B824 800E4684 24090001 */ li $t1, 1
.L800E4688:
/* B5B828 800E4688 8CE2176C */ lw $v0, 0x176c($a3)
/* B5B82C 800E468C 18400027 */ blez $v0, .L800E472C
/* B5B830 800E4690 2458FFFF */ addiu $t8, $v0, -1
/* B5B834 800E4694 004B0019 */ multu $v0, $t3
/* B5B838 800E4698 00006812 */ mflo $t5
/* B5B83C 800E469C 00ED1821 */ addu $v1, $a3, $t5
/* B5B840 800E46A0 8C6F0D64 */ lw $t7, 0xd64($v1)
/* B5B844 800E46A4 24630D54 */ addiu $v1, $v1, 0xd54
/* B5B848 800E46A8 552F0004 */ bnel $t1, $t7, .L800E46BC
/* B5B84C 800E46AC 8C620004 */ lw $v0, 4($v1)
/* B5B850 800E46B0 1000FFF5 */ b .L800E4688
/* B5B854 800E46B4 ACF8176C */ sw $t8, 0x176c($a3)
/* B5B858 800E46B8 8C620004 */ lw $v0, 4($v1)
.L800E46BC:
/* B5B85C 800E46BC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B860 800E46C0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B864 800E46C4 8C440000 */ lw $a0, ($v0)
/* B5B868 800E46C8 8C500004 */ lw $s0, 4($v0)
/* B5B86C 800E46CC 8C6C0000 */ lw $t4, ($v1)
/* B5B870 800E46D0 00813024 */ and $a2, $a0, $at
/* B5B874 800E46D4 00044100 */ sll $t0, $a0, 4
/* B5B878 800E46D8 00084782 */ srl $t0, $t0, 0x1e
/* B5B87C 800E46DC 0206C821 */ addu $t9, $s0, $a2
/* B5B880 800E46E0 00065302 */ srl $t2, $a2, 0xc
/* B5B884 800E46E4 03282821 */ addu $a1, $t9, $t0
/* B5B888 800E46E8 10AC0006 */ beq $a1, $t4, .L800E4704
/* B5B88C 800E46EC 254A0001 */ addiu $t2, $t2, 1
/* B5B890 800E46F0 AC690010 */ sw $t1, 0x10($v1)
/* B5B894 800E46F4 8CEE176C */ lw $t6, 0x176c($a3)
/* B5B898 800E46F8 25CDFFFF */ addiu $t5, $t6, -1
/* B5B89C 800E46FC 1000FFE2 */ b .L800E4688
/* B5B8A0 800E4700 ACED176C */ sw $t5, 0x176c($a3)
.L800E4704:
/* B5B8A4 800E4704 8C650008 */ lw $a1, 8($v1)
/* B5B8A8 800E4708 3C0F8017 */ lui $t7, %hi(gAudioContext+0x1e78) # $t7, 0x8017
/* B5B8AC 800E470C 25EF0FF8 */ addiu $t7, %lo(gAudioContext+0x1e78) # addiu $t7, $t7, 0xff8
/* B5B8B0 800E4710 AFAF0014 */ sw $t7, 0x14($sp)
/* B5B8B4 800E4714 AFAA0010 */ sw $t2, 0x10($sp)
/* B5B8B8 800E4718 8C78000C */ lw $t8, 0xc($v1)
/* B5B8BC 800E471C 02002025 */ move $a0, $s0
/* B5B8C0 800E4720 01003825 */ move $a3, $t0
/* B5B8C4 800E4724 0C038EB2 */ jal Audio_InitAsyncReq
/* B5B8C8 800E4728 AFB80018 */ sw $t8, 0x18($sp)
.L800E472C:
/* B5B8CC 800E472C 24020001 */ li $v0, 1
.L800E4730:
/* B5B8D0 800E4730 8FBF002C */ lw $ra, 0x2c($sp)
/* B5B8D4 800E4734 8FB00028 */ lw $s0, 0x28($sp)
/* B5B8D8 800E4738 27BD0058 */ addiu $sp, $sp, 0x58
/* B5B8DC 800E473C 03E00008 */ jr $ra
/* B5B8E0 800E4740 00000000 */ nop

View file

@ -1,917 +0,0 @@
.late_rodata
glabel D_8094AFF8
.float 1.99000000954
glabel jtbl_8094AFFC
.word L8093FDC0
.word L8093FE58
.word L809400CC
.word L809402FC
.word L80940690
glabel D_8094B010
.word 0x43838000
.text
glabel BossTw_TwinrovaDeathCS
/* 06D14 8093F9E4 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 06D18 8093F9E8 AFB20044 */ sw $s2, 0x0044($sp)
/* 06D1C 8093F9EC AFBF004C */ sw $ra, 0x004C($sp)
/* 06D20 8093F9F0 AFB30048 */ sw $s3, 0x0048($sp)
/* 06D24 8093F9F4 AFB10040 */ sw $s1, 0x0040($sp)
/* 06D28 8093F9F8 AFB0003C */ sw $s0, 0x003C($sp)
/* 06D2C 8093F9FC F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 06D30 8093FA00 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 06D34 8093FA04 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 06D38 8093FA08 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 06D3C 8093FA0C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 06D40 8093FA10 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 06D44 8093FA14 0C030129 */ jal Gameplay_GetCamera
/* 06D48 8093FA18 AFAE00CC */ sw $t6, 0x00CC($sp)
/* 06D4C 8093FA1C 26500568 */ addiu $s0, $s2, 0x0568 ## $s0 = 00000568
/* 06D50 8093FA20 AFA200C8 */ sw $v0, 0x00C8($sp)
/* 06D54 8093FA24 0C02927F */ jal SkelAnime_Update
/* 06D58 8093FA28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000568
/* 06D5C 8093FA2C 864F0160 */ lh $t7, 0x0160($s2) ## 00000160
/* 06D60 8093FA30 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 06D64 8093FA34 264401B4 */ addiu $a0, $s2, 0x01B4 ## $a0 = 000001B4
/* 06D68 8093FA38 25F80014 */ addiu $t8, $t7, 0x0014 ## $t8 = 00000014
/* 06D6C 8093FA3C A6580160 */ sh $t8, 0x0160($s2) ## 00000160
/* 06D70 8093FA40 86590160 */ lh $t9, 0x0160($s2) ## 00000160
/* 06D74 8093FA44 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 06D78 8093FA48 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06D7C 8093FA4C 2B210100 */ slti $at, $t9, 0x0100
/* 06D80 8093FA50 14200002 */ bne $at, $zero, .L8093FA5C
/* 06D84 8093FA54 3C073D4C */ lui $a3, 0x3D4C ## $a3 = 3D4C0000
/* 06D88 8093FA58 A6480160 */ sh $t0, 0x0160($s2) ## 00000160
.L8093FA5C:
/* 06D8C 8093FA5C 0C01E107 */ jal Math_ApproachF
/* 06D90 8093FA60 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3D4CCCCD
/* 06D94 8093FA64 86420440 */ lh $v0, 0x0440($s2) ## 00000440
/* 06D98 8093FA68 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 06D9C 8093FA6C A24905F8 */ sb $t1, 0x05F8($s2) ## 000005F8
/* 06DA0 8093FA70 10400005 */ beq $v0, $zero, .L8093FA88
/* 06DA4 8093FA74 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 06DA8 8093FA78 504100C9 */ beql $v0, $at, .L8093FDA0
/* 06DAC 8093FA7C 964F05FA */ lhu $t7, 0x05FA($s2) ## 000005FA
/* 06DB0 8093FA80 100000C7 */ beq $zero, $zero, .L8093FDA0
/* 06DB4 8093FA84 964F05FA */ lhu $t7, 0x05FA($s2) ## 000005FA
.L8093FA88:
/* 06DB8 8093FA88 86420150 */ lh $v0, 0x0150($s2) ## 00000150
/* 06DBC 8093FA8C 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 06DC0 8093FA90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000568
/* 06DC4 8093FA94 14410005 */ bne $v0, $at, .L8093FAAC
/* 06DC8 8093FA98 3C050602 */ lui $a1, %hi(object_tw_Anim_0216DC) ## $a1 = 06020000
/* 06DCC 8093FA9C 24A516DC */ addiu $a1, $a1, %lo(object_tw_Anim_0216DC) ## $a1 = 060216DC
/* 06DD0 8093FAA0 0C029490 */ jal Animation_MorphToPlayOnce
/* 06DD4 8093FAA4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 06DD8 8093FAA8 86420150 */ lh $v0, 0x0150($s2) ## 00000150
.L8093FAAC:
/* 06DDC 8093FAAC 2841000F */ slti $at, $v0, 0x000F
/* 06DE0 8093FAB0 14200007 */ bne $at, $zero, .L8093FAD0
/* 06DE4 8093FAB4 26440028 */ addiu $a0, $s2, 0x0028 ## $a0 = 00000028
/* 06DE8 8093FAB8 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 06DEC 8093FABC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 06DF0 8093FAC0 3C0543C8 */ lui $a1, 0x43C8 ## $a1 = 43C80000
/* 06DF4 8093FAC4 0C01E107 */ jal Math_ApproachF
/* 06DF8 8093FAC8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 06DFC 8093FACC 86420150 */ lh $v0, 0x0150($s2) ## 00000150
.L8093FAD0:
/* 06E00 8093FAD0 28410037 */ slti $at, $v0, 0x0037
/* 06E04 8093FAD4 142000AE */ bne $at, $zero, .L8093FD90
/* 06E08 8093FAD8 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
/* 06E0C 8093FADC 24010037 */ addiu $at, $zero, 0x0037 ## $at = 00000037
/* 06E10 8093FAE0 14410005 */ bne $v0, $at, .L8093FAF8
/* 06E14 8093FAE4 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005
/* 06E18 8093FAE8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 06E1C 8093FAEC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 06E20 8093FAF0 00330821 */ addu $at, $at, $s3
/* 06E24 8093FAF4 E4240AFC */ swc1 $f4, 0x0AFC($at) ## 00010AFC
.L8093FAF8:
/* 06E28 8093FAF8 3C018095 */ lui $at, %hi(sEnvType) ## $at = 80950000
/* 06E2C 8093FAFC A02AC840 */ sb $t2, %lo(sEnvType)($at)
/* 06E30 8093FB00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 06E34 8093FB04 00330821 */ addu $at, $at, $s3
/* 06E38 8093FB08 A02B0AE2 */ sb $t3, 0x0AE2($at) ## 00010AE2
/* 06E3C 8093FB0C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 06E40 8093FB10 00330821 */ addu $at, $at, $s3
/* 06E44 8093FB14 A0200AE1 */ sb $zero, 0x0AE1($at) ## 00010AE1
/* 06E48 8093FB18 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 06E4C 8093FB1C 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC
/* 06E50 8093FB20 3C073C75 */ lui $a3, 0x3C75 ## $a3 = 3C750000
/* 06E54 8093FB24 34E7C28F */ ori $a3, $a3, 0xC28F ## $a3 = 3C75C28F
/* 06E58 8093FB28 02612021 */ addu $a0, $s3, $at
/* 06E5C 8093FB2C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 06E60 8093FB30 0C01E107 */ jal Math_ApproachF
/* 06E64 8093FB34 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06E68 8093FB38 3C053983 */ lui $a1, 0x3983 ## $a1 = 39830000
/* 06E6C 8093FB3C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 06E70 8093FB40 3C073851 */ lui $a3, 0x3851 ## $a3 = 38510000
/* 06E74 8093FB44 34E7B717 */ ori $a3, $a3, 0xB717 ## $a3 = 3851B717
/* 06E78 8093FB48 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 06E7C 8093FB4C 34A5126E */ ori $a1, $a1, 0x126E ## $a1 = 3983126E
/* 06E80 8093FB50 0C01E107 */ jal Math_ApproachF
/* 06E84 8093FB54 26440050 */ addiu $a0, $s2, 0x0050 ## $a0 = 00000050
/* 06E88 8093FB58 C6400068 */ lwc1 $f0, 0x0068($s2) ## 00000068
/* 06E8C 8093FB5C C64801B8 */ lwc1 $f8, 0x01B8($s2) ## 000001B8
/* 06E90 8093FB60 3C014780 */ lui $at, 0x4780 ## $at = 47800000
/* 06E94 8093FB64 4600018D */ trunc.w.s $f6, $f0
/* 06E98 8093FB68 44816000 */ mtc1 $at, $f12 ## $f12 = 65536.00
/* 06E9C 8093FB6C 864C00B6 */ lh $t4, 0x00B6($s2) ## 000000B6
/* 06EA0 8093FB70 46004280 */ add.s $f10, $f8, $f0
/* 06EA4 8093FB74 44183000 */ mfc1 $t8, $f6
/* 06EA8 8093FB78 E64A01B8 */ swc1 $f10, 0x01B8($s2) ## 000001B8
/* 06EAC 8093FB7C C64201B8 */ lwc1 $f2, 0x01B8($s2) ## 000001B8
/* 06EB0 8093FB80 0198C821 */ addu $t9, $t4, $t8
/* 06EB4 8093FB84 A65900B6 */ sh $t9, 0x00B6($s2) ## 000000B6
/* 06EB8 8093FB88 4602603C */ c.lt.s $f12, $f2
/* 06EBC 8093FB8C 00000000 */ nop
/* 06EC0 8093FB90 45020007 */ bc1fl .L8093FBB0
/* 06EC4 8093FB94 26440068 */ addiu $a0, $s2, 0x0068 ## $a0 = 00000068
/* 06EC8 8093FB98 460C1401 */ sub.s $f16, $f2, $f12
/* 06ECC 8093FB9C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 06ED0 8093FBA0 24053921 */ addiu $a1, $zero, 0x3921 ## $a1 = 00003921
/* 06ED4 8093FBA4 0C00BE0A */ jal Audio_PlayActorSound2
/* 06ED8 8093FBA8 E65001B8 */ swc1 $f16, 0x01B8($s2) ## 000001B8
/* 06EDC 8093FBAC 26440068 */ addiu $a0, $s2, 0x0068 ## $a0 = 00000068
.L8093FBB0:
/* 06EE0 8093FBB0 3C054640 */ lui $a1, 0x4640 ## $a1 = 46400000
/* 06EE4 8093FBB4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06EE8 8093FBB8 0C01E107 */ jal Math_ApproachF
/* 06EEC 8093FBBC 3C074380 */ lui $a3, 0x4380 ## $a3 = 43800000
/* 06EF0 8093FBC0 86480150 */ lh $t0, 0x0150($s2) ## 00000150
/* 06EF4 8093FBC4 24010087 */ addiu $at, $zero, 0x0087 ## $at = 00000087
/* 06EF8 8093FBC8 27A900A4 */ addiu $t1, $sp, 0x00A4 ## $t1 = FFFFFFC4
/* 06EFC 8093FBCC 15010070 */ bne $t0, $at, .L8093FD90
/* 06F00 8093FBD0 3C0A8095 */ lui $t2, %hi(D_8094A8E8) ## $t2 = 80950000
/* 06F04 8093FBD4 254AA8E8 */ addiu $t2, $t2, %lo(D_8094A8E8) ## $t2 = 8094A8E8
/* 06F08 8093FBD8 8D4D0000 */ lw $t5, 0x0000($t2) ## 8094A8E8
/* 06F0C 8093FBDC 8D4B0004 */ lw $t3, 0x0004($t2) ## 8094A8EC
/* 06F10 8093FBE0 2404390D */ addiu $a0, $zero, 0x390D ## $a0 = 0000390D
/* 06F14 8093FBE4 AD2D0000 */ sw $t5, 0x0000($t1) ## FFFFFFC4
/* 06F18 8093FBE8 8D4D0008 */ lw $t5, 0x0008($t2) ## 8094A8F0
/* 06F1C 8093FBEC AD2B0004 */ sw $t3, 0x0004($t1) ## FFFFFFC8
/* 06F20 8093FBF0 0C01E221 */ jal func_80078884
/* 06F24 8093FBF4 AD2D0008 */ sw $t5, 0x0008($t1) ## FFFFFFCC
/* 06F28 8093FBF8 264E0024 */ addiu $t6, $s2, 0x0024 ## $t6 = 00000024
/* 06F2C 8093FBFC AFAE0064 */ sw $t6, 0x0064($sp)
/* 06F30 8093FC00 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 06F34 8093FC04 27B100BC */ addiu $s1, $sp, 0x00BC ## $s1 = FFFFFFDC
/* 06F38 8093FC08 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
.L8093FC0C:
/* 06F3C 8093FC0C 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 06F40 8093FC10 0C00CFC8 */ jal Rand_CenteredFloat
/* 06F44 8093FC14 00000000 */ nop
/* 06F48 8093FC18 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 06F4C 8093FC1C 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 06F50 8093FC20 0C00CFC8 */ jal Rand_CenteredFloat
/* 06F54 8093FC24 E7A000B0 */ swc1 $f0, 0x00B0($sp)
/* 06F58 8093FC28 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 06F5C 8093FC2C 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 06F60 8093FC30 0C00CFC8 */ jal Rand_CenteredFloat
/* 06F64 8093FC34 E7A000B4 */ swc1 $f0, 0x00B4($sp)
/* 06F68 8093FC38 8FAF0064 */ lw $t7, 0x0064($sp)
/* 06F6C 8093FC3C E7A000B8 */ swc1 $f0, 0x00B8($sp)
/* 06F70 8093FC40 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 06F74 8093FC44 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
/* 06F78 8093FC48 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
/* 06F7C 8093FC4C AE380000 */ sw $t8, 0x0000($s1) ## FFFFFFDC
/* 06F80 8093FC50 8DEC0004 */ lw $t4, 0x0004($t7) ## 00000004
/* 06F84 8093FC54 AE2C0004 */ sw $t4, 0x0004($s1) ## FFFFFFE0
/* 06F88 8093FC58 8DF80008 */ lw $t8, 0x0008($t7) ## 00000008
/* 06F8C 8093FC5C AE380008 */ sw $t8, 0x0008($s1) ## FFFFFFE4
/* 06F90 8093FC60 C7B200BC */ lwc1 $f18, 0x00BC($sp)
/* 06F94 8093FC64 C7A400B0 */ lwc1 $f4, 0x00B0($sp)
/* 06F98 8093FC68 C7A800C0 */ lwc1 $f8, 0x00C0($sp)
/* 06F9C 8093FC6C C7AA00B4 */ lwc1 $f10, 0x00B4($sp)
/* 06FA0 8093FC70 46049180 */ add.s $f6, $f18, $f4
/* 06FA4 8093FC74 C7B200C4 */ lwc1 $f18, 0x00C4($sp)
/* 06FA8 8093FC78 460A4400 */ add.s $f16, $f8, $f10
/* 06FAC 8093FC7C E7A600BC */ swc1 $f6, 0x00BC($sp)
/* 06FB0 8093FC80 46009100 */ add.s $f4, $f18, $f0
/* 06FB4 8093FC84 E7B000C0 */ swc1 $f16, 0x00C0($sp)
/* 06FB8 8093FC88 0C00CFBE */ jal Rand_ZeroFloat
/* 06FBC 8093FC8C E7A400C4 */ swc1 $f4, 0x00C4($sp)
/* 06FC0 8093FC90 3C018095 */ lui $at, %hi(D_8094AFF8) ## $at = 80950000
/* 06FC4 8093FC94 C42CAFF8 */ lwc1 $f12, %lo(D_8094AFF8)($at)
/* 06FC8 8093FC98 0C00CFBE */ jal Rand_ZeroFloat
/* 06FCC 8093FC9C 46000506 */ mov.s $f20, $f0
/* 06FD0 8093FCA0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 06FD4 8093FCA4 4600028D */ trunc.w.s $f10, $f0
/* 06FD8 8093FCA8 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 06FDC 8093FCAC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 06FE0 8093FCB0 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFDC
/* 06FE4 8093FCB4 4606A200 */ add.s $f8, $f20, $f6
/* 06FE8 8093FCB8 44085000 */ mfc1 $t0, $f10
/* 06FEC 8093FCBC 27A600B0 */ addiu $a2, $sp, 0x00B0 ## $a2 = FFFFFFD0
/* 06FF0 8093FCC0 27A700A4 */ addiu $a3, $sp, 0x00A4 ## $a3 = FFFFFFC4
/* 06FF4 8093FCC4 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 06FF8 8093FCC8 0C24E41C */ jal BossTw_AddFlameEffect
/* 06FFC 8093FCCC AFA80014 */ sw $t0, 0x0014($sp)
/* 07000 8093FCD0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 07004 8093FCD4 00108400 */ sll $s0, $s0, 16
/* 07008 8093FCD8 00108403 */ sra $s0, $s0, 16
/* 0700C 8093FCDC 2A010064 */ slti $at, $s0, 0x0064
/* 07010 8093FCE0 5420FFCA */ bnel $at, $zero, .L8093FC0C
/* 07014 8093FCE4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 07018 8093FCE8 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 0701C 8093FCEC C6520024 */ lwc1 $f18, 0x0024($s2) ## 00000024
/* 07020 8093FCF0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 07024 8093FCF4 A6490440 */ sh $t1, 0x0440($s2) ## 00000440
/* 07028 8093FCF8 A2400564 */ sb $zero, 0x0564($s2) ## 00000564
/* 0702C 8093FCFC E6500050 */ swc1 $f16, 0x0050($s2) ## 00000050
/* 07030 8093FD00 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 07034 8093FD04 C6440028 */ lwc1 $f4, 0x0028($s2) ## 00000028
/* 07038 8093FD08 26701C24 */ addiu $s0, $s3, 0x1C24 ## $s0 = 00001C24
/* 0703C 8093FD0C 240A0069 */ addiu $t2, $zero, 0x0069 ## $t2 = 00000069
/* 07040 8093FD10 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 07044 8093FD14 C646002C */ lwc1 $f6, 0x002C($s2) ## 0000002C
/* 07048 8093FD18 AFAA0028 */ sw $t2, 0x0028($sp)
/* 0704C 8093FD1C AFA00024 */ sw $zero, 0x0024($sp)
/* 07050 8093FD20 AFA00020 */ sw $zero, 0x0020($sp)
/* 07054 8093FD24 AFA0001C */ sw $zero, 0x001C($sp)
/* 07058 8093FD28 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 0705C 8093FD2C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 07060 8093FD30 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 07064 8093FD34 240700DC */ addiu $a3, $zero, 0x00DC ## $a3 = 000000DC
/* 07068 8093FD38 0C00C916 */ jal Actor_SpawnAsChild
/* 0706C 8093FD3C E7A60018 */ swc1 $f6, 0x0018($sp)
/* 07070 8093FD40 C6480024 */ lwc1 $f8, 0x0024($s2) ## 00000024
/* 07074 8093FD44 240B0068 */ addiu $t3, $zero, 0x0068 ## $t3 = 00000068
/* 07078 8093FD48 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 0707C 8093FD4C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 07080 8093FD50 C64A0028 */ lwc1 $f10, 0x0028($s2) ## 00000028
/* 07084 8093FD54 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 07088 8093FD58 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 0708C 8093FD5C E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 07090 8093FD60 C650002C */ lwc1 $f16, 0x002C($s2) ## 0000002C
/* 07094 8093FD64 AFAB0028 */ sw $t3, 0x0028($sp)
/* 07098 8093FD68 AFA00024 */ sw $zero, 0x0024($sp)
/* 0709C 8093FD6C AFA00020 */ sw $zero, 0x0020($sp)
/* 070A0 8093FD70 AFA0001C */ sw $zero, 0x001C($sp)
/* 070A4 8093FD74 240700DC */ addiu $a3, $zero, 0x00DC ## $a3 = 000000DC
/* 070A8 8093FD78 0C00C916 */ jal Actor_SpawnAsChild
/* 070AC 8093FD7C E7B00018 */ swc1 $f16, 0x0018($sp)
/* 070B0 8093FD80 8E4D0004 */ lw $t5, 0x0004($s2) ## 00000004
/* 070B4 8093FD84 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 070B8 8093FD88 01A17024 */ and $t6, $t5, $at
/* 070BC 8093FD8C AE4E0004 */ sw $t6, 0x0004($s2) ## 00000004
.L8093FD90:
/* 070C0 8093FD90 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 070C4 8093FD94 0C00B58B */ jal Actor_SetScale
/* 070C8 8093FD98 8E450050 */ lw $a1, 0x0050($s2) ## 00000050
/* 070CC 8093FD9C 964F05FA */ lhu $t7, 0x05FA($s2) ## 000005FA
.L8093FDA0:
/* 070D0 8093FDA0 2DE10005 */ sltiu $at, $t7, 0x0005
/* 070D4 8093FDA4 1020023C */ beq $at, $zero, .L80940698
/* 070D8 8093FDA8 000F7880 */ sll $t7, $t7, 2
/* 070DC 8093FDAC 3C018095 */ lui $at, %hi(jtbl_8094AFFC) ## $at = 80950000
/* 070E0 8093FDB0 002F0821 */ addu $at, $at, $t7
/* 070E4 8093FDB4 8C2FAFFC */ lw $t7, %lo(jtbl_8094AFFC)($at)
/* 070E8 8093FDB8 01E00008 */ jr $t7
/* 070EC 8093FDBC 00000000 */ nop
glabel L8093FDC0
/* 070F0 8093FDC0 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 070F4 8093FDC4 A64C05FA */ sh $t4, 0x05FA($s2) ## 000005FA
/* 070F8 8093FDC8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 070FC 8093FDCC 0C019148 */ jal func_80064520
/* 07100 8093FDD0 26651D64 */ addiu $a1, $s3, 0x1D64 ## $a1 = 00001D64
/* 07104 8093FDD4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 07108 8093FDD8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 0710C 8093FDDC 0C00B7D5 */ jal func_8002DF54
/* 07110 8093FDE0 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
/* 07114 8093FDE4 0C03008C */ jal Gameplay_CreateSubCamera
/* 07118 8093FDE8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0711C 8093FDEC A64205FC */ sh $v0, 0x05FC($s2) ## 000005FC
/* 07120 8093FDF0 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 07124 8093FDF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 07128 8093FDF8 0C0300C5 */ jal Gameplay_ChangeCameraStatus
/* 0712C 8093FDFC 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 07130 8093FE00 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 07134 8093FE04 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
/* 07138 8093FE08 0C0300C5 */ jal Gameplay_ChangeCameraStatus
/* 0713C 8093FE0C 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 07140 8093FE10 8FA300C8 */ lw $v1, 0x00C8($sp)
/* 07144 8093FE14 3C041001 */ lui $a0, 0x1001 ## $a0 = 10010000
/* 07148 8093FE18 348400FF */ ori $a0, $a0, 0x00FF ## $a0 = 100100FF
/* 0714C 8093FE1C 8C79005C */ lw $t9, 0x005C($v1) ## 0000005C
/* 07150 8093FE20 AE590600 */ sw $t9, 0x0600($s2) ## 00000600
/* 07154 8093FE24 8C780060 */ lw $t8, 0x0060($v1) ## 00000060
/* 07158 8093FE28 AE580604 */ sw $t8, 0x0604($s2) ## 00000604
/* 0715C 8093FE2C 8C790064 */ lw $t9, 0x0064($v1) ## 00000064
/* 07160 8093FE30 AE590608 */ sw $t9, 0x0608($s2) ## 00000608
/* 07164 8093FE34 8C690050 */ lw $t1, 0x0050($v1) ## 00000050
/* 07168 8093FE38 AE49060C */ sw $t1, 0x060C($s2) ## 0000060C
/* 0716C 8093FE3C 8C680054 */ lw $t0, 0x0054($v1) ## 00000054
/* 07170 8093FE40 AE480610 */ sw $t0, 0x0610($s2) ## 00000610
/* 07174 8093FE44 8C690058 */ lw $t1, 0x0058($v1) ## 00000058
/* 07178 8093FE48 0C03E803 */ jal Audio_QueueSeqCmd
/* 0717C 8093FE4C AE490614 */ sw $t1, 0x0614($s2) ## 00000614
/* 07180 8093FE50 10000212 */ beq $zero, $zero, .L8094069C
/* 07184 8093FE54 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
glabel L8093FE58
/* 07188 8093FE58 0C01DE1C */ jal Math_SinS
## sins?
/* 0718C 8093FE5C 86440032 */ lh $a0, 0x0032($s2) ## 00000032
/* 07190 8093FE60 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 07194 8093FE64 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00
/* 07198 8093FE68 00000000 */ nop
/* 0719C 8093FE6C 46120102 */ mul.s $f4, $f0, $f18
/* 071A0 8093FE70 E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 071A4 8093FE74 0C01DE0D */ jal Math_CosS
## coss?
/* 071A8 8093FE78 86440032 */ lh $a0, 0x0032($s2) ## 00000032
/* 071AC 8093FE7C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 071B0 8093FE80 4481A000 */ mtc1 $at, $f20 ## $f20 = 50.00
/* 071B4 8093FE84 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 071B8 8093FE88 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 071BC 8093FE8C C7B000D0 */ lwc1 $f16, 0x00D0($sp)
/* 071C0 8093FE90 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 071C4 8093FE94 46060202 */ mul.s $f8, $f0, $f6
/* 071C8 8093FE98 4407A000 */ mfc1 $a3, $f20
/* 071CC 8093FE9C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 071D0 8093FEA0 26440600 */ addiu $a0, $s2, 0x0600 ## $a0 = 00000600
/* 071D4 8093FEA4 E7A800D8 */ swc1 $f8, 0x00D8($sp)
/* 071D8 8093FEA8 C64A0024 */ lwc1 $f10, 0x0024($s2) ## 00000024
/* 071DC 8093FEAC 46105480 */ add.s $f18, $f10, $f16
/* 071E0 8093FEB0 44059000 */ mfc1 $a1, $f18
/* 071E4 8093FEB4 0C01E107 */ jal Math_ApproachF
/* 071E8 8093FEB8 00000000 */ nop
/* 071EC 8093FEBC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 071F0 8093FEC0 4407A000 */ mfc1 $a3, $f20
/* 071F4 8093FEC4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 071F8 8093FEC8 26440604 */ addiu $a0, $s2, 0x0604 ## $a0 = 00000604
/* 071FC 8093FECC 0C01E107 */ jal Math_ApproachF
/* 07200 8093FED0 3C054396 */ lui $a1, 0x4396 ## $a1 = 43960000
/* 07204 8093FED4 C644002C */ lwc1 $f4, 0x002C($s2) ## 0000002C
/* 07208 8093FED8 C7A600D8 */ lwc1 $f6, 0x00D8($sp)
/* 0720C 8093FEDC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07210 8093FEE0 4407A000 */ mfc1 $a3, $f20
/* 07214 8093FEE4 46062200 */ add.s $f8, $f4, $f6
/* 07218 8093FEE8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0721C 8093FEEC 26440608 */ addiu $a0, $s2, 0x0608 ## $a0 = 00000608
/* 07220 8093FEF0 44054000 */ mfc1 $a1, $f8
/* 07224 8093FEF4 0C01E107 */ jal Math_ApproachF
/* 07228 8093FEF8 00000000 */ nop
/* 0722C 8093FEFC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07230 8093FF00 4407A000 */ mfc1 $a3, $f20
/* 07234 8093FF04 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 07238 8093FF08 2644060C */ addiu $a0, $s2, 0x060C ## $a0 = 0000060C
/* 0723C 8093FF0C 0C01E107 */ jal Math_ApproachF
/* 07240 8093FF10 8E450024 */ lw $a1, 0x0024($s2) ## 00000024
/* 07244 8093FF14 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07248 8093FF18 4407A000 */ mfc1 $a3, $f20
/* 0724C 8093FF1C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 07250 8093FF20 26440610 */ addiu $a0, $s2, 0x0610 ## $a0 = 00000610
/* 07254 8093FF24 0C01E107 */ jal Math_ApproachF
/* 07258 8093FF28 8E450028 */ lw $a1, 0x0028($s2) ## 00000028
/* 0725C 8093FF2C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07260 8093FF30 4407A000 */ mfc1 $a3, $f20
/* 07264 8093FF34 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 07268 8093FF38 26440614 */ addiu $a0, $s2, 0x0614 ## $a0 = 00000614
/* 0726C 8093FF3C 0C01E107 */ jal Math_ApproachF
/* 07270 8093FF40 8E45002C */ lw $a1, 0x002C($s2) ## 0000002C
/* 07274 8093FF44 864A0150 */ lh $t2, 0x0150($s2) ## 00000150
/* 07278 8093FF48 240100AA */ addiu $at, $zero, 0x00AA ## $at = 000000AA
/* 0727C 8093FF4C 8FA300CC */ lw $v1, 0x00CC($sp)
/* 07280 8093FF50 154101D1 */ bne $t2, $at, .L80940698
/* 07284 8093FF54 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 07288 8093FF58 3C01432A */ lui $at, 0x432A ## $at = 432A0000
/* 0728C 8093FF5C 44810000 */ mtc1 $at, $f0 ## $f0 = 170.00
/* 07290 8093FF60 3C014382 */ lui $at, 0x4382 ## $at = 43820000
/* 07294 8093FF64 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 07298 8093FF68 44815000 */ mtc1 $at, $f10 ## $f10 = 260.00
/* 0729C 8093FF6C 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
/* 072A0 8093FF70 44818000 */ mtc1 $at, $f16 ## $f16 = -40.00
/* 072A4 8093FF74 3C014370 */ lui $at, 0x4370 ## $at = 43700000
/* 072A8 8093FF78 44819000 */ mtc1 $at, $f18 ## $f18 = 240.00
/* 072AC 8093FF7C A64B05FA */ sh $t3, 0x05FA($s2) ## 000005FA
/* 072B0 8093FF80 A6400152 */ sh $zero, 0x0152($s2) ## 00000152
/* 072B4 8093FF84 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
/* 072B8 8093FF88 E6400608 */ swc1 $f0, 0x0608($s2) ## 00000608
/* 072BC 8093FF8C E64006A4 */ swc1 $f0, 0x06A4($s2) ## 000006A4
/* 072C0 8093FF90 E6420600 */ swc1 $f2, 0x0600($s2) ## 00000600
/* 072C4 8093FF94 E642060C */ swc1 $f2, 0x060C($s2) ## 0000060C
/* 072C8 8093FF98 E6420614 */ swc1 $f2, 0x0614($s2) ## 00000614
/* 072CC 8093FF9C E64A0604 */ swc1 $f10, 0x0604($s2) ## 00000604
/* 072D0 8093FFA0 44812000 */ mtc1 $at, $f4 ## $f4 = 90.00
/* 072D4 8093FFA4 240D8000 */ addiu $t5, $zero, 0x8000 ## $t5 = FFFF8000
/* 072D8 8093FFA8 A46D00B6 */ sh $t5, 0x00B6($v1) ## 000000B6
/* 072DC 8093FFAC 3C01C214 */ lui $at, 0xC214 ## $at = C2140000
/* 072E0 8093FFB0 3C0E8095 */ lui $t6, %hi(sKoumePtr) ## $t6 = 80950000
/* 072E4 8093FFB4 E4700024 */ swc1 $f16, 0x0024($v1) ## 00000024
/* 072E8 8093FFB8 E4720028 */ swc1 $f18, 0x0028($v1) ## 00000028
/* 072EC 8093FFBC E464002C */ swc1 $f4, 0x002C($v1) ## 0000002C
/* 072F0 8093FFC0 8DCEC848 */ lw $t6, %lo(sKoumePtr)($t6)
/* 072F4 8093FFC4 44813000 */ mtc1 $at, $f6 ## $f6 = -37.00
/* 072F8 8093FFC8 3C014214 */ lui $at, 0x4214 ## $at = 42140000
/* 072FC 8093FFCC 3C0F8095 */ lui $t7, %hi(sKotakePtr) ## $t7 = 80950000
/* 07300 8093FFD0 E5C60024 */ swc1 $f6, 0x0024($t6) ## 80950024
/* 07304 8093FFD4 8DEFC844 */ lw $t7, %lo(sKotakePtr)($t7)
/* 07308 8093FFD8 44814000 */ mtc1 $at, $f8 ## $f8 = 37.00
/* 0730C 8093FFDC 3C018095 */ lui $at, %hi(D_8094B010) ## $at = 80950000
/* 07310 8093FFE0 3C0C8095 */ lui $t4, %hi(sKotakePtr) ## $t4 = 80950000
/* 07314 8093FFE4 E5E80024 */ swc1 $f8, 0x0024($t7) ## 80950024
/* 07318 8093FFE8 8D8CC844 */ lw $t4, %lo(sKotakePtr)($t4)
/* 0731C 8093FFEC C42AB010 */ lwc1 $f10, %lo(D_8094B010)($at)
/* 07320 8093FFF0 3C188095 */ lui $t8, %hi(sKotakePtr) ## $t8 = 80950000
/* 07324 8093FFF4 3C198095 */ lui $t9, %hi(sKoumePtr) ## $t9 = 80950000
/* 07328 8093FFF8 E58A0028 */ swc1 $f10, 0x0028($t4) ## 80950028
/* 0732C 8093FFFC 8F18C844 */ lw $t8, %lo(sKotakePtr)($t8)
/* 07330 80940000 8F39C848 */ lw $t9, %lo(sKoumePtr)($t9)
/* 07334 80940004 3C088095 */ lui $t0, %hi(sKoumePtr) ## $t0 = 80950000
/* 07338 80940008 C7100028 */ lwc1 $f16, 0x0028($t8) ## 80950028
/* 0733C 8094000C 3C014188 */ lui $at, 0x4188 ## $at = 41880000
/* 07340 80940010 44812000 */ mtc1 $at, $f4 ## $f4 = 17.00
/* 07344 80940014 E7300028 */ swc1 $f16, 0x0028($t9) ## 80950028
/* 07348 80940018 8D08C848 */ lw $t0, %lo(sKoumePtr)($t0)
/* 0734C 8094001C 3C098095 */ lui $t1, %hi(sKotakePtr) ## $t1 = 80950000
/* 07350 80940020 3C0A8095 */ lui $t2, %hi(sKotakePtr) ## $t2 = 80950000
/* 07354 80940024 C5120028 */ lwc1 $f18, 0x0028($t0) ## 80950028
/* 07358 80940028 3C0B8095 */ lui $t3, %hi(sKoumePtr) ## $t3 = 80950000
/* 0735C 8094002C 3C0D8095 */ lui $t5, %hi(sKotakePtr) ## $t5 = 80950000
/* 07360 80940030 46049180 */ add.s $f6, $f18, $f4
/* 07364 80940034 3C0E8095 */ lui $t6, %hi(sKotakePtr) ## $t6 = 80950000
/* 07368 80940038 3C0F8095 */ lui $t7, %hi(sKoumePtr) ## $t7 = 80950000
/* 0736C 8094003C 3C0C8095 */ lui $t4, %hi(sKotakePtr) ## $t4 = 80950000
/* 07370 80940040 E6460610 */ swc1 $f6, 0x0610($s2) ## 00000610
/* 07374 80940044 8D29C844 */ lw $t1, %lo(sKotakePtr)($t1)
/* 07378 80940048 3C188095 */ lui $t8, %hi(sKoumePtr) ## $t8 = 80950000
/* 0737C 8094004C 3C198095 */ lui $t9, %hi(sKotakePtr) ## $t9 = 80950000
/* 07380 80940050 E522002C */ swc1 $f2, 0x002C($t1) ## 8095002C
/* 07384 80940054 8D4AC844 */ lw $t2, %lo(sKotakePtr)($t2)
/* 07388 80940058 8D6BC848 */ lw $t3, %lo(sKoumePtr)($t3)
/* 0738C 8094005C 3C088095 */ lui $t0, %hi(sKoumePtr) ## $t0 = 80950000
/* 07390 80940060 C548002C */ lwc1 $f8, 0x002C($t2) ## 8095002C
/* 07394 80940064 3C058095 */ lui $a1, %hi(sKoumePtr) ## $a1 = 80950000
/* 07398 80940068 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0739C 8094006C E568002C */ swc1 $f8, 0x002C($t3) ## 8095002C
/* 073A0 80940070 8DADC844 */ lw $t5, %lo(sKotakePtr)($t5)
/* 073A4 80940074 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 073A8 80940078 A5A000B6 */ sh $zero, 0x00B6($t5) ## 809500B6
/* 073AC 8094007C 8DCEC844 */ lw $t6, %lo(sKotakePtr)($t6)
/* 073B0 80940080 8DEFC848 */ lw $t7, %lo(sKoumePtr)($t7)
/* 073B4 80940084 85C200B6 */ lh $v0, 0x00B6($t6) ## 809500B6
/* 073B8 80940088 A5E200B6 */ sh $v0, 0x00B6($t7) ## 809500B6
/* 073BC 8094008C 8D8CC844 */ lw $t4, %lo(sKotakePtr)($t4)
/* 073C0 80940090 A58200B4 */ sh $v0, 0x00B4($t4) ## 809500B4
/* 073C4 80940094 8F18C848 */ lw $t8, %lo(sKoumePtr)($t8)
/* 073C8 80940098 A70200B4 */ sh $v0, 0x00B4($t8) ## 809500B4
/* 073CC 8094009C 8F39C844 */ lw $t9, %lo(sKotakePtr)($t9)
/* 073D0 809400A0 A7220164 */ sh $v0, 0x0164($t9) ## 80950164
/* 073D4 809400A4 8D08C848 */ lw $t0, %lo(sKoumePtr)($t0)
/* 073D8 809400A8 A5020164 */ sh $v0, 0x0164($t0) ## 80950164
/* 073DC 809400AC 0C00B7D5 */ jal func_8002DF54
/* 073E0 809400B0 8CA5C848 */ lw $a1, %lo(sKoumePtr)($a1)
/* 073E4 809400B4 3C048095 */ lui $a0, %hi(sKoumePtr) ## $a0 = 80950000
/* 073E8 809400B8 8C84C848 */ lw $a0, %lo(sKoumePtr)($a0)
/* 073EC 809400BC 8C890004 */ lw $t1, 0x0004($a0) ## 80950004
/* 073F0 809400C0 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001
/* 073F4 809400C4 10000174 */ beq $zero, $zero, .L80940698
/* 073F8 809400C8 AC8A0004 */ sw $t2, 0x0004($a0) ## 80950004
glabel L809400CC
/* 073FC 809400CC 864B0152 */ lh $t3, 0x0152($s2) ## 00000152
/* 07400 809400D0 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064
/* 07404 809400D4 27AD0080 */ addiu $t5, $sp, 0x0080 ## $t5 = FFFFFFA0
/* 07408 809400D8 1561016F */ bne $t3, $at, .L80940698
/* 0740C 809400DC 3C0E8095 */ lui $t6, %hi(D_8094A8F4) ## $t6 = 80950000
/* 07410 809400E0 25CEA8F4 */ addiu $t6, $t6, %lo(D_8094A8F4) ## $t6 = 8094A8F4
/* 07414 809400E4 8DCC0000 */ lw $t4, 0x0000($t6) ## 8094A8F4
/* 07418 809400E8 8DCF0004 */ lw $t7, 0x0004($t6) ## 8094A8F8
/* 0741C 809400EC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 07420 809400F0 ADAC0000 */ sw $t4, 0x0000($t5) ## FFFFFFA0
/* 07424 809400F4 8DCC0008 */ lw $t4, 0x0008($t6) ## 8094A8FC
/* 07428 809400F8 4481A000 */ mtc1 $at, $f20 ## $f20 = 3.00
/* 0742C 809400FC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 07430 80940100 27B10098 */ addiu $s1, $sp, 0x0098 ## $s1 = FFFFFFB8
/* 07434 80940104 ADAF0004 */ sw $t7, 0x0004($t5) ## FFFFFFA4
/* 07438 80940108 ADAC0008 */ sw $t4, 0x0008($t5) ## FFFFFFA8
.L8094010C:
/* 0743C 8094010C 0C00CFC8 */ jal Rand_CenteredFloat
/* 07440 80940110 4600A306 */ mov.s $f12, $f20
/* 07444 80940114 E7A0008C */ swc1 $f0, 0x008C($sp)
/* 07448 80940118 0C00CFC8 */ jal Rand_CenteredFloat
/* 0744C 8094011C 4600A306 */ mov.s $f12, $f20
/* 07450 80940120 E7A00090 */ swc1 $f0, 0x0090($sp)
/* 07454 80940124 0C00CFC8 */ jal Rand_CenteredFloat
/* 07458 80940128 4600A306 */ mov.s $f12, $f20
/* 0745C 8094012C 3C188095 */ lui $t8, %hi(sKoumePtr) ## $t8 = 80950000
/* 07460 80940130 8F18C848 */ lw $t8, %lo(sKoumePtr)($t8)
/* 07464 80940134 E7A00094 */ swc1 $f0, 0x0094($sp)
/* 07468 80940138 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 0746C 8094013C 8F080024 */ lw $t0, 0x0024($t8) ## 80950024
/* 07470 80940140 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
/* 07474 80940144 AE280000 */ sw $t0, 0x0000($s1) ## FFFFFFB8
/* 07478 80940148 8F190028 */ lw $t9, 0x0028($t8) ## 80950028
/* 0747C 8094014C AE390004 */ sw $t9, 0x0004($s1) ## FFFFFFBC
/* 07480 80940150 8F08002C */ lw $t0, 0x002C($t8) ## 8095002C
/* 07484 80940154 AE280008 */ sw $t0, 0x0008($s1) ## FFFFFFC0
/* 07488 80940158 C7AA008C */ lwc1 $f10, 0x008C($sp)
/* 0748C 8094015C C7B20098 */ lwc1 $f18, 0x0098($sp)
/* 07490 80940160 C7A60090 */ lwc1 $f6, 0x0090($sp)
/* 07494 80940164 460A5400 */ add.s $f16, $f10, $f10
/* 07498 80940168 C7AA009C */ lwc1 $f10, 0x009C($sp)
/* 0749C 8094016C 46063200 */ add.s $f8, $f6, $f6
/* 074A0 80940170 46109100 */ add.s $f4, $f18, $f16
/* 074A4 80940174 C7B000A0 */ lwc1 $f16, 0x00A0($sp)
/* 074A8 80940178 46085480 */ add.s $f18, $f10, $f8
/* 074AC 8094017C E7A40098 */ swc1 $f4, 0x0098($sp)
/* 074B0 80940180 46000100 */ add.s $f4, $f0, $f0
/* 074B4 80940184 E7B2009C */ swc1 $f18, 0x009C($sp)
/* 074B8 80940188 46048180 */ add.s $f6, $f16, $f4
/* 074BC 8094018C 0C00CFBE */ jal Rand_ZeroFloat
/* 074C0 80940190 E7A600A0 */ swc1 $f6, 0x00A0($sp)
/* 074C4 80940194 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 074C8 80940198 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 074CC 8094019C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 074D0 809401A0 AFA90014 */ sw $t1, 0x0014($sp)
/* 074D4 809401A4 460A0200 */ add.s $f8, $f0, $f10
/* 074D8 809401A8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 074DC 809401AC 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFB8
/* 074E0 809401B0 27A6008C */ addiu $a2, $sp, 0x008C ## $a2 = FFFFFFAC
/* 074E4 809401B4 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 074E8 809401B8 0C24E41C */ jal BossTw_AddFlameEffect
/* 074EC 809401BC 27A70080 */ addiu $a3, $sp, 0x0080 ## $a3 = FFFFFFA0
/* 074F0 809401C0 0C00CFC8 */ jal Rand_CenteredFloat
/* 074F4 809401C4 4600A306 */ mov.s $f12, $f20
/* 074F8 809401C8 E7A0008C */ swc1 $f0, 0x008C($sp)
/* 074FC 809401CC 0C00CFC8 */ jal Rand_CenteredFloat
/* 07500 809401D0 4600A306 */ mov.s $f12, $f20
/* 07504 809401D4 E7A00090 */ swc1 $f0, 0x0090($sp)
/* 07508 809401D8 0C00CFC8 */ jal Rand_CenteredFloat
/* 0750C 809401DC 4600A306 */ mov.s $f12, $f20
/* 07510 809401E0 3C0A8095 */ lui $t2, %hi(sKotakePtr) ## $t2 = 80950000
/* 07514 809401E4 8D4AC844 */ lw $t2, %lo(sKotakePtr)($t2)
/* 07518 809401E8 E7A00094 */ swc1 $f0, 0x0094($sp)
/* 0751C 809401EC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 07520 809401F0 8D4D0024 */ lw $t5, 0x0024($t2) ## 80950024
/* 07524 809401F4 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
/* 07528 809401F8 AE2D0000 */ sw $t5, 0x0000($s1) ## FFFFFFB8
/* 0752C 809401FC 8D4B0028 */ lw $t3, 0x0028($t2) ## 80950028
/* 07530 80940200 AE2B0004 */ sw $t3, 0x0004($s1) ## FFFFFFBC
/* 07534 80940204 8D4D002C */ lw $t5, 0x002C($t2) ## 8095002C
/* 07538 80940208 AE2D0008 */ sw $t5, 0x0008($s1) ## FFFFFFC0
/* 0753C 8094020C C7B2008C */ lwc1 $f18, 0x008C($sp)
/* 07540 80940210 C7A40098 */ lwc1 $f4, 0x0098($sp)
/* 07544 80940214 C7AA0090 */ lwc1 $f10, 0x0090($sp)
/* 07548 80940218 46129400 */ add.s $f16, $f18, $f18
/* 0754C 8094021C C7B2009C */ lwc1 $f18, 0x009C($sp)
/* 07550 80940220 460A5200 */ add.s $f8, $f10, $f10
/* 07554 80940224 46102180 */ add.s $f6, $f4, $f16
/* 07558 80940228 C7B000A0 */ lwc1 $f16, 0x00A0($sp)
/* 0755C 8094022C 46089100 */ add.s $f4, $f18, $f8
/* 07560 80940230 E7A60098 */ swc1 $f6, 0x0098($sp)
/* 07564 80940234 46000180 */ add.s $f6, $f0, $f0
/* 07568 80940238 E7A4009C */ swc1 $f4, 0x009C($sp)
/* 0756C 8094023C 46068280 */ add.s $f10, $f16, $f6
/* 07570 80940240 0C00CFBE */ jal Rand_ZeroFloat
/* 07574 80940244 E7AA00A0 */ swc1 $f10, 0x00A0($sp)
/* 07578 80940248 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0757C 8094024C 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 07580 80940250 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 07584 80940254 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFB8
/* 07588 80940258 46120200 */ add.s $f8, $f0, $f18
/* 0758C 8094025C 27A6008C */ addiu $a2, $sp, 0x008C ## $a2 = FFFFFFAC
/* 07590 80940260 27A70080 */ addiu $a3, $sp, 0x0080 ## $a3 = FFFFFFA0
/* 07594 80940264 AFA00014 */ sw $zero, 0x0014($sp)
/* 07598 80940268 0C24E41C */ jal BossTw_AddFlameEffect
/* 0759C 8094026C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 075A0 80940270 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 075A4 80940274 00108400 */ sll $s0, $s0, 16
/* 075A8 80940278 00108403 */ sra $s0, $s0, 16
/* 075AC 8094027C 2A010032 */ slti $at, $s0, 0x0032
/* 075B0 80940280 1420FFA2 */ bne $at, $zero, .L8094010C
/* 075B4 80940284 00000000 */ nop
/* 075B8 80940288 3C048095 */ lui $a0, %hi(sKoumePtr) ## $a0 = 80950000
/* 075BC 8094028C 8C84C848 */ lw $a0, %lo(sKoumePtr)($a0)
/* 075C0 80940290 0C00B58B */ jal Actor_SetScale
/* 075C4 80940294 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 075C8 80940298 3C048095 */ lui $a0, %hi(sKotakePtr) ## $a0 = 80950000
/* 075CC 8094029C 8C84C844 */ lw $a0, %lo(sKotakePtr)($a0)
/* 075D0 809402A0 0C00B58B */ jal Actor_SetScale
/* 075D4 809402A4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 075D8 809402A8 3C0F8095 */ lui $t7, %hi(sKoumePtr) ## $t7 = 80950000
/* 075DC 809402AC 8DEFC848 */ lw $t7, %lo(sKoumePtr)($t7)
/* 075E0 809402B0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 075E4 809402B4 3C188095 */ lui $t8, %hi(sKotakePtr) ## $t8 = 80950000
/* 075E8 809402B8 A1EE0564 */ sb $t6, 0x0564($t7) ## 80950564
/* 075EC 809402BC 8F18C844 */ lw $t8, %lo(sKotakePtr)($t8)
/* 075F0 809402C0 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 075F4 809402C4 2404390D */ addiu $a0, $zero, 0x390D ## $a0 = 0000390D
/* 075F8 809402C8 0C01E221 */ jal func_80078884
/* 075FC 809402CC A30C0564 */ sb $t4, 0x0564($t8) ## 80950564
/* 07600 809402D0 0C03E803 */ jal Audio_QueueSeqCmd
/* 07604 809402D4 24040061 */ addiu $a0, $zero, 0x0061 ## $a0 = 00000061
/* 07608 809402D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0760C 809402DC 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
/* 07610 809402E0 A65905FA */ sh $t9, 0x05FA($s2) ## 000005FA
/* 07614 809402E4 A6400152 */ sh $zero, 0x0152($s2) ## 00000152
/* 07618 809402E8 E64006A0 */ swc1 $f0, 0x06A0($s2) ## 000006A0
/* 0761C 809402EC E6400068 */ swc1 $f0, 0x0068($s2) ## 00000068
/* 07620 809402F0 E64006B0 */ swc1 $f0, 0x06B0($s2) ## 000006B0
/* 07624 809402F4 100000E8 */ beq $zero, $zero, .L80940698
/* 07628 809402F8 E64006AC */ swc1 $f0, 0x06AC($s2) ## 000006AC
glabel L809402FC
/* 0762C 809402FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 07630 80940300 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC
/* 07634 80940304 02618021 */ addu $s0, $s3, $at
/* 07638 80940308 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 0763C 8094030C 0C24FC71 */ jal BossTw_DeathCSMsgSfx
/* 07640 80940310 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 07644 80940314 86480152 */ lh $t0, 0x0152($s2) ## 00000152
/* 07648 80940318 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 0764C 8094031C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 07650 80940320 29010096 */ slti $at, $t0, 0x0096
/* 07654 80940324 1020000E */ beq $at, $zero, .L80940360
/* 07658 80940328 240B0006 */ addiu $t3, $zero, 0x0006 ## $t3 = 00000006
/* 0765C 8094032C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 07660 80940330 00330821 */ addu $at, $at, $s3
/* 07664 80940334 A0290AE2 */ sb $t1, 0x0AE2($at) ## 00010AE2
/* 07668 80940338 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0766C 8094033C 00330821 */ addu $at, $at, $s3
/* 07670 80940340 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07674 80940344 A0200AE1 */ sb $zero, 0x0AE1($at) ## 00010AE1
/* 07678 80940348 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0767C 8094034C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 07680 80940350 0C01E123 */ jal Math_ApproachZeroF
/* 07684 80940354 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 07688 80940358 10000019 */ beq $zero, $zero, .L809403C0
/* 0768C 8094035C 00000000 */ nop
.L80940360:
/* 07690 80940360 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 07694 80940364 00330821 */ addu $at, $at, $s3
/* 07698 80940368 A02A0AE2 */ sb $t2, 0x0AE2($at) ## 00010AE2
/* 0769C 8094036C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 076A0 80940370 00330821 */ addu $at, $at, $s3
/* 076A4 80940374 A02B0AE1 */ sb $t3, 0x0AE1($at) ## 00010AE1
/* 076A8 80940378 86440152 */ lh $a0, 0x0152($s2) ## 00000152
/* 076AC 8094037C 00042300 */ sll $a0, $a0, 12
/* 076B0 80940380 00042400 */ sll $a0, $a0, 16
/* 076B4 80940384 0C01DE1C */ jal Math_SinS
## sins?
/* 076B8 80940388 00042403 */ sra $a0, $a0, 16
/* 076BC 8094038C 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 076C0 80940390 44812000 */ mtc1 $at, $f4 ## $f4 = 0.25
/* 076C4 80940394 3C013F40 */ lui $at, 0x3F40 ## $at = 3F400000
/* 076C8 80940398 44813000 */ mtc1 $at, $f6 ## $f6 = 0.75
/* 076CC 8094039C 46040402 */ mul.s $f16, $f0, $f4
/* 076D0 809403A0 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
/* 076D4 809403A4 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
/* 076D8 809403A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 076DC 809403AC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 076E0 809403B0 46068280 */ add.s $f10, $f16, $f6
/* 076E4 809403B4 44055000 */ mfc1 $a1, $f10
/* 076E8 809403B8 0C01E107 */ jal Math_ApproachF
/* 076EC 809403BC 00000000 */ nop
.L809403C0:
/* 076F0 809403C0 3C0D8095 */ lui $t5, %hi(sKoumePtr) ## $t5 = 80950000
/* 076F4 809403C4 8DADC848 */ lw $t5, %lo(sKoumePtr)($t5)
/* 076F8 809403C8 3C014188 */ lui $at, 0x4188 ## $at = 41880000
/* 076FC 809403CC 44814000 */ mtc1 $at, $f8 ## $f8 = 17.00
/* 07700 809403D0 C5B20028 */ lwc1 $f18, 0x0028($t5) ## 80950028
/* 07704 809403D4 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 07708 809403D8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 0770C 809403DC 46089100 */ add.s $f4, $f18, $f8
/* 07710 809403E0 26440610 */ addiu $a0, $s2, 0x0610 ## $a0 = 00000610
/* 07714 809403E4 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 07718 809403E8 44052000 */ mfc1 $a1, $f4
/* 0771C 809403EC 0C01E107 */ jal Math_ApproachF
/* 07720 809403F0 00000000 */ nop
/* 07724 809403F4 864E0152 */ lh $t6, 0x0152($s2) ## 00000152
/* 07728 809403F8 264406A4 */ addiu $a0, $s2, 0x06A4 ## $a0 = 000006A4
/* 0772C 809403FC 3C0542DC */ lui $a1, 0x42DC ## $a1 = 42DC0000
/* 07730 80940400 29C10032 */ slti $at, $t6, 0x0032
/* 07734 80940404 1420002E */ bne $at, $zero, .L809404C0
/* 07738 80940408 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 0773C 8094040C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 07740 80940410 0C01E107 */ jal Math_ApproachF
/* 07744 80940414 8E4706A0 */ lw $a3, 0x06A0($s2) ## 000006A0
/* 07748 80940418 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0774C 8094041C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 07750 80940420 3C073CCC */ lui $a3, 0x3CCC ## $a3 = 3CCC0000
/* 07754 80940424 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3CCCCCCD
/* 07758 80940428 44050000 */ mfc1 $a1, $f0
/* 0775C 8094042C 44060000 */ mfc1 $a2, $f0
/* 07760 80940430 0C01E107 */ jal Math_ApproachF
/* 07764 80940434 264406A0 */ addiu $a0, $s2, 0x06A0 ## $a0 = 000006A0
/* 07768 80940438 0C0400A4 */ jal sinf
/* 0776C 8094043C C64C06AC */ lwc1 $f12, 0x06AC($s2) ## 000006AC
/* 07770 80940440 C65006A4 */ lwc1 $f16, 0x06A4($s2) ## 000006A4
/* 07774 80940444 C64C06AC */ lwc1 $f12, 0x06AC($s2) ## 000006AC
/* 07778 80940448 46100182 */ mul.s $f6, $f0, $f16
/* 0777C 8094044C 0C041184 */ jal cosf
/* 07780 80940450 E6460600 */ swc1 $f6, 0x0600($s2) ## 00000600
/* 07784 80940454 C64A06A4 */ lwc1 $f10, 0x06A4($s2) ## 000006A4
/* 07788 80940458 86420152 */ lh $v0, 0x0152($s2) ## 00000152
/* 0778C 8094045C 460A0482 */ mul.s $f18, $f0, $f10
/* 07790 80940460 28410097 */ slti $at, $v0, 0x0097
/* 07794 80940464 14200016 */ bne $at, $zero, .L809404C0
/* 07798 80940468 E6520608 */ swc1 $f18, 0x0608($s2) ## 00000608
/* 0779C 8094046C C64806AC */ lwc1 $f8, 0x06AC($s2) ## 000006AC
/* 077A0 80940470 C64406B0 */ lwc1 $f4, 0x06B0($s2) ## 000006B0
/* 077A4 80940474 28410320 */ slti $at, $v0, 0x0320
/* 077A8 80940478 3C053C75 */ lui $a1, 0x3C75 ## $a1 = 3C750000
/* 077AC 8094047C 46044400 */ add.s $f16, $f8, $f4
/* 077B0 80940480 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3C75C28F
/* 077B4 80940484 264406B0 */ addiu $a0, $s2, 0x06B0 ## $a0 = 000006B0
/* 077B8 80940488 14200009 */ bne $at, $zero, .L809404B0
/* 077BC 8094048C E65006AC */ swc1 $f16, 0x06AC($s2) ## 000006AC
/* 077C0 80940490 3C0738D1 */ lui $a3, 0x38D1 ## $a3 = 38D10000
/* 077C4 80940494 34E7B717 */ ori $a3, $a3, 0xB717 ## $a3 = 38D1B717
/* 077C8 80940498 264406B0 */ addiu $a0, $s2, 0x06B0 ## $a0 = 000006B0
/* 077CC 8094049C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 077D0 809404A0 0C01E107 */ jal Math_ApproachF
/* 077D4 809404A4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 077D8 809404A8 10000005 */ beq $zero, $zero, .L809404C0
/* 077DC 809404AC 00000000 */ nop
.L809404B0:
/* 077E0 809404B0 3C0738D1 */ lui $a3, 0x38D1 ## $a3 = 38D10000
/* 077E4 809404B4 34E7B717 */ ori $a3, $a3, 0xB717 ## $a3 = 38D1B717
/* 077E8 809404B8 0C01E107 */ jal Math_ApproachF
/* 077EC 809404BC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
.L809404C0:
/* 077F0 809404C0 3C048095 */ lui $a0, %hi(sKoumePtr) ## $a0 = 80950000
/* 077F4 809404C4 8C84C848 */ lw $a0, %lo(sKoumePtr)($a0)
/* 077F8 809404C8 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 077FC 809404CC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 07800 809404D0 3C073A83 */ lui $a3, 0x3A83 ## $a3 = 3A830000
/* 07804 809404D4 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3A83126F
/* 07808 809404D8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0780C 809404DC 34A5D709 */ ori $a1, $a1, 0xD709 ## $a1 = 3C23D709
/* 07810 809404E0 0C01E107 */ jal Math_ApproachF
/* 07814 809404E4 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 80950050
/* 07818 809404E8 3C048095 */ lui $a0, %hi(sKoumePtr) ## $a0 = 80950000
/* 0781C 809404EC 8C84C848 */ lw $a0, %lo(sKoumePtr)($a0)
/* 07820 809404F0 0C00B58B */ jal Actor_SetScale
/* 07824 809404F4 8C850050 */ lw $a1, 0x0050($a0) ## 80950050
/* 07828 809404F8 3C0F8095 */ lui $t7, %hi(sKoumePtr) ## $t7 = 80950000
/* 0782C 809404FC 8DEFC848 */ lw $t7, %lo(sKoumePtr)($t7)
/* 07830 80940500 3C048095 */ lui $a0, %hi(sKotakePtr) ## $a0 = 80950000
/* 07834 80940504 8C84C844 */ lw $a0, %lo(sKotakePtr)($a0)
/* 07838 80940508 0C00B58B */ jal Actor_SetScale
/* 0783C 8094050C 8DE50050 */ lw $a1, 0x0050($t7) ## 80950050
/* 07840 80940510 864C0152 */ lh $t4, 0x0152($s2) ## 00000152
/* 07844 80940514 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 07848 80940518 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0784C 8094051C 298103FC */ slti $at, $t4, 0x03FC
/* 07850 80940520 5420005E */ bnel $at, $zero, .L8094069C
/* 07854 80940524 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
/* 07858 80940528 0C030129 */ jal Gameplay_GetCamera
/* 0785C 8094052C 26701C24 */ addiu $s0, $s3, 0x1C24 ## $s0 = 00001C24
/* 07860 80940530 26510600 */ addiu $s1, $s2, 0x0600 ## $s1 = 00000600
/* 07864 80940534 8E390000 */ lw $t9, 0x0000($s1) ## 00000600
/* 07868 80940538 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0786C 8094053C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 07870 80940540 AC59005C */ sw $t9, 0x005C($v0) ## 0000005C
/* 07874 80940544 8E380004 */ lw $t8, 0x0004($s1) ## 00000604
/* 07878 80940548 AC580060 */ sw $t8, 0x0060($v0) ## 00000060
/* 0787C 8094054C 8E390008 */ lw $t9, 0x0008($s1) ## 00000608
/* 07880 80940550 AC590064 */ sw $t9, 0x0064($v0) ## 00000064
/* 07884 80940554 8E290000 */ lw $t1, 0x0000($s1) ## 00000600
/* 07888 80940558 AC490074 */ sw $t1, 0x0074($v0) ## 00000074
/* 0788C 8094055C 8E280004 */ lw $t0, 0x0004($s1) ## 00000604
/* 07890 80940560 AC480078 */ sw $t0, 0x0078($v0) ## 00000078
/* 07894 80940564 8E290008 */ lw $t1, 0x0008($s1) ## 00000608
/* 07898 80940568 AC49007C */ sw $t1, 0x007C($v0) ## 0000007C
/* 0789C 8094056C 8E4B060C */ lw $t3, 0x060C($s2) ## 0000060C
/* 078A0 80940570 AC4B0050 */ sw $t3, 0x0050($v0) ## 00000050
/* 078A4 80940574 8E4A0610 */ lw $t2, 0x0610($s2) ## 00000610
/* 078A8 80940578 AC4A0054 */ sw $t2, 0x0054($v0) ## 00000054
/* 078AC 8094057C 8E4B0614 */ lw $t3, 0x0614($s2) ## 00000614
/* 078B0 80940580 AC4B0058 */ sw $t3, 0x0058($v0) ## 00000058
/* 078B4 80940584 0C03022B */ jal func_800C08AC
/* 078B8 80940588 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
/* 078BC 8094058C 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 078C0 80940590 A64D05FA */ sh $t5, 0x05FA($s2) ## 000005FA
/* 078C4 80940594 A64005FC */ sh $zero, 0x05FC($s2) ## 000005FC
/* 078C8 80940598 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 078CC 8094059C 0C01914D */ jal func_80064534
/* 078D0 809405A0 26651D64 */ addiu $a1, $s3, 0x1D64 ## $a1 = 00001D64
/* 078D4 809405A4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 078D8 809405A8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 078DC 809405AC 0C00B7D5 */ jal func_8002DF54
/* 078E0 809405B0 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 078E4 809405B4 0C03E803 */ jal Audio_QueueSeqCmd
/* 078E8 809405B8 24040021 */ addiu $a0, $zero, 0x0021 ## $a0 = 00000021
/* 078EC 809405BC 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 078F0 809405C0 44813000 */ mtc1 $at, $f6 ## $f6 = 600.00
/* 078F4 809405C4 3C014366 */ lui $at, 0x4366 ## $at = 43660000
/* 078F8 809405C8 44815000 */ mtc1 $at, $f10 ## $f10 = 230.00
/* 078FC 809405CC 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 07900 809405D0 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 07904 809405D4 AFAE0028 */ sw $t6, 0x0028($sp)
/* 07908 809405D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 0790C 809405DC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 07910 809405E0 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 07914 809405E4 2407005D */ addiu $a3, $zero, 0x005D ## $a3 = 0000005D
/* 07918 809405E8 AFA0001C */ sw $zero, 0x001C($sp)
/* 0791C 809405EC AFA00020 */ sw $zero, 0x0020($sp)
/* 07920 809405F0 AFA00024 */ sw $zero, 0x0024($sp)
/* 07924 809405F4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 07928 809405F8 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 0792C 809405FC 0C00C916 */ jal Actor_SpawnAsChild
/* 07930 80940600 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 07934 80940604 3C014366 */ lui $at, 0x4366 ## $at = 43660000
/* 07938 80940608 44814000 */ mtc1 $at, $f8 ## $f8 = 230.00
/* 0793C 8094060C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 07940 80940610 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 07944 80940614 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 07948 80940618 2406005F */ addiu $a2, $zero, 0x005F ## $a2 = 0000005F
/* 0794C 8094061C 3C07C416 */ lui $a3, 0xC416 ## $a3 = C4160000
/* 07950 80940620 AFA00018 */ sw $zero, 0x0018($sp)
/* 07954 80940624 AFA0001C */ sw $zero, 0x001C($sp)
/* 07958 80940628 AFA00020 */ sw $zero, 0x0020($sp)
/* 0795C 8094062C AFA00024 */ sw $zero, 0x0024($sp)
/* 07960 80940630 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 07964 80940634 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 07968 80940638 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 0796C 8094063C 3C01C4FA */ lui $at, 0xC4FA ## $at = C4FA0000
/* 07970 80940640 44818000 */ mtc1 $at, $f16 ## $f16 = -2000.00
/* 07974 80940644 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 07978 80940648 3C038095 */ lui $v1, %hi(sKotakePtr) ## $v1 = 80950000
/* 0797C 8094064C 2463C844 */ addiu $v1, $v1, %lo(sKotakePtr) ## $v1 = 8094C844
/* 07980 80940650 E6500028 */ swc1 $f16, 0x0028($s2) ## 00000028
/* 07984 80940654 E64601CC */ swc1 $f6, 0x01CC($s2) ## 000001CC
/* 07988 80940658 8C6F0000 */ lw $t7, 0x0000($v1) ## 8094C844
/* 0798C 8094065C 3C198095 */ lui $t9, %hi(sKoumePtr) ## $t9 = 80950000
/* 07990 80940660 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000
/* 07994 80940664 A1E00564 */ sb $zero, 0x0564($t7) ## 00000564
/* 07998 80940668 8C6C0000 */ lw $t4, 0x0000($v1) ## 8094C844
/* 0799C 8094066C 8F39C848 */ lw $t9, %lo(sKoumePtr)($t9)
/* 079A0 80940670 00B32821 */ addu $a1, $a1, $s3
/* 079A4 80940674 91980564 */ lbu $t8, 0x0564($t4) ## 00000564
/* 079A8 80940678 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 079AC 8094067C A3380564 */ sb $t8, 0x0564($t9) ## 80950564
/* 079B0 80940680 0C00B33C */ jal Flags_SetClear
/* 079B4 80940684 80A51CBC */ lb $a1, 0x1CBC($a1) ## 00011CBC
/* 079B8 80940688 10000004 */ beq $zero, $zero, .L8094069C
/* 079BC 8094068C 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
glabel L80940690
/* 079C0 80940690 3C018095 */ lui $at, %hi(sEnvType) ## $at = 80950000
/* 079C4 80940694 A020C840 */ sb $zero, %lo(sEnvType)($at)
.L80940698:
/* 079C8 80940698 864505FC */ lh $a1, 0x05FC($s2) ## 000005FC
.L8094069C:
/* 079CC 8094069C 26470600 */ addiu $a3, $s2, 0x0600 ## $a3 = 00000600
/* 079D0 809406A0 2646060C */ addiu $a2, $s2, 0x060C ## $a2 = 0000060C
/* 079D4 809406A4 50A00004 */ beql $a1, $zero, .L809406B8
/* 079D8 809406A8 8FBF004C */ lw $ra, 0x004C($sp)
/* 079DC 809406AC 0C030136 */ jal Gameplay_CameraSetAtEye
/* 079E0 809406B0 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 079E4 809406B4 8FBF004C */ lw $ra, 0x004C($sp)
.L809406B8:
/* 079E8 809406B8 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 079EC 809406BC 8FB0003C */ lw $s0, 0x003C($sp)
/* 079F0 809406C0 8FB10040 */ lw $s1, 0x0040($sp)
/* 079F4 809406C4 8FB20044 */ lw $s2, 0x0044($sp)
/* 079F8 809406C8 8FB30048 */ lw $s3, 0x0048($sp)
/* 079FC 809406CC 03E00008 */ jr $ra
/* 07A00 809406D0 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View file

@ -1,4 +0,0 @@
glabel EnGanonMant_Destroy
/* 00018 80A23D78 AFA40000 */ sw $a0, 0x0000($sp)
/* 0001C 80A23D7C 03E00008 */ jr $ra
/* 00020 80A23D80 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,224 +0,0 @@
.late_rodata
glabel D_80A27EE4
.float 1.57079637051
glabel D_80A27EE8
.float 3.14159274101
.text
glabel EnGanonMant_Draw
/* 00C6C 80A249CC 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28
/* 00C70 80A249D0 AFBF0074 */ sw $ra, 0x0074($sp)
/* 00C74 80A249D4 AFB60070 */ sw $s6, 0x0070($sp)
/* 00C78 80A249D8 AFB5006C */ sw $s5, 0x006C($sp)
/* 00C7C 80A249DC AFB40068 */ sw $s4, 0x0068($sp)
/* 00C80 80A249E0 AFB30064 */ sw $s3, 0x0064($sp)
/* 00C84 80A249E4 AFB20060 */ sw $s2, 0x0060($sp)
/* 00C88 80A249E8 AFB1005C */ sw $s1, 0x005C($sp)
/* 00C8C 80A249EC AFB00058 */ sw $s0, 0x0058($sp)
/* 00C90 80A249F0 F7BE0050 */ sdc1 $f30, 0x0050($sp)
/* 00C94 80A249F4 F7BC0048 */ sdc1 $f28, 0x0048($sp)
/* 00C98 80A249F8 F7BA0040 */ sdc1 $f26, 0x0040($sp)
/* 00C9C 80A249FC F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00CA0 80A24A00 F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00CA4 80A24A04 F7B40028 */ sdc1 $f20, 0x0028($sp)
/* 00CA8 80A24A08 908E1705 */ lbu $t6, 0x1705($a0) ## 00001705
/* 00CAC 80A24A0C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00CB0 80A24A10 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
/* 00CB4 80A24A14 51C000A6 */ beql $t6, $zero, .L80A24CB0
/* 00CB8 80A24A18 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 00CBC 80A24A1C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00CC0 80A24A20 C48416BC */ lwc1 $f4, 0x16BC($a0) ## 000016BC
/* 00CC4 80A24A24 248216D4 */ addiu $v0, $a0, 0x16D4 ## $v0 = 000016D4
/* 00CC8 80A24A28 3C01C150 */ lui $at, 0xC150 ## $at = C1500000
/* 00CCC 80A24A2C 46040032 */ c.eq.s $f0, $f4
/* 00CD0 80A24A30 00000000 */ nop
/* 00CD4 80A24A34 45030006 */ bc1tl .L80A24A50
/* 00CD8 80A24A38 C64816C0 */ lwc1 $f8, 0x16C0($s2) ## 000016C0
/* 00CDC 80A24A3C 44813000 */ mtc1 $at, $f6 ## $f6 = -13.00
/* 00CE0 80A24A40 248316F8 */ addiu $v1, $a0, 0x16F8 ## $v1 = 000016F8
/* 00CE4 80A24A44 10000018 */ beq $zero, $zero, .L80A24AA8
/* 00CE8 80A24A48 E48616C8 */ swc1 $f6, 0x16C8($a0) ## 000016C8
/* 00CEC 80A24A4C C64816C0 */ lwc1 $f8, 0x16C0($s2) ## 000016C0
.L80A24A50:
/* 00CF0 80A24A50 264216EC */ addiu $v0, $s2, 0x16EC ## $v0 = 000016EC
/* 00CF4 80A24A54 3C01C150 */ lui $at, 0xC150 ## $at = C1500000
/* 00CF8 80A24A58 46080032 */ c.eq.s $f0, $f8
/* 00CFC 80A24A5C 00000000 */ nop
/* 00D00 80A24A60 45030006 */ bc1tl .L80A24A7C
/* 00D04 80A24A64 C64416C4 */ lwc1 $f4, 0x16C4($s2) ## 000016C4
/* 00D08 80A24A68 44815000 */ mtc1 $at, $f10 ## $f10 = -13.00
/* 00D0C 80A24A6C 264316E0 */ addiu $v1, $s2, 0x16E0 ## $v1 = 000016E0
/* 00D10 80A24A70 1000000D */ beq $zero, $zero, .L80A24AA8
/* 00D14 80A24A74 E64A16C8 */ swc1 $f10, 0x16C8($s2) ## 000016C8
/* 00D18 80A24A78 C64416C4 */ lwc1 $f4, 0x16C4($s2) ## 000016C4
.L80A24A7C:
/* 00D1C 80A24A7C 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 00D20 80A24A80 264216D4 */ addiu $v0, $s2, 0x16D4 ## $v0 = 000016D4
/* 00D24 80A24A84 46040032 */ c.eq.s $f0, $f4
/* 00D28 80A24A88 264316E0 */ addiu $v1, $s2, 0x16E0 ## $v1 = 000016E0
/* 00D2C 80A24A8C 45010006 */ bc1t .L80A24AA8
/* 00D30 80A24A90 00000000 */ nop
/* 00D34 80A24A94 44813000 */ mtc1 $at, $f6 ## $f6 = -3.00
/* 00D38 80A24A98 264216EC */ addiu $v0, $s2, 0x16EC ## $v0 = 000016EC
/* 00D3C 80A24A9C 264316F8 */ addiu $v1, $s2, 0x16F8 ## $v1 = 000016F8
/* 00D40 80A24AA0 10000001 */ beq $zero, $zero, .L80A24AA8
/* 00D44 80A24AA4 E64616C8 */ swc1 $f6, 0x16C8($s2) ## 000016C8
.L80A24AA8:
/* 00D48 80A24AA8 C4400000 */ lwc1 $f0, 0x0000($v0) ## 000016EC
/* 00D4C 80A24AAC C4680000 */ lwc1 $f8, 0x0000($v1) ## 000016F8
/* 00D50 80A24AB0 C4420004 */ lwc1 $f2, 0x0004($v0) ## 000016F0
/* 00D54 80A24AB4 C46A0004 */ lwc1 $f10, 0x0004($v1) ## 000016FC
/* 00D58 80A24AB8 46004501 */ sub.s $f20, $f8, $f0
/* 00D5C 80A24ABC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00D60 80A24AC0 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50
/* 00D64 80A24AC4 46025601 */ sub.s $f24, $f10, $f2
/* 00D68 80A24AC8 C4500008 */ lwc1 $f16, 0x0008($v0) ## 000016F4
/* 00D6C 80A24ACC C4640008 */ lwc1 $f4, 0x0008($v1) ## 00001700
/* 00D70 80A24AD0 4612A182 */ mul.s $f6, $f20, $f18
/* 00D74 80A24AD4 4600A386 */ mov.s $f14, $f20
/* 00D78 80A24AD8 46102581 */ sub.s $f22, $f4, $f16
/* 00D7C 80A24ADC 4612C202 */ mul.s $f8, $f24, $f18
/* 00D80 80A24AE0 00000000 */ nop
/* 00D84 80A24AE4 4612B102 */ mul.s $f4, $f22, $f18
/* 00D88 80A24AE8 4600B306 */ mov.s $f12, $f22
/* 00D8C 80A24AEC 46060780 */ add.s $f30, $f0, $f6
/* 00D90 80A24AF0 46081280 */ add.s $f10, $f2, $f8
/* 00D94 80A24AF4 46048180 */ add.s $f6, $f16, $f4
/* 00D98 80A24AF8 E7AA0090 */ swc1 $f10, 0x0090($sp)
/* 00D9C 80A24AFC 0C0341F5 */ jal Math_Atan2F
/* 00DA0 80A24B00 E7A60094 */ swc1 $f6, 0x0094($sp)
/* 00DA4 80A24B04 4614A702 */ mul.s $f28, $f20, $f20
/* 00DA8 80A24B08 46000686 */ mov.s $f26, $f0
/* 00DAC 80A24B0C 4600C386 */ mov.s $f14, $f24
/* 00DB0 80A24B10 4616B082 */ mul.s $f2, $f22, $f22
/* 00DB4 80A24B14 4602E000 */ add.s $f0, $f28, $f2
/* 00DB8 80A24B18 E7A2007C */ swc1 $f2, 0x007C($sp)
/* 00DBC 80A24B1C 0C0341F5 */ jal Math_Atan2F
/* 00DC0 80A24B20 46000304 */ sqrt.s $f12, $f0
/* 00DC4 80A24B24 4618C202 */ mul.s $f8, $f24, $f24
/* 00DC8 80A24B28 C7A2007C */ lwc1 $f2, 0x007C($sp)
/* 00DCC 80A24B2C 46000507 */ neg.s $f20, $f0
/* 00DD0 80A24B30 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00DD4 80A24B34 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 00DD8 80A24B38 4600D306 */ mov.s $f12, $f26
/* 00DDC 80A24B3C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00DE0 80A24B40 4608E280 */ add.s $f10, $f28, $f8
/* 00DE4 80A24B44 46025000 */ add.s $f0, $f10, $f2
/* 00DE8 80A24B48 46000004 */ sqrt.s $f0, $f0
/* 00DEC 80A24B4C 46040582 */ mul.s $f22, $f0, $f4
/* 00DF0 80A24B50 0C034348 */ jal Matrix_RotateY
/* 00DF4 80A24B54 00000000 */ nop
/* 00DF8 80A24B58 4600A306 */ mov.s $f12, $f20
/* 00DFC 80A24B5C 0C0342DC */ jal Matrix_RotateX
/* 00E00 80A24B60 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00E04 80A24B64 3C0180A2 */ lui $at, %hi(D_80A27EE4) ## $at = 80A20000
/* 00E08 80A24B68 C4267EE4 */ lwc1 $f6, %lo(D_80A27EE4)($at)
/* 00E0C 80A24B6C 3C014130 */ lui $at, 0x4130 ## $at = 41300000
/* 00E10 80A24B70 4480E000 */ mtc1 $zero, $f28 ## $f28 = 0.00
/* 00E14 80A24B74 4606D201 */ sub.s $f8, $f26, $f6
/* 00E18 80A24B78 4481D000 */ mtc1 $at, $f26 ## $f26 = 11.00
/* 00E1C 80A24B7C 3C0180A2 */ lui $at, %hi(D_80A27EE8) ## $at = 80A20000
/* 00E20 80A24B80 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00E24 80A24B84 E64816CC */ swc1 $f8, 0x16CC($s2) ## 000016CC
/* 00E28 80A24B88 C4387EE8 */ lwc1 $f24, %lo(D_80A27EE8)($at)
/* 00E2C 80A24B8C 27B500B4 */ addiu $s5, $sp, 0x00B4 ## $s5 = FFFFFFDC
/* 00E30 80A24B90 27B400C0 */ addiu $s4, $sp, 0x00C0 ## $s4 = FFFFFFE8
/* 00E34 80A24B94 241301C8 */ addiu $s3, $zero, 0x01C8 ## $s3 = 000001C8
.L80A24B98:
/* 00E38 80A24B98 0C034213 */ jal Matrix_Push
/* 00E3C 80A24B9C 00000000 */ nop
/* 00E40 80A24BA0 44905000 */ mtc1 $s0, $f10 ## $f10 = 0.00
/* 00E44 80A24BA4 00000000 */ nop
/* 00E48 80A24BA8 46805120 */ cvt.s.w $f4, $f10
/* 00E4C 80A24BAC 46182182 */ mul.s $f6, $f4, $f24
/* 00E50 80A24BB0 461A3503 */ div.s $f20, $f6, $f26
/* 00E54 80A24BB4 0C0400A4 */ jal sinf
/* 00E58 80A24BB8 4600A306 */ mov.s $f12, $f20
/* 00E5C 80A24BBC 46160202 */ mul.s $f8, $f0, $f22
/* 00E60 80A24BC0 E7BC00C4 */ swc1 $f28, 0x00C4($sp)
/* 00E64 80A24BC4 4600A306 */ mov.s $f12, $f20
/* 00E68 80A24BC8 0C041184 */ jal cosf
/* 00E6C 80A24BCC E7A800C0 */ swc1 $f8, 0x00C0($sp)
/* 00E70 80A24BD0 46000287 */ neg.s $f10, $f0
/* 00E74 80A24BD4 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFFE8
/* 00E78 80A24BD8 46165102 */ mul.s $f4, $f10, $f22
/* 00E7C 80A24BDC 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFDC
/* 00E80 80A24BE0 0C0346BD */ jal Matrix_MultVec3f
/* 00E84 80A24BE4 E7A400C8 */ swc1 $f4, 0x00C8($sp)
/* 00E88 80A24BE8 02130019 */ multu $s0, $s3
/* 00E8C 80A24BEC C7A600B4 */ lwc1 $f6, 0x00B4($sp)
/* 00E90 80A24BF0 26110001 */ addiu $s1, $s0, 0x0001 ## $s1 = 00000001
/* 00E94 80A24BF4 0011C400 */ sll $t8, $s1, 16
/* 00E98 80A24BF8 4606F200 */ add.s $f8, $f30, $f6
/* 00E9C 80A24BFC 0018CC03 */ sra $t9, $t8, 16
/* 00EA0 80A24C00 00111C00 */ sll $v1, $s1, 16
/* 00EA4 80A24C04 2B21000C */ slti $at, $t9, 0x000C
/* 00EA8 80A24C08 00031C03 */ sra $v1, $v1, 16
/* 00EAC 80A24C0C 00007812 */ mflo $t7
/* 00EB0 80A24C10 024F1021 */ addu $v0, $s2, $t7
/* 00EB4 80A24C14 E448014C */ swc1 $f8, 0x014C($v0) ## 0000014C
/* 00EB8 80A24C18 C7A400B8 */ lwc1 $f4, 0x00B8($sp)
/* 00EBC 80A24C1C C7AA0090 */ lwc1 $f10, 0x0090($sp)
/* 00EC0 80A24C20 46045180 */ add.s $f6, $f10, $f4
/* 00EC4 80A24C24 E4460150 */ swc1 $f6, 0x0150($v0) ## 00000150
/* 00EC8 80A24C28 C7AA00BC */ lwc1 $f10, 0x00BC($sp)
/* 00ECC 80A24C2C C7A80094 */ lwc1 $f8, 0x0094($sp)
/* 00ED0 80A24C30 460A4100 */ add.s $f4, $f8, $f10
/* 00ED4 80A24C34 14200004 */ bne $at, $zero, .L80A24C48
/* 00ED8 80A24C38 E4440154 */ swc1 $f4, 0x0154($v0) ## 00000154
/* 00EDC 80A24C3C 2603FFFF */ addiu $v1, $s0, 0xFFFF ## $v1 = FFFFFFFF
/* 00EE0 80A24C40 00031C00 */ sll $v1, $v1, 16
/* 00EE4 80A24C44 00031C03 */ sra $v1, $v1, 16
.L80A24C48:
/* 00EE8 80A24C48 00730019 */ multu $v1, $s3
/* 00EEC 80A24C4C 244B01E8 */ addiu $t3, $v0, 0x01E8 ## $t3 = 000001E8
/* 00EF0 80A24C50 244C0278 */ addiu $t4, $v0, 0x0278 ## $t4 = 00000278
/* 00EF4 80A24C54 AFAC0018 */ sw $t4, 0x0018($sp)
/* 00EF8 80A24C58 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00EFC 80A24C5C 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 00F00 80A24C60 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00F04 80A24C64 2446014C */ addiu $a2, $v0, 0x014C ## $a2 = 0000014C
/* 00F08 80A24C68 24470158 */ addiu $a3, $v0, 0x0158 ## $a3 = 00000158
/* 00F0C 80A24C6C AFB0001C */ sw $s0, 0x001C($sp)
/* 00F10 80A24C70 00004012 */ mflo $t0
/* 00F14 80A24C74 02484821 */ addu $t1, $s2, $t0
/* 00F18 80A24C78 252A0158 */ addiu $t2, $t1, 0x0158 ## $t2 = 00000158
/* 00F1C 80A24C7C 0C288FF8 */ jal func_80A23FE0
/* 00F20 80A24C80 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00F24 80A24C84 0C034221 */ jal Matrix_Pop
/* 00F28 80A24C88 00000000 */ nop
/* 00F2C 80A24C8C 00118400 */ sll $s0, $s1, 16
/* 00F30 80A24C90 00108403 */ sra $s0, $s0, 16
/* 00F34 80A24C94 2A01000C */ slti $at, $s0, 0x000C
/* 00F38 80A24C98 1420FFBF */ bne $at, $zero, .L80A24B98
/* 00F3C 80A24C9C 00000000 */ nop
/* 00F40 80A24CA0 0C289169 */ jal func_80A245A4
/* 00F44 80A24CA4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00F48 80A24CA8 A2401705 */ sb $zero, 0x1705($s2) ## 00001705
/* 00F4C 80A24CAC 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
.L80A24CB0:
/* 00F50 80A24CB0 0C289221 */ jal func_80A24884
/* 00F54 80A24CB4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00F58 80A24CB8 8FBF0074 */ lw $ra, 0x0074($sp)
/* 00F5C 80A24CBC D7B40028 */ ldc1 $f20, 0x0028($sp)
/* 00F60 80A24CC0 D7B60030 */ ldc1 $f22, 0x0030($sp)
/* 00F64 80A24CC4 D7B80038 */ ldc1 $f24, 0x0038($sp)
/* 00F68 80A24CC8 D7BA0040 */ ldc1 $f26, 0x0040($sp)
/* 00F6C 80A24CCC D7BC0048 */ ldc1 $f28, 0x0048($sp)
/* 00F70 80A24CD0 D7BE0050 */ ldc1 $f30, 0x0050($sp)
/* 00F74 80A24CD4 8FB00058 */ lw $s0, 0x0058($sp)
/* 00F78 80A24CD8 8FB1005C */ lw $s1, 0x005C($sp)
/* 00F7C 80A24CDC 8FB20060 */ lw $s2, 0x0060($sp)
/* 00F80 80A24CE0 8FB30064 */ lw $s3, 0x0064($sp)
/* 00F84 80A24CE4 8FB40068 */ lw $s4, 0x0068($sp)
/* 00F88 80A24CE8 8FB5006C */ lw $s5, 0x006C($sp)
/* 00F8C 80A24CEC 8FB60070 */ lw $s6, 0x0070($sp)
/* 00F90 80A24CF0 03E00008 */ jr $ra
/* 00F94 80A24CF4 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000
/* 00F98 80A24CF8 00000000 */ nop
/* 00F9C 80A24CFC 00000000 */ nop

View file

@ -1,7 +0,0 @@
glabel EnGanonMant_Init
/* 00000 80A23D60 AFA50004 */ sw $a1, 0x0004($sp)
/* 00004 80A23D64 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00008 80A23D68 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 0000C 80A23D6C 01C17824 */ and $t7, $t6, $at
/* 00010 80A23D70 03E00008 */ jr $ra
/* 00014 80A23D74 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004

View file

@ -1,53 +0,0 @@
glabel EnGanonMant_Update
/* 00A68 80A247C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00A6C 80A247CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A70 80A247D0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00A74 80A247D4 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00A78 80A247D8 C48016C0 */ lwc1 $f0, 0x16C0($a0) ## 000016C0
/* 00A7C 80A247DC 908F1706 */ lbu $t7, 0x1706($a0) ## 00001706
/* 00A80 80A247E0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00A84 80A247E4 46001032 */ c.eq.s $f2, $f0
/* 00A88 80A247E8 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00A8C 80A247EC 8C830118 */ lw $v1, 0x0118($a0) ## 00000118
/* 00A90 80A247F0 A08E1705 */ sb $t6, 0x1705($a0) ## 00001705
/* 00A94 80A247F4 45000005 */ bc1f .L80A2480C
/* 00A98 80A247F8 A0981706 */ sb $t8, 0x1706($a0) ## 00001706
/* 00A9C 80A247FC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00AA0 80A24800 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00AA4 80A24804 10000007 */ beq $zero, $zero, .L80A24824
/* 00AA8 80A24808 C48016BC */ lwc1 $f0, 0x16BC($a0) ## 000016BC
.L80A2480C:
/* 00AAC 80A2480C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00AB0 80A24810 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00AB4 80A24814 00000000 */ nop
/* 00AB8 80A24818 460C0101 */ sub.s $f4, $f0, $f12
/* 00ABC 80A2481C E48416C0 */ swc1 $f4, 0x16C0($a0) ## 000016C0
/* 00AC0 80A24820 C48016BC */ lwc1 $f0, 0x16BC($a0) ## 000016BC
.L80A24824:
/* 00AC4 80A24824 46001032 */ c.eq.s $f2, $f0
/* 00AC8 80A24828 00000000 */ nop
/* 00ACC 80A2482C 45030004 */ bc1tl .L80A24840
/* 00AD0 80A24830 C48016C4 */ lwc1 $f0, 0x16C4($a0) ## 000016C4
/* 00AD4 80A24834 460C0181 */ sub.s $f6, $f0, $f12
/* 00AD8 80A24838 E48616BC */ swc1 $f6, 0x16BC($a0) ## 000016BC
/* 00ADC 80A2483C C48016C4 */ lwc1 $f0, 0x16C4($a0) ## 000016C4
.L80A24840:
/* 00AE0 80A24840 46001032 */ c.eq.s $f2, $f0
/* 00AE4 80A24844 00000000 */ nop
/* 00AE8 80A24848 45030004 */ bc1tl .L80A2485C
/* 00AEC 80A2484C 90821704 */ lbu $v0, 0x1704($a0) ## 00001704
/* 00AF0 80A24850 460C0201 */ sub.s $f8, $f0, $f12
/* 00AF4 80A24854 E48816C4 */ swc1 $f8, 0x16C4($a0) ## 000016C4
/* 00AF8 80A24858 90821704 */ lbu $v0, 0x1704($a0) ## 00001704
.L80A2485C:
/* 00AFC 80A2485C 847900B6 */ lh $t9, 0x00B6($v1) ## 000000B6
/* 00B00 80A24860 10400004 */ beq $v0, $zero, .L80A24874
/* 00B04 80A24864 A49900B6 */ sh $t9, 0x00B6($a0) ## 000000B6
/* 00B08 80A24868 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF
/* 00B0C 80A2486C 0C288F61 */ jal func_80A23D84
/* 00B10 80A24870 A0881704 */ sb $t0, 0x1704($a0) ## 00001704
.L80A24874:
/* 00B14 80A24874 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B18 80A24878 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B1C 80A2487C 03E00008 */ jr $ra
/* 00B20 80A24880 00000000 */ nop

View file

@ -1,178 +0,0 @@
.late_rodata
glabel D_80A27EC8
.float 6.28318548203
glabel D_80A27ECC
.word 0x407F5C29
glabel D_80A27ED0
.word 0x413E6666
.text
glabel func_80A23D84
/* 00024 80A23D84 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 00028 80A23D88 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 0002C 80A23D8C 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 00030 80A23D90 4481C000 */ mtc1 $at, $f24 ## $f24 = 32.00
/* 00034 80A23D94 AFBF0044 */ sw $ra, 0x0044($sp)
/* 00038 80A23D98 AFB20040 */ sw $s2, 0x0040($sp)
/* 0003C 80A23D9C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00040 80A23DA0 AFB1003C */ sw $s1, 0x003C($sp)
/* 00044 80A23DA4 AFB00038 */ sw $s0, 0x0038($sp)
/* 00048 80A23DA8 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 0004C 80A23DAC F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00050 80A23DB0 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00054 80A23DB4 0C00CFBE */ jal Rand_ZeroFloat
/* 00058 80A23DB8 4600C306 */ mov.s $f12, $f24
/* 0005C 80A23DBC 3C014280 */ lui $at, 0x4280 ## $at = 42800000
/* 00060 80A23DC0 4481D000 */ mtc1 $at, $f26 ## $f26 = 64.00
/* 00064 80A23DC4 E7A00050 */ swc1 $f0, 0x0050($sp)
/* 00068 80A23DC8 0C00CFBE */ jal Rand_ZeroFloat
/* 0006C 80A23DCC 4600D306 */ mov.s $f12, $f26
/* 00070 80A23DD0 3C0180A2 */ lui $at, %hi(D_80A27EC8) ## $at = 80A20000
/* 00074 80A23DD4 C42C7EC8 */ lwc1 $f12, %lo(D_80A27EC8)($at)
/* 00078 80A23DD8 0C00CFBE */ jal Rand_ZeroFloat
/* 0007C 80A23DDC E7A0004C */ swc1 $f0, 0x004C($sp)
/* 00080 80A23DE0 46000586 */ mov.s $f22, $f0
/* 00084 80A23DE4 0C0400A4 */ jal sinf
/* 00088 80A23DE8 46000306 */ mov.s $f12, $f0
/* 0008C 80A23DEC 46000506 */ mov.s $f20, $f0
/* 00090 80A23DF0 0C041184 */ jal cosf
/* 00094 80A23DF4 4600B306 */ mov.s $f12, $f22
/* 00098 80A23DF8 3C0180A2 */ lui $at, %hi(D_80A27ECC) ## $at = 80A20000
/* 0009C 80A23DFC 46000586 */ mov.s $f22, $f0
/* 000A0 80A23E00 0C00CFBE */ jal Rand_ZeroFloat
/* 000A4 80A23E04 C42C7ECC */ lwc1 $f12, %lo(D_80A27ECC)($at)
/* 000A8 80A23E08 4600010D */ trunc.w.s $f4, $f0
/* 000AC 80A23E0C 3C0C80A2 */ lui $t4, %hi(D_80A24D64) ## $t4 = 80A20000
/* 000B0 80A23E10 258C4D64 */ addiu $t4, $t4, %lo(D_80A24D64) ## $t4 = 80A24D64
/* 000B4 80A23E14 C7A20050 */ lwc1 $f2, 0x0050($sp)
/* 000B8 80A23E18 440F2000 */ mfc1 $t7, $f4
/* 000BC 80A23E1C C7AE004C */ lwc1 $f14, 0x004C($sp)
/* 000C0 80A23E20 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 000C4 80A23E24 000FC400 */ sll $t8, $t7, 16
/* 000C8 80A23E28 0018CC03 */ sra $t9, $t8, 16
/* 000CC 80A23E2C 001958C0 */ sll $t3, $t9, 3
/* 000D0 80A23E30 016C1021 */ addu $v0, $t3, $t4
/* 000D4 80A23E34 84490004 */ lh $t1, 0x0004($v0) ## 00000004
/* 000D8 80A23E38 8C4A0000 */ lw $t2, 0x0000($v0) ## 00000000
/* 000DC 80A23E3C 3C0780A2 */ lui $a3, %hi(D_80A24F78) ## $a3 = 80A20000
/* 000E0 80A23E40 19200041 */ blez $t1, .L80A23F48
/* 000E4 80A23E44 24110001 */ addiu $s1, $zero, 0x0001 ## $s1 = 00000001
/* 000E8 80A23E48 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 000EC 80A23E4C 24E74F78 */ addiu $a3, $a3, %lo(D_80A24F78) ## $a3 = 80A24F78
.L80A23E50:
/* 000F0 80A23E50 4602003E */ c.le.s $f0, $f2
/* 000F4 80A23E54 00000000 */ nop
/* 000F8 80A23E58 45020034 */ bc1fl .L80A23F2C
/* 000FC 80A23E5C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00100 80A23E60 4618103C */ c.lt.s $f2, $f24
/* 00104 80A23E64 00000000 */ nop
/* 00108 80A23E68 45020030 */ bc1fl .L80A23F2C
/* 0010C 80A23E6C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
/* 00110 80A23E70 460E003E */ c.le.s $f0, $f14
/* 00114 80A23E74 00000000 */ nop
/* 00118 80A23E78 4502002C */ bc1fl .L80A23F2C
/* 0011C 80A23E7C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000003
/* 00120 80A23E80 461A703C */ c.lt.s $f14, $f26
/* 00124 80A23E84 00106840 */ sll $t5, $s0, 1
/* 00128 80A23E88 014D3021 */ addu $a2, $t2, $t5
/* 0012C 80A23E8C 45020027 */ bc1fl .L80A23F2C
/* 00130 80A23E90 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000004
/* 00134 80A23E94 84C40000 */ lh $a0, 0x0000($a2) ## 00000000
/* 00138 80A23E98 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000
/* 0013C 80A23E9C 04820023 */ bltzl $a0, .L80A23F2C
/* 00140 80A23EA0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000005
.L80A23EA4:
/* 00144 80A23EA4 0480001A */ bltz $a0, .L80A23F10
/* 00148 80A23EA8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 0014C 80A23EAC 4600720D */ trunc.w.s $f8, $f14
/* 00150 80A23EB0 4600118D */ trunc.w.s $f6, $f2
/* 00154 80A23EB4 440E4000 */ mfc1 $t6, $f8
/* 00158 80A23EB8 44193000 */ mfc1 $t9, $f6
/* 0015C 80A23EBC 000E7940 */ sll $t7, $t6, 5
/* 00160 80A23EC0 032FC021 */ addu $t8, $t9, $t7
/* 00164 80A23EC4 00185C00 */ sll $t3, $t8, 16
/* 00168 80A23EC8 000B6403 */ sra $t4, $t3, 16
/* 0016C 80A23ECC 01882821 */ addu $a1, $t4, $t0
/* 00170 80A23ED0 00036940 */ sll $t5, $v1, 5
.L80A23ED4:
/* 00174 80A23ED4 00AD1021 */ addu $v0, $a1, $t5
/* 00178 80A23ED8 00021400 */ sll $v0, $v0, 16
/* 0017C 80A23EDC 00021403 */ sra $v0, $v0, 16
/* 00180 80A23EE0 28410800 */ slti $at, $v0, 0x0800
/* 00184 80A23EE4 10200005 */ beq $at, $zero, .L80A23EFC
/* 00188 80A23EE8 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
/* 0018C 80A23EEC 00027040 */ sll $t6, $v0, 1
/* 00190 80A23EF0 00EEC821 */ addu $t9, $a3, $t6
/* 00194 80A23EF4 A7200000 */ sh $zero, 0x0000($t9) ## 00000000
/* 00198 80A23EF8 84C40000 */ lh $a0, 0x0000($a2) ## 00000000
.L80A23EFC:
/* 0019C 80A23EFC 00031C00 */ sll $v1, $v1, 16
/* 001A0 80A23F00 00031C03 */ sra $v1, $v1, 16
/* 001A4 80A23F04 0083082A */ slt $at, $a0, $v1
/* 001A8 80A23F08 5020FFF2 */ beql $at, $zero, .L80A23ED4
/* 001AC 80A23F0C 00036940 */ sll $t5, $v1, 5
.L80A23F10:
/* 001B0 80A23F10 25080001 */ addiu $t0, $t0, 0x0001 ## $t0 = 00000001
/* 001B4 80A23F14 00084400 */ sll $t0, $t0, 16
/* 001B8 80A23F18 00084403 */ sra $t0, $t0, 16
/* 001BC 80A23F1C 0088082A */ slt $at, $a0, $t0
/* 001C0 80A23F20 1020FFE0 */ beq $at, $zero, .L80A23EA4
/* 001C4 80A23F24 00000000 */ nop
/* 001C8 80A23F28 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000006
.L80A23F2C:
/* 001CC 80A23F2C 00108400 */ sll $s0, $s0, 16
/* 001D0 80A23F30 00108403 */ sra $s0, $s0, 16
/* 001D4 80A23F34 0209082A */ slt $at, $s0, $t1
/* 001D8 80A23F38 46141080 */ add.s $f2, $f2, $f20
/* 001DC 80A23F3C 1420FFC4 */ bne $at, $zero, .L80A23E50
/* 001E0 80A23F40 46167380 */ add.s $f14, $f14, $f22
/* 001E4 80A23F44 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
.L80A23F48:
/* 001E8 80A23F48 3C0180A2 */ lui $at, %hi(D_80A27ED0) ## $at = 80A20000
/* 001EC 80A23F4C C4367ED0 */ lwc1 $f22, %lo(D_80A27ED0)($at)
.L80A23F50:
/* 001F0 80A23F50 0C00CFBE */ jal Rand_ZeroFloat
/* 001F4 80A23F54 4600B306 */ mov.s $f12, $f22
/* 001F8 80A23F58 46000506 */ mov.s $f20, $f0
/* 001FC 80A23F5C 0C00CFBE */ jal Rand_ZeroFloat
/* 00200 80A23F60 4600B306 */ mov.s $f12, $f22
/* 00204 80A23F64 4600028D */ trunc.w.s $f10, $f0
/* 00208 80A23F68 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0020C 80A23F6C 00108400 */ sll $s0, $s0, 16
/* 00210 80A23F70 4600A40D */ trunc.w.s $f16, $f20
/* 00214 80A23F74 44185000 */ mfc1 $t8, $f10
/* 00218 80A23F78 00108403 */ sra $s0, $s0, 16
/* 0021C 80A23F7C 2A010004 */ slti $at, $s0, 0x0004
/* 00220 80A23F80 00185C00 */ sll $t3, $t8, 16
/* 00224 80A23F84 000B6403 */ sra $t4, $t3, 16
/* 00228 80A23F88 000C68C0 */ sll $t5, $t4, 3
/* 0022C 80A23F8C 440F8000 */ mfc1 $t7, $f16
/* 00230 80A23F90 01AC6823 */ subu $t5, $t5, $t4
/* 00234 80A23F94 000D68C0 */ sll $t5, $t5, 3
/* 00238 80A23F98 01AC6821 */ addu $t5, $t5, $t4
/* 0023C 80A23F9C 000D68C0 */ sll $t5, $t5, 3
/* 00240 80A23FA0 000FC400 */ sll $t8, $t7, 16
/* 00244 80A23FA4 00185C03 */ sra $t3, $t8, 16
/* 00248 80A23FA8 024D7021 */ addu $t6, $s2, $t5
/* 0024C 80A23FAC 01CB6021 */ addu $t4, $t6, $t3
/* 00250 80A23FB0 1420FFE7 */ bne $at, $zero, .L80A23F50
/* 00254 80A23FB4 A1910308 */ sb $s1, 0x0308($t4) ## 00000308
/* 00258 80A23FB8 8FBF0044 */ lw $ra, 0x0044($sp)
/* 0025C 80A23FBC D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00260 80A23FC0 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00264 80A23FC4 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00268 80A23FC8 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 0026C 80A23FCC 8FB00038 */ lw $s0, 0x0038($sp)
/* 00270 80A23FD0 8FB1003C */ lw $s1, 0x003C($sp)
/* 00274 80A23FD4 8FB20040 */ lw $s2, 0x0040($sp)
/* 00278 80A23FD8 03E00008 */ jr $ra
/* 0027C 80A23FDC 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000

View file

@ -1,410 +0,0 @@
.late_rodata
glabel D_80A27ED4
.float 3.14159274101
glabel D_80A27ED8
.float 6.28318548203
glabel D_80A27EDC
.float 2.1
glabel D_80A27EE0
.float 3.14159274101
.text
glabel func_80A23FE0
/* 00280 80A23FE0 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 00284 80A23FE4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00288 80A23FE8 AFBF006C */ sw $ra, 0x006C($sp)
/* 0028C 80A23FEC AFBE0068 */ sw $s8, 0x0068($sp)
/* 00290 80A23FF0 AFB70064 */ sw $s7, 0x0064($sp)
/* 00294 80A23FF4 AFB60060 */ sw $s6, 0x0060($sp)
/* 00298 80A23FF8 AFB5005C */ sw $s5, 0x005C($sp)
/* 0029C 80A23FFC AFB40058 */ sw $s4, 0x0058($sp)
/* 002A0 80A24000 AFB30054 */ sw $s3, 0x0054($sp)
/* 002A4 80A24004 AFB20050 */ sw $s2, 0x0050($sp)
/* 002A8 80A24008 AFB1004C */ sw $s1, 0x004C($sp)
/* 002AC 80A2400C AFB00048 */ sw $s0, 0x0048($sp)
/* 002B0 80A24010 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 002B4 80A24014 F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 002B8 80A24018 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 002BC 80A2401C F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 002C0 80A24020 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 002C4 80A24024 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 002C8 80A24028 AFA400E0 */ sw $a0, 0x00E0($sp)
/* 002CC 80A2402C E7A400A4 */ swc1 $f4, 0x00A4($sp)
/* 002D0 80A24030 84AE001C */ lh $t6, 0x001C($a1) ## 0000001C
/* 002D4 80A24034 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
/* 002D8 80A24038 00E08025 */ or $s0, $a3, $zero ## $s0 = 00000000
/* 002DC 80A2403C 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 002E0 80A24040 15C1002C */ bne $t6, $at, .L80A240F4
/* 002E4 80A24044 00C0F025 */ or $s8, $a2, $zero ## $s8 = 00000000
/* 002E8 80A24048 3C01C1F0 */ lui $at, 0xC1F0 ## $at = C1F00000
/* 002EC 80A2404C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 002F0 80A24050 44814000 */ mtc1 $at, $f8 ## $f8 = -30.00
/* 002F4 80A24054 3C014700 */ lui $at, 0x4700 ## $at = 47000000
/* 002F8 80A24058 E7A600A0 */ swc1 $f6, 0x00A0($sp)
/* 002FC 80A2405C E7A800A8 */ swc1 $f8, 0x00A8($sp)
/* 00300 80A24060 84AF00B6 */ lh $t7, 0x00B6($a1) ## 000000B6
/* 00304 80A24064 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00
/* 00308 80A24068 3C0180A2 */ lui $at, %hi(D_80A27ED4) ## $at = 80A20000
/* 0030C 80A2406C 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 00310 80A24070 C4267ED4 */ lwc1 $f6, %lo(D_80A27ED4)($at)
/* 00314 80A24074 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00318 80A24078 46805420 */ cvt.s.w $f16, $f10
/* 0031C 80A2407C 46128103 */ div.s $f4, $f16, $f18
/* 00320 80A24080 46062302 */ mul.s $f12, $f4, $f6
/* 00324 80A24084 0C034348 */ jal Matrix_RotateY
/* 00328 80A24088 00000000 */ nop
/* 0032C 80A2408C 27B500A0 */ addiu $s5, $sp, 0x00A0 ## $s5 = FFFFFFC0
/* 00330 80A24090 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFFC0
/* 00334 80A24094 0C0346BD */ jal Matrix_MultVec3f
/* 00338 80A24098 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFFB4
/* 0033C 80A2409C 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 00340 80A240A0 2403000C */ addiu $v1, $zero, 0x000C ## $v1 = 0000000C
.L80A240A4:
/* 00344 80A240A4 02830019 */ multu $s4, $v1
/* 00348 80A240A8 C7AA0094 */ lwc1 $f10, 0x0094($sp)
/* 0034C 80A240AC 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 00350 80A240B0 0014A400 */ sll $s4, $s4, 16
/* 00354 80A240B4 0014A403 */ sra $s4, $s4, 16
/* 00358 80A240B8 2A81000C */ slti $at, $s4, 0x000C
/* 0035C 80A240BC 0000C012 */ mflo $t8
/* 00360 80A240C0 03101021 */ addu $v0, $t8, $s0
/* 00364 80A240C4 C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000
/* 00368 80A240C8 C4520008 */ lwc1 $f18, 0x0008($v0) ## 00000008
/* 0036C 80A240CC 460A4400 */ add.s $f16, $f8, $f10
/* 00370 80A240D0 E4500000 */ swc1 $f16, 0x0000($v0) ## 00000000
/* 00374 80A240D4 C7A4009C */ lwc1 $f4, 0x009C($sp)
/* 00378 80A240D8 46049180 */ add.s $f6, $f18, $f4
/* 0037C 80A240DC 1420FFF1 */ bne $at, $zero, .L80A240A4
/* 00380 80A240E0 E4460008 */ swc1 $f6, 0x0008($v0) ## 00000008
/* 00384 80A240E4 3C0140D0 */ lui $at, 0x40D0 ## $at = 40D00000
/* 00388 80A240E8 44814000 */ mtc1 $at, $f8 ## $f8 = 6.50
/* 0038C 80A240EC 10000005 */ beq $zero, $zero, .L80A24104
/* 00390 80A240F0 E7A800AC */ swc1 $f8, 0x00AC($sp)
.L80A240F4:
/* 00394 80A240F4 3C014118 */ lui $at, 0x4118 ## $at = 41180000
/* 00398 80A240F8 44815000 */ mtc1 $at, $f10 ## $f10 = 9.50
/* 0039C 80A240FC 27B500A0 */ addiu $s5, $sp, 0x00A0 ## $s5 = FFFFFFC0
/* 003A0 80A24100 E7AA00AC */ swc1 $f10, 0x00AC($sp)
.L80A24104:
/* 003A4 80A24104 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
/* 003A8 80A24108 4481F000 */ mtc1 $at, $f30 ## $f30 = -5.00
/* 003AC 80A2410C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 003B0 80A24110 4481E000 */ mtc1 $at, $f28 ## $f28 = 5.00
/* 003B4 80A24114 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 003B8 80A24118 8FB700F0 */ lw $s7, 0x00F0($sp)
/* 003BC 80A2411C 8FB600F4 */ lw $s6, 0x00F4($sp)
/* 003C0 80A24120 8FB100F8 */ lw $s1, 0x00F8($sp)
.L80A24124:
/* 003C4 80A24124 16800008 */ bne $s4, $zero, .L80A24148
/* 003C8 80A24128 87A200FE */ lh $v0, 0x00FE($sp)
/* 003CC 80A2412C C7D00000 */ lwc1 $f16, 0x0000($s8) ## 00000000
/* 003D0 80A24130 E6100000 */ swc1 $f16, 0x0000($s0) ## 00000000
/* 003D4 80A24134 C7D20004 */ lwc1 $f18, 0x0004($s8) ## 00000004
/* 003D8 80A24138 E6120004 */ swc1 $f18, 0x0004($s0) ## 00000004
/* 003DC 80A2413C C7C40008 */ lwc1 $f4, 0x0008($s8) ## 00000008
/* 003E0 80A24140 100000F7 */ beq $zero, $zero, .L80A24520
/* 003E4 80A24144 E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008
.L80A24148:
/* 003E8 80A24148 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 003EC 80A2414C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 003F0 80A24150 3C0180A2 */ lui $at, %hi(D_80A27ED8) ## $at = 80A20000
/* 003F4 80A24154 46803220 */ cvt.s.w $f8, $f6
/* 003F8 80A24158 C42A7ED8 */ lwc1 $f10, %lo(D_80A27ED8)($at)
/* 003FC 80A2415C 3C0180A2 */ lui $at, %hi(D_80A27EDC) ## $at = 80A20000
/* 00400 80A24160 C4327EDC */ lwc1 $f18, %lo(D_80A27EDC)($at)
/* 00404 80A24164 3C0180A2 */ lui $at, %hi(D_80A27EE0) ## $at = 80A20000
/* 00408 80A24168 468021A0 */ cvt.s.w $f6, $f4
/* 0040C 80A2416C 460A4402 */ mul.s $f16, $f8, $f10
/* 00410 80A24170 C4287EE0 */ lwc1 $f8, %lo(D_80A27EE0)($at)
/* 00414 80A24174 3C014130 */ lui $at, 0x4130 ## $at = 41300000
/* 00418 80A24178 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 0041C 80A2417C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00420 80A24180 46083282 */ mul.s $f10, $f6, $f8
/* 00424 80A24184 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00428 80A24188 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 0042C 80A2418C 46128503 */ div.s $f20, $f16, $f18
/* 00430 80A24190 44818000 */ mtc1 $at, $f16 ## $f16 = 11.00
/* 00434 80A24194 0C01E123 */ jal Math_ApproachZeroF
/* 00438 80A24198 46105583 */ div.s $f22, $f10, $f16
/* 0043C 80A2419C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00440 80A241A0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00444 80A241A4 26240004 */ addiu $a0, $s1, 0x0004 ## $a0 = 00000004
/* 00448 80A241A8 0C01E123 */ jal Math_ApproachZeroF
/* 0044C 80A241AC 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00450 80A241B0 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00454 80A241B4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00458 80A241B8 26240008 */ addiu $a0, $s1, 0x0008 ## $a0 = 00000008
/* 0045C 80A241BC 0C01E123 */ jal Math_ApproachZeroF
/* 00460 80A241C0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00464 80A241C4 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00468 80A241C8 4600A306 */ mov.s $f12, $f20
/* 0046C 80A241CC 0C0400A4 */ jal sinf
/* 00470 80A241D0 E7B200A0 */ swc1 $f18, 0x00A0($sp)
/* 00474 80A241D4 C64616B4 */ lwc1 $f6, 0x16B4($s2) ## 000016B4
/* 00478 80A241D8 C64416B0 */ lwc1 $f4, 0x16B0($s2) ## 000016B0
/* 0047C 80A241DC 00149880 */ sll $s3, $s4, 2
/* 00480 80A241E0 46060202 */ mul.s $f8, $f0, $f6
/* 00484 80A241E4 3C0180A2 */ lui $at, %hi(D_80A24D84) ## $at = 80A20000
/* 00488 80A241E8 00330821 */ addu $at, $at, $s3
/* 0048C 80A241EC C4304D84 */ lwc1 $f16, %lo(D_80A24D84)($at)
/* 00490 80A241F0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00494 80A241F4 46082280 */ add.s $f10, $f4, $f8
/* 00498 80A241F8 460A8482 */ mul.s $f18, $f16, $f10
/* 0049C 80A241FC E7B200A8 */ swc1 $f18, 0x00A8($sp)
/* 004A0 80A24200 0C034348 */ jal Matrix_RotateY
/* 004A4 80A24204 C64C16CC */ lwc1 $f12, 0x16CC($s2) ## 000016CC
/* 004A8 80A24208 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFFC0
/* 004AC 80A2420C 0C0346BD */ jal Matrix_MultVec3f
/* 004B0 80A24210 27A50088 */ addiu $a1, $sp, 0x0088 ## $a1 = FFFFFFA8
/* 004B4 80A24214 0C041184 */ jal cosf
/* 004B8 80A24218 4600B306 */ mov.s $f12, $f22
/* 004BC 80A2421C C64416B8 */ lwc1 $f4, 0x16B8($s2) ## 000016B8
/* 004C0 80A24220 3C0180A2 */ lui $at, %hi(D_80A24DD0) ## $at = 80A20000
/* 004C4 80A24224 00330821 */ addu $at, $at, $s3
/* 004C8 80A24228 46040202 */ mul.s $f8, $f0, $f4
/* 004CC 80A2422C C4264DD0 */ lwc1 $f6, %lo(D_80A24DD0)($at)
/* 004D0 80A24230 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 004D4 80A24234 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFFC0
/* 004D8 80A24238 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFF9C
/* 004DC 80A2423C E7AA00A8 */ swc1 $f10, 0x00A8($sp)
/* 004E0 80A24240 46083402 */ mul.s $f16, $f6, $f8
/* 004E4 80A24244 0C0346BD */ jal Matrix_MultVec3f
/* 004E8 80A24248 E7B000A0 */ swc1 $f16, 0x00A0($sp)
/* 004EC 80A2424C C6120000 */ lwc1 $f18, 0x0000($s0) ## 00000000
/* 004F0 80A24250 C6240000 */ lwc1 $f4, 0x0000($s1) ## 00000000
/* 004F4 80A24254 C608FFF4 */ lwc1 $f8, -0x000C($s0) ## FFFFFFF4
/* 004F8 80A24258 C7AA0088 */ lwc1 $f10, 0x0088($sp)
/* 004FC 80A2425C 46049180 */ add.s $f6, $f18, $f4
/* 00500 80A24260 C7B2007C */ lwc1 $f18, 0x007C($sp)
/* 00504 80A24264 C64016C8 */ lwc1 $f0, 0x16C8($s2) ## 000016C8
/* 00508 80A24268 46083401 */ sub.s $f16, $f6, $f8
/* 0050C 80A2426C C6280004 */ lwc1 $f8, 0x0004($s1) ## 00000004
/* 00510 80A24270 C6060004 */ lwc1 $f6, 0x0004($s0) ## 00000004
/* 00514 80A24274 46125100 */ add.s $f4, $f10, $f18
/* 00518 80A24278 C612FFF8 */ lwc1 $f18, -0x0008($s0) ## FFFFFFF8
/* 0051C 80A2427C 46083280 */ add.s $f10, $f6, $f8
/* 00520 80A24280 C6260008 */ lwc1 $f6, 0x0008($s1) ## 00000008
/* 00524 80A24284 46048500 */ add.s $f20, $f16, $f4
/* 00528 80A24288 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
/* 0052C 80A2428C 46125401 */ sub.s $f16, $f10, $f18
/* 00530 80A24290 C60AFFFC */ lwc1 $f10, -0x0004($s0) ## FFFFFFFC
/* 00534 80A24294 4600A386 */ mov.s $f14, $f20
/* 00538 80A24298 46062200 */ add.s $f8, $f4, $f6
/* 0053C 80A2429C C7A40084 */ lwc1 $f4, 0x0084($sp)
/* 00540 80A242A0 46008600 */ add.s $f24, $f16, $f0
/* 00544 80A242A4 C7B00090 */ lwc1 $f16, 0x0090($sp)
/* 00548 80A242A8 460A4481 */ sub.s $f18, $f8, $f10
/* 0054C 80A242AC 46048180 */ add.s $f6, $f16, $f4
/* 00550 80A242B0 46069580 */ add.s $f22, $f18, $f6
/* 00554 80A242B4 0C0341F5 */ jal Math_Atan2F
/* 00558 80A242B8 4600B306 */ mov.s $f12, $f22
/* 0055C 80A242BC 4614A202 */ mul.s $f8, $f20, $f20
/* 00560 80A242C0 46000686 */ mov.s $f26, $f0
/* 00564 80A242C4 4600C386 */ mov.s $f14, $f24
/* 00568 80A242C8 4616B282 */ mul.s $f10, $f22, $f22
/* 0056C 80A242CC 460A4000 */ add.s $f0, $f8, $f10
/* 00570 80A242D0 0C0341F5 */ jal Math_Atan2F
/* 00574 80A242D4 46000304 */ sqrt.s $f12, $f0
/* 00578 80A242D8 46000507 */ neg.s $f20, $f0
/* 0057C 80A242DC 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 00580 80A242E0 E6D4FFF4 */ swc1 $f20, -0x000C($s6) ## FFFFFFF4
/* 00584 80A242E4 C7A400AC */ lwc1 $f4, 0x00AC($sp)
/* 00588 80A242E8 4600D306 */ mov.s $f12, $f26
/* 0058C 80A242EC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00590 80A242F0 E7B000A0 */ swc1 $f16, 0x00A0($sp)
/* 00594 80A242F4 0C034348 */ jal Matrix_RotateY
/* 00598 80A242F8 E7A400A8 */ swc1 $f4, 0x00A8($sp)
/* 0059C 80A242FC 4600A306 */ mov.s $f12, $f20
/* 005A0 80A24300 0C0342DC */ jal Matrix_RotateX
/* 005A4 80A24304 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 005A8 80A24308 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFFC0
/* 005AC 80A2430C 0C0346BD */ jal Matrix_MultVec3f
/* 005B0 80A24310 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFFB4
/* 005B4 80A24314 C612FFF4 */ lwc1 $f18, -0x000C($s0) ## FFFFFFF4
/* 005B8 80A24318 C7A60094 */ lwc1 $f6, 0x0094($sp)
/* 005BC 80A2431C C6140000 */ lwc1 $f20, 0x0000($s0) ## 00000000
/* 005C0 80A24320 C60AFFF8 */ lwc1 $f10, -0x0008($s0) ## FFFFFFF8
/* 005C4 80A24324 46069200 */ add.s $f8, $f18, $f6
/* 005C8 80A24328 C6180004 */ lwc1 $f24, 0x0004($s0) ## 00000004
/* 005CC 80A2432C C612FFFC */ lwc1 $f18, -0x0004($s0) ## FFFFFFFC
/* 005D0 80A24330 C6160008 */ lwc1 $f22, 0x0008($s0) ## 00000008
/* 005D4 80A24334 E6080000 */ swc1 $f8, 0x0000($s0) ## 00000000
/* 005D8 80A24338 C7B00098 */ lwc1 $f16, 0x0098($sp)
/* 005DC 80A2433C 3C1980A2 */ lui $t9, %hi(D_80A24E18) ## $t9 = 80A20000
/* 005E0 80A24340 27394E18 */ addiu $t9, $t9, %lo(D_80A24E18) ## $t9 = 80A24E18
/* 005E4 80A24344 46105100 */ add.s $f4, $f10, $f16
/* 005E8 80A24348 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000
/* 005EC 80A2434C 02791021 */ addu $v0, $s3, $t9
/* 005F0 80A24350 E6040004 */ swc1 $f4, 0x0004($s0) ## 00000004
/* 005F4 80A24354 C7A6009C */ lwc1 $f6, 0x009C($sp)
/* 005F8 80A24358 46069200 */ add.s $f8, $f18, $f6
/* 005FC 80A2435C E6080008 */ swc1 $f8, 0x0008($s0) ## 00000008
/* 00600 80A24360 C6500024 */ lwc1 $f16, 0x0024($s2) ## 00000024
/* 00604 80A24364 C652002C */ lwc1 $f18, 0x002C($s2) ## 0000002C
/* 00608 80A24368 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
/* 0060C 80A2436C 46105381 */ sub.s $f14, $f10, $f16
/* 00610 80A24370 C65016D0 */ lwc1 $f16, 0x16D0($s2) ## 000016D0
/* 00614 80A24374 C44A0000 */ lwc1 $f10, 0x0000($v0) ## 00000000
/* 00618 80A24378 46122301 */ sub.s $f12, $f4, $f18
/* 0061C 80A2437C 460E7182 */ mul.s $f6, $f14, $f14
/* 00620 80A24380 00000000 */ nop
/* 00624 80A24384 460C6202 */ mul.s $f8, $f12, $f12
/* 00628 80A24388 46083000 */ add.s $f0, $f6, $f8
/* 0062C 80A2438C 46105102 */ mul.s $f4, $f10, $f16
/* 00630 80A24390 46000004 */ sqrt.s $f0, $f0
/* 00634 80A24394 4604003C */ c.lt.s $f0, $f4
/* 00638 80A24398 00000000 */ nop
/* 0063C 80A2439C 45000016 */ bc1f .L80A243F8
/* 00640 80A243A0 00000000 */ nop
/* 00644 80A243A4 0C0341F5 */ jal Math_Atan2F
/* 00648 80A243A8 AFA20070 */ sw $v0, 0x0070($sp)
/* 0064C 80A243AC 8FA20070 */ lw $v0, 0x0070($sp)
/* 00650 80A243B0 C64616D0 */ lwc1 $f6, 0x16D0($s2) ## 000016D0
/* 00654 80A243B4 46000306 */ mov.s $f12, $f0
/* 00658 80A243B8 C4520000 */ lwc1 $f18, 0x0000($v0) ## 00000000
/* 0065C 80A243BC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00660 80A243C0 46069202 */ mul.s $f8, $f18, $f6
/* 00664 80A243C4 0C034348 */ jal Matrix_RotateY
/* 00668 80A243C8 E7A800A8 */ swc1 $f8, 0x00A8($sp)
/* 0066C 80A243CC 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFFC0
/* 00670 80A243D0 0C0346BD */ jal Matrix_MultVec3f
/* 00674 80A243D4 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFFB4
/* 00678 80A243D8 C64A0024 */ lwc1 $f10, 0x0024($s2) ## 00000024
/* 0067C 80A243DC C7B00094 */ lwc1 $f16, 0x0094($sp)
/* 00680 80A243E0 46105100 */ add.s $f4, $f10, $f16
/* 00684 80A243E4 E6040000 */ swc1 $f4, 0x0000($s0) ## 00000000
/* 00688 80A243E8 C7A6009C */ lwc1 $f6, 0x009C($sp)
/* 0068C 80A243EC C652002C */ lwc1 $f18, 0x002C($s2) ## 0000002C
/* 00690 80A243F0 46069200 */ add.s $f8, $f18, $f6
/* 00694 80A243F4 E6080008 */ swc1 $f8, 0x0008($s0) ## 00000008
.L80A243F8:
/* 00698 80A243F8 C64016AC */ lwc1 $f0, 0x16AC($s2) ## 000016AC
/* 0069C 80A243FC C60A0004 */ lwc1 $f10, 0x0004($s0) ## 00000004
/* 006A0 80A24400 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 006A4 80A24404 4600503C */ c.lt.s $f10, $f0
/* 006A8 80A24408 00000000 */ nop
/* 006AC 80A2440C 45020003 */ bc1fl .L80A2441C
/* 006B0 80A24410 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
/* 006B4 80A24414 E6000004 */ swc1 $f0, 0x0004($s0) ## 00000004
/* 006B8 80A24418 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
.L80A2441C:
/* 006BC 80A2441C 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
/* 006C0 80A24420 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 006C4 80A24424 46148101 */ sub.s $f4, $f16, $f20
/* 006C8 80A24428 44811000 */ mtc1 $at, $f2 ## $f2 = 80.00
/* 006CC 80A2442C 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
/* 006D0 80A24430 46022482 */ mul.s $f18, $f4, $f2
/* 006D4 80A24434 46009183 */ div.s $f6, $f18, $f0
/* 006D8 80A24438 E6260000 */ swc1 $f6, 0x0000($s1) ## 00000000
/* 006DC 80A2443C C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004
/* 006E0 80A24440 46184281 */ sub.s $f10, $f8, $f24
/* 006E4 80A24444 46025402 */ mul.s $f16, $f10, $f2
/* 006E8 80A24448 46008103 */ div.s $f4, $f16, $f0
/* 006EC 80A2444C E6240004 */ swc1 $f4, 0x0004($s1) ## 00000004
/* 006F0 80A24450 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 006F4 80A24454 46169181 */ sub.s $f6, $f18, $f22
/* 006F8 80A24458 46023202 */ mul.s $f8, $f6, $f2
/* 006FC 80A2445C 46004283 */ div.s $f10, $f8, $f0
/* 00700 80A24460 E62A0008 */ swc1 $f10, 0x0008($s1) ## 00000008
/* 00704 80A24464 8648001C */ lh $t0, 0x001C($s2) ## 0000001C
/* 00708 80A24468 51010026 */ beql $t0, $at, .L80A24504
/* 0070C 80A2446C C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
/* 00710 80A24470 C6200000 */ lwc1 $f0, 0x0000($s1) ## 00000000
/* 00714 80A24474 4600E03C */ c.lt.s $f28, $f0
/* 00718 80A24478 00000000 */ nop
/* 0071C 80A2447C 45020004 */ bc1fl .L80A24490
/* 00720 80A24480 461E003C */ c.lt.s $f0, $f30
/* 00724 80A24484 10000006 */ beq $zero, $zero, .L80A244A0
/* 00728 80A24488 E63C0000 */ swc1 $f28, 0x0000($s1) ## 00000000
/* 0072C 80A2448C 461E003C */ c.lt.s $f0, $f30
.L80A24490:
/* 00730 80A24490 00000000 */ nop
/* 00734 80A24494 45020003 */ bc1fl .L80A244A4
/* 00738 80A24498 C6200004 */ lwc1 $f0, 0x0004($s1) ## 00000004
/* 0073C 80A2449C E63E0000 */ swc1 $f30, 0x0000($s1) ## 00000000
.L80A244A0:
/* 00740 80A244A0 C6200004 */ lwc1 $f0, 0x0004($s1) ## 00000004
.L80A244A4:
/* 00744 80A244A4 4600E03C */ c.lt.s $f28, $f0
/* 00748 80A244A8 00000000 */ nop
/* 0074C 80A244AC 45020004 */ bc1fl .L80A244C0
/* 00750 80A244B0 461E003C */ c.lt.s $f0, $f30
/* 00754 80A244B4 10000006 */ beq $zero, $zero, .L80A244D0
/* 00758 80A244B8 E63C0004 */ swc1 $f28, 0x0004($s1) ## 00000004
/* 0075C 80A244BC 461E003C */ c.lt.s $f0, $f30
.L80A244C0:
/* 00760 80A244C0 00000000 */ nop
/* 00764 80A244C4 45020003 */ bc1fl .L80A244D4
/* 00768 80A244C8 C6200008 */ lwc1 $f0, 0x0008($s1) ## 00000008
/* 0076C 80A244CC E63E0004 */ swc1 $f30, 0x0004($s1) ## 00000004
.L80A244D0:
/* 00770 80A244D0 C6200008 */ lwc1 $f0, 0x0008($s1) ## 00000008
.L80A244D4:
/* 00774 80A244D4 4600E03C */ c.lt.s $f28, $f0
/* 00778 80A244D8 00000000 */ nop
/* 0077C 80A244DC 45020004 */ bc1fl .L80A244F0
/* 00780 80A244E0 461E003C */ c.lt.s $f0, $f30
/* 00784 80A244E4 10000006 */ beq $zero, $zero, .L80A24500
/* 00788 80A244E8 E63C0008 */ swc1 $f28, 0x0008($s1) ## 00000008
/* 0078C 80A244EC 461E003C */ c.lt.s $f0, $f30
.L80A244F0:
/* 00790 80A244F0 00000000 */ nop
/* 00794 80A244F4 45020003 */ bc1fl .L80A24504
/* 00798 80A244F8 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
/* 0079C 80A244FC E63E0008 */ swc1 $f30, 0x0008($s1) ## 00000008
.L80A24500:
/* 007A0 80A24500 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
.L80A24504:
/* 007A4 80A24504 C6E40000 */ lwc1 $f4, 0x0000($s7) ## 00000000
/* 007A8 80A24508 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 007AC 80A2450C C6E60008 */ lwc1 $f6, 0x0008($s7) ## 00000008
/* 007B0 80A24510 46048381 */ sub.s $f14, $f16, $f4
/* 007B4 80A24514 0C0341F5 */ jal Math_Atan2F
/* 007B8 80A24518 46069301 */ sub.s $f12, $f18, $f6
/* 007BC 80A2451C E6C0FFF8 */ swc1 $f0, -0x0008($s6) ## FFFFFFF8
.L80A24520:
/* 007C0 80A24520 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 007C4 80A24524 0014A400 */ sll $s4, $s4, 16
/* 007C8 80A24528 0014A403 */ sra $s4, $s4, 16
/* 007CC 80A2452C 2A81000C */ slti $at, $s4, 0x000C
/* 007D0 80A24530 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = 0000000C
/* 007D4 80A24534 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 0000000C
/* 007D8 80A24538 26D6000C */ addiu $s6, $s6, 0x000C ## $s6 = 0000000C
/* 007DC 80A2453C 1420FEF9 */ bne $at, $zero, .L80A24124
/* 007E0 80A24540 26F7000C */ addiu $s7, $s7, 0x000C ## $s7 = 0000000C
/* 007E4 80A24544 AFB700F0 */ sw $s7, 0x00F0($sp)
/* 007E8 80A24548 AFB100F8 */ sw $s1, 0x00F8($sp)
/* 007EC 80A2454C C6C8007C */ lwc1 $f8, 0x007C($s6) ## 00000088
/* 007F0 80A24550 C6CA0078 */ lwc1 $f10, 0x0078($s6) ## 00000084
/* 007F4 80A24554 E6C80088 */ swc1 $f8, 0x0088($s6) ## 00000094
/* 007F8 80A24558 E6CA0084 */ swc1 $f10, 0x0084($s6) ## 00000090
/* 007FC 80A2455C 8FBF006C */ lw $ra, 0x006C($sp)
/* 00800 80A24560 8FBE0068 */ lw $s8, 0x0068($sp)
/* 00804 80A24564 8FB70064 */ lw $s7, 0x0064($sp)
/* 00808 80A24568 8FB60060 */ lw $s6, 0x0060($sp)
/* 0080C 80A2456C 8FB5005C */ lw $s5, 0x005C($sp)
/* 00810 80A24570 8FB40058 */ lw $s4, 0x0058($sp)
/* 00814 80A24574 8FB30054 */ lw $s3, 0x0054($sp)
/* 00818 80A24578 8FB20050 */ lw $s2, 0x0050($sp)
/* 0081C 80A2457C 8FB1004C */ lw $s1, 0x004C($sp)
/* 00820 80A24580 8FB00048 */ lw $s0, 0x0048($sp)
/* 00824 80A24584 D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 00828 80A24588 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 0082C 80A2458C D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 00830 80A24590 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00834 80A24594 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00838 80A24598 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 0083C 80A2459C 03E00008 */ jr $ra
/* 00840 80A245A0 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View file

@ -1,142 +0,0 @@
glabel func_80A245A4
/* 00844 80A245A4 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 00848 80A245A8 AFBF003C */ sw $ra, 0x003C($sp)
/* 0084C 80A245AC AFBE0038 */ sw $s8, 0x0038($sp)
/* 00850 80A245B0 AFB70034 */ sw $s7, 0x0034($sp)
/* 00854 80A245B4 AFB60030 */ sw $s6, 0x0030($sp)
/* 00858 80A245B8 AFB5002C */ sw $s5, 0x002C($sp)
/* 0085C 80A245BC AFB40028 */ sw $s4, 0x0028($sp)
/* 00860 80A245C0 AFB30024 */ sw $s3, 0x0024($sp)
/* 00864 80A245C4 AFB20020 */ sw $s2, 0x0020($sp)
/* 00868 80A245C8 AFB1001C */ sw $s1, 0x001C($sp)
/* 0086C 80A245CC AFB00018 */ sw $s0, 0x0018($sp)
/* 00870 80A245D0 908E1706 */ lbu $t6, 0x1706($a0) ## 00001706
/* 00874 80A245D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00878 80A245D8 2495014C */ addiu $s5, $a0, 0x014C ## $s5 = 0000014C
/* 0087C 80A245DC 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 00880 80A245E0 11E00011 */ beq $t7, $zero, .L80A24628
/* 00884 80A245E4 27BE004C */ addiu $s8, $sp, 0x004C ## $s8 = FFFFFFD4
/* 00888 80A245E8 3C0380A2 */ lui $v1, %hi(D_80A26778) ## $v1 = 80A20000
/* 0088C 80A245EC 24636778 */ addiu $v1, $v1, %lo(D_80A26778) ## $v1 = 80A26778
/* 00890 80A245F0 0003C100 */ sll $t8, $v1, 4
/* 00894 80A245F4 0018CF02 */ srl $t9, $t8, 28
/* 00898 80A245F8 00194080 */ sll $t0, $t9, 2
/* 0089C 80A245FC 3C098016 */ lui $t1, %hi(gSegments)
/* 008A0 80A24600 01284821 */ addu $t1, $t1, $t0
/* 008A4 80A24604 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 008A8 80A24608 8D296FA8 */ lw $t1, %lo(gSegments)($t1)
/* 008AC 80A2460C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 008B0 80A24610 00615024 */ and $t2, $v1, $at
/* 008B4 80A24614 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 008B8 80A24618 012A1021 */ addu $v0, $t1, $t2
/* 008BC 80A2461C 00411021 */ addu $v0, $v0, $at
/* 008C0 80A24620 10000010 */ beq $zero, $zero, .L80A24664
/* 008C4 80A24624 AFA2006C */ sw $v0, 0x006C($sp)
.L80A24628:
/* 008C8 80A24628 3C0280A2 */ lui $v0, %hi(D_80A27578) ## $v0 = 80A20000
/* 008CC 80A2462C 24427578 */ addiu $v0, $v0, %lo(D_80A27578) ## $v0 = 80A27578
/* 008D0 80A24630 00025900 */ sll $t3, $v0, 4
/* 008D4 80A24634 000B6702 */ srl $t4, $t3, 28
/* 008D8 80A24638 000C6880 */ sll $t5, $t4, 2
/* 008DC 80A2463C 3C0E8016 */ lui $t6, %hi(gSegments)
/* 008E0 80A24640 01CD7021 */ addu $t6, $t6, $t5
/* 008E4 80A24644 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 008E8 80A24648 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 008EC 80A2464C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 008F0 80A24650 00417824 */ and $t7, $v0, $at
/* 008F4 80A24654 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 008F8 80A24658 01CFC021 */ addu $t8, $t6, $t7
/* 008FC 80A2465C 0301C821 */ addu $t9, $t8, $at
/* 00900 80A24660 AFB9006C */ sw $t9, 0x006C($sp)
.L80A24664:
/* 00904 80A24664 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00908 80A24668 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 0090C 80A2466C E7A00058 */ swc1 $f0, 0x0058($sp)
/* 00910 80A24670 E7A00060 */ swc1 $f0, 0x0060($sp)
/* 00914 80A24674 A7A00076 */ sh $zero, 0x0076($sp)
/* 00918 80A24678 27B70058 */ addiu $s7, $sp, 0x0058 ## $s7 = FFFFFFE0
/* 0091C 80A2467C 2416000C */ addiu $s6, $zero, 0x000C ## $s6 = 0000000C
/* 00920 80A24680 E7A4005C */ swc1 $f4, 0x005C($sp)
.L80A24684:
/* 00924 80A24684 87A30076 */ lh $v1, 0x0076($sp)
/* 00928 80A24688 3C0980A2 */ lui $t1, %hi(D_80A24E4C) ## $t1 = 80A20000
/* 0092C 80A2468C 25294E4C */ addiu $t1, $t1, %lo(D_80A24E4C) ## $t1 = 80A24E4C
/* 00930 80A24690 00034040 */ sll $t0, $v1, 1
/* 00934 80A24694 0109A021 */ addu $s4, $t0, $t1
/* 00938 80A24698 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 0093C 80A2469C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
.L80A246A0:
/* 00940 80A246A0 02560019 */ multu $s2, $s6
/* 00944 80A246A4 00135040 */ sll $t2, $s3, 1
/* 00948 80A246A8 028A5821 */ addu $t3, $s4, $t2
/* 0094C 80A246AC 956C0000 */ lhu $t4, 0x0000($t3) ## 00000000
/* 00950 80A246B0 8FA2006C */ lw $v0, 0x006C($sp)
/* 00954 80A246B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00958 80A246B8 000C6900 */ sll $t5, $t4, 4
/* 0095C 80A246BC 01A28021 */ addu $s0, $t5, $v0
/* 00960 80A246C0 00007012 */ mflo $t6
/* 00964 80A246C4 02AE8821 */ addu $s1, $s5, $t6
/* 00968 80A246C8 C626000C */ lwc1 $f6, 0x000C($s1) ## 0000000C
/* 0096C 80A246CC 4600320D */ trunc.w.s $f8, $f6
/* 00970 80A246D0 44184000 */ mfc1 $t8, $f8
/* 00974 80A246D4 00000000 */ nop
/* 00978 80A246D8 A6180000 */ sh $t8, 0x0000($s0) ## 00000000
/* 0097C 80A246DC C62A0010 */ lwc1 $f10, 0x0010($s1) ## 00000010
/* 00980 80A246E0 4600540D */ trunc.w.s $f16, $f10
/* 00984 80A246E4 44088000 */ mfc1 $t0, $f16
/* 00988 80A246E8 00000000 */ nop
/* 0098C 80A246EC A6080002 */ sh $t0, 0x0002($s0) ## 00000002
/* 00990 80A246F0 C6320014 */ lwc1 $f18, 0x0014($s1) ## 00000014
/* 00994 80A246F4 4600910D */ trunc.w.s $f4, $f18
/* 00998 80A246F8 440A2000 */ mfc1 $t2, $f4
/* 0099C 80A246FC 00000000 */ nop
/* 009A0 80A24700 A60A0004 */ sh $t2, 0x0004($s0) ## 00000004
/* 009A4 80A24704 0C034348 */ jal Matrix_RotateY
/* 009A8 80A24708 C62C00A0 */ lwc1 $f12, 0x00A0($s1) ## 000000A0
/* 009AC 80A2470C C62C009C */ lwc1 $f12, 0x009C($s1) ## 0000009C
/* 009B0 80A24710 0C0342DC */ jal Matrix_RotateX
/* 009B4 80A24714 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 009B8 80A24718 02E02025 */ or $a0, $s7, $zero ## $a0 = FFFFFFE0
/* 009BC 80A2471C 0C0346BD */ jal Matrix_MultVec3f
/* 009C0 80A24720 03C02825 */ or $a1, $s8, $zero ## $a1 = FFFFFFD4
/* 009C4 80A24724 C7A6004C */ lwc1 $f6, 0x004C($sp)
/* 009C8 80A24728 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 009CC 80A2472C 00129400 */ sll $s2, $s2, 16
/* 009D0 80A24730 4600320D */ trunc.w.s $f8, $f6
/* 009D4 80A24734 00129403 */ sra $s2, $s2, 16
/* 009D8 80A24738 2673000C */ addiu $s3, $s3, 0x000C ## $s3 = 0000000C
/* 009DC 80A2473C 00139C00 */ sll $s3, $s3, 16
/* 009E0 80A24740 440C4000 */ mfc1 $t4, $f8
/* 009E4 80A24744 2A41000C */ slti $at, $s2, 0x000C
/* 009E8 80A24748 00139C03 */ sra $s3, $s3, 16
/* 009EC 80A2474C A20C000C */ sb $t4, 0x000C($s0) ## 0000000C
/* 009F0 80A24750 C7AA0050 */ lwc1 $f10, 0x0050($sp)
/* 009F4 80A24754 4600540D */ trunc.w.s $f16, $f10
/* 009F8 80A24758 440E8000 */ mfc1 $t6, $f16
/* 009FC 80A2475C 00000000 */ nop
/* 00A00 80A24760 A20E000D */ sb $t6, 0x000D($s0) ## 0000000D
/* 00A04 80A24764 C7B20054 */ lwc1 $f18, 0x0054($sp)
/* 00A08 80A24768 4600910D */ trunc.w.s $f4, $f18
/* 00A0C 80A2476C 44182000 */ mfc1 $t8, $f4
/* 00A10 80A24770 1420FFCB */ bne $at, $zero, .L80A246A0
/* 00A14 80A24774 A218000E */ sb $t8, 0x000E($s0) ## 0000000E
/* 00A18 80A24778 87B90076 */ lh $t9, 0x0076($sp)
/* 00A1C 80A2477C 26B501C8 */ addiu $s5, $s5, 0x01C8 ## $s5 = 00000314
/* 00A20 80A24780 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 00A24 80A24784 00084C00 */ sll $t1, $t0, 16
/* 00A28 80A24788 00095403 */ sra $t2, $t1, 16
/* 00A2C 80A2478C 2941000C */ slti $at, $t2, 0x000C
/* 00A30 80A24790 1420FFBC */ bne $at, $zero, .L80A24684
/* 00A34 80A24794 A7A80076 */ sh $t0, 0x0076($sp)
/* 00A38 80A24798 8FBF003C */ lw $ra, 0x003C($sp)
/* 00A3C 80A2479C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A40 80A247A0 8FB1001C */ lw $s1, 0x001C($sp)
/* 00A44 80A247A4 8FB20020 */ lw $s2, 0x0020($sp)
/* 00A48 80A247A8 8FB30024 */ lw $s3, 0x0024($sp)
/* 00A4C 80A247AC 8FB40028 */ lw $s4, 0x0028($sp)
/* 00A50 80A247B0 8FB5002C */ lw $s5, 0x002C($sp)
/* 00A54 80A247B4 8FB60030 */ lw $s6, 0x0030($sp)
/* 00A58 80A247B8 8FB70034 */ lw $s7, 0x0034($sp)
/* 00A5C 80A247BC 8FBE0038 */ lw $s8, 0x0038($sp)
/* 00A60 80A247C0 03E00008 */ jr $ra
/* 00A64 80A247C4 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000

View file

@ -1,99 +0,0 @@
.rdata
glabel D_80A27E80
.asciz "../z_en_ganon_mant.c"
.balign 4
glabel D_80A27E98
.asciz "../z_en_ganon_mant.c"
.balign 4
glabel D_80A27EB0
.asciz "../z_en_ganon_mant.c"
.balign 4
.text
glabel func_80A24884
/* 00B24 80A24884 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00B28 80A24888 AFBF001C */ sw $ra, 0x001C($sp)
/* 00B2C 80A2488C AFB00018 */ sw $s0, 0x0018($sp)
/* 00B30 80A24890 AFA40050 */ sw $a0, 0x0050($sp)
/* 00B34 80A24894 AFA50054 */ sw $a1, 0x0054($sp)
/* 00B38 80A24898 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
/* 00B3C 80A2489C 3C0680A2 */ lui $a2, %hi(D_80A27E80) ## $a2 = 80A20000
/* 00B40 80A248A0 24C67E80 */ addiu $a2, $a2, %lo(D_80A27E80) ## $a2 = 80A27E80
/* 00B44 80A248A4 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00B48 80A248A8 24070234 */ addiu $a3, $zero, 0x0234 ## $a3 = 00000234
/* 00B4C 80A248AC 0C031AB1 */ jal Graph_OpenDisps
/* 00B50 80A248B0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00B54 80A248B4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00B58 80A248B8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00B5C 80A248BC 44066000 */ mfc1 $a2, $f12
/* 00B60 80A248C0 0C034261 */ jal Matrix_Translate
/* 00B64 80A248C4 46006386 */ mov.s $f14, $f12
/* 00B68 80A248C8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00B6C 80A248CC 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 00B70 80A248D0 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 00B74 80A248D4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00B78 80A248D8 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
/* 00B7C 80A248DC AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00B80 80A248E0 8FB90050 */ lw $t9, 0x0050($sp)
/* 00B84 80A248E4 3C0580A2 */ lui $a1, %hi(D_80A27E98) ## $a1 = 80A20000
/* 00B88 80A248E8 24A57E98 */ addiu $a1, $a1, %lo(D_80A27E98) ## $a1 = 80A27E98
/* 00B8C 80A248EC 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 00B90 80A248F0 2406023C */ addiu $a2, $zero, 0x023C ## $a2 = 0000023C
/* 00B94 80A248F4 0C0346A2 */ jal Matrix_NewMtx
/* 00B98 80A248F8 AFA20034 */ sw $v0, 0x0034($sp)
/* 00B9C 80A248FC 8FA30034 */ lw $v1, 0x0034($sp)
/* 00BA0 80A24900 3C0980A2 */ lui $t1, %hi(D_80A27078) ## $t1 = 80A20000
/* 00BA4 80A24904 25297078 */ addiu $t1, $t1, %lo(D_80A27078) ## $t1 = 80A27078
/* 00BA8 80A24908 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00BAC 80A2490C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00BB0 80A24910 3C04DE00 */ lui $a0, 0xDE00 ## $a0 = DE000000
/* 00BB4 80A24914 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 00BB8 80A24918 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 00BBC 80A2491C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
/* 00BC0 80A24920 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00BC4 80A24924 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
/* 00BC8 80A24928 8FAA0054 */ lw $t2, 0x0054($sp)
/* 00BCC 80A2492C 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000
/* 00BD0 80A24930 37390030 */ ori $t9, $t9, 0x0030 ## $t9 = DB060030
/* 00BD4 80A24934 914B1706 */ lbu $t3, 0x1706($t2) ## 00001706
/* 00BD8 80A24938 3C0A80A2 */ lui $t2, %hi(D_80A27128) ## $t2 = 80A20000
/* 00BDC 80A2493C 254A7128 */ addiu $t2, $t2, %lo(D_80A27128) ## $t2 = 80A27128
/* 00BE0 80A24940 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 00BE4 80A24944 1180000A */ beq $t4, $zero, .L80A24970
/* 00BE8 80A24948 3C0680A2 */ lui $a2, %hi(D_80A27EB0) ## $a2 = 80A20000
/* 00BEC 80A2494C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00BF0 80A24950 3C0F80A2 */ lui $t7, %hi(D_80A26778) ## $t7 = 80A20000
/* 00BF4 80A24954 25EF6778 */ addiu $t7, $t7, %lo(D_80A26778) ## $t7 = 80A26778
/* 00BF8 80A24958 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 00BFC 80A2495C AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
/* 00C00 80A24960 35CE0030 */ ori $t6, $t6, 0x0030 ## $t6 = DB060030
/* 00C04 80A24964 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00C08 80A24968 10000008 */ beq $zero, $zero, .L80A2498C
/* 00C0C 80A2496C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
.L80A24970:
/* 00C10 80A24970 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00C14 80A24974 3C0880A2 */ lui $t0, %hi(D_80A27578) ## $t0 = 80A20000
/* 00C18 80A24978 25087578 */ addiu $t0, $t0, %lo(D_80A27578) ## $t0 = 80A27578
/* 00C1C 80A2497C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00C20 80A24980 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 00C24 80A24984 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
/* 00C28 80A24988 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
.L80A2498C:
/* 00C2C 80A2498C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00C30 80A24990 24C67EB0 */ addiu $a2, $a2, %lo(D_80A27EB0) ## $a2 = 80A27EB0
/* 00C34 80A24994 24070248 */ addiu $a3, $zero, 0x0248 ## $a3 = 00000248
/* 00C38 80A24998 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 00C3C 80A2499C AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
/* 00C40 80A249A0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00C44 80A249A4 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
/* 00C48 80A249A8 8FAB0050 */ lw $t3, 0x0050($sp)
/* 00C4C 80A249AC 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00C50 80A249B0 0C031AD5 */ jal Graph_CloseDisps
/* 00C54 80A249B4 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
/* 00C58 80A249B8 8FBF001C */ lw $ra, 0x001C($sp)
/* 00C5C 80A249BC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00C60 80A249C0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00C64 80A249C4 03E00008 */ jr $ra
/* 00C68 80A249C8 00000000 */ nop

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8094B230
.incbin "baserom/ovl_Boss_Tw", 0x12560, 0x00001610

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python3
import argparse
from multiprocessing import Pool, cpu_count, Event, Manager
from multiprocessing import Pool, cpu_count, Event, Manager, ProcessError
import os
import json
import time
@ -103,10 +103,18 @@ def main():
if file.endswith(".xml"):
xmlFiles.append(fullPath)
try:
numCores = cpu_count()
print("Extracting assets with " + str(numCores) + " CPU cores.")
with Pool(numCores, initializer=initializeWorker, initargs=(mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p:
p.map(ExtractFunc, xmlFiles)
except (ProcessError, TypeError):
print("Warning: Multiprocessing exception ocurred.", file=os.sys.stderr)
print("Disabling mutliprocessing.", file=os.sys.stderr)
initializeWorker(mainAbort, args.unaccounted, extractedAssetsTracker, manager)
for singlePath in xmlFiles:
ExtractFunc(singlePath)
with open(EXTRACTED_ASSETS_NAMEFILE, 'w', encoding='utf-8') as f:
serializableDict = dict()

View file

@ -1,471 +0,0 @@
#ifndef _INITVARS_H_
#define _INITVARS_H_
extern EffectSsInit Effect_Ss_Dust_InitVars;
extern EffectSsInit Effect_Ss_KiraKira_InitVars;
extern EffectSsInit Effect_Ss_Bomb_InitVars;
extern EffectSsInit Effect_Ss_Bomb2_InitVars;
extern EffectSsInit Effect_Ss_Blast_InitVars;
extern EffectSsInit Effect_Ss_G_Spk_InitVars;
extern EffectSsInit Effect_Ss_D_Fire_InitVars;
extern EffectSsInit Effect_Ss_Bubble_InitVars;
extern EffectSsInit Effect_Ss_G_Ripple_InitVars;
extern EffectSsInit Effect_Ss_G_Splash_InitVars;
extern EffectSsInit Effect_Ss_G_Magma_InitVars;
extern EffectSsInit Effect_Ss_G_Fire_InitVars;
extern EffectSsInit Effect_Ss_Lightning_InitVars;
extern EffectSsInit Effect_Ss_Dt_Bubble_InitVars;
extern EffectSsInit Effect_Ss_Hahen_InitVars;
extern EffectSsInit Effect_Ss_Stick_InitVars;
extern EffectSsInit Effect_Ss_Sibuki_InitVars;
extern EffectSsInit Effect_Ss_Sibuki2_InitVars;
extern EffectSsInit Effect_Ss_G_Magma2_InitVars;
extern EffectSsInit Effect_Ss_Stone1_InitVars;
extern EffectSsInit Effect_Ss_HitMark_InitVars;
extern EffectSsInit Effect_Ss_Fhg_Flash_InitVars;
extern EffectSsInit Effect_Ss_K_Fire_InitVars;
extern EffectSsInit Effect_Ss_Solder_Srch_Ball_InitVars;
extern EffectSsInit Effect_Ss_Kakera_InitVars;
extern EffectSsInit Effect_Ss_Ice_Piece_InitVars;
extern EffectSsInit Effect_Ss_En_Ice_InitVars;
extern EffectSsInit Effect_Ss_Fire_Tail_InitVars;
extern EffectSsInit Effect_Ss_En_Fire_InitVars;
extern EffectSsInit Effect_Ss_Extra_InitVars;
extern EffectSsInit Effect_Ss_Fcircle_InitVars;
extern EffectSsInit Effect_Ss_Dead_Db_InitVars;
extern EffectSsInit Effect_Ss_Dead_Dd_InitVars;
extern EffectSsInit Effect_Ss_Dead_Ds_InitVars;
extern EffectSsInit Effect_Ss_Dead_Sound_InitVars;
extern EffectSsInit Effect_Ss_Ice_Smoke_InitVars;
extern ActorInit Player_InitVars;
extern ActorInit En_Test_InitVars;
extern ActorInit En_GirlA_InitVars;
extern ActorInit En_Part_InitVars;
extern ActorInit En_Light_InitVars;
extern ActorInit En_Door_InitVars;
extern ActorInit En_Box_InitVars;
extern ActorInit Bg_Dy_Yoseizo_InitVars;
extern ActorInit Bg_Hidan_Firewall_InitVars;
extern ActorInit En_Poh_InitVars;
extern ActorInit En_Okuta_InitVars;
extern ActorInit Bg_Ydan_Sp_InitVars;
extern ActorInit En_Bom_InitVars;
extern ActorInit En_Wallmas_InitVars;
extern ActorInit En_Dodongo_InitVars;
extern ActorInit En_Firefly_InitVars;
extern ActorInit En_Horse_InitVars;
extern ActorInit En_Item00_InitVars;
extern ActorInit En_Arrow_InitVars;
extern ActorInit En_Elf_InitVars;
extern ActorInit En_Niw_InitVars;
extern ActorInit En_Tite_InitVars;
extern ActorInit En_Reeba_InitVars;
extern ActorInit En_Peehat_InitVars;
extern ActorInit En_Butte_InitVars;
extern ActorInit En_Insect_InitVars;
extern ActorInit En_Fish_InitVars;
extern ActorInit En_Holl_InitVars;
extern ActorInit En_Scene_Change_InitVars;
extern ActorInit En_Zf_InitVars;
extern ActorInit En_Hata_InitVars;
extern ActorInit Boss_Dodongo_InitVars;
extern ActorInit Boss_Goma_InitVars;
extern ActorInit En_Zl1_InitVars;
extern ActorInit En_Viewer_InitVars;
extern ActorInit En_Goma_InitVars;
extern ActorInit Bg_Pushbox_InitVars;
extern ActorInit En_Bubble_InitVars;
extern ActorInit Door_Shutter_InitVars;
extern ActorInit En_Dodojr_InitVars;
extern ActorInit En_Bdfire_InitVars;
extern ActorInit En_Boom_InitVars;
extern ActorInit En_Torch2_InitVars;
extern ActorInit En_Bili_InitVars;
extern ActorInit En_Tp_InitVars;
extern ActorInit En_St_InitVars;
extern ActorInit En_Bw_InitVars;
extern ActorInit En_A_Obj_InitVars;
extern ActorInit En_Eiyer_InitVars;
extern ActorInit En_River_Sound_InitVars;
extern ActorInit En_Horse_Normal_InitVars;
extern ActorInit En_Ossan_InitVars;
extern ActorInit Bg_Treemouth_InitVars;
extern ActorInit Bg_Dodoago_InitVars;
extern ActorInit Bg_Hidan_Dalm_InitVars;
extern ActorInit Bg_Hidan_Hrock_InitVars;
extern ActorInit En_Horse_Ganon_InitVars;
extern ActorInit Bg_Hidan_Rock_InitVars;
extern ActorInit Bg_Hidan_Rsekizou_InitVars;
extern ActorInit Bg_Hidan_Sekizou_InitVars;
extern ActorInit Bg_Hidan_Sima_InitVars;
extern ActorInit Bg_Hidan_Syoku_InitVars;
extern ActorInit En_Xc_InitVars;
extern ActorInit Bg_Hidan_Curtain_InitVars;
extern ActorInit Bg_Spot00_Hanebasi_InitVars;
extern ActorInit En_Mb_InitVars;
extern ActorInit En_Bombf_InitVars;
extern ActorInit En_Zl2_InitVars;
extern ActorInit Bg_Hidan_Fslift_InitVars;
extern ActorInit En_OE2_InitVars;
extern ActorInit Bg_Ydan_Hasi_InitVars;
extern ActorInit Bg_Ydan_Maruta_InitVars;
extern ActorInit Boss_Ganondrof_InitVars;
extern ActorInit En_Am_InitVars;
extern ActorInit En_Dekubaba_InitVars;
extern ActorInit En_M_Fire1_InitVars;
extern ActorInit En_M_Thunder_InitVars;
extern ActorInit Bg_Ddan_Jd_InitVars;
extern ActorInit Bg_Breakwall_InitVars;
extern ActorInit En_Jj_InitVars;
extern ActorInit En_Horse_Zelda_InitVars;
extern ActorInit Bg_Ddan_Kd_InitVars;
extern ActorInit Door_Warp1_InitVars;
extern ActorInit Obj_Syokudai_InitVars;
extern ActorInit Item_B_Heart_InitVars;
extern ActorInit En_Dekunuts_InitVars;
extern ActorInit Bg_Menkuri_Kaiten_InitVars;
extern ActorInit Bg_Menkuri_Eye_InitVars;
extern ActorInit En_Vali_InitVars;
extern ActorInit Bg_Mizu_Movebg_InitVars;
extern ActorInit Bg_Mizu_Water_InitVars;
extern ActorInit Arms_Hook_InitVars;
extern ActorInit En_fHG_InitVars;
extern ActorInit Bg_Mori_Hineri_InitVars;
extern ActorInit En_Bb_InitVars;
extern ActorInit Bg_Toki_Hikari_InitVars;
extern ActorInit En_Yukabyun_InitVars;
extern ActorInit Bg_Toki_Swd_InitVars;
extern ActorInit En_Fhg_Fire_InitVars;
extern ActorInit Bg_Mjin_InitVars;
extern ActorInit Bg_Hidan_Kousi_InitVars;
extern ActorInit Door_Toki_InitVars;
extern ActorInit Bg_Hidan_Hamstep_InitVars;
extern ActorInit En_Bird_InitVars;
extern ActorInit En_Wood02_InitVars;
extern ActorInit En_Lightbox_InitVars;
extern ActorInit En_Pu_box_InitVars;
extern ActorInit En_Trap_InitVars;
extern ActorInit En_Arow_Trap_InitVars;
extern ActorInit En_Vase_InitVars;
extern ActorInit En_Ta_InitVars;
extern ActorInit En_Tk_InitVars;
extern ActorInit Bg_Mori_Bigst_InitVars;
extern ActorInit Bg_Mori_Elevator_InitVars;
extern ActorInit Bg_Mori_Kaitenkabe_InitVars;
extern ActorInit Bg_Mori_Rakkatenjo_InitVars;
extern ActorInit En_Vm_InitVars;
extern ActorInit Demo_Effect_InitVars;
extern ActorInit Demo_Kankyo_InitVars;
extern ActorInit Bg_Hidan_Fwbig_InitVars;
extern ActorInit En_Floormas_InitVars;
extern ActorInit En_Heishi1_InitVars;
extern ActorInit En_Rd_InitVars;
extern ActorInit En_Po_Sisters_InitVars;
extern ActorInit Bg_Heavy_Block_InitVars;
extern ActorInit Bg_Po_Event_InitVars;
extern ActorInit Obj_Mure_InitVars;
extern ActorInit En_Sw_InitVars;
extern ActorInit Boss_Fd_InitVars;
extern ActorInit Object_Kankyo_InitVars;
extern ActorInit En_Du_InitVars;
extern ActorInit En_Fd_InitVars;
extern ActorInit En_Horse_Link_Child_InitVars;
extern ActorInit Door_Ana_InitVars;
extern ActorInit Bg_Spot02_Objects_InitVars;
extern ActorInit Bg_Haka_InitVars;
extern ActorInit Magic_Wind_InitVars;
extern ActorInit Magic_Fire_InitVars;
extern ActorInit En_Ru1_InitVars;
extern ActorInit Boss_Fd2_InitVars;
extern ActorInit En_Fd_Fire_InitVars;
extern ActorInit En_Dh_InitVars;
extern ActorInit En_Dha_InitVars;
extern ActorInit En_Rl_InitVars;
extern ActorInit En_Encount1_InitVars;
extern ActorInit Demo_Du_InitVars;
extern ActorInit Demo_Im_InitVars;
extern ActorInit Demo_Tre_Lgt_InitVars;
extern ActorInit En_Fw_InitVars;
extern ActorInit Bg_Vb_Sima_InitVars;
extern ActorInit En_Vb_Ball_InitVars;
extern ActorInit Bg_Haka_Megane_InitVars;
extern ActorInit Bg_Haka_MeganeBG_InitVars;
extern ActorInit Bg_Haka_Ship_InitVars;
extern ActorInit Bg_Haka_Sgami_InitVars;
extern ActorInit En_Heishi2_InitVars;
extern ActorInit En_Encount2_InitVars;
extern ActorInit En_Fire_Rock_InitVars;
extern ActorInit En_Brob_InitVars;
extern ActorInit Mir_Ray_InitVars;
extern ActorInit Bg_Spot09_Obj_InitVars;
extern ActorInit Bg_Spot18_Obj_InitVars;
extern ActorInit Boss_Va_InitVars;
extern ActorInit Bg_Haka_Tubo_InitVars;
extern ActorInit Bg_Haka_Trap_InitVars;
extern ActorInit Bg_Haka_Huta_InitVars;
extern ActorInit Bg_Haka_Zou_InitVars;
extern ActorInit Bg_Spot17_Funen_InitVars;
extern ActorInit En_Syateki_Itm_InitVars;
extern ActorInit En_Syateki_Man_InitVars;
extern ActorInit En_Tana_InitVars;
extern ActorInit En_Nb_InitVars;
extern ActorInit Boss_Mo_InitVars;
extern ActorInit En_Sb_InitVars;
extern ActorInit En_Bigokuta_InitVars;
extern ActorInit En_Karebaba_InitVars;
extern ActorInit Bg_Bdan_Objects_InitVars;
extern ActorInit Demo_Sa_InitVars;
extern ActorInit Demo_Go_InitVars;
extern ActorInit En_In_InitVars;
extern ActorInit En_Tr_InitVars;
extern ActorInit Bg_Spot16_Bombstone_InitVars;
extern ActorInit Bg_Hidan_Kowarerukabe_InitVars;
extern ActorInit Bg_Bombwall_InitVars;
extern ActorInit Bg_Spot08_Iceblock_InitVars;
extern ActorInit En_Ru2_InitVars;
extern ActorInit Obj_Dekujr_InitVars;
extern ActorInit Bg_Mizu_Uzu_InitVars;
extern ActorInit Bg_Spot06_Objects_InitVars;
extern ActorInit Bg_Ice_Objects_InitVars;
extern ActorInit Bg_Haka_Water_InitVars;
extern ActorInit En_Ma2_InitVars;
extern ActorInit En_Bom_Chu_InitVars;
extern ActorInit En_Horse_Game_Check_InitVars;
extern ActorInit Boss_Tw_InitVars;
extern ActorInit En_Rr_InitVars;
extern ActorInit En_Ba_InitVars;
extern ActorInit En_Bx_InitVars;
extern ActorInit En_Anubice_InitVars;
extern ActorInit En_Anubice_Fire_InitVars;
extern ActorInit Bg_Mori_Hashigo_InitVars;
extern ActorInit Bg_Mori_Hashira4_InitVars;
extern ActorInit Bg_Mori_Idomizu_InitVars;
extern ActorInit Bg_Spot16_Doughnut_InitVars;
extern ActorInit Bg_Bdan_Switch_InitVars;
extern ActorInit En_Ma1_InitVars;
extern ActorInit Boss_Ganon_InitVars;
extern ActorInit Boss_Sst_InitVars;
extern ActorInit En_Ny_InitVars;
extern ActorInit En_Fr_InitVars;
extern ActorInit Item_Shield_InitVars;
extern ActorInit Bg_Ice_Shelter_InitVars;
extern ActorInit En_Ice_Hono_InitVars;
extern ActorInit Item_Ocarina_InitVars;
extern ActorInit Magic_Dark_InitVars;
extern ActorInit Demo_6K_InitVars;
extern ActorInit En_Anubice_Tag_InitVars;
extern ActorInit Bg_Haka_Gate_InitVars;
extern ActorInit Bg_Spot15_Saku_InitVars;
extern ActorInit Bg_Jya_Goroiwa_InitVars;
extern ActorInit Bg_Jya_Zurerukabe_InitVars;
extern ActorInit Bg_Jya_Cobra_InitVars;
extern ActorInit Bg_Jya_Kanaami_InitVars;
extern ActorInit Fishing_InitVars;
extern ActorInit Obj_Oshihiki_InitVars;
extern ActorInit Bg_Gate_Shutter_InitVars;
extern ActorInit Eff_Dust_InitVars;
extern ActorInit Bg_Spot01_Fusya_InitVars;
extern ActorInit Bg_Spot01_Idohashira_InitVars;
extern ActorInit Bg_Spot01_Idomizu_InitVars;
extern ActorInit Bg_Po_Syokudai_InitVars;
extern ActorInit Bg_Ganon_Otyuka_InitVars;
extern ActorInit Bg_Spot15_Rrbox_InitVars;
extern ActorInit Bg_Umajump_InitVars;
extern ActorInit Arrow_Fire_InitVars;
extern ActorInit Arrow_Ice_InitVars;
extern ActorInit Arrow_Light_InitVars;
extern ActorInit Item_Etcetera_InitVars;
extern ActorInit Obj_Kibako_InitVars;
extern ActorInit Obj_Tsubo_InitVars;
extern ActorInit En_Wonder_Item_InitVars;
extern ActorInit En_Ik_InitVars;
extern ActorInit Demo_Ik_InitVars;
extern ActorInit En_Skj_InitVars;
extern ActorInit En_Skjneedle_InitVars;
extern ActorInit En_G_Switch_InitVars;
extern ActorInit Demo_Ext_InitVars;
extern ActorInit Demo_Shd_InitVars;
extern ActorInit En_Dns_InitVars;
extern ActorInit Elf_Msg_InitVars;
extern ActorInit En_Honotrap_InitVars;
extern ActorInit En_Tubo_Trap_InitVars;
extern ActorInit Obj_Ice_Poly_InitVars;
extern ActorInit Bg_Spot03_Taki_InitVars;
extern ActorInit Bg_Spot07_Taki_InitVars;
extern ActorInit En_Fz_InitVars;
extern ActorInit En_Po_Relay_InitVars;
extern ActorInit Bg_Relay_Objects_InitVars;
extern ActorInit En_Diving_Game_InitVars;
extern ActorInit En_Kusa_InitVars;
extern ActorInit Obj_Bean_InitVars;
extern ActorInit Obj_Bombiwa_InitVars;
extern ActorInit Obj_Switch_InitVars;
extern ActorInit Obj_Elevator_InitVars;
extern ActorInit Obj_Lift_InitVars;
extern ActorInit Obj_Hsblock_InitVars;
extern ActorInit En_Okarina_Tag_InitVars;
extern ActorInit En_Yabusame_Mark_InitVars;
extern ActorInit En_Goroiwa_InitVars;
extern ActorInit En_Ex_Ruppy_InitVars;
extern ActorInit En_Toryo_InitVars;
extern ActorInit En_Daiku_InitVars;
extern ActorInit En_Nwc_InitVars;
extern ActorInit En_Blkobj_InitVars;
extern ActorInit Item_Inbox_InitVars;
extern ActorInit En_Ge1_InitVars;
extern ActorInit Obj_Blockstop_InitVars;
extern ActorInit En_Sda_InitVars;
extern ActorInit En_Clear_Tag_InitVars;
extern ActorInit En_Niw_Lady_InitVars;
extern ActorInit En_Gm_InitVars;
extern ActorInit En_Ms_InitVars;
extern ActorInit En_Hs_InitVars;
extern ActorInit Bg_Ingate_InitVars;
extern ActorInit En_Kanban_InitVars;
extern ActorInit En_Heishi3_InitVars;
extern ActorInit En_Syateki_Niw_InitVars;
extern ActorInit En_Attack_Niw_InitVars;
extern ActorInit Bg_Spot01_Idosoko_InitVars;
extern ActorInit En_Sa_InitVars;
extern ActorInit En_Wonder_Talk_InitVars;
extern ActorInit Bg_Gjyo_Bridge_InitVars;
extern ActorInit En_Ds_InitVars;
extern ActorInit En_Mk_InitVars;
extern ActorInit En_Bom_Bowl_Man_InitVars;
extern ActorInit En_Bom_Bowl_Pit_InitVars;
extern ActorInit En_Owl_InitVars;
extern ActorInit En_Ishi_InitVars;
extern ActorInit Obj_Hana_InitVars;
extern ActorInit Obj_Lightswitch_InitVars;
extern ActorInit Obj_Mure2_InitVars;
extern ActorInit En_Go_InitVars;
extern ActorInit En_Fu_InitVars;
extern ActorInit En_Changer_InitVars;
extern ActorInit Bg_Jya_Megami_InitVars;
extern ActorInit Bg_Jya_Lift_InitVars;
extern ActorInit Bg_Jya_Bigmirror_InitVars;
extern ActorInit Bg_Jya_Bombchuiwa_InitVars;
extern ActorInit Bg_Jya_Amishutter_InitVars;
extern ActorInit Bg_Jya_Bombiwa_InitVars;
extern ActorInit Bg_Spot18_Basket_InitVars;
extern ActorInit En_Ganon_Organ_InitVars;
extern ActorInit En_Siofuki_InitVars;
extern ActorInit En_Stream_InitVars;
extern ActorInit En_Mm_InitVars;
extern ActorInit En_Ko_InitVars;
extern ActorInit En_Kz_InitVars;
extern ActorInit En_Weather_Tag_InitVars;
extern ActorInit Bg_Sst_Floor_InitVars;
extern ActorInit En_Ani_InitVars;
extern ActorInit En_Ex_Item_InitVars;
extern ActorInit Bg_Jya_Ironobj_InitVars;
extern ActorInit En_Js_InitVars;
extern ActorInit En_Jsjutan_InitVars;
extern ActorInit En_Cs_InitVars;
extern ActorInit En_Md_InitVars;
extern ActorInit En_Hy_InitVars;
extern ActorInit En_Ganon_Mant_InitVars;
extern ActorInit En_Okarina_Effect_InitVars;
extern ActorInit En_Mag_InitVars;
extern ActorInit Door_Gerudo_InitVars;
extern ActorInit Elf_Msg2_InitVars;
extern ActorInit Demo_Gt_InitVars;
extern ActorInit En_Po_Field_InitVars;
extern ActorInit Efc_Erupc_InitVars;
extern ActorInit Bg_Zg_InitVars;
extern ActorInit En_Heishi4_InitVars;
extern ActorInit En_Zl3_InitVars;
extern ActorInit Boss_Ganon2_InitVars;
extern ActorInit En_Kakasi_InitVars;
extern ActorInit En_Takara_Man_InitVars;
extern ActorInit Obj_Makeoshihiki_InitVars;
extern ActorInit Oceff_Spot_InitVars;
extern ActorInit End_Title_InitVars;
extern ActorInit En_Torch_InitVars;
extern ActorInit Demo_Ec_InitVars;
extern ActorInit Shot_Sun_InitVars;
extern ActorInit En_Dy_Extra_InitVars;
extern ActorInit En_Wonder_Talk2_InitVars;
extern ActorInit En_Ge2_InitVars;
extern ActorInit Obj_Roomtimer_InitVars;
extern ActorInit En_Ssh_InitVars;
extern ActorInit En_Sth_InitVars;
extern ActorInit Oceff_Wipe_InitVars;
extern ActorInit Oceff_Storm_InitVars;
extern ActorInit En_Weiyer_InitVars;
extern ActorInit Bg_Spot05_Soko_InitVars;
extern ActorInit Bg_Jya_1flift_InitVars;
extern ActorInit Bg_Jya_Haheniron_InitVars;
extern ActorInit Bg_Spot12_Gate_InitVars;
extern ActorInit Bg_Spot12_Saku_InitVars;
extern ActorInit En_Hintnuts_InitVars;
extern ActorInit En_Nutsball_InitVars;
extern ActorInit Bg_Spot00_Break_InitVars;
extern ActorInit En_Shopnuts_InitVars;
extern ActorInit En_It_InitVars;
extern ActorInit En_GeldB_InitVars;
extern ActorInit Oceff_Wipe2_InitVars;
extern ActorInit Oceff_Wipe3_InitVars;
extern ActorInit En_Niw_Girl_InitVars;
extern ActorInit En_Dog_InitVars;
extern ActorInit En_Si_InitVars;
extern ActorInit Bg_Spot01_Objects2_InitVars;
extern ActorInit Obj_Comb_InitVars;
extern ActorInit Bg_Spot11_Bakudankabe_InitVars;
extern ActorInit Obj_Kibako2_InitVars;
extern ActorInit En_Dnt_Demo_InitVars;
extern ActorInit En_Dnt_Jiji_InitVars;
extern ActorInit En_Dnt_Nomal_InitVars;
extern ActorInit En_Guest_InitVars;
extern ActorInit Bg_Bom_Guard_InitVars;
extern ActorInit En_Hs2_InitVars;
extern ActorInit Demo_Kekkai_InitVars;
extern ActorInit Bg_Spot08_Bakudankabe_InitVars;
extern ActorInit Bg_Spot17_Bakudankabe_InitVars;
extern ActorInit Obj_Mure3_InitVars;
extern ActorInit En_Tg_InitVars;
extern ActorInit En_Mu_InitVars;
extern ActorInit En_Go2_InitVars;
extern ActorInit En_Wf_InitVars;
extern ActorInit En_Skb_InitVars;
extern ActorInit Demo_Gj_InitVars;
extern ActorInit Demo_Geff_InitVars;
extern ActorInit Bg_Gnd_Firemeiro_InitVars;
extern ActorInit Bg_Gnd_Darkmeiro_InitVars;
extern ActorInit Bg_Gnd_Soulmeiro_InitVars;
extern ActorInit Bg_Gnd_Nisekabe_InitVars;
extern ActorInit Bg_Gnd_Iceblock_InitVars;
extern ActorInit En_Gb_InitVars;
extern ActorInit En_Gs_InitVars;
extern ActorInit Bg_Mizu_Bwall_InitVars;
extern ActorInit Bg_Mizu_Shutter_InitVars;
extern ActorInit En_Daiku_Kakariko_InitVars;
extern ActorInit Bg_Bowl_Wall_InitVars;
extern ActorInit En_Wall_Tubo_InitVars;
extern ActorInit En_Po_Desert_InitVars;
extern ActorInit En_Crow_InitVars;
extern ActorInit Door_Killer_InitVars;
extern ActorInit Bg_Spot11_Oasis_InitVars;
extern ActorInit Bg_Spot18_Futa_InitVars;
extern ActorInit Bg_Spot18_Shutter_InitVars;
extern ActorInit En_Ma3_InitVars;
extern ActorInit En_Cow_InitVars;
extern ActorInit Bg_Ice_Turara_InitVars;
extern ActorInit Bg_Ice_Shutter_InitVars;
extern ActorInit En_Kakasi2_InitVars;
extern ActorInit En_Kakasi3_InitVars;
extern ActorInit Oceff_Wipe4_InitVars;
extern ActorInit En_Eg_InitVars;
extern ActorInit Bg_Menkuri_Nisekabe_InitVars;
extern ActorInit En_Zo_InitVars;
extern ActorInit Obj_Makekinsuta_InitVars;
extern ActorInit En_Ge3_InitVars;
extern ActorInit Obj_Timeblock_InitVars;
extern ActorInit Obj_Hamishi_InitVars;
extern ActorInit En_Zl4_InitVars;
extern ActorInit En_Mm2_InitVars;
extern ActorInit Bg_Jya_Block_InitVars;
extern ActorInit Obj_Warp2block_InitVars;
#endif

View file

@ -63,855 +63,6 @@ DECLARE_OVERLAY_SEGMENT(kaleido_scope)
DECLARE_OVERLAY_SEGMENT(player_actor)
DECLARE_OVERLAY_SEGMENT(map_mark_data)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dust)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_KiraKira)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Bomb)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Bomb2)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Blast)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Spk)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_D_Fire)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Bubble)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Ripple)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Splash)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Magma)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Fire)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Lightning)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dt_Bubble)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Hahen)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Stick)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Sibuki)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Sibuki2)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Magma2)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Stone1)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_HitMark)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Fhg_Flash)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_K_Fire)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Solder_Srch_Ball)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Kakera)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Ice_Piece)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_En_Ice)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Fire_Tail)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_En_Fire)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Extra)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Fcircle)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Db)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Dd)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Ds)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Sound)
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Ice_Smoke)
DECLARE_OVERLAY_SEGMENT(En_Test)
DECLARE_OVERLAY_SEGMENT(En_GirlA)
DECLARE_OVERLAY_SEGMENT(En_Part)
DECLARE_OVERLAY_SEGMENT(En_Light)
DECLARE_OVERLAY_SEGMENT(En_Door)
DECLARE_OVERLAY_SEGMENT(En_Box)
DECLARE_OVERLAY_SEGMENT(Bg_Dy_Yoseizo)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Firewall)
DECLARE_OVERLAY_SEGMENT(En_Poh)
DECLARE_OVERLAY_SEGMENT(En_Okuta)
DECLARE_OVERLAY_SEGMENT(Bg_Ydan_Sp)
DECLARE_OVERLAY_SEGMENT(En_Bom)
DECLARE_OVERLAY_SEGMENT(En_Wallmas)
DECLARE_OVERLAY_SEGMENT(En_Dodongo)
DECLARE_OVERLAY_SEGMENT(En_Firefly)
DECLARE_OVERLAY_SEGMENT(En_Horse)
DECLARE_OVERLAY_SEGMENT(En_Item00)
DECLARE_OVERLAY_SEGMENT(En_Arrow)
DECLARE_OVERLAY_SEGMENT(En_Elf)
DECLARE_OVERLAY_SEGMENT(En_Niw)
DECLARE_OVERLAY_SEGMENT(En_Tite)
DECLARE_OVERLAY_SEGMENT(En_Reeba)
DECLARE_OVERLAY_SEGMENT(En_Peehat)
DECLARE_OVERLAY_SEGMENT(En_Butte)
DECLARE_OVERLAY_SEGMENT(En_Insect)
DECLARE_OVERLAY_SEGMENT(En_Fish)
DECLARE_OVERLAY_SEGMENT(En_Holl)
DECLARE_OVERLAY_SEGMENT(En_Scene_Change)
DECLARE_OVERLAY_SEGMENT(En_Zf)
DECLARE_OVERLAY_SEGMENT(En_Hata)
DECLARE_OVERLAY_SEGMENT(Boss_Dodongo)
DECLARE_OVERLAY_SEGMENT(Boss_Goma)
DECLARE_OVERLAY_SEGMENT(En_Zl1)
DECLARE_OVERLAY_SEGMENT(En_Viewer)
DECLARE_OVERLAY_SEGMENT(En_Goma)
DECLARE_OVERLAY_SEGMENT(Bg_Pushbox)
DECLARE_OVERLAY_SEGMENT(En_Bubble)
DECLARE_OVERLAY_SEGMENT(Door_Shutter)
DECLARE_OVERLAY_SEGMENT(En_Dodojr)
DECLARE_OVERLAY_SEGMENT(En_Bdfire)
DECLARE_OVERLAY_SEGMENT(En_Boom)
DECLARE_OVERLAY_SEGMENT(En_Torch2)
DECLARE_OVERLAY_SEGMENT(En_Bili)
DECLARE_OVERLAY_SEGMENT(En_Tp)
DECLARE_OVERLAY_SEGMENT(En_St)
DECLARE_OVERLAY_SEGMENT(En_Bw)
DECLARE_OVERLAY_SEGMENT(En_A_Obj)
DECLARE_OVERLAY_SEGMENT(En_Eiyer)
DECLARE_OVERLAY_SEGMENT(En_River_Sound)
DECLARE_OVERLAY_SEGMENT(En_Horse_Normal)
DECLARE_OVERLAY_SEGMENT(En_Ossan)
DECLARE_OVERLAY_SEGMENT(Bg_Treemouth)
DECLARE_OVERLAY_SEGMENT(Bg_Dodoago)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Dalm)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Hrock)
DECLARE_OVERLAY_SEGMENT(En_Horse_Ganon)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Rock)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Rsekizou)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Sekizou)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Sima)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Syoku)
DECLARE_OVERLAY_SEGMENT(En_Xc)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Curtain)
DECLARE_OVERLAY_SEGMENT(Bg_Spot00_Hanebasi)
DECLARE_OVERLAY_SEGMENT(En_Mb)
DECLARE_OVERLAY_SEGMENT(En_Bombf)
DECLARE_OVERLAY_SEGMENT(En_Zl2)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Fslift)
DECLARE_OVERLAY_SEGMENT(En_OE2)
DECLARE_OVERLAY_SEGMENT(Bg_Ydan_Hasi)
DECLARE_OVERLAY_SEGMENT(Bg_Ydan_Maruta)
DECLARE_OVERLAY_SEGMENT(Boss_Ganondrof)
DECLARE_OVERLAY_SEGMENT(En_Am)
DECLARE_OVERLAY_SEGMENT(En_Dekubaba)
DECLARE_OVERLAY_SEGMENT(En_M_Fire1)
DECLARE_OVERLAY_SEGMENT(En_M_Thunder)
DECLARE_OVERLAY_SEGMENT(Bg_Ddan_Jd)
DECLARE_OVERLAY_SEGMENT(Bg_Breakwall)
DECLARE_OVERLAY_SEGMENT(En_Jj)
DECLARE_OVERLAY_SEGMENT(En_Horse_Zelda)
DECLARE_OVERLAY_SEGMENT(Bg_Ddan_Kd)
DECLARE_OVERLAY_SEGMENT(Door_Warp1)
DECLARE_OVERLAY_SEGMENT(Obj_Syokudai)
DECLARE_OVERLAY_SEGMENT(Item_B_Heart)
DECLARE_OVERLAY_SEGMENT(En_Dekunuts)
DECLARE_OVERLAY_SEGMENT(Bg_Menkuri_Kaiten)
DECLARE_OVERLAY_SEGMENT(Bg_Menkuri_Eye)
DECLARE_OVERLAY_SEGMENT(En_Vali)
DECLARE_OVERLAY_SEGMENT(Bg_Mizu_Movebg)
DECLARE_OVERLAY_SEGMENT(Bg_Mizu_Water)
DECLARE_OVERLAY_SEGMENT(Arms_Hook)
DECLARE_OVERLAY_SEGMENT(En_fHG)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Hineri)
DECLARE_OVERLAY_SEGMENT(En_Bb)
DECLARE_OVERLAY_SEGMENT(Bg_Toki_Hikari)
DECLARE_OVERLAY_SEGMENT(En_Yukabyun)
DECLARE_OVERLAY_SEGMENT(Bg_Toki_Swd)
DECLARE_OVERLAY_SEGMENT(En_Fhg_Fire)
DECLARE_OVERLAY_SEGMENT(Bg_Mjin)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Kousi)
DECLARE_OVERLAY_SEGMENT(Door_Toki)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Hamstep)
DECLARE_OVERLAY_SEGMENT(En_Bird)
DECLARE_OVERLAY_SEGMENT(En_Wood02)
DECLARE_OVERLAY_SEGMENT(En_Lightbox)
DECLARE_OVERLAY_SEGMENT(En_Pu_box)
DECLARE_OVERLAY_SEGMENT(En_Trap)
DECLARE_OVERLAY_SEGMENT(En_Arow_Trap)
DECLARE_OVERLAY_SEGMENT(En_Vase)
DECLARE_OVERLAY_SEGMENT(En_Ta)
DECLARE_OVERLAY_SEGMENT(En_Tk)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Bigst)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Elevator)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Kaitenkabe)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Rakkatenjo)
DECLARE_OVERLAY_SEGMENT(En_Vm)
DECLARE_OVERLAY_SEGMENT(Demo_Effect)
DECLARE_OVERLAY_SEGMENT(Demo_Kankyo)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Fwbig)
DECLARE_OVERLAY_SEGMENT(En_Floormas)
DECLARE_OVERLAY_SEGMENT(En_Heishi1)
DECLARE_OVERLAY_SEGMENT(En_Rd)
DECLARE_OVERLAY_SEGMENT(En_Po_Sisters)
DECLARE_OVERLAY_SEGMENT(Bg_Heavy_Block)
DECLARE_OVERLAY_SEGMENT(Bg_Po_Event)
DECLARE_OVERLAY_SEGMENT(Obj_Mure)
DECLARE_OVERLAY_SEGMENT(En_Sw)
DECLARE_OVERLAY_SEGMENT(Boss_Fd)
DECLARE_OVERLAY_SEGMENT(Object_Kankyo)
DECLARE_OVERLAY_SEGMENT(En_Du)
DECLARE_OVERLAY_SEGMENT(En_Fd)
DECLARE_OVERLAY_SEGMENT(En_Horse_Link_Child)
DECLARE_OVERLAY_SEGMENT(Door_Ana)
DECLARE_OVERLAY_SEGMENT(Bg_Spot02_Objects)
DECLARE_OVERLAY_SEGMENT(Bg_Haka)
DECLARE_OVERLAY_SEGMENT(Magic_Wind)
DECLARE_OVERLAY_SEGMENT(Magic_Fire)
DECLARE_OVERLAY_SEGMENT(En_Ru1)
DECLARE_OVERLAY_SEGMENT(Boss_Fd2)
DECLARE_OVERLAY_SEGMENT(En_Fd_Fire)
DECLARE_OVERLAY_SEGMENT(En_Dh)
DECLARE_OVERLAY_SEGMENT(En_Dha)
DECLARE_OVERLAY_SEGMENT(En_Rl)
DECLARE_OVERLAY_SEGMENT(En_Encount1)
DECLARE_OVERLAY_SEGMENT(Demo_Du)
DECLARE_OVERLAY_SEGMENT(Demo_Im)
DECLARE_OVERLAY_SEGMENT(Demo_Tre_Lgt)
DECLARE_OVERLAY_SEGMENT(En_Fw)
DECLARE_OVERLAY_SEGMENT(Bg_Vb_Sima)
DECLARE_OVERLAY_SEGMENT(En_Vb_Ball)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Megane)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_MeganeBG)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Ship)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Sgami)
DECLARE_OVERLAY_SEGMENT(En_Heishi2)
DECLARE_OVERLAY_SEGMENT(En_Encount2)
DECLARE_OVERLAY_SEGMENT(En_Fire_Rock)
DECLARE_OVERLAY_SEGMENT(En_Brob)
DECLARE_OVERLAY_SEGMENT(Mir_Ray)
DECLARE_OVERLAY_SEGMENT(Bg_Spot09_Obj)
DECLARE_OVERLAY_SEGMENT(Bg_Spot18_Obj)
DECLARE_OVERLAY_SEGMENT(Boss_Va)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Tubo)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Trap)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Huta)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Zou)
DECLARE_OVERLAY_SEGMENT(Bg_Spot17_Funen)
DECLARE_OVERLAY_SEGMENT(En_Syateki_Itm)
DECLARE_OVERLAY_SEGMENT(En_Syateki_Man)
DECLARE_OVERLAY_SEGMENT(En_Tana)
DECLARE_OVERLAY_SEGMENT(En_Nb)
DECLARE_OVERLAY_SEGMENT(Boss_Mo)
DECLARE_OVERLAY_SEGMENT(En_Sb)
DECLARE_OVERLAY_SEGMENT(En_Bigokuta)
DECLARE_OVERLAY_SEGMENT(En_Karebaba)
DECLARE_OVERLAY_SEGMENT(Bg_Bdan_Objects)
DECLARE_OVERLAY_SEGMENT(Demo_Sa)
DECLARE_OVERLAY_SEGMENT(Demo_Go)
DECLARE_OVERLAY_SEGMENT(En_In)
DECLARE_OVERLAY_SEGMENT(En_Tr)
DECLARE_OVERLAY_SEGMENT(Bg_Spot16_Bombstone)
DECLARE_OVERLAY_SEGMENT(Bg_Hidan_Kowarerukabe)
DECLARE_OVERLAY_SEGMENT(Bg_Bombwall)
DECLARE_OVERLAY_SEGMENT(Bg_Spot08_Iceblock)
DECLARE_OVERLAY_SEGMENT(En_Ru2)
DECLARE_OVERLAY_SEGMENT(Obj_Dekujr)
DECLARE_OVERLAY_SEGMENT(Bg_Mizu_Uzu)
DECLARE_OVERLAY_SEGMENT(Bg_Spot06_Objects)
DECLARE_OVERLAY_SEGMENT(Bg_Ice_Objects)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Water)
DECLARE_OVERLAY_SEGMENT(En_Ma2)
DECLARE_OVERLAY_SEGMENT(En_Bom_Chu)
DECLARE_OVERLAY_SEGMENT(En_Horse_Game_Check)
DECLARE_OVERLAY_SEGMENT(Boss_Tw)
DECLARE_OVERLAY_SEGMENT(En_Rr)
DECLARE_OVERLAY_SEGMENT(En_Ba)
DECLARE_OVERLAY_SEGMENT(En_Bx)
DECLARE_OVERLAY_SEGMENT(En_Anubice)
DECLARE_OVERLAY_SEGMENT(En_Anubice_Fire)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Hashigo)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Hashira4)
DECLARE_OVERLAY_SEGMENT(Bg_Mori_Idomizu)
DECLARE_OVERLAY_SEGMENT(Bg_Spot16_Doughnut)
DECLARE_OVERLAY_SEGMENT(Bg_Bdan_Switch)
DECLARE_OVERLAY_SEGMENT(En_Ma1)
DECLARE_OVERLAY_SEGMENT(Boss_Ganon)
DECLARE_OVERLAY_SEGMENT(Boss_Sst)
DECLARE_OVERLAY_SEGMENT(En_Ny)
DECLARE_OVERLAY_SEGMENT(En_Fr)
DECLARE_OVERLAY_SEGMENT(Item_Shield)
DECLARE_OVERLAY_SEGMENT(Bg_Ice_Shelter)
DECLARE_OVERLAY_SEGMENT(En_Ice_Hono)
DECLARE_OVERLAY_SEGMENT(Item_Ocarina)
DECLARE_OVERLAY_SEGMENT(Magic_Dark)
DECLARE_OVERLAY_SEGMENT(Demo_6K)
DECLARE_OVERLAY_SEGMENT(En_Anubice_Tag)
DECLARE_OVERLAY_SEGMENT(Bg_Haka_Gate)
DECLARE_OVERLAY_SEGMENT(Bg_Spot15_Saku)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Goroiwa)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Zurerukabe)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Cobra)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Kanaami)
DECLARE_OVERLAY_SEGMENT(Fishing)
DECLARE_OVERLAY_SEGMENT(Obj_Oshihiki)
DECLARE_OVERLAY_SEGMENT(Bg_Gate_Shutter)
DECLARE_OVERLAY_SEGMENT(Eff_Dust)
DECLARE_OVERLAY_SEGMENT(Bg_Spot01_Fusya)
DECLARE_OVERLAY_SEGMENT(Bg_Spot01_Idohashira)
DECLARE_OVERLAY_SEGMENT(Bg_Spot01_Idomizu)
DECLARE_OVERLAY_SEGMENT(Bg_Po_Syokudai)
DECLARE_OVERLAY_SEGMENT(Bg_Ganon_Otyuka)
DECLARE_OVERLAY_SEGMENT(Bg_Spot15_Rrbox)
DECLARE_OVERLAY_SEGMENT(Bg_Umajump)
DECLARE_OVERLAY_SEGMENT(Arrow_Fire)
DECLARE_OVERLAY_SEGMENT(Arrow_Ice)
DECLARE_OVERLAY_SEGMENT(Arrow_Light)
DECLARE_OVERLAY_SEGMENT(Item_Etcetera)
DECLARE_OVERLAY_SEGMENT(Obj_Kibako)
DECLARE_OVERLAY_SEGMENT(Obj_Tsubo)
DECLARE_OVERLAY_SEGMENT(En_Wonder_Item)
DECLARE_OVERLAY_SEGMENT(En_Ik)
DECLARE_OVERLAY_SEGMENT(Demo_Ik)
DECLARE_OVERLAY_SEGMENT(En_Skj)
DECLARE_OVERLAY_SEGMENT(En_Skjneedle)
DECLARE_OVERLAY_SEGMENT(En_G_Switch)
DECLARE_OVERLAY_SEGMENT(Demo_Ext)
DECLARE_OVERLAY_SEGMENT(Demo_Shd)
DECLARE_OVERLAY_SEGMENT(En_Dns)
DECLARE_OVERLAY_SEGMENT(Elf_Msg)
DECLARE_OVERLAY_SEGMENT(En_Honotrap)
DECLARE_OVERLAY_SEGMENT(En_Tubo_Trap)
DECLARE_OVERLAY_SEGMENT(Obj_Ice_Poly)
DECLARE_OVERLAY_SEGMENT(Bg_Spot03_Taki)
DECLARE_OVERLAY_SEGMENT(Bg_Spot07_Taki)
DECLARE_OVERLAY_SEGMENT(En_Fz)
DECLARE_OVERLAY_SEGMENT(En_Po_Relay)
DECLARE_OVERLAY_SEGMENT(Bg_Relay_Objects)
DECLARE_OVERLAY_SEGMENT(En_Diving_Game)
DECLARE_OVERLAY_SEGMENT(En_Kusa)
DECLARE_OVERLAY_SEGMENT(Obj_Bean)
DECLARE_OVERLAY_SEGMENT(Obj_Bombiwa)
DECLARE_OVERLAY_SEGMENT(Obj_Switch)
DECLARE_OVERLAY_SEGMENT(Obj_Elevator)
DECLARE_OVERLAY_SEGMENT(Obj_Lift)
DECLARE_OVERLAY_SEGMENT(Obj_Hsblock)
DECLARE_OVERLAY_SEGMENT(En_Okarina_Tag)
DECLARE_OVERLAY_SEGMENT(En_Yabusame_Mark)
DECLARE_OVERLAY_SEGMENT(En_Goroiwa)
DECLARE_OVERLAY_SEGMENT(En_Ex_Ruppy)
DECLARE_OVERLAY_SEGMENT(En_Toryo)
DECLARE_OVERLAY_SEGMENT(En_Daiku)
DECLARE_OVERLAY_SEGMENT(En_Nwc)
DECLARE_OVERLAY_SEGMENT(En_Blkobj)
DECLARE_OVERLAY_SEGMENT(Item_Inbox)
DECLARE_OVERLAY_SEGMENT(En_Ge1)
DECLARE_OVERLAY_SEGMENT(Obj_Blockstop)
DECLARE_OVERLAY_SEGMENT(En_Sda)
DECLARE_OVERLAY_SEGMENT(En_Clear_Tag)
DECLARE_OVERLAY_SEGMENT(En_Niw_Lady)
DECLARE_OVERLAY_SEGMENT(En_Gm)
DECLARE_OVERLAY_SEGMENT(En_Ms)
DECLARE_OVERLAY_SEGMENT(En_Hs)
DECLARE_OVERLAY_SEGMENT(Bg_Ingate)
DECLARE_OVERLAY_SEGMENT(En_Kanban)
DECLARE_OVERLAY_SEGMENT(En_Heishi3)
DECLARE_OVERLAY_SEGMENT(En_Syateki_Niw)
DECLARE_OVERLAY_SEGMENT(En_Attack_Niw)
DECLARE_OVERLAY_SEGMENT(Bg_Spot01_Idosoko)
DECLARE_OVERLAY_SEGMENT(En_Sa)
DECLARE_OVERLAY_SEGMENT(En_Wonder_Talk)
DECLARE_OVERLAY_SEGMENT(Bg_Gjyo_Bridge)
DECLARE_OVERLAY_SEGMENT(En_Ds)
DECLARE_OVERLAY_SEGMENT(En_Mk)
DECLARE_OVERLAY_SEGMENT(En_Bom_Bowl_Man)
DECLARE_OVERLAY_SEGMENT(En_Bom_Bowl_Pit)
DECLARE_OVERLAY_SEGMENT(En_Owl)
DECLARE_OVERLAY_SEGMENT(En_Ishi)
DECLARE_OVERLAY_SEGMENT(Obj_Hana)
DECLARE_OVERLAY_SEGMENT(Obj_Lightswitch)
DECLARE_OVERLAY_SEGMENT(Obj_Mure2)
DECLARE_OVERLAY_SEGMENT(En_Go)
DECLARE_OVERLAY_SEGMENT(En_Fu)
DECLARE_OVERLAY_SEGMENT(En_Changer)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Megami)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Lift)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Bigmirror)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Bombchuiwa)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Amishutter)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Bombiwa)
DECLARE_OVERLAY_SEGMENT(Bg_Spot18_Basket)
DECLARE_OVERLAY_SEGMENT(En_Ganon_Organ)
DECLARE_OVERLAY_SEGMENT(En_Siofuki)
DECLARE_OVERLAY_SEGMENT(En_Stream)
DECLARE_OVERLAY_SEGMENT(En_Mm)
DECLARE_OVERLAY_SEGMENT(En_Ko)
DECLARE_OVERLAY_SEGMENT(En_Kz)
DECLARE_OVERLAY_SEGMENT(En_Weather_Tag)
DECLARE_OVERLAY_SEGMENT(Bg_Sst_Floor)
DECLARE_OVERLAY_SEGMENT(En_Ani)
DECLARE_OVERLAY_SEGMENT(En_Ex_Item)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Ironobj)
DECLARE_OVERLAY_SEGMENT(En_Js)
DECLARE_OVERLAY_SEGMENT(En_Jsjutan)
DECLARE_OVERLAY_SEGMENT(En_Cs)
DECLARE_OVERLAY_SEGMENT(En_Md)
DECLARE_OVERLAY_SEGMENT(En_Hy)
DECLARE_OVERLAY_SEGMENT(En_Ganon_Mant)
DECLARE_OVERLAY_SEGMENT(En_Okarina_Effect)
DECLARE_OVERLAY_SEGMENT(En_Mag)
DECLARE_OVERLAY_SEGMENT(Door_Gerudo)
DECLARE_OVERLAY_SEGMENT(Elf_Msg2)
DECLARE_OVERLAY_SEGMENT(Demo_Gt)
DECLARE_OVERLAY_SEGMENT(En_Po_Field)
DECLARE_OVERLAY_SEGMENT(Efc_Erupc)
DECLARE_OVERLAY_SEGMENT(Bg_Zg)
DECLARE_OVERLAY_SEGMENT(En_Heishi4)
DECLARE_OVERLAY_SEGMENT(En_Zl3)
DECLARE_OVERLAY_SEGMENT(Boss_Ganon2)
DECLARE_OVERLAY_SEGMENT(En_Kakasi)
DECLARE_OVERLAY_SEGMENT(En_Takara_Man)
DECLARE_OVERLAY_SEGMENT(Obj_Makeoshihiki)
DECLARE_OVERLAY_SEGMENT(Oceff_Spot)
DECLARE_OVERLAY_SEGMENT(End_Title)
DECLARE_OVERLAY_SEGMENT(En_Torch)
DECLARE_OVERLAY_SEGMENT(Demo_Ec)
DECLARE_OVERLAY_SEGMENT(Shot_Sun)
DECLARE_OVERLAY_SEGMENT(En_Dy_Extra)
DECLARE_OVERLAY_SEGMENT(En_Wonder_Talk2)
DECLARE_OVERLAY_SEGMENT(En_Ge2)
DECLARE_OVERLAY_SEGMENT(Obj_Roomtimer)
DECLARE_OVERLAY_SEGMENT(En_Ssh)
DECLARE_OVERLAY_SEGMENT(En_Sth)
DECLARE_OVERLAY_SEGMENT(Oceff_Wipe)
DECLARE_OVERLAY_SEGMENT(Oceff_Storm)
DECLARE_OVERLAY_SEGMENT(En_Weiyer)
DECLARE_OVERLAY_SEGMENT(Bg_Spot05_Soko)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_1flift)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Haheniron)
DECLARE_OVERLAY_SEGMENT(Bg_Spot12_Gate)
DECLARE_OVERLAY_SEGMENT(Bg_Spot12_Saku)
DECLARE_OVERLAY_SEGMENT(En_Hintnuts)
DECLARE_OVERLAY_SEGMENT(En_Nutsball)
DECLARE_OVERLAY_SEGMENT(Bg_Spot00_Break)
DECLARE_OVERLAY_SEGMENT(En_Shopnuts)
DECLARE_OVERLAY_SEGMENT(En_It)
DECLARE_OVERLAY_SEGMENT(En_GeldB)
DECLARE_OVERLAY_SEGMENT(Oceff_Wipe2)
DECLARE_OVERLAY_SEGMENT(Oceff_Wipe3)
DECLARE_OVERLAY_SEGMENT(En_Niw_Girl)
DECLARE_OVERLAY_SEGMENT(En_Dog)
DECLARE_OVERLAY_SEGMENT(En_Si)
DECLARE_OVERLAY_SEGMENT(Bg_Spot01_Objects2)
DECLARE_OVERLAY_SEGMENT(Obj_Comb)
DECLARE_OVERLAY_SEGMENT(Bg_Spot11_Bakudankabe)
DECLARE_OVERLAY_SEGMENT(Obj_Kibako2)
DECLARE_OVERLAY_SEGMENT(En_Dnt_Demo)
DECLARE_OVERLAY_SEGMENT(En_Dnt_Jiji)
DECLARE_OVERLAY_SEGMENT(En_Dnt_Nomal)
DECLARE_OVERLAY_SEGMENT(En_Guest)
DECLARE_OVERLAY_SEGMENT(Bg_Bom_Guard)
DECLARE_OVERLAY_SEGMENT(En_Hs2)
DECLARE_OVERLAY_SEGMENT(Demo_Kekkai)
DECLARE_OVERLAY_SEGMENT(Bg_Spot08_Bakudankabe)
DECLARE_OVERLAY_SEGMENT(Bg_Spot17_Bakudankabe)
DECLARE_OVERLAY_SEGMENT(Obj_Mure3)
DECLARE_OVERLAY_SEGMENT(En_Tg)
DECLARE_OVERLAY_SEGMENT(En_Mu)
DECLARE_OVERLAY_SEGMENT(En_Go2)
DECLARE_OVERLAY_SEGMENT(En_Wf)
DECLARE_OVERLAY_SEGMENT(En_Skb)
DECLARE_OVERLAY_SEGMENT(Demo_Gj)
DECLARE_OVERLAY_SEGMENT(Demo_Geff)
DECLARE_OVERLAY_SEGMENT(Bg_Gnd_Firemeiro)
DECLARE_OVERLAY_SEGMENT(Bg_Gnd_Darkmeiro)
DECLARE_OVERLAY_SEGMENT(Bg_Gnd_Soulmeiro)
DECLARE_OVERLAY_SEGMENT(Bg_Gnd_Nisekabe)
DECLARE_OVERLAY_SEGMENT(Bg_Gnd_Iceblock)
DECLARE_OVERLAY_SEGMENT(En_Gb)
DECLARE_OVERLAY_SEGMENT(En_Gs)
DECLARE_OVERLAY_SEGMENT(Bg_Mizu_Bwall)
DECLARE_OVERLAY_SEGMENT(Bg_Mizu_Shutter)
DECLARE_OVERLAY_SEGMENT(En_Daiku_Kakariko)
DECLARE_OVERLAY_SEGMENT(Bg_Bowl_Wall)
DECLARE_OVERLAY_SEGMENT(En_Wall_Tubo)
DECLARE_OVERLAY_SEGMENT(En_Po_Desert)
DECLARE_OVERLAY_SEGMENT(En_Crow)
DECLARE_OVERLAY_SEGMENT(Door_Killer)
DECLARE_OVERLAY_SEGMENT(Bg_Spot11_Oasis)
DECLARE_OVERLAY_SEGMENT(Bg_Spot18_Futa)
DECLARE_OVERLAY_SEGMENT(Bg_Spot18_Shutter)
DECLARE_OVERLAY_SEGMENT(En_Ma3)
DECLARE_OVERLAY_SEGMENT(En_Cow)
DECLARE_OVERLAY_SEGMENT(Bg_Ice_Turara)
DECLARE_OVERLAY_SEGMENT(Bg_Ice_Shutter)
DECLARE_OVERLAY_SEGMENT(En_Kakasi2)
DECLARE_OVERLAY_SEGMENT(En_Kakasi3)
DECLARE_OVERLAY_SEGMENT(Oceff_Wipe4)
DECLARE_OVERLAY_SEGMENT(En_Eg)
DECLARE_OVERLAY_SEGMENT(Bg_Menkuri_Nisekabe)
DECLARE_OVERLAY_SEGMENT(En_Zo)
DECLARE_OVERLAY_SEGMENT(Obj_Makekinsuta)
DECLARE_OVERLAY_SEGMENT(En_Ge3)
DECLARE_OVERLAY_SEGMENT(Obj_Timeblock)
DECLARE_OVERLAY_SEGMENT(Obj_Hamishi)
DECLARE_OVERLAY_SEGMENT(En_Zl4)
DECLARE_OVERLAY_SEGMENT(En_Mm2)
DECLARE_OVERLAY_SEGMENT(Bg_Jya_Block)
DECLARE_OVERLAY_SEGMENT(Obj_Warp2block)
DECLARE_ROM_SEGMENT(gameplay_keep)
DECLARE_ROM_SEGMENT(gameplay_field_keep)
DECLARE_ROM_SEGMENT(gameplay_dangeon_keep)
DECLARE_ROM_SEGMENT(object_human)
DECLARE_ROM_SEGMENT(object_okuta)
DECLARE_ROM_SEGMENT(object_crow)
DECLARE_ROM_SEGMENT(object_poh)
DECLARE_ROM_SEGMENT(object_dy_obj)
DECLARE_ROM_SEGMENT(object_wallmaster)
DECLARE_ROM_SEGMENT(object_dodongo)
DECLARE_ROM_SEGMENT(object_firefly)
DECLARE_ROM_SEGMENT(object_box)
DECLARE_ROM_SEGMENT(object_fire)
DECLARE_ROM_SEGMENT(object_bubble)
DECLARE_ROM_SEGMENT(object_niw)
DECLARE_ROM_SEGMENT(object_link_boy)
DECLARE_ROM_SEGMENT(object_link_child)
DECLARE_ROM_SEGMENT(object_tite)
DECLARE_ROM_SEGMENT(object_reeba)
DECLARE_ROM_SEGMENT(object_peehat)
DECLARE_ROM_SEGMENT(object_kingdodongo)
DECLARE_ROM_SEGMENT(object_horse)
DECLARE_ROM_SEGMENT(object_zf)
DECLARE_ROM_SEGMENT(object_goma)
DECLARE_ROM_SEGMENT(object_zl1)
DECLARE_ROM_SEGMENT(object_gol)
DECLARE_ROM_SEGMENT(object_dodojr)
DECLARE_ROM_SEGMENT(object_torch2)
DECLARE_ROM_SEGMENT(object_bl)
DECLARE_ROM_SEGMENT(object_tp)
DECLARE_ROM_SEGMENT(object_oA1)
DECLARE_ROM_SEGMENT(object_st)
DECLARE_ROM_SEGMENT(object_bw)
DECLARE_ROM_SEGMENT(object_ei)
DECLARE_ROM_SEGMENT(object_horse_normal)
DECLARE_ROM_SEGMENT(object_oB1)
DECLARE_ROM_SEGMENT(object_o_anime)
DECLARE_ROM_SEGMENT(object_spot04_objects)
DECLARE_ROM_SEGMENT(object_ddan_objects)
DECLARE_ROM_SEGMENT(object_hidan_objects)
DECLARE_ROM_SEGMENT(object_horse_ganon)
DECLARE_ROM_SEGMENT(object_oA2)
DECLARE_ROM_SEGMENT(object_spot00_objects)
DECLARE_ROM_SEGMENT(object_mb)
DECLARE_ROM_SEGMENT(object_bombf)
DECLARE_ROM_SEGMENT(object_sk2)
DECLARE_ROM_SEGMENT(object_oE1)
DECLARE_ROM_SEGMENT(object_oE_anime)
DECLARE_ROM_SEGMENT(object_oE2)
DECLARE_ROM_SEGMENT(object_ydan_objects)
DECLARE_ROM_SEGMENT(object_gnd)
DECLARE_ROM_SEGMENT(object_am)
DECLARE_ROM_SEGMENT(object_dekubaba)
DECLARE_ROM_SEGMENT(object_oA3)
DECLARE_ROM_SEGMENT(object_oA4)
DECLARE_ROM_SEGMENT(object_oA5)
DECLARE_ROM_SEGMENT(object_oA6)
DECLARE_ROM_SEGMENT(object_oA7)
DECLARE_ROM_SEGMENT(object_jj)
DECLARE_ROM_SEGMENT(object_oA8)
DECLARE_ROM_SEGMENT(object_oA9)
DECLARE_ROM_SEGMENT(object_oB2)
DECLARE_ROM_SEGMENT(object_oB3)
DECLARE_ROM_SEGMENT(object_oB4)
DECLARE_ROM_SEGMENT(object_horse_zelda)
DECLARE_ROM_SEGMENT(object_opening_demo1)
DECLARE_ROM_SEGMENT(object_warp1)
DECLARE_ROM_SEGMENT(object_b_heart)
DECLARE_ROM_SEGMENT(object_dekunuts)
DECLARE_ROM_SEGMENT(object_oE3)
DECLARE_ROM_SEGMENT(object_oE4)
DECLARE_ROM_SEGMENT(object_menkuri_objects)
DECLARE_ROM_SEGMENT(object_oE5)
DECLARE_ROM_SEGMENT(object_oE6)
DECLARE_ROM_SEGMENT(object_oE7)
DECLARE_ROM_SEGMENT(object_oE8)
DECLARE_ROM_SEGMENT(object_oE9)
DECLARE_ROM_SEGMENT(object_oE10)
DECLARE_ROM_SEGMENT(object_oE11)
DECLARE_ROM_SEGMENT(object_oE12)
DECLARE_ROM_SEGMENT(object_vali)
DECLARE_ROM_SEGMENT(object_oA10)
DECLARE_ROM_SEGMENT(object_oA11)
DECLARE_ROM_SEGMENT(object_mizu_objects)
DECLARE_ROM_SEGMENT(object_fhg)
DECLARE_ROM_SEGMENT(object_ossan)
DECLARE_ROM_SEGMENT(object_mori_hineri1)
DECLARE_ROM_SEGMENT(object_Bb)
DECLARE_ROM_SEGMENT(object_toki_objects)
DECLARE_ROM_SEGMENT(object_yukabyun)
DECLARE_ROM_SEGMENT(object_zl2)
DECLARE_ROM_SEGMENT(object_mjin)
DECLARE_ROM_SEGMENT(object_mjin_flash)
DECLARE_ROM_SEGMENT(object_mjin_dark)
DECLARE_ROM_SEGMENT(object_mjin_flame)
DECLARE_ROM_SEGMENT(object_mjin_ice)
DECLARE_ROM_SEGMENT(object_mjin_soul)
DECLARE_ROM_SEGMENT(object_mjin_wind)
DECLARE_ROM_SEGMENT(object_mjin_oka)
DECLARE_ROM_SEGMENT(object_haka_objects)
DECLARE_ROM_SEGMENT(object_spot06_objects)
DECLARE_ROM_SEGMENT(object_ice_objects)
DECLARE_ROM_SEGMENT(object_relay_objects)
DECLARE_ROM_SEGMENT(object_po_field)
DECLARE_ROM_SEGMENT(object_po_composer)
DECLARE_ROM_SEGMENT(object_mori_hineri1a)
DECLARE_ROM_SEGMENT(object_mori_hineri2)
DECLARE_ROM_SEGMENT(object_mori_hineri2a)
DECLARE_ROM_SEGMENT(object_mori_objects)
DECLARE_ROM_SEGMENT(object_mori_tex)
DECLARE_ROM_SEGMENT(object_spot08_obj)
DECLARE_ROM_SEGMENT(object_warp2)
DECLARE_ROM_SEGMENT(object_hata)
DECLARE_ROM_SEGMENT(object_bird)
DECLARE_ROM_SEGMENT(object_wood02)
DECLARE_ROM_SEGMENT(object_lightbox)
DECLARE_ROM_SEGMENT(object_pu_box)
DECLARE_ROM_SEGMENT(object_trap)
DECLARE_ROM_SEGMENT(object_vase)
DECLARE_ROM_SEGMENT(object_im)
DECLARE_ROM_SEGMENT(object_ta)
DECLARE_ROM_SEGMENT(object_tk)
DECLARE_ROM_SEGMENT(object_xc)
DECLARE_ROM_SEGMENT(object_vm)
DECLARE_ROM_SEGMENT(object_bv)
DECLARE_ROM_SEGMENT(object_hakach_objects)
DECLARE_ROM_SEGMENT(object_efc_crystal_light)
DECLARE_ROM_SEGMENT(object_efc_fire_ball)
DECLARE_ROM_SEGMENT(object_efc_flash)
DECLARE_ROM_SEGMENT(object_efc_lgt_shower)
DECLARE_ROM_SEGMENT(object_efc_star_field)
DECLARE_ROM_SEGMENT(object_god_lgt)
DECLARE_ROM_SEGMENT(object_light_ring)
DECLARE_ROM_SEGMENT(object_triforce_spot)
DECLARE_ROM_SEGMENT(object_bdan_objects)
DECLARE_ROM_SEGMENT(object_sd)
DECLARE_ROM_SEGMENT(object_rd)
DECLARE_ROM_SEGMENT(object_po_sisters)
DECLARE_ROM_SEGMENT(object_heavy_object)
DECLARE_ROM_SEGMENT(object_gndd)
DECLARE_ROM_SEGMENT(object_fd)
DECLARE_ROM_SEGMENT(object_du)
DECLARE_ROM_SEGMENT(object_fw)
DECLARE_ROM_SEGMENT(object_medal)
DECLARE_ROM_SEGMENT(object_horse_link_child)
DECLARE_ROM_SEGMENT(object_spot02_objects)
DECLARE_ROM_SEGMENT(object_haka)
DECLARE_ROM_SEGMENT(object_ru1)
DECLARE_ROM_SEGMENT(object_syokudai)
DECLARE_ROM_SEGMENT(object_fd2)
DECLARE_ROM_SEGMENT(object_dh)
DECLARE_ROM_SEGMENT(object_rl)
DECLARE_ROM_SEGMENT(object_efc_tw)
DECLARE_ROM_SEGMENT(object_demo_tre_lgt)
DECLARE_ROM_SEGMENT(object_gi_key)
DECLARE_ROM_SEGMENT(object_mir_ray)
DECLARE_ROM_SEGMENT(object_brob)
DECLARE_ROM_SEGMENT(object_gi_jewel)
DECLARE_ROM_SEGMENT(object_spot09_obj)
DECLARE_ROM_SEGMENT(object_spot18_obj)
DECLARE_ROM_SEGMENT(object_bdoor)
DECLARE_ROM_SEGMENT(object_spot17_obj)
DECLARE_ROM_SEGMENT(object_shop_dungen)
DECLARE_ROM_SEGMENT(object_nb)
DECLARE_ROM_SEGMENT(object_mo)
DECLARE_ROM_SEGMENT(object_sb)
DECLARE_ROM_SEGMENT(object_gi_melody)
DECLARE_ROM_SEGMENT(object_gi_heart)
DECLARE_ROM_SEGMENT(object_gi_compass)
DECLARE_ROM_SEGMENT(object_gi_bosskey)
DECLARE_ROM_SEGMENT(object_gi_medal)
DECLARE_ROM_SEGMENT(object_gi_nuts)
DECLARE_ROM_SEGMENT(object_sa)
DECLARE_ROM_SEGMENT(object_gi_hearts)
DECLARE_ROM_SEGMENT(object_gi_arrowcase)
DECLARE_ROM_SEGMENT(object_gi_bombpouch)
DECLARE_ROM_SEGMENT(object_in)
DECLARE_ROM_SEGMENT(object_tr)
DECLARE_ROM_SEGMENT(object_spot16_obj)
DECLARE_ROM_SEGMENT(object_oE1s)
DECLARE_ROM_SEGMENT(object_oE4s)
DECLARE_ROM_SEGMENT(object_os_anime)
DECLARE_ROM_SEGMENT(object_gi_bottle)
DECLARE_ROM_SEGMENT(object_gi_stick)
DECLARE_ROM_SEGMENT(object_gi_map)
DECLARE_ROM_SEGMENT(object_oF1d_map)
DECLARE_ROM_SEGMENT(object_ru2)
DECLARE_ROM_SEGMENT(object_gi_shield_1)
DECLARE_ROM_SEGMENT(object_dekujr)
DECLARE_ROM_SEGMENT(object_gi_magicpot)
DECLARE_ROM_SEGMENT(object_gi_bomb_1)
DECLARE_ROM_SEGMENT(object_oF1s)
DECLARE_ROM_SEGMENT(object_ma2)
DECLARE_ROM_SEGMENT(object_gi_purse)
DECLARE_ROM_SEGMENT(object_hni)
DECLARE_ROM_SEGMENT(object_tw)
DECLARE_ROM_SEGMENT(object_rr)
DECLARE_ROM_SEGMENT(object_bxa)
DECLARE_ROM_SEGMENT(object_anubice)
DECLARE_ROM_SEGMENT(object_gi_gerudo)
DECLARE_ROM_SEGMENT(object_gi_arrow)
DECLARE_ROM_SEGMENT(object_gi_bomb_2)
DECLARE_ROM_SEGMENT(object_gi_egg)
DECLARE_ROM_SEGMENT(object_gi_scale)
DECLARE_ROM_SEGMENT(object_gi_shield_2)
DECLARE_ROM_SEGMENT(object_gi_hookshot)
DECLARE_ROM_SEGMENT(object_gi_ocarina)
DECLARE_ROM_SEGMENT(object_gi_milk)
DECLARE_ROM_SEGMENT(object_ma1)
DECLARE_ROM_SEGMENT(object_ganon)
DECLARE_ROM_SEGMENT(object_sst)
DECLARE_ROM_SEGMENT(object_ny)
DECLARE_ROM_SEGMENT(object_ny)
DECLARE_ROM_SEGMENT(object_fr)
DECLARE_ROM_SEGMENT(object_gi_pachinko)
DECLARE_ROM_SEGMENT(object_gi_boomerang)
DECLARE_ROM_SEGMENT(object_gi_bow)
DECLARE_ROM_SEGMENT(object_gi_glasses)
DECLARE_ROM_SEGMENT(object_gi_liquid)
DECLARE_ROM_SEGMENT(object_ani)
DECLARE_ROM_SEGMENT(object_demo_6k)
DECLARE_ROM_SEGMENT(object_gi_shield_3)
DECLARE_ROM_SEGMENT(object_gi_letter)
DECLARE_ROM_SEGMENT(object_spot15_obj)
DECLARE_ROM_SEGMENT(object_jya_obj)
DECLARE_ROM_SEGMENT(object_gi_clothes)
DECLARE_ROM_SEGMENT(object_gi_bean)
DECLARE_ROM_SEGMENT(object_gi_fish)
DECLARE_ROM_SEGMENT(object_gi_saw)
DECLARE_ROM_SEGMENT(object_gi_hammer)
DECLARE_ROM_SEGMENT(object_gi_grass)
DECLARE_ROM_SEGMENT(object_gi_longsword)
DECLARE_ROM_SEGMENT(object_spot01_objects)
DECLARE_ROM_SEGMENT(object_md)
DECLARE_ROM_SEGMENT(object_md)
DECLARE_ROM_SEGMENT(object_km1)
DECLARE_ROM_SEGMENT(object_kw1)
DECLARE_ROM_SEGMENT(object_zo)
DECLARE_ROM_SEGMENT(object_kz)
DECLARE_ROM_SEGMENT(object_umajump)
DECLARE_ROM_SEGMENT(object_masterkokiri)
DECLARE_ROM_SEGMENT(object_masterkokirihead)
DECLARE_ROM_SEGMENT(object_mastergolon)
DECLARE_ROM_SEGMENT(object_masterzoora)
DECLARE_ROM_SEGMENT(object_aob)
DECLARE_ROM_SEGMENT(object_ik)
DECLARE_ROM_SEGMENT(object_ahg)
DECLARE_ROM_SEGMENT(object_cne)
DECLARE_ROM_SEGMENT(object_gi_niwatori)
DECLARE_ROM_SEGMENT(object_skj)
DECLARE_ROM_SEGMENT(object_gi_bottle_letter)
DECLARE_ROM_SEGMENT(object_bji)
DECLARE_ROM_SEGMENT(object_bba)
DECLARE_ROM_SEGMENT(object_gi_ocarina_0)
DECLARE_ROM_SEGMENT(object_ds)
DECLARE_ROM_SEGMENT(object_ane)
DECLARE_ROM_SEGMENT(object_boj)
DECLARE_ROM_SEGMENT(object_spot03_object)
DECLARE_ROM_SEGMENT(object_spot07_object)
DECLARE_ROM_SEGMENT(object_fz)
DECLARE_ROM_SEGMENT(object_bob)
DECLARE_ROM_SEGMENT(object_ge1)
DECLARE_ROM_SEGMENT(object_yabusame_point)
DECLARE_ROM_SEGMENT(object_gi_boots_2)
DECLARE_ROM_SEGMENT(object_gi_seed)
DECLARE_ROM_SEGMENT(object_gnd_magic)
DECLARE_ROM_SEGMENT(object_d_elevator)
DECLARE_ROM_SEGMENT(object_d_hsblock)
DECLARE_ROM_SEGMENT(object_d_lift)
DECLARE_ROM_SEGMENT(object_mamenoki)
DECLARE_ROM_SEGMENT(object_goroiwa)
DECLARE_ROM_SEGMENT(object_toryo)
DECLARE_ROM_SEGMENT(object_daiku)
DECLARE_ROM_SEGMENT(object_nwc)
DECLARE_ROM_SEGMENT(object_blkobj)
DECLARE_ROM_SEGMENT(object_gm)
DECLARE_ROM_SEGMENT(object_ms)
DECLARE_ROM_SEGMENT(object_hs)
DECLARE_ROM_SEGMENT(object_ingate)
DECLARE_ROM_SEGMENT(object_lightswitch)
DECLARE_ROM_SEGMENT(object_kusa)
DECLARE_ROM_SEGMENT(object_tsubo)
DECLARE_ROM_SEGMENT(object_gi_gloves)
DECLARE_ROM_SEGMENT(object_gi_coin)
DECLARE_ROM_SEGMENT(object_kanban)
DECLARE_ROM_SEGMENT(object_gjyo_objects)
DECLARE_ROM_SEGMENT(object_owl)
DECLARE_ROM_SEGMENT(object_mk)
DECLARE_ROM_SEGMENT(object_fu)
DECLARE_ROM_SEGMENT(object_gi_ki_tan_mask)
DECLARE_ROM_SEGMENT(object_gi_redead_mask)
DECLARE_ROM_SEGMENT(object_gi_skj_mask)
DECLARE_ROM_SEGMENT(object_gi_rabit_mask)
DECLARE_ROM_SEGMENT(object_gi_truth_mask)
DECLARE_ROM_SEGMENT(object_ganon_objects)
DECLARE_ROM_SEGMENT(object_siofuki)
DECLARE_ROM_SEGMENT(object_stream)
DECLARE_ROM_SEGMENT(object_mm)
DECLARE_ROM_SEGMENT(object_fa)
DECLARE_ROM_SEGMENT(object_os)
DECLARE_ROM_SEGMENT(object_gi_eye_lotion)
DECLARE_ROM_SEGMENT(object_gi_powder)
DECLARE_ROM_SEGMENT(object_gi_mushroom)
DECLARE_ROM_SEGMENT(object_gi_ticketstone)
DECLARE_ROM_SEGMENT(object_gi_brokensword)
DECLARE_ROM_SEGMENT(object_js)
DECLARE_ROM_SEGMENT(object_cs)
DECLARE_ROM_SEGMENT(object_gi_prescription)
DECLARE_ROM_SEGMENT(object_gi_bracelet)
DECLARE_ROM_SEGMENT(object_gi_soldout)
DECLARE_ROM_SEGMENT(object_gi_frog)
DECLARE_ROM_SEGMENT(object_mag)
DECLARE_ROM_SEGMENT(object_door_gerudo)
DECLARE_ROM_SEGMENT(object_gt)
DECLARE_ROM_SEGMENT(object_efc_erupc)
DECLARE_ROM_SEGMENT(object_zl2_anime1)
DECLARE_ROM_SEGMENT(object_zl2_anime2)
DECLARE_ROM_SEGMENT(object_gi_golonmask)
DECLARE_ROM_SEGMENT(object_gi_zoramask)
DECLARE_ROM_SEGMENT(object_gi_gerudomask)
DECLARE_ROM_SEGMENT(object_ganon2)
DECLARE_ROM_SEGMENT(object_ka)
DECLARE_ROM_SEGMENT(object_ts)
DECLARE_ROM_SEGMENT(object_zg)
DECLARE_ROM_SEGMENT(object_gi_hoverboots)
DECLARE_ROM_SEGMENT(object_gi_m_arrow)
DECLARE_ROM_SEGMENT(object_ds2)
DECLARE_ROM_SEGMENT(object_ec)
DECLARE_ROM_SEGMENT(object_fish)
DECLARE_ROM_SEGMENT(object_gi_sutaru)
DECLARE_ROM_SEGMENT(object_gi_goddess)
DECLARE_ROM_SEGMENT(object_ssh)
DECLARE_ROM_SEGMENT(object_bigokuta)
DECLARE_ROM_SEGMENT(object_bg)
DECLARE_ROM_SEGMENT(object_spot05_objects)
DECLARE_ROM_SEGMENT(object_spot12_obj)
DECLARE_ROM_SEGMENT(object_bombiwa)
DECLARE_ROM_SEGMENT(object_hintnuts)
DECLARE_ROM_SEGMENT(object_rs)
DECLARE_ROM_SEGMENT(object_spot00_break)
DECLARE_ROM_SEGMENT(object_gla)
DECLARE_ROM_SEGMENT(object_shopnuts)
DECLARE_ROM_SEGMENT(object_geldb)
DECLARE_ROM_SEGMENT(object_gr)
DECLARE_ROM_SEGMENT(object_dog)
DECLARE_ROM_SEGMENT(object_jya_iron)
DECLARE_ROM_SEGMENT(object_jya_door)
DECLARE_ROM_SEGMENT(object_spot11_obj)
DECLARE_ROM_SEGMENT(object_kibako2)
DECLARE_ROM_SEGMENT(object_dns)
DECLARE_ROM_SEGMENT(object_dnk)
DECLARE_ROM_SEGMENT(object_gi_fire)
DECLARE_ROM_SEGMENT(object_gi_insect)
DECLARE_ROM_SEGMENT(object_gi_butterfly)
DECLARE_ROM_SEGMENT(object_gi_ghost)
DECLARE_ROM_SEGMENT(object_gi_soul)
DECLARE_ROM_SEGMENT(object_bowl)
DECLARE_ROM_SEGMENT(object_demo_kekkai)
DECLARE_ROM_SEGMENT(object_efc_doughnut)
DECLARE_ROM_SEGMENT(object_gi_dekupouch)
DECLARE_ROM_SEGMENT(object_ganon_anime1)
DECLARE_ROM_SEGMENT(object_ganon_anime2)
DECLARE_ROM_SEGMENT(object_ganon_anime3)
DECLARE_ROM_SEGMENT(object_gi_rupy)
DECLARE_ROM_SEGMENT(object_spot01_matoya)
DECLARE_ROM_SEGMENT(object_spot01_matoyab)
DECLARE_ROM_SEGMENT(object_mu)
DECLARE_ROM_SEGMENT(object_wf)
DECLARE_ROM_SEGMENT(object_skb)
DECLARE_ROM_SEGMENT(object_gj)
DECLARE_ROM_SEGMENT(object_geff)
DECLARE_ROM_SEGMENT(object_haka_door)
DECLARE_ROM_SEGMENT(object_gs)
DECLARE_ROM_SEGMENT(object_ps)
DECLARE_ROM_SEGMENT(object_bwall)
DECLARE_ROM_SEGMENT(object_cow)
DECLARE_ROM_SEGMENT(object_cob)
DECLARE_ROM_SEGMENT(object_gi_sword_1)
DECLARE_ROM_SEGMENT(object_door_killer)
DECLARE_ROM_SEGMENT(object_ouke_haka)
DECLARE_ROM_SEGMENT(object_timeblock)
DECLARE_ROM_SEGMENT(object_zl4)
DECLARE_ROM_SEGMENT(g_pn_01)
DECLARE_ROM_SEGMENT(g_pn_02)
DECLARE_ROM_SEGMENT(g_pn_03)

View file

@ -0,0 +1,483 @@
/**
* Actor Table
*
* DEFINE_ACTOR should be used for normal actors
* - Argument 1: Name of the actor (without the ovl_ part)
* - Argument 2: Enum value for this actor
* - Argument 3: Allocation type (normal, permanent or absolute)
*
* DEFINE_ACTOR_INTERNAL should be used for actors that aren't an overlay, with the same arguments as DEFINE_ACTOR
*
* DEFINE_ACTOR_UNSET is needed to define empty entries from the original game
*/
/* 0x0000 */ DEFINE_ACTOR_INTERNAL(Player, ACTOR_PLAYER, ALLOCTYPE_NORMAL)
/* 0x0001 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_1)
/* 0x0002 */ DEFINE_ACTOR(En_Test, ACTOR_EN_TEST, ALLOCTYPE_NORMAL)
/* 0x0003 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_3)
/* 0x0004 */ DEFINE_ACTOR(En_GirlA, ACTOR_EN_GIRLA, ALLOCTYPE_NORMAL)
/* 0x0005 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_5)
/* 0x0006 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_6)
/* 0x0007 */ DEFINE_ACTOR(En_Part, ACTOR_EN_PART, ALLOCTYPE_NORMAL)
/* 0x0008 */ DEFINE_ACTOR(En_Light, ACTOR_EN_LIGHT, ALLOCTYPE_NORMAL)
/* 0x0009 */ DEFINE_ACTOR(En_Door, ACTOR_EN_DOOR, ALLOCTYPE_PERMANENT)
/* 0x000A */ DEFINE_ACTOR(En_Box, ACTOR_EN_BOX, ALLOCTYPE_NORMAL)
/* 0x000B */ DEFINE_ACTOR(Bg_Dy_Yoseizo, ACTOR_BG_DY_YOSEIZO, ALLOCTYPE_NORMAL)
/* 0x000C */ DEFINE_ACTOR(Bg_Hidan_Firewall, ACTOR_BG_HIDAN_FIREWALL, ALLOCTYPE_NORMAL)
/* 0x000D */ DEFINE_ACTOR(En_Poh, ACTOR_EN_POH, ALLOCTYPE_NORMAL)
/* 0x000E */ DEFINE_ACTOR(En_Okuta, ACTOR_EN_OKUTA, ALLOCTYPE_NORMAL)
/* 0x000F */ DEFINE_ACTOR(Bg_Ydan_Sp, ACTOR_BG_YDAN_SP, ALLOCTYPE_NORMAL)
/* 0x0010 */ DEFINE_ACTOR(En_Bom, ACTOR_EN_BOM, ALLOCTYPE_PERMANENT)
/* 0x0011 */ DEFINE_ACTOR(En_Wallmas, ACTOR_EN_WALLMAS, ALLOCTYPE_NORMAL)
/* 0x0012 */ DEFINE_ACTOR(En_Dodongo, ACTOR_EN_DODONGO, ALLOCTYPE_NORMAL)
/* 0x0013 */ DEFINE_ACTOR(En_Firefly, ACTOR_EN_FIREFLY, ALLOCTYPE_NORMAL)
/* 0x0014 */ DEFINE_ACTOR(En_Horse, ACTOR_EN_HORSE, ALLOCTYPE_NORMAL)
/* 0x0015 */ DEFINE_ACTOR_INTERNAL(En_Item00, ACTOR_EN_ITEM00, ALLOCTYPE_NORMAL)
/* 0x0016 */ DEFINE_ACTOR(En_Arrow, ACTOR_EN_ARROW, ALLOCTYPE_PERMANENT)
/* 0x0017 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_17)
/* 0x0018 */ DEFINE_ACTOR(En_Elf, ACTOR_EN_ELF, ALLOCTYPE_NORMAL)
/* 0x0019 */ DEFINE_ACTOR(En_Niw, ACTOR_EN_NIW, ALLOCTYPE_NORMAL)
/* 0x001A */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_1A)
/* 0x001B */ DEFINE_ACTOR(En_Tite, ACTOR_EN_TITE, ALLOCTYPE_NORMAL)
/* 0x001C */ DEFINE_ACTOR(En_Reeba, ACTOR_EN_REEBA, ALLOCTYPE_NORMAL)
/* 0x001D */ DEFINE_ACTOR(En_Peehat, ACTOR_EN_PEEHAT, ALLOCTYPE_NORMAL)
/* 0x001E */ DEFINE_ACTOR(En_Butte, ACTOR_EN_BUTTE, ALLOCTYPE_NORMAL)
/* 0x001F */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_1F)
/* 0x0020 */ DEFINE_ACTOR(En_Insect, ACTOR_EN_INSECT, ALLOCTYPE_NORMAL)
/* 0x0021 */ DEFINE_ACTOR(En_Fish, ACTOR_EN_FISH, ALLOCTYPE_NORMAL)
/* 0x0022 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_22)
/* 0x0023 */ DEFINE_ACTOR(En_Holl, ACTOR_EN_HOLL, ALLOCTYPE_PERMANENT)
/* 0x0024 */ DEFINE_ACTOR(En_Scene_Change, ACTOR_EN_SCENE_CHANGE, ALLOCTYPE_NORMAL)
/* 0x0025 */ DEFINE_ACTOR(En_Zf, ACTOR_EN_ZF, ALLOCTYPE_NORMAL)
/* 0x0026 */ DEFINE_ACTOR(En_Hata, ACTOR_EN_HATA, ALLOCTYPE_NORMAL)
/* 0x0027 */ DEFINE_ACTOR(Boss_Dodongo, ACTOR_BOSS_DODONGO, ALLOCTYPE_NORMAL)
/* 0x0028 */ DEFINE_ACTOR(Boss_Goma, ACTOR_BOSS_GOMA, ALLOCTYPE_NORMAL)
/* 0x0029 */ DEFINE_ACTOR(En_Zl1, ACTOR_EN_ZL1, ALLOCTYPE_NORMAL)
/* 0x002A */ DEFINE_ACTOR(En_Viewer, ACTOR_EN_VIEWER, ALLOCTYPE_NORMAL)
/* 0x002B */ DEFINE_ACTOR(En_Goma, ACTOR_EN_GOMA, ALLOCTYPE_NORMAL)
/* 0x002C */ DEFINE_ACTOR(Bg_Pushbox, ACTOR_BG_PUSHBOX, ALLOCTYPE_NORMAL)
/* 0x002D */ DEFINE_ACTOR(En_Bubble, ACTOR_EN_BUBBLE, ALLOCTYPE_NORMAL)
/* 0x002E */ DEFINE_ACTOR(Door_Shutter, ACTOR_DOOR_SHUTTER, ALLOCTYPE_PERMANENT)
/* 0x002F */ DEFINE_ACTOR(En_Dodojr, ACTOR_EN_DODOJR, ALLOCTYPE_NORMAL)
/* 0x0030 */ DEFINE_ACTOR(En_Bdfire, ACTOR_EN_BDFIRE, ALLOCTYPE_NORMAL)
/* 0x0031 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_31)
/* 0x0032 */ DEFINE_ACTOR(En_Boom, ACTOR_EN_BOOM, ALLOCTYPE_PERMANENT)
/* 0x0033 */ DEFINE_ACTOR(En_Torch2, ACTOR_EN_TORCH2, ALLOCTYPE_NORMAL)
/* 0x0034 */ DEFINE_ACTOR(En_Bili, ACTOR_EN_BILI, ALLOCTYPE_NORMAL)
/* 0x0035 */ DEFINE_ACTOR(En_Tp, ACTOR_EN_TP, ALLOCTYPE_NORMAL)
/* 0x0036 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_36)
/* 0x0037 */ DEFINE_ACTOR(En_St, ACTOR_EN_ST, ALLOCTYPE_NORMAL)
/* 0x0038 */ DEFINE_ACTOR(En_Bw, ACTOR_EN_BW, ALLOCTYPE_NORMAL)
/* 0x0039 */ DEFINE_ACTOR_INTERNAL(En_A_Obj, ACTOR_EN_A_OBJ, ALLOCTYPE_NORMAL)
/* 0x003A */ DEFINE_ACTOR(En_Eiyer, ACTOR_EN_EIYER, ALLOCTYPE_NORMAL)
/* 0x003B */ DEFINE_ACTOR(En_River_Sound, ACTOR_EN_RIVER_SOUND, ALLOCTYPE_NORMAL)
/* 0x003C */ DEFINE_ACTOR(En_Horse_Normal, ACTOR_EN_HORSE_NORMAL, ALLOCTYPE_NORMAL)
/* 0x003D */ DEFINE_ACTOR(En_Ossan, ACTOR_EN_OSSAN, ALLOCTYPE_NORMAL)
/* 0x003E */ DEFINE_ACTOR(Bg_Treemouth, ACTOR_BG_TREEMOUTH, ALLOCTYPE_NORMAL)
/* 0x003F */ DEFINE_ACTOR(Bg_Dodoago, ACTOR_BG_DODOAGO, ALLOCTYPE_NORMAL)
/* 0x0040 */ DEFINE_ACTOR(Bg_Hidan_Dalm, ACTOR_BG_HIDAN_DALM, ALLOCTYPE_NORMAL)
/* 0x0041 */ DEFINE_ACTOR(Bg_Hidan_Hrock, ACTOR_BG_HIDAN_HROCK, ALLOCTYPE_NORMAL)
/* 0x0042 */ DEFINE_ACTOR(En_Horse_Ganon, ACTOR_EN_HORSE_GANON, ALLOCTYPE_NORMAL)
/* 0x0043 */ DEFINE_ACTOR(Bg_Hidan_Rock, ACTOR_BG_HIDAN_ROCK, ALLOCTYPE_NORMAL)
/* 0x0044 */ DEFINE_ACTOR(Bg_Hidan_Rsekizou, ACTOR_BG_HIDAN_RSEKIZOU, ALLOCTYPE_NORMAL)
/* 0x0045 */ DEFINE_ACTOR(Bg_Hidan_Sekizou, ACTOR_BG_HIDAN_SEKIZOU, ALLOCTYPE_NORMAL)
/* 0x0046 */ DEFINE_ACTOR(Bg_Hidan_Sima, ACTOR_BG_HIDAN_SIMA, ALLOCTYPE_NORMAL)
/* 0x0047 */ DEFINE_ACTOR(Bg_Hidan_Syoku, ACTOR_BG_HIDAN_SYOKU, ALLOCTYPE_NORMAL)
/* 0x0048 */ DEFINE_ACTOR(En_Xc, ACTOR_EN_XC, ALLOCTYPE_NORMAL)
/* 0x0049 */ DEFINE_ACTOR(Bg_Hidan_Curtain, ACTOR_BG_HIDAN_CURTAIN, ALLOCTYPE_NORMAL)
/* 0x004A */ DEFINE_ACTOR(Bg_Spot00_Hanebasi, ACTOR_BG_SPOT00_HANEBASI, ALLOCTYPE_NORMAL)
/* 0x004B */ DEFINE_ACTOR(En_Mb, ACTOR_EN_MB, ALLOCTYPE_NORMAL)
/* 0x004C */ DEFINE_ACTOR(En_Bombf, ACTOR_EN_BOMBF, ALLOCTYPE_NORMAL)
/* 0x004D */ DEFINE_ACTOR(En_Zl2, ACTOR_EN_ZL2, ALLOCTYPE_NORMAL)
/* 0x004E */ DEFINE_ACTOR(Bg_Hidan_Fslift, ACTOR_BG_HIDAN_FSLIFT, ALLOCTYPE_NORMAL)
/* 0x004F */ DEFINE_ACTOR(En_OE2, ACTOR_EN_OE2, ALLOCTYPE_NORMAL)
/* 0x0050 */ DEFINE_ACTOR(Bg_Ydan_Hasi, ACTOR_BG_YDAN_HASI, ALLOCTYPE_NORMAL)
/* 0x0051 */ DEFINE_ACTOR(Bg_Ydan_Maruta, ACTOR_BG_YDAN_MARUTA, ALLOCTYPE_NORMAL)
/* 0x0052 */ DEFINE_ACTOR(Boss_Ganondrof, ACTOR_BOSS_GANONDROF, ALLOCTYPE_NORMAL)
/* 0x0053 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_53)
/* 0x0054 */ DEFINE_ACTOR(En_Am, ACTOR_EN_AM, ALLOCTYPE_NORMAL)
/* 0x0055 */ DEFINE_ACTOR(En_Dekubaba, ACTOR_EN_DEKUBABA, ALLOCTYPE_NORMAL)
/* 0x0056 */ DEFINE_ACTOR(En_M_Fire1, ACTOR_EN_M_FIRE1, ALLOCTYPE_PERMANENT)
/* 0x0057 */ DEFINE_ACTOR(En_M_Thunder, ACTOR_EN_M_THUNDER, ALLOCTYPE_PERMANENT)
/* 0x0058 */ DEFINE_ACTOR(Bg_Ddan_Jd, ACTOR_BG_DDAN_JD, ALLOCTYPE_NORMAL)
/* 0x0059 */ DEFINE_ACTOR(Bg_Breakwall, ACTOR_BG_BREAKWALL, ALLOCTYPE_NORMAL)
/* 0x005A */ DEFINE_ACTOR(En_Jj, ACTOR_EN_JJ, ALLOCTYPE_NORMAL)
/* 0x005B */ DEFINE_ACTOR(En_Horse_Zelda, ACTOR_EN_HORSE_ZELDA, ALLOCTYPE_NORMAL)
/* 0x005C */ DEFINE_ACTOR(Bg_Ddan_Kd, ACTOR_BG_DDAN_KD, ALLOCTYPE_NORMAL)
/* 0x005D */ DEFINE_ACTOR(Door_Warp1, ACTOR_DOOR_WARP1, ALLOCTYPE_NORMAL)
/* 0x005E */ DEFINE_ACTOR(Obj_Syokudai, ACTOR_OBJ_SYOKUDAI, ALLOCTYPE_NORMAL)
/* 0x005F */ DEFINE_ACTOR(Item_B_Heart, ACTOR_ITEM_B_HEART, ALLOCTYPE_NORMAL)
/* 0x0060 */ DEFINE_ACTOR(En_Dekunuts, ACTOR_EN_DEKUNUTS, ALLOCTYPE_NORMAL)
/* 0x0061 */ DEFINE_ACTOR(Bg_Menkuri_Kaiten, ACTOR_BG_MENKURI_KAITEN, ALLOCTYPE_NORMAL)
/* 0x0062 */ DEFINE_ACTOR(Bg_Menkuri_Eye, ACTOR_BG_MENKURI_EYE, ALLOCTYPE_NORMAL)
/* 0x0063 */ DEFINE_ACTOR(En_Vali, ACTOR_EN_VALI, ALLOCTYPE_NORMAL)
/* 0x0064 */ DEFINE_ACTOR(Bg_Mizu_Movebg, ACTOR_BG_MIZU_MOVEBG, ALLOCTYPE_NORMAL)
/* 0x0065 */ DEFINE_ACTOR(Bg_Mizu_Water, ACTOR_BG_MIZU_WATER, ALLOCTYPE_NORMAL)
/* 0x0066 */ DEFINE_ACTOR(Arms_Hook, ACTOR_ARMS_HOOK, ALLOCTYPE_PERMANENT)
/* 0x0067 */ DEFINE_ACTOR(En_fHG, ACTOR_EN_FHG, ALLOCTYPE_NORMAL)
/* 0x0068 */ DEFINE_ACTOR(Bg_Mori_Hineri, ACTOR_BG_MORI_HINERI, ALLOCTYPE_NORMAL)
/* 0x0069 */ DEFINE_ACTOR(En_Bb, ACTOR_EN_BB, ALLOCTYPE_NORMAL)
/* 0x006A */ DEFINE_ACTOR(Bg_Toki_Hikari, ACTOR_BG_TOKI_HIKARI, ALLOCTYPE_NORMAL)
/* 0x006B */ DEFINE_ACTOR(En_Yukabyun, ACTOR_EN_YUKABYUN, ALLOCTYPE_NORMAL)
/* 0x006C */ DEFINE_ACTOR(Bg_Toki_Swd, ACTOR_BG_TOKI_SWD, ALLOCTYPE_NORMAL)
/* 0x006D */ DEFINE_ACTOR(En_Fhg_Fire, ACTOR_EN_FHG_FIRE, ALLOCTYPE_NORMAL)
/* 0x006E */ DEFINE_ACTOR(Bg_Mjin, ACTOR_BG_MJIN, ALLOCTYPE_NORMAL)
/* 0x006F */ DEFINE_ACTOR(Bg_Hidan_Kousi, ACTOR_BG_HIDAN_KOUSI, ALLOCTYPE_NORMAL)
/* 0x0070 */ DEFINE_ACTOR(Door_Toki, ACTOR_DOOR_TOKI, ALLOCTYPE_NORMAL)
/* 0x0071 */ DEFINE_ACTOR(Bg_Hidan_Hamstep, ACTOR_BG_HIDAN_HAMSTEP, ALLOCTYPE_NORMAL)
/* 0x0072 */ DEFINE_ACTOR(En_Bird, ACTOR_EN_BIRD, ALLOCTYPE_NORMAL)
/* 0x0073 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_73)
/* 0x0074 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_74)
/* 0x0075 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_75)
/* 0x0076 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_76)
/* 0x0077 */ DEFINE_ACTOR(En_Wood02, ACTOR_EN_WOOD02, ALLOCTYPE_NORMAL)
/* 0x0078 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_78)
/* 0x0079 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_79)
/* 0x007A */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_7A)
/* 0x007B */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_7B)
/* 0x007C */ DEFINE_ACTOR(En_Lightbox, ACTOR_EN_LIGHTBOX, ALLOCTYPE_NORMAL)
/* 0x007D */ DEFINE_ACTOR(En_Pu_box, ACTOR_EN_PU_BOX, ALLOCTYPE_NORMAL)
/* 0x007E */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_7E)
/* 0x007F */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_7F)
/* 0x0080 */ DEFINE_ACTOR(En_Trap, ACTOR_EN_TRAP, ALLOCTYPE_NORMAL)
/* 0x0081 */ DEFINE_ACTOR(En_Arow_Trap, ACTOR_EN_AROW_TRAP, ALLOCTYPE_NORMAL)
/* 0x0082 */ DEFINE_ACTOR(En_Vase, ACTOR_EN_VASE, ALLOCTYPE_NORMAL)
/* 0x0083 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_83)
/* 0x0084 */ DEFINE_ACTOR(En_Ta, ACTOR_EN_TA, ALLOCTYPE_NORMAL)
/* 0x0085 */ DEFINE_ACTOR(En_Tk, ACTOR_EN_TK, ALLOCTYPE_NORMAL)
/* 0x0086 */ DEFINE_ACTOR(Bg_Mori_Bigst, ACTOR_BG_MORI_BIGST, ALLOCTYPE_NORMAL)
/* 0x0087 */ DEFINE_ACTOR(Bg_Mori_Elevator, ACTOR_BG_MORI_ELEVATOR, ALLOCTYPE_NORMAL)
/* 0x0088 */ DEFINE_ACTOR(Bg_Mori_Kaitenkabe, ACTOR_BG_MORI_KAITENKABE, ALLOCTYPE_NORMAL)
/* 0x0089 */ DEFINE_ACTOR(Bg_Mori_Rakkatenjo, ACTOR_BG_MORI_RAKKATENJO, ALLOCTYPE_NORMAL)
/* 0x008A */ DEFINE_ACTOR(En_Vm, ACTOR_EN_VM, ALLOCTYPE_NORMAL)
/* 0x008B */ DEFINE_ACTOR(Demo_Effect, ACTOR_DEMO_EFFECT, ALLOCTYPE_NORMAL)
/* 0x008C */ DEFINE_ACTOR(Demo_Kankyo, ACTOR_DEMO_KANKYO, ALLOCTYPE_NORMAL)
/* 0x008D */ DEFINE_ACTOR(Bg_Hidan_Fwbig, ACTOR_BG_HIDAN_FWBIG, ALLOCTYPE_NORMAL)
/* 0x008E */ DEFINE_ACTOR(En_Floormas, ACTOR_EN_FLOORMAS, ALLOCTYPE_NORMAL)
/* 0x008F */ DEFINE_ACTOR(En_Heishi1, ACTOR_EN_HEISHI1, ALLOCTYPE_NORMAL)
/* 0x0090 */ DEFINE_ACTOR(En_Rd, ACTOR_EN_RD, ALLOCTYPE_NORMAL)
/* 0x0091 */ DEFINE_ACTOR(En_Po_Sisters, ACTOR_EN_PO_SISTERS, ALLOCTYPE_NORMAL)
/* 0x0092 */ DEFINE_ACTOR(Bg_Heavy_Block, ACTOR_BG_HEAVY_BLOCK, ALLOCTYPE_NORMAL)
/* 0x0093 */ DEFINE_ACTOR(Bg_Po_Event, ACTOR_BG_PO_EVENT, ALLOCTYPE_NORMAL)
/* 0x0094 */ DEFINE_ACTOR(Obj_Mure, ACTOR_OBJ_MURE, ALLOCTYPE_NORMAL)
/* 0x0095 */ DEFINE_ACTOR(En_Sw, ACTOR_EN_SW, ALLOCTYPE_NORMAL)
/* 0x0096 */ DEFINE_ACTOR(Boss_Fd, ACTOR_BOSS_FD, ALLOCTYPE_NORMAL)
/* 0x0097 */ DEFINE_ACTOR(Object_Kankyo, ACTOR_OBJECT_KANKYO, ALLOCTYPE_NORMAL)
/* 0x0098 */ DEFINE_ACTOR(En_Du, ACTOR_EN_DU, ALLOCTYPE_NORMAL)
/* 0x0099 */ DEFINE_ACTOR(En_Fd, ACTOR_EN_FD, ALLOCTYPE_NORMAL)
/* 0x009A */ DEFINE_ACTOR(En_Horse_Link_Child, ACTOR_EN_HORSE_LINK_CHILD, ALLOCTYPE_NORMAL)
/* 0x009B */ DEFINE_ACTOR(Door_Ana, ACTOR_DOOR_ANA, ALLOCTYPE_NORMAL)
/* 0x009C */ DEFINE_ACTOR(Bg_Spot02_Objects, ACTOR_BG_SPOT02_OBJECTS, ALLOCTYPE_NORMAL)
/* 0x009D */ DEFINE_ACTOR(Bg_Haka, ACTOR_BG_HAKA, ALLOCTYPE_NORMAL)
/* 0x009E */ DEFINE_ACTOR(Magic_Wind, ACTOR_MAGIC_WIND, ALLOCTYPE_ABSOLUTE)
/* 0x009F */ DEFINE_ACTOR(Magic_Fire, ACTOR_MAGIC_FIRE, ALLOCTYPE_ABSOLUTE)
/* 0x00A0 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_A0)
/* 0x00A1 */ DEFINE_ACTOR(En_Ru1, ACTOR_EN_RU1, ALLOCTYPE_NORMAL)
/* 0x00A2 */ DEFINE_ACTOR(Boss_Fd2, ACTOR_BOSS_FD2, ALLOCTYPE_NORMAL)
/* 0x00A3 */ DEFINE_ACTOR(En_Fd_Fire, ACTOR_EN_FD_FIRE, ALLOCTYPE_NORMAL)
/* 0x00A4 */ DEFINE_ACTOR(En_Dh, ACTOR_EN_DH, ALLOCTYPE_NORMAL)
/* 0x00A5 */ DEFINE_ACTOR(En_Dha, ACTOR_EN_DHA, ALLOCTYPE_NORMAL)
/* 0x00A6 */ DEFINE_ACTOR(En_Rl, ACTOR_EN_RL, ALLOCTYPE_NORMAL)
/* 0x00A7 */ DEFINE_ACTOR(En_Encount1, ACTOR_EN_ENCOUNT1, ALLOCTYPE_NORMAL)
/* 0x00A8 */ DEFINE_ACTOR(Demo_Du, ACTOR_DEMO_DU, ALLOCTYPE_NORMAL)
/* 0x00A9 */ DEFINE_ACTOR(Demo_Im, ACTOR_DEMO_IM, ALLOCTYPE_NORMAL)
/* 0x00AA */ DEFINE_ACTOR(Demo_Tre_Lgt, ACTOR_DEMO_TRE_LGT, ALLOCTYPE_NORMAL)
/* 0x00AB */ DEFINE_ACTOR(En_Fw, ACTOR_EN_FW, ALLOCTYPE_NORMAL)
/* 0x00AC */ DEFINE_ACTOR(Bg_Vb_Sima, ACTOR_BG_VB_SIMA, ALLOCTYPE_NORMAL)
/* 0x00AD */ DEFINE_ACTOR(En_Vb_Ball, ACTOR_EN_VB_BALL, ALLOCTYPE_NORMAL)
/* 0x00AE */ DEFINE_ACTOR(Bg_Haka_Megane, ACTOR_BG_HAKA_MEGANE, ALLOCTYPE_NORMAL)
/* 0x00AF */ DEFINE_ACTOR(Bg_Haka_MeganeBG, ACTOR_BG_HAKA_MEGANEBG, ALLOCTYPE_NORMAL)
/* 0x00B0 */ DEFINE_ACTOR(Bg_Haka_Ship, ACTOR_BG_HAKA_SHIP, ALLOCTYPE_NORMAL)
/* 0x00B1 */ DEFINE_ACTOR(Bg_Haka_Sgami, ACTOR_BG_HAKA_SGAMI, ALLOCTYPE_NORMAL)
/* 0x00B2 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_B2)
/* 0x00B3 */ DEFINE_ACTOR(En_Heishi2, ACTOR_EN_HEISHI2, ALLOCTYPE_NORMAL)
/* 0x00B4 */ DEFINE_ACTOR(En_Encount2, ACTOR_EN_ENCOUNT2, ALLOCTYPE_NORMAL)
/* 0x00B5 */ DEFINE_ACTOR(En_Fire_Rock, ACTOR_EN_FIRE_ROCK, ALLOCTYPE_NORMAL)
/* 0x00B6 */ DEFINE_ACTOR(En_Brob, ACTOR_EN_BROB, ALLOCTYPE_NORMAL)
/* 0x00B7 */ DEFINE_ACTOR(Mir_Ray, ACTOR_MIR_RAY, ALLOCTYPE_NORMAL)
/* 0x00B8 */ DEFINE_ACTOR(Bg_Spot09_Obj, ACTOR_BG_SPOT09_OBJ, ALLOCTYPE_NORMAL)
/* 0x00B9 */ DEFINE_ACTOR(Bg_Spot18_Obj, ACTOR_BG_SPOT18_OBJ, ALLOCTYPE_NORMAL)
/* 0x00BA */ DEFINE_ACTOR(Boss_Va, ACTOR_BOSS_VA, ALLOCTYPE_NORMAL)
/* 0x00BB */ DEFINE_ACTOR(Bg_Haka_Tubo, ACTOR_BG_HAKA_TUBO, ALLOCTYPE_NORMAL)
/* 0x00BC */ DEFINE_ACTOR(Bg_Haka_Trap, ACTOR_BG_HAKA_TRAP, ALLOCTYPE_NORMAL)
/* 0x00BD */ DEFINE_ACTOR(Bg_Haka_Huta, ACTOR_BG_HAKA_HUTA, ALLOCTYPE_NORMAL)
/* 0x00BE */ DEFINE_ACTOR(Bg_Haka_Zou, ACTOR_BG_HAKA_ZOU, ALLOCTYPE_NORMAL)
/* 0x00BF */ DEFINE_ACTOR(Bg_Spot17_Funen, ACTOR_BG_SPOT17_FUNEN, ALLOCTYPE_NORMAL)
/* 0x00C0 */ DEFINE_ACTOR(En_Syateki_Itm, ACTOR_EN_SYATEKI_ITM, ALLOCTYPE_NORMAL)
/* 0x00C1 */ DEFINE_ACTOR(En_Syateki_Man, ACTOR_EN_SYATEKI_MAN, ALLOCTYPE_NORMAL)
/* 0x00C2 */ DEFINE_ACTOR(En_Tana, ACTOR_EN_TANA, ALLOCTYPE_NORMAL)
/* 0x00C3 */ DEFINE_ACTOR(En_Nb, ACTOR_EN_NB, ALLOCTYPE_NORMAL)
/* 0x00C4 */ DEFINE_ACTOR(Boss_Mo, ACTOR_BOSS_MO, ALLOCTYPE_NORMAL)
/* 0x00C5 */ DEFINE_ACTOR(En_Sb, ACTOR_EN_SB, ALLOCTYPE_NORMAL)
/* 0x00C6 */ DEFINE_ACTOR(En_Bigokuta, ACTOR_EN_BIGOKUTA, ALLOCTYPE_NORMAL)
/* 0x00C7 */ DEFINE_ACTOR(En_Karebaba, ACTOR_EN_KAREBABA, ALLOCTYPE_NORMAL)
/* 0x00C8 */ DEFINE_ACTOR(Bg_Bdan_Objects, ACTOR_BG_BDAN_OBJECTS, ALLOCTYPE_NORMAL)
/* 0x00C9 */ DEFINE_ACTOR(Demo_Sa, ACTOR_DEMO_SA, ALLOCTYPE_NORMAL)
/* 0x00CA */ DEFINE_ACTOR(Demo_Go, ACTOR_DEMO_GO, ALLOCTYPE_NORMAL)
/* 0x00CB */ DEFINE_ACTOR(En_In, ACTOR_EN_IN, ALLOCTYPE_NORMAL)
/* 0x00CC */ DEFINE_ACTOR(En_Tr, ACTOR_EN_TR, ALLOCTYPE_NORMAL)
/* 0x00CD */ DEFINE_ACTOR(Bg_Spot16_Bombstone, ACTOR_BG_SPOT16_BOMBSTONE, ALLOCTYPE_NORMAL)
/* 0x00CE */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_CE)
/* 0x00CF */ DEFINE_ACTOR(Bg_Hidan_Kowarerukabe, ACTOR_BG_HIDAN_KOWARERUKABE, ALLOCTYPE_NORMAL)
/* 0x00D0 */ DEFINE_ACTOR(Bg_Bombwall, ACTOR_BG_BOMBWALL, ALLOCTYPE_NORMAL)
/* 0x00D1 */ DEFINE_ACTOR(Bg_Spot08_Iceblock, ACTOR_BG_SPOT08_ICEBLOCK, ALLOCTYPE_NORMAL)
/* 0x00D2 */ DEFINE_ACTOR(En_Ru2, ACTOR_EN_RU2, ALLOCTYPE_NORMAL)
/* 0x00D3 */ DEFINE_ACTOR(Obj_Dekujr, ACTOR_OBJ_DEKUJR, ALLOCTYPE_NORMAL)
/* 0x00D4 */ DEFINE_ACTOR(Bg_Mizu_Uzu, ACTOR_BG_MIZU_UZU, ALLOCTYPE_NORMAL)
/* 0x00D5 */ DEFINE_ACTOR(Bg_Spot06_Objects, ACTOR_BG_SPOT06_OBJECTS, ALLOCTYPE_NORMAL)
/* 0x00D6 */ DEFINE_ACTOR(Bg_Ice_Objects, ACTOR_BG_ICE_OBJECTS, ALLOCTYPE_NORMAL)
/* 0x00D7 */ DEFINE_ACTOR(Bg_Haka_Water, ACTOR_BG_HAKA_WATER, ALLOCTYPE_NORMAL)
/* 0x00D8 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_D8)
/* 0x00D9 */ DEFINE_ACTOR(En_Ma2, ACTOR_EN_MA2, ALLOCTYPE_NORMAL)
/* 0x00DA */ DEFINE_ACTOR(En_Bom_Chu, ACTOR_EN_BOM_CHU, ALLOCTYPE_NORMAL)
/* 0x00DB */ DEFINE_ACTOR(En_Horse_Game_Check, ACTOR_EN_HORSE_GAME_CHECK, ALLOCTYPE_NORMAL)
/* 0x00DC */ DEFINE_ACTOR(Boss_Tw, ACTOR_BOSS_TW, ALLOCTYPE_NORMAL)
/* 0x00DD */ DEFINE_ACTOR(En_Rr, ACTOR_EN_RR, ALLOCTYPE_NORMAL)
/* 0x00DE */ DEFINE_ACTOR(En_Ba, ACTOR_EN_BA, ALLOCTYPE_NORMAL)
/* 0x00DF */ DEFINE_ACTOR(En_Bx, ACTOR_EN_BX, ALLOCTYPE_NORMAL)
/* 0x00E0 */ DEFINE_ACTOR(En_Anubice, ACTOR_EN_ANUBICE, ALLOCTYPE_NORMAL)
/* 0x00E1 */ DEFINE_ACTOR(En_Anubice_Fire, ACTOR_EN_ANUBICE_FIRE, ALLOCTYPE_NORMAL)
/* 0x00E2 */ DEFINE_ACTOR(Bg_Mori_Hashigo, ACTOR_BG_MORI_HASHIGO, ALLOCTYPE_NORMAL)
/* 0x00E3 */ DEFINE_ACTOR(Bg_Mori_Hashira4, ACTOR_BG_MORI_HASHIRA4, ALLOCTYPE_NORMAL)
/* 0x00E4 */ DEFINE_ACTOR(Bg_Mori_Idomizu, ACTOR_BG_MORI_IDOMIZU, ALLOCTYPE_NORMAL)
/* 0x00E5 */ DEFINE_ACTOR(Bg_Spot16_Doughnut, ACTOR_BG_SPOT16_DOUGHNUT, ALLOCTYPE_NORMAL)
/* 0x00E6 */ DEFINE_ACTOR(Bg_Bdan_Switch, ACTOR_BG_BDAN_SWITCH, ALLOCTYPE_NORMAL)
/* 0x00E7 */ DEFINE_ACTOR(En_Ma1, ACTOR_EN_MA1, ALLOCTYPE_NORMAL)
/* 0x00E8 */ DEFINE_ACTOR(Boss_Ganon, ACTOR_BOSS_GANON, ALLOCTYPE_NORMAL)
/* 0x00E9 */ DEFINE_ACTOR(Boss_Sst, ACTOR_BOSS_SST, ALLOCTYPE_NORMAL)
/* 0x00EA */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_EA)
/* 0x00EB */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_EB)
/* 0x00EC */ DEFINE_ACTOR(En_Ny, ACTOR_EN_NY, ALLOCTYPE_NORMAL)
/* 0x00ED */ DEFINE_ACTOR(En_Fr, ACTOR_EN_FR, ALLOCTYPE_NORMAL)
/* 0x00EE */ DEFINE_ACTOR(Item_Shield, ACTOR_ITEM_SHIELD, ALLOCTYPE_NORMAL)
/* 0x00EF */ DEFINE_ACTOR(Bg_Ice_Shelter, ACTOR_BG_ICE_SHELTER, ALLOCTYPE_NORMAL)
/* 0x00F0 */ DEFINE_ACTOR(En_Ice_Hono, ACTOR_EN_ICE_HONO, ALLOCTYPE_NORMAL)
/* 0x00F1 */ DEFINE_ACTOR(Item_Ocarina, ACTOR_ITEM_OCARINA, ALLOCTYPE_NORMAL)
/* 0x00F2 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_F2)
/* 0x00F3 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_F3)
/* 0x00F4 */ DEFINE_ACTOR(Magic_Dark, ACTOR_MAGIC_DARK, ALLOCTYPE_ABSOLUTE)
/* 0x00F5 */ DEFINE_ACTOR(Demo_6K, ACTOR_DEMO_6K, ALLOCTYPE_NORMAL)
/* 0x00F6 */ DEFINE_ACTOR(En_Anubice_Tag, ACTOR_EN_ANUBICE_TAG, ALLOCTYPE_NORMAL)
/* 0x00F7 */ DEFINE_ACTOR(Bg_Haka_Gate, ACTOR_BG_HAKA_GATE, ALLOCTYPE_NORMAL)
/* 0x00F8 */ DEFINE_ACTOR(Bg_Spot15_Saku, ACTOR_BG_SPOT15_SAKU, ALLOCTYPE_NORMAL)
/* 0x00F9 */ DEFINE_ACTOR(Bg_Jya_Goroiwa, ACTOR_BG_JYA_GOROIWA, ALLOCTYPE_NORMAL)
/* 0x00FA */ DEFINE_ACTOR(Bg_Jya_Zurerukabe, ACTOR_BG_JYA_ZURERUKABE, ALLOCTYPE_NORMAL)
/* 0x00FB */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_FB)
/* 0x00FC */ DEFINE_ACTOR(Bg_Jya_Cobra, ACTOR_BG_JYA_COBRA, ALLOCTYPE_NORMAL)
/* 0x00FD */ DEFINE_ACTOR(Bg_Jya_Kanaami, ACTOR_BG_JYA_KANAAMI, ALLOCTYPE_NORMAL)
/* 0x00FE */ DEFINE_ACTOR(Fishing, ACTOR_FISHING, ALLOCTYPE_NORMAL)
/* 0x00FF */ DEFINE_ACTOR(Obj_Oshihiki, ACTOR_OBJ_OSHIHIKI, ALLOCTYPE_NORMAL)
/* 0x0100 */ DEFINE_ACTOR(Bg_Gate_Shutter, ACTOR_BG_GATE_SHUTTER, ALLOCTYPE_NORMAL)
/* 0x0101 */ DEFINE_ACTOR(Eff_Dust, ACTOR_EFF_DUST, ALLOCTYPE_NORMAL)
/* 0x0102 */ DEFINE_ACTOR(Bg_Spot01_Fusya, ACTOR_BG_SPOT01_FUSYA, ALLOCTYPE_NORMAL)
/* 0x0103 */ DEFINE_ACTOR(Bg_Spot01_Idohashira, ACTOR_BG_SPOT01_IDOHASHIRA, ALLOCTYPE_NORMAL)
/* 0x0104 */ DEFINE_ACTOR(Bg_Spot01_Idomizu, ACTOR_BG_SPOT01_IDOMIZU, ALLOCTYPE_NORMAL)
/* 0x0105 */ DEFINE_ACTOR(Bg_Po_Syokudai, ACTOR_BG_PO_SYOKUDAI, ALLOCTYPE_NORMAL)
/* 0x0106 */ DEFINE_ACTOR(Bg_Ganon_Otyuka, ACTOR_BG_GANON_OTYUKA, ALLOCTYPE_NORMAL)
/* 0x0107 */ DEFINE_ACTOR(Bg_Spot15_Rrbox, ACTOR_BG_SPOT15_RRBOX, ALLOCTYPE_NORMAL)
/* 0x0108 */ DEFINE_ACTOR(Bg_Umajump, ACTOR_BG_UMAJUMP, ALLOCTYPE_NORMAL)
/* 0x0109 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_109)
/* 0x010A */ DEFINE_ACTOR(Arrow_Fire, ACTOR_ARROW_FIRE, ALLOCTYPE_ABSOLUTE)
/* 0x010B */ DEFINE_ACTOR(Arrow_Ice, ACTOR_ARROW_ICE, ALLOCTYPE_ABSOLUTE)
/* 0x010C */ DEFINE_ACTOR(Arrow_Light, ACTOR_ARROW_LIGHT, ALLOCTYPE_ABSOLUTE)
/* 0x010D */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_10D)
/* 0x010E */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_10E)
/* 0x010F */ DEFINE_ACTOR(Item_Etcetera, ACTOR_ITEM_ETCETERA, ALLOCTYPE_NORMAL)
/* 0x0110 */ DEFINE_ACTOR(Obj_Kibako, ACTOR_OBJ_KIBAKO, ALLOCTYPE_NORMAL)
/* 0x0111 */ DEFINE_ACTOR(Obj_Tsubo, ACTOR_OBJ_TSUBO, ALLOCTYPE_NORMAL)
/* 0x0112 */ DEFINE_ACTOR(En_Wonder_Item, ACTOR_EN_WONDER_ITEM, ALLOCTYPE_NORMAL)
/* 0x0113 */ DEFINE_ACTOR(En_Ik, ACTOR_EN_IK, ALLOCTYPE_NORMAL)
/* 0x0114 */ DEFINE_ACTOR(Demo_Ik, ACTOR_DEMO_IK, ALLOCTYPE_NORMAL)
/* 0x0115 */ DEFINE_ACTOR(En_Skj, ACTOR_EN_SKJ, ALLOCTYPE_NORMAL)
/* 0x0116 */ DEFINE_ACTOR(En_Skjneedle, ACTOR_EN_SKJNEEDLE, ALLOCTYPE_NORMAL)
/* 0x0117 */ DEFINE_ACTOR(En_G_Switch, ACTOR_EN_G_SWITCH, ALLOCTYPE_NORMAL)
/* 0x0118 */ DEFINE_ACTOR(Demo_Ext, ACTOR_DEMO_EXT, ALLOCTYPE_NORMAL)
/* 0x0119 */ DEFINE_ACTOR(Demo_Shd, ACTOR_DEMO_SHD, ALLOCTYPE_NORMAL)
/* 0x011A */ DEFINE_ACTOR(En_Dns, ACTOR_EN_DNS, ALLOCTYPE_NORMAL)
/* 0x011B */ DEFINE_ACTOR(Elf_Msg, ACTOR_ELF_MSG, ALLOCTYPE_NORMAL)
/* 0x011C */ DEFINE_ACTOR(En_Honotrap, ACTOR_EN_HONOTRAP, ALLOCTYPE_NORMAL)
/* 0x011D */ DEFINE_ACTOR(En_Tubo_Trap, ACTOR_EN_TUBO_TRAP, ALLOCTYPE_NORMAL)
/* 0x011E */ DEFINE_ACTOR(Obj_Ice_Poly, ACTOR_OBJ_ICE_POLY, ALLOCTYPE_NORMAL)
/* 0x011F */ DEFINE_ACTOR(Bg_Spot03_Taki, ACTOR_BG_SPOT03_TAKI, ALLOCTYPE_NORMAL)
/* 0x0120 */ DEFINE_ACTOR(Bg_Spot07_Taki, ACTOR_BG_SPOT07_TAKI, ALLOCTYPE_NORMAL)
/* 0x0121 */ DEFINE_ACTOR(En_Fz, ACTOR_EN_FZ, ALLOCTYPE_NORMAL)
/* 0x0122 */ DEFINE_ACTOR(En_Po_Relay, ACTOR_EN_PO_RELAY, ALLOCTYPE_NORMAL)
/* 0x0123 */ DEFINE_ACTOR(Bg_Relay_Objects, ACTOR_BG_RELAY_OBJECTS, ALLOCTYPE_NORMAL)
/* 0x0124 */ DEFINE_ACTOR(En_Diving_Game, ACTOR_EN_DIVING_GAME, ALLOCTYPE_NORMAL)
/* 0x0125 */ DEFINE_ACTOR(En_Kusa, ACTOR_EN_KUSA, ALLOCTYPE_NORMAL)
/* 0x0126 */ DEFINE_ACTOR(Obj_Bean, ACTOR_OBJ_BEAN, ALLOCTYPE_NORMAL)
/* 0x0127 */ DEFINE_ACTOR(Obj_Bombiwa, ACTOR_OBJ_BOMBIWA, ALLOCTYPE_NORMAL)
/* 0x0128 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_128)
/* 0x0129 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_129)
/* 0x012A */ DEFINE_ACTOR(Obj_Switch, ACTOR_OBJ_SWITCH, ALLOCTYPE_NORMAL)
/* 0x012B */ DEFINE_ACTOR(Obj_Elevator, ACTOR_OBJ_ELEVATOR, ALLOCTYPE_NORMAL)
/* 0x012C */ DEFINE_ACTOR(Obj_Lift, ACTOR_OBJ_LIFT, ALLOCTYPE_NORMAL)
/* 0x012D */ DEFINE_ACTOR(Obj_Hsblock, ACTOR_OBJ_HSBLOCK, ALLOCTYPE_NORMAL)
/* 0x012E */ DEFINE_ACTOR(En_Okarina_Tag, ACTOR_EN_OKARINA_TAG, ALLOCTYPE_NORMAL)
/* 0x012F */ DEFINE_ACTOR(En_Yabusame_Mark, ACTOR_EN_YABUSAME_MARK, ALLOCTYPE_NORMAL)
/* 0x0130 */ DEFINE_ACTOR(En_Goroiwa, ACTOR_EN_GOROIWA, ALLOCTYPE_NORMAL)
/* 0x0131 */ DEFINE_ACTOR(En_Ex_Ruppy, ACTOR_EN_EX_RUPPY, ALLOCTYPE_NORMAL)
/* 0x0132 */ DEFINE_ACTOR(En_Toryo, ACTOR_EN_TORYO, ALLOCTYPE_NORMAL)
/* 0x0133 */ DEFINE_ACTOR(En_Daiku, ACTOR_EN_DAIKU, ALLOCTYPE_NORMAL)
/* 0x0134 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_134)
/* 0x0135 */ DEFINE_ACTOR(En_Nwc, ACTOR_EN_NWC, ALLOCTYPE_NORMAL)
/* 0x0136 */ DEFINE_ACTOR(En_Blkobj, ACTOR_EN_BLKOBJ, ALLOCTYPE_NORMAL)
/* 0x0137 */ DEFINE_ACTOR(Item_Inbox, ACTOR_ITEM_INBOX, ALLOCTYPE_NORMAL)
/* 0x0138 */ DEFINE_ACTOR(En_Ge1, ACTOR_EN_GE1, ALLOCTYPE_NORMAL)
/* 0x0139 */ DEFINE_ACTOR(Obj_Blockstop, ACTOR_OBJ_BLOCKSTOP, ALLOCTYPE_NORMAL)
/* 0x013A */ DEFINE_ACTOR(En_Sda, ACTOR_EN_SDA, ALLOCTYPE_NORMAL)
/* 0x013B */ DEFINE_ACTOR(En_Clear_Tag, ACTOR_EN_CLEAR_TAG, ALLOCTYPE_NORMAL)
/* 0x013C */ DEFINE_ACTOR(En_Niw_Lady, ACTOR_EN_NIW_LADY, ALLOCTYPE_NORMAL)
/* 0x013D */ DEFINE_ACTOR(En_Gm, ACTOR_EN_GM, ALLOCTYPE_NORMAL)
/* 0x013E */ DEFINE_ACTOR(En_Ms, ACTOR_EN_MS, ALLOCTYPE_NORMAL)
/* 0x013F */ DEFINE_ACTOR(En_Hs, ACTOR_EN_HS, ALLOCTYPE_NORMAL)
/* 0x0140 */ DEFINE_ACTOR(Bg_Ingate, ACTOR_BG_INGATE, ALLOCTYPE_NORMAL)
/* 0x0141 */ DEFINE_ACTOR(En_Kanban, ACTOR_EN_KANBAN, ALLOCTYPE_NORMAL)
/* 0x0142 */ DEFINE_ACTOR(En_Heishi3, ACTOR_EN_HEISHI3, ALLOCTYPE_NORMAL)
/* 0x0143 */ DEFINE_ACTOR(En_Syateki_Niw, ACTOR_EN_SYATEKI_NIW, ALLOCTYPE_NORMAL)
/* 0x0144 */ DEFINE_ACTOR(En_Attack_Niw, ACTOR_EN_ATTACK_NIW, ALLOCTYPE_NORMAL)
/* 0x0145 */ DEFINE_ACTOR(Bg_Spot01_Idosoko, ACTOR_BG_SPOT01_IDOSOKO, ALLOCTYPE_NORMAL)
/* 0x0146 */ DEFINE_ACTOR(En_Sa, ACTOR_EN_SA, ALLOCTYPE_NORMAL)
/* 0x0147 */ DEFINE_ACTOR(En_Wonder_Talk, ACTOR_EN_WONDER_TALK, ALLOCTYPE_NORMAL)
/* 0x0148 */ DEFINE_ACTOR(Bg_Gjyo_Bridge, ACTOR_BG_GJYO_BRIDGE, ALLOCTYPE_NORMAL)
/* 0x0149 */ DEFINE_ACTOR(En_Ds, ACTOR_EN_DS, ALLOCTYPE_NORMAL)
/* 0x014A */ DEFINE_ACTOR(En_Mk, ACTOR_EN_MK, ALLOCTYPE_NORMAL)
/* 0x014B */ DEFINE_ACTOR(En_Bom_Bowl_Man, ACTOR_EN_BOM_BOWL_MAN, ALLOCTYPE_NORMAL)
/* 0x014C */ DEFINE_ACTOR(En_Bom_Bowl_Pit, ACTOR_EN_BOM_BOWL_PIT, ALLOCTYPE_NORMAL)
/* 0x014D */ DEFINE_ACTOR(En_Owl, ACTOR_EN_OWL, ALLOCTYPE_NORMAL)
/* 0x014E */ DEFINE_ACTOR(En_Ishi, ACTOR_EN_ISHI, ALLOCTYPE_NORMAL)
/* 0x014F */ DEFINE_ACTOR(Obj_Hana, ACTOR_OBJ_HANA, ALLOCTYPE_NORMAL)
/* 0x0150 */ DEFINE_ACTOR(Obj_Lightswitch, ACTOR_OBJ_LIGHTSWITCH, ALLOCTYPE_NORMAL)
/* 0x0151 */ DEFINE_ACTOR(Obj_Mure2, ACTOR_OBJ_MURE2, ALLOCTYPE_NORMAL)
/* 0x0152 */ DEFINE_ACTOR(En_Go, ACTOR_EN_GO, ALLOCTYPE_NORMAL)
/* 0x0153 */ DEFINE_ACTOR(En_Fu, ACTOR_EN_FU, ALLOCTYPE_NORMAL)
/* 0x0154 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_154)
/* 0x0155 */ DEFINE_ACTOR(En_Changer, ACTOR_EN_CHANGER, ALLOCTYPE_NORMAL)
/* 0x0156 */ DEFINE_ACTOR(Bg_Jya_Megami, ACTOR_BG_JYA_MEGAMI, ALLOCTYPE_NORMAL)
/* 0x0157 */ DEFINE_ACTOR(Bg_Jya_Lift, ACTOR_BG_JYA_LIFT, ALLOCTYPE_NORMAL)
/* 0x0158 */ DEFINE_ACTOR(Bg_Jya_Bigmirror, ACTOR_BG_JYA_BIGMIRROR, ALLOCTYPE_NORMAL)
/* 0x0159 */ DEFINE_ACTOR(Bg_Jya_Bombchuiwa, ACTOR_BG_JYA_BOMBCHUIWA, ALLOCTYPE_NORMAL)
/* 0x015A */ DEFINE_ACTOR(Bg_Jya_Amishutter, ACTOR_BG_JYA_AMISHUTTER, ALLOCTYPE_NORMAL)
/* 0x015B */ DEFINE_ACTOR(Bg_Jya_Bombiwa, ACTOR_BG_JYA_BOMBIWA, ALLOCTYPE_NORMAL)
/* 0x015C */ DEFINE_ACTOR(Bg_Spot18_Basket, ACTOR_BG_SPOT18_BASKET, ALLOCTYPE_NORMAL)
/* 0x015D */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_15D)
/* 0x015E */ DEFINE_ACTOR(En_Ganon_Organ, ACTOR_EN_GANON_ORGAN, ALLOCTYPE_NORMAL)
/* 0x015F */ DEFINE_ACTOR(En_Siofuki, ACTOR_EN_SIOFUKI, ALLOCTYPE_NORMAL)
/* 0x0160 */ DEFINE_ACTOR(En_Stream, ACTOR_EN_STREAM, ALLOCTYPE_NORMAL)
/* 0x0161 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_161)
/* 0x0162 */ DEFINE_ACTOR(En_Mm, ACTOR_EN_MM, ALLOCTYPE_NORMAL)
/* 0x0163 */ DEFINE_ACTOR(En_Ko, ACTOR_EN_KO, ALLOCTYPE_NORMAL)
/* 0x0164 */ DEFINE_ACTOR(En_Kz, ACTOR_EN_KZ, ALLOCTYPE_NORMAL)
/* 0x0165 */ DEFINE_ACTOR(En_Weather_Tag, ACTOR_EN_WEATHER_TAG, ALLOCTYPE_NORMAL)
/* 0x0166 */ DEFINE_ACTOR(Bg_Sst_Floor, ACTOR_BG_SST_FLOOR, ALLOCTYPE_NORMAL)
/* 0x0167 */ DEFINE_ACTOR(En_Ani, ACTOR_EN_ANI, ALLOCTYPE_NORMAL)
/* 0x0168 */ DEFINE_ACTOR(En_Ex_Item, ACTOR_EN_EX_ITEM, ALLOCTYPE_NORMAL)
/* 0x0169 */ DEFINE_ACTOR(Bg_Jya_Ironobj, ACTOR_BG_JYA_IRONOBJ, ALLOCTYPE_NORMAL)
/* 0x016A */ DEFINE_ACTOR(En_Js, ACTOR_EN_JS, ALLOCTYPE_NORMAL)
/* 0x016B */ DEFINE_ACTOR(En_Jsjutan, ACTOR_EN_JSJUTAN, ALLOCTYPE_NORMAL)
/* 0x016C */ DEFINE_ACTOR(En_Cs, ACTOR_EN_CS, ALLOCTYPE_NORMAL)
/* 0x016D */ DEFINE_ACTOR(En_Md, ACTOR_EN_MD, ALLOCTYPE_NORMAL)
/* 0x016E */ DEFINE_ACTOR(En_Hy, ACTOR_EN_HY, ALLOCTYPE_NORMAL)
/* 0x016F */ DEFINE_ACTOR(En_Ganon_Mant, ACTOR_EN_GANON_MANT, ALLOCTYPE_NORMAL)
/* 0x0170 */ DEFINE_ACTOR(En_Okarina_Effect, ACTOR_EN_OKARINA_EFFECT, ALLOCTYPE_NORMAL)
/* 0x0171 */ DEFINE_ACTOR(En_Mag, ACTOR_EN_MAG, ALLOCTYPE_NORMAL)
/* 0x0172 */ DEFINE_ACTOR(Door_Gerudo, ACTOR_DOOR_GERUDO, ALLOCTYPE_NORMAL)
/* 0x0173 */ DEFINE_ACTOR(Elf_Msg2, ACTOR_ELF_MSG2, ALLOCTYPE_NORMAL)
/* 0x0174 */ DEFINE_ACTOR(Demo_Gt, ACTOR_DEMO_GT, ALLOCTYPE_NORMAL)
/* 0x0175 */ DEFINE_ACTOR(En_Po_Field, ACTOR_EN_PO_FIELD, ALLOCTYPE_NORMAL)
/* 0x0176 */ DEFINE_ACTOR(Efc_Erupc, ACTOR_EFC_ERUPC, ALLOCTYPE_NORMAL)
/* 0x0177 */ DEFINE_ACTOR(Bg_Zg, ACTOR_BG_ZG, ALLOCTYPE_NORMAL)
/* 0x0178 */ DEFINE_ACTOR(En_Heishi4, ACTOR_EN_HEISHI4, ALLOCTYPE_NORMAL)
/* 0x0179 */ DEFINE_ACTOR(En_Zl3, ACTOR_EN_ZL3, ALLOCTYPE_NORMAL)
/* 0x017A */ DEFINE_ACTOR(Boss_Ganon2, ACTOR_BOSS_GANON2, ALLOCTYPE_NORMAL)
/* 0x017B */ DEFINE_ACTOR(En_Kakasi, ACTOR_EN_KAKASI, ALLOCTYPE_NORMAL)
/* 0x017C */ DEFINE_ACTOR(En_Takara_Man, ACTOR_EN_TAKARA_MAN, ALLOCTYPE_NORMAL)
/* 0x017D */ DEFINE_ACTOR(Obj_Makeoshihiki, ACTOR_OBJ_MAKEOSHIHIKI, ALLOCTYPE_NORMAL)
/* 0x017E */ DEFINE_ACTOR(Oceff_Spot, ACTOR_OCEFF_SPOT, ALLOCTYPE_ABSOLUTE)
/* 0x017F */ DEFINE_ACTOR(End_Title, ACTOR_END_TITLE, ALLOCTYPE_NORMAL)
/* 0x0180 */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_180)
/* 0x0181 */ DEFINE_ACTOR(En_Torch, ACTOR_EN_TORCH, ALLOCTYPE_NORMAL)
/* 0x0182 */ DEFINE_ACTOR(Demo_Ec, ACTOR_DEMO_EC, ALLOCTYPE_NORMAL)
/* 0x0183 */ DEFINE_ACTOR(Shot_Sun, ACTOR_SHOT_SUN, ALLOCTYPE_NORMAL)
/* 0x0184 */ DEFINE_ACTOR(En_Dy_Extra, ACTOR_EN_DY_EXTRA, ALLOCTYPE_NORMAL)
/* 0x0185 */ DEFINE_ACTOR(En_Wonder_Talk2, ACTOR_EN_WONDER_TALK2, ALLOCTYPE_NORMAL)
/* 0x0186 */ DEFINE_ACTOR(En_Ge2, ACTOR_EN_GE2, ALLOCTYPE_NORMAL)
/* 0x0187 */ DEFINE_ACTOR(Obj_Roomtimer, ACTOR_OBJ_ROOMTIMER, ALLOCTYPE_NORMAL)
/* 0x0188 */ DEFINE_ACTOR(En_Ssh, ACTOR_EN_SSH, ALLOCTYPE_NORMAL)
/* 0x0189 */ DEFINE_ACTOR(En_Sth, ACTOR_EN_STH, ALLOCTYPE_NORMAL)
/* 0x018A */ DEFINE_ACTOR(Oceff_Wipe, ACTOR_OCEFF_WIPE, ALLOCTYPE_ABSOLUTE)
/* 0x018B */ DEFINE_ACTOR(Oceff_Storm, ACTOR_OCEFF_STORM, ALLOCTYPE_ABSOLUTE)
/* 0x018C */ DEFINE_ACTOR(En_Weiyer, ACTOR_EN_WEIYER, ALLOCTYPE_NORMAL)
/* 0x018D */ DEFINE_ACTOR(Bg_Spot05_Soko, ACTOR_BG_SPOT05_SOKO, ALLOCTYPE_NORMAL)
/* 0x018E */ DEFINE_ACTOR(Bg_Jya_1flift, ACTOR_BG_JYA_1FLIFT, ALLOCTYPE_NORMAL)
/* 0x018F */ DEFINE_ACTOR(Bg_Jya_Haheniron, ACTOR_BG_JYA_HAHENIRON, ALLOCTYPE_NORMAL)
/* 0x0190 */ DEFINE_ACTOR(Bg_Spot12_Gate, ACTOR_BG_SPOT12_GATE, ALLOCTYPE_NORMAL)
/* 0x0191 */ DEFINE_ACTOR(Bg_Spot12_Saku, ACTOR_BG_SPOT12_SAKU, ALLOCTYPE_NORMAL)
/* 0x0192 */ DEFINE_ACTOR(En_Hintnuts, ACTOR_EN_HINTNUTS, ALLOCTYPE_NORMAL)
/* 0x0193 */ DEFINE_ACTOR(En_Nutsball, ACTOR_EN_NUTSBALL, ALLOCTYPE_NORMAL)
/* 0x0194 */ DEFINE_ACTOR(Bg_Spot00_Break, ACTOR_BG_SPOT00_BREAK, ALLOCTYPE_NORMAL)
/* 0x0195 */ DEFINE_ACTOR(En_Shopnuts, ACTOR_EN_SHOPNUTS, ALLOCTYPE_NORMAL)
/* 0x0196 */ DEFINE_ACTOR(En_It, ACTOR_EN_IT, ALLOCTYPE_NORMAL)
/* 0x0197 */ DEFINE_ACTOR(En_GeldB, ACTOR_EN_GELDB, ALLOCTYPE_NORMAL)
/* 0x0198 */ DEFINE_ACTOR(Oceff_Wipe2, ACTOR_OCEFF_WIPE2, ALLOCTYPE_ABSOLUTE)
/* 0x0199 */ DEFINE_ACTOR(Oceff_Wipe3, ACTOR_OCEFF_WIPE3, ALLOCTYPE_ABSOLUTE)
/* 0x019A */ DEFINE_ACTOR(En_Niw_Girl, ACTOR_EN_NIW_GIRL, ALLOCTYPE_NORMAL)
/* 0x019B */ DEFINE_ACTOR(En_Dog, ACTOR_EN_DOG, ALLOCTYPE_NORMAL)
/* 0x019C */ DEFINE_ACTOR(En_Si, ACTOR_EN_SI, ALLOCTYPE_NORMAL)
/* 0x019D */ DEFINE_ACTOR(Bg_Spot01_Objects2, ACTOR_BG_SPOT01_OBJECTS2, ALLOCTYPE_NORMAL)
/* 0x019E */ DEFINE_ACTOR(Obj_Comb, ACTOR_OBJ_COMB, ALLOCTYPE_NORMAL)
/* 0x019F */ DEFINE_ACTOR(Bg_Spot11_Bakudankabe, ACTOR_BG_SPOT11_BAKUDANKABE, ALLOCTYPE_NORMAL)
/* 0x01A0 */ DEFINE_ACTOR(Obj_Kibako2, ACTOR_OBJ_KIBAKO2, ALLOCTYPE_NORMAL)
/* 0x01A1 */ DEFINE_ACTOR(En_Dnt_Demo, ACTOR_EN_DNT_DEMO, ALLOCTYPE_NORMAL)
/* 0x01A2 */ DEFINE_ACTOR(En_Dnt_Jiji, ACTOR_EN_DNT_JIJI, ALLOCTYPE_NORMAL)
/* 0x01A3 */ DEFINE_ACTOR(En_Dnt_Nomal, ACTOR_EN_DNT_NOMAL, ALLOCTYPE_NORMAL)
/* 0x01A4 */ DEFINE_ACTOR(En_Guest, ACTOR_EN_GUEST, ALLOCTYPE_NORMAL)
/* 0x01A5 */ DEFINE_ACTOR(Bg_Bom_Guard, ACTOR_BG_BOM_GUARD, ALLOCTYPE_NORMAL)
/* 0x01A6 */ DEFINE_ACTOR(En_Hs2, ACTOR_EN_HS2, ALLOCTYPE_NORMAL)
/* 0x01A7 */ DEFINE_ACTOR(Demo_Kekkai, ACTOR_DEMO_KEKKAI, ALLOCTYPE_NORMAL)
/* 0x01A8 */ DEFINE_ACTOR(Bg_Spot08_Bakudankabe, ACTOR_BG_SPOT08_BAKUDANKABE, ALLOCTYPE_NORMAL)
/* 0x01A9 */ DEFINE_ACTOR(Bg_Spot17_Bakudankabe, ACTOR_BG_SPOT17_BAKUDANKABE, ALLOCTYPE_NORMAL)
/* 0x01AA */ DEFINE_ACTOR_UNSET(ACTOR_UNSET_1AA)
/* 0x01AB */ DEFINE_ACTOR(Obj_Mure3, ACTOR_OBJ_MURE3, ALLOCTYPE_NORMAL)
/* 0x01AC */ DEFINE_ACTOR(En_Tg, ACTOR_EN_TG, ALLOCTYPE_NORMAL)
/* 0x01AD */ DEFINE_ACTOR(En_Mu, ACTOR_EN_MU, ALLOCTYPE_NORMAL)
/* 0x01AE */ DEFINE_ACTOR(En_Go2, ACTOR_EN_GO2, ALLOCTYPE_NORMAL)
/* 0x01AF */ DEFINE_ACTOR(En_Wf, ACTOR_EN_WF, ALLOCTYPE_NORMAL)
/* 0x01B0 */ DEFINE_ACTOR(En_Skb, ACTOR_EN_SKB, ALLOCTYPE_NORMAL)
/* 0x01B1 */ DEFINE_ACTOR(Demo_Gj, ACTOR_DEMO_GJ, ALLOCTYPE_NORMAL)
/* 0x01B2 */ DEFINE_ACTOR(Demo_Geff, ACTOR_DEMO_GEFF, ALLOCTYPE_NORMAL)
/* 0x01B3 */ DEFINE_ACTOR(Bg_Gnd_Firemeiro, ACTOR_BG_GND_FIREMEIRO, ALLOCTYPE_NORMAL)
/* 0x01B4 */ DEFINE_ACTOR(Bg_Gnd_Darkmeiro, ACTOR_BG_GND_DARKMEIRO, ALLOCTYPE_NORMAL)
/* 0x01B5 */ DEFINE_ACTOR(Bg_Gnd_Soulmeiro, ACTOR_BG_GND_SOULMEIRO, ALLOCTYPE_NORMAL)
/* 0x01B6 */ DEFINE_ACTOR(Bg_Gnd_Nisekabe, ACTOR_BG_GND_NISEKABE, ALLOCTYPE_NORMAL)
/* 0x01B7 */ DEFINE_ACTOR(Bg_Gnd_Iceblock, ACTOR_BG_GND_ICEBLOCK, ALLOCTYPE_NORMAL)
/* 0x01B8 */ DEFINE_ACTOR(En_Gb, ACTOR_EN_GB, ALLOCTYPE_NORMAL)
/* 0x01B9 */ DEFINE_ACTOR(En_Gs, ACTOR_EN_GS, ALLOCTYPE_NORMAL)
/* 0x01BA */ DEFINE_ACTOR(Bg_Mizu_Bwall, ACTOR_BG_MIZU_BWALL, ALLOCTYPE_NORMAL)
/* 0x01BB */ DEFINE_ACTOR(Bg_Mizu_Shutter, ACTOR_BG_MIZU_SHUTTER, ALLOCTYPE_NORMAL)
/* 0x01BC */ DEFINE_ACTOR(En_Daiku_Kakariko, ACTOR_EN_DAIKU_KAKARIKO, ALLOCTYPE_NORMAL)
/* 0x01BD */ DEFINE_ACTOR(Bg_Bowl_Wall, ACTOR_BG_BOWL_WALL, ALLOCTYPE_NORMAL)
/* 0x01BE */ DEFINE_ACTOR(En_Wall_Tubo, ACTOR_EN_WALL_TUBO, ALLOCTYPE_NORMAL)
/* 0x01BF */ DEFINE_ACTOR(En_Po_Desert, ACTOR_EN_PO_DESERT, ALLOCTYPE_NORMAL)
/* 0x01C0 */ DEFINE_ACTOR(En_Crow, ACTOR_EN_CROW, ALLOCTYPE_NORMAL)
/* 0x01C1 */ DEFINE_ACTOR(Door_Killer, ACTOR_DOOR_KILLER, ALLOCTYPE_NORMAL)
/* 0x01C2 */ DEFINE_ACTOR(Bg_Spot11_Oasis, ACTOR_BG_SPOT11_OASIS, ALLOCTYPE_NORMAL)
/* 0x01C3 */ DEFINE_ACTOR(Bg_Spot18_Futa, ACTOR_BG_SPOT18_FUTA, ALLOCTYPE_NORMAL)
/* 0x01C4 */ DEFINE_ACTOR(Bg_Spot18_Shutter, ACTOR_BG_SPOT18_SHUTTER, ALLOCTYPE_NORMAL)
/* 0x01C5 */ DEFINE_ACTOR(En_Ma3, ACTOR_EN_MA3, ALLOCTYPE_NORMAL)
/* 0x01C6 */ DEFINE_ACTOR(En_Cow, ACTOR_EN_COW, ALLOCTYPE_NORMAL)
/* 0x01C7 */ DEFINE_ACTOR(Bg_Ice_Turara, ACTOR_BG_ICE_TURARA, ALLOCTYPE_NORMAL)
/* 0x01C8 */ DEFINE_ACTOR(Bg_Ice_Shutter, ACTOR_BG_ICE_SHUTTER, ALLOCTYPE_NORMAL)
/* 0x01C9 */ DEFINE_ACTOR(En_Kakasi2, ACTOR_EN_KAKASI2, ALLOCTYPE_NORMAL)
/* 0x01CA */ DEFINE_ACTOR(En_Kakasi3, ACTOR_EN_KAKASI3, ALLOCTYPE_NORMAL)
/* 0x01CB */ DEFINE_ACTOR(Oceff_Wipe4, ACTOR_OCEFF_WIPE4, ALLOCTYPE_ABSOLUTE)
/* 0x01CC */ DEFINE_ACTOR(En_Eg, ACTOR_EN_EG, ALLOCTYPE_NORMAL)
/* 0x01CD */ DEFINE_ACTOR(Bg_Menkuri_Nisekabe, ACTOR_BG_MENKURI_NISEKABE, ALLOCTYPE_NORMAL)
/* 0x01CE */ DEFINE_ACTOR(En_Zo, ACTOR_EN_ZO, ALLOCTYPE_NORMAL)
/* 0x01CF */ DEFINE_ACTOR(Obj_Makekinsuta, ACTOR_OBJ_MAKEKINSUTA, ALLOCTYPE_NORMAL)
/* 0x01D0 */ DEFINE_ACTOR(En_Ge3, ACTOR_EN_GE3, ALLOCTYPE_NORMAL)
/* 0x01D1 */ DEFINE_ACTOR(Obj_Timeblock, ACTOR_OBJ_TIMEBLOCK, ALLOCTYPE_NORMAL)
/* 0x01D2 */ DEFINE_ACTOR(Obj_Hamishi, ACTOR_OBJ_HAMISHI, ALLOCTYPE_NORMAL)
/* 0x01D3 */ DEFINE_ACTOR(En_Zl4, ACTOR_EN_ZL4, ALLOCTYPE_NORMAL)
/* 0x01D4 */ DEFINE_ACTOR(En_Mm2, ACTOR_EN_MM2, ALLOCTYPE_NORMAL)
/* 0x01D5 */ DEFINE_ACTOR(Bg_Jya_Block, ACTOR_BG_JYA_BLOCK, ALLOCTYPE_NORMAL)
/* 0x01D6 */ DEFINE_ACTOR(Obj_Warp2block, ACTOR_OBJ_WARP2BLOCK, ALLOCTYPE_NORMAL)

View file

@ -0,0 +1,46 @@
/**
* Effect Soft Sprite Table
*
* DEFINE_EFFECT_SS should be used for normal effects soft sprites
* - Argument 1: Name of the effect (without the ovl_ part)
* - Argument 2: Enum value for this effect
*
* DEFINE_EFFECT_SS_UNSET is needed to define empty entries from the original game
*/
/* 0x00 */ DEFINE_EFFECT_SS(Effect_Ss_Dust, EFFECT_SS_DUST)
/* 0x01 */ DEFINE_EFFECT_SS(Effect_Ss_KiraKira, EFFECT_SS_KIRAKIRA)
/* 0x02 */ DEFINE_EFFECT_SS(Effect_Ss_Bomb, EFFECT_SS_BOMB)
/* 0x03 */ DEFINE_EFFECT_SS(Effect_Ss_Bomb2, EFFECT_SS_BOMB2)
/* 0x04 */ DEFINE_EFFECT_SS(Effect_Ss_Blast, EFFECT_SS_BLAST)
/* 0x05 */ DEFINE_EFFECT_SS(Effect_Ss_G_Spk, EFFECT_SS_G_SPK)
/* 0x06 */ DEFINE_EFFECT_SS(Effect_Ss_D_Fire, EFFECT_SS_D_FIRE)
/* 0x07 */ DEFINE_EFFECT_SS(Effect_Ss_Bubble, EFFECT_SS_BUBBLE)
/* 0x08 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET)
/* 0x09 */ DEFINE_EFFECT_SS(Effect_Ss_G_Ripple, EFFECT_SS_G_RIPPLE)
/* 0x0A */ DEFINE_EFFECT_SS(Effect_Ss_G_Splash, EFFECT_SS_G_SPLASH)
/* 0x0B */ DEFINE_EFFECT_SS(Effect_Ss_G_Magma, EFFECT_SS_G_MAGMA)
/* 0x0C */ DEFINE_EFFECT_SS(Effect_Ss_G_Fire, EFFECT_SS_G_FIRE)
/* 0x0D */ DEFINE_EFFECT_SS(Effect_Ss_Lightning, EFFECT_SS_LIGHTNING)
/* 0x0E */ DEFINE_EFFECT_SS(Effect_Ss_Dt_Bubble, EFFECT_SS_DT_BUBBLE)
/* 0x0F */ DEFINE_EFFECT_SS(Effect_Ss_Hahen, EFFECT_SS_HAHEN)
/* 0x10 */ DEFINE_EFFECT_SS(Effect_Ss_Stick, EFFECT_SS_STICK)
/* 0x11 */ DEFINE_EFFECT_SS(Effect_Ss_Sibuki, EFFECT_SS_SIBUKI)
/* 0x12 */ DEFINE_EFFECT_SS(Effect_Ss_Sibuki2, EFFECT_SS_SIBUKI2)
/* 0x13 */ DEFINE_EFFECT_SS(Effect_Ss_G_Magma2, EFFECT_SS_G_MAGMA2)
/* 0x14 */ DEFINE_EFFECT_SS(Effect_Ss_Stone1, EFFECT_SS_STONE1)
/* 0x15 */ DEFINE_EFFECT_SS(Effect_Ss_HitMark, EFFECT_SS_HITMARK)
/* 0x16 */ DEFINE_EFFECT_SS(Effect_Ss_Fhg_Flash, EFFECT_SS_FHG_FLASH)
/* 0x17 */ DEFINE_EFFECT_SS(Effect_Ss_K_Fire, EFFECT_SS_K_FIRE)
/* 0x18 */ DEFINE_EFFECT_SS(Effect_Ss_Solder_Srch_Ball, EFFECT_SS_SOLDER_SRCH_BALL)
/* 0x19 */ DEFINE_EFFECT_SS(Effect_Ss_Kakera, EFFECT_SS_KAKERA)
/* 0x1A */ DEFINE_EFFECT_SS(Effect_Ss_Ice_Piece, EFFECT_SS_ICE_PIECE)
/* 0x1B */ DEFINE_EFFECT_SS(Effect_Ss_En_Ice, EFFECT_SS_EN_ICE)
/* 0x1C */ DEFINE_EFFECT_SS(Effect_Ss_Fire_Tail, EFFECT_SS_FIRE_TAIL)
/* 0x1D */ DEFINE_EFFECT_SS(Effect_Ss_En_Fire, EFFECT_SS_EN_FIRE)
/* 0x1E */ DEFINE_EFFECT_SS(Effect_Ss_Extra, EFFECT_SS_EXTRA)
/* 0x1F */ DEFINE_EFFECT_SS(Effect_Ss_Fcircle, EFFECT_SS_FCIRCLE)
/* 0x20 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Db, EFFECT_SS_DEAD_DB)
/* 0x21 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Dd, EFFECT_SS_DEAD_DD)
/* 0x22 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Ds, EFFECT_SS_DEAD_DS)
/* 0x23 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Sound, EFFECT_SS_DEAD_SOUND)
/* 0x24 */ DEFINE_EFFECT_SS(Effect_Ss_Ice_Smoke, EFFECT_SS_ICE_SMOKE)

View file

@ -0,0 +1,411 @@
/**
* Object Table
*
* DEFINE_OBJECT should be used for normal objects
* - Argument 1: Name of the object segment in spec
* - Argument 2: Enum value for this object
*
* DEFINE_OBJECT_UNSET and DEFINE_OBJECT_NULL are needed to define empty entries from the original game
*/
/* 0x0000 */ DEFINE_OBJECT_UNSET(OBJECT_INVALID) // Object ID 0 isn't usable and should remain unset
/* 0x0001 */ DEFINE_OBJECT(gameplay_keep, OBJECT_GAMEPLAY_KEEP)
/* 0x0002 */ DEFINE_OBJECT(gameplay_field_keep, OBJECT_GAMEPLAY_FIELD_KEEP)
/* 0x0003 */ DEFINE_OBJECT(gameplay_dangeon_keep, OBJECT_GAMEPLAY_DANGEON_KEEP)
/* 0x0004 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4)
/* 0x0005 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_5)
/* 0x0006 */ DEFINE_OBJECT(object_human, OBJECT_HUMAN)
/* 0x0007 */ DEFINE_OBJECT(object_okuta, OBJECT_OKUTA)
/* 0x0008 */ DEFINE_OBJECT(object_crow, OBJECT_CROW)
/* 0x0009 */ DEFINE_OBJECT(object_poh, OBJECT_POH)
/* 0x000A */ DEFINE_OBJECT(object_dy_obj, OBJECT_DY_OBJ)
/* 0x000B */ DEFINE_OBJECT(object_wallmaster, OBJECT_WALLMASTER)
/* 0x000C */ DEFINE_OBJECT(object_dodongo, OBJECT_DODONGO)
/* 0x000D */ DEFINE_OBJECT(object_firefly, OBJECT_FIREFLY)
/* 0x000E */ DEFINE_OBJECT(object_box, OBJECT_BOX)
/* 0x000F */ DEFINE_OBJECT(object_fire, OBJECT_FIRE)
/* 0x0010 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10)
/* 0x0011 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_11)
/* 0x0012 */ DEFINE_OBJECT(object_bubble, OBJECT_BUBBLE)
/* 0x0013 */ DEFINE_OBJECT(object_niw, OBJECT_NIW)
/* 0x0014 */ DEFINE_OBJECT(object_link_boy, OBJECT_LINK_BOY)
/* 0x0015 */ DEFINE_OBJECT(object_link_child, OBJECT_LINK_CHILD)
/* 0x0016 */ DEFINE_OBJECT(object_tite, OBJECT_TITE)
/* 0x0017 */ DEFINE_OBJECT(object_reeba, OBJECT_REEBA)
/* 0x0018 */ DEFINE_OBJECT(object_peehat, OBJECT_PEEHAT)
/* 0x0019 */ DEFINE_OBJECT(object_kingdodongo, OBJECT_KINGDODONGO)
/* 0x001A */ DEFINE_OBJECT(object_horse, OBJECT_HORSE)
/* 0x001B */ DEFINE_OBJECT(object_zf, OBJECT_ZF)
/* 0x001C */ DEFINE_OBJECT(object_goma, OBJECT_GOMA)
/* 0x001D */ DEFINE_OBJECT(object_zl1, OBJECT_ZL1)
/* 0x001E */ DEFINE_OBJECT(object_gol, OBJECT_GOL)
/* 0x001F */ DEFINE_OBJECT(object_dodojr, OBJECT_DODOJR)
/* 0x0020 */ DEFINE_OBJECT(object_torch2, OBJECT_TORCH2)
/* 0x0021 */ DEFINE_OBJECT(object_bl, OBJECT_BL)
/* 0x0022 */ DEFINE_OBJECT(object_tp, OBJECT_TP)
/* 0x0023 */ DEFINE_OBJECT(object_oA1, OBJECT_OA1)
/* 0x0024 */ DEFINE_OBJECT(object_st, OBJECT_ST)
/* 0x0025 */ DEFINE_OBJECT(object_bw, OBJECT_BW)
/* 0x0026 */ DEFINE_OBJECT(object_ei, OBJECT_EI)
/* 0x0027 */ DEFINE_OBJECT(object_horse_normal, OBJECT_HORSE_NORMAL)
/* 0x0028 */ DEFINE_OBJECT(object_oB1, OBJECT_OB1)
/* 0x0029 */ DEFINE_OBJECT(object_o_anime, OBJECT_O_ANIME)
/* 0x002A */ DEFINE_OBJECT(object_spot04_objects, OBJECT_SPOT04_OBJECTS)
/* 0x002B */ DEFINE_OBJECT(object_ddan_objects, OBJECT_DDAN_OBJECTS)
/* 0x002C */ DEFINE_OBJECT(object_hidan_objects, OBJECT_HIDAN_OBJECTS)
/* 0x002D */ DEFINE_OBJECT(object_horse_ganon, OBJECT_HORSE_GANON)
/* 0x002E */ DEFINE_OBJECT(object_oA2, OBJECT_OA2)
/* 0x002F */ DEFINE_OBJECT(object_spot00_objects, OBJECT_SPOT00_OBJECTS)
/* 0x0030 */ DEFINE_OBJECT(object_mb, OBJECT_MB)
/* 0x0031 */ DEFINE_OBJECT(object_bombf, OBJECT_BOMBF)
/* 0x0032 */ DEFINE_OBJECT(object_sk2, OBJECT_SK2)
/* 0x0033 */ DEFINE_OBJECT(object_oE1, OBJECT_OE1)
/* 0x0034 */ DEFINE_OBJECT(object_oE_anime, OBJECT_OE_ANIME)
/* 0x0035 */ DEFINE_OBJECT(object_oE2, OBJECT_OE2)
/* 0x0036 */ DEFINE_OBJECT(object_ydan_objects, OBJECT_YDAN_OBJECTS)
/* 0x0037 */ DEFINE_OBJECT(object_gnd, OBJECT_GND)
/* 0x0038 */ DEFINE_OBJECT(object_am, OBJECT_AM)
/* 0x0039 */ DEFINE_OBJECT(object_dekubaba, OBJECT_DEKUBABA)
/* 0x003A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_3A)
/* 0x003B */ DEFINE_OBJECT(object_oA3, OBJECT_OA3)
/* 0x003C */ DEFINE_OBJECT(object_oA4, OBJECT_OA4)
/* 0x003D */ DEFINE_OBJECT(object_oA5, OBJECT_OA5)
/* 0x003E */ DEFINE_OBJECT(object_oA6, OBJECT_OA6)
/* 0x003F */ DEFINE_OBJECT(object_oA7, OBJECT_OA7)
/* 0x0040 */ DEFINE_OBJECT(object_jj, OBJECT_JJ)
/* 0x0041 */ DEFINE_OBJECT(object_oA8, OBJECT_OA8)
/* 0x0042 */ DEFINE_OBJECT(object_oA9, OBJECT_OA9)
/* 0x0043 */ DEFINE_OBJECT(object_oB2, OBJECT_OB2)
/* 0x0044 */ DEFINE_OBJECT(object_oB3, OBJECT_OB3)
/* 0x0045 */ DEFINE_OBJECT(object_oB4, OBJECT_OB4)
/* 0x0046 */ DEFINE_OBJECT(object_horse_zelda, OBJECT_HORSE_ZELDA)
/* 0x0047 */ DEFINE_OBJECT(object_opening_demo1, OBJECT_OPENING_DEMO1)
/* 0x0048 */ DEFINE_OBJECT(object_warp1, OBJECT_WARP1)
/* 0x0049 */ DEFINE_OBJECT(object_b_heart, OBJECT_B_HEART)
/* 0x004A */ DEFINE_OBJECT(object_dekunuts, OBJECT_DEKUNUTS)
/* 0x004B */ DEFINE_OBJECT(object_oE3, OBJECT_OE3)
/* 0x004C */ DEFINE_OBJECT(object_oE4, OBJECT_OE4)
/* 0x004D */ DEFINE_OBJECT(object_menkuri_objects, OBJECT_MENKURI_OBJECTS)
/* 0x004E */ DEFINE_OBJECT(object_oE5, OBJECT_OE5)
/* 0x004F */ DEFINE_OBJECT(object_oE6, OBJECT_OE6)
/* 0x0050 */ DEFINE_OBJECT(object_oE7, OBJECT_OE7)
/* 0x0051 */ DEFINE_OBJECT(object_oE8, OBJECT_OE8)
/* 0x0052 */ DEFINE_OBJECT(object_oE9, OBJECT_OE9)
/* 0x0053 */ DEFINE_OBJECT(object_oE10, OBJECT_OE10)
/* 0x0054 */ DEFINE_OBJECT(object_oE11, OBJECT_OE11)
/* 0x0055 */ DEFINE_OBJECT(object_oE12, OBJECT_OE12)
/* 0x0056 */ DEFINE_OBJECT(object_vali, OBJECT_VALI)
/* 0x0057 */ DEFINE_OBJECT(object_oA10, OBJECT_OA10)
/* 0x0058 */ DEFINE_OBJECT(object_oA11, OBJECT_OA11)
/* 0x0059 */ DEFINE_OBJECT(object_mizu_objects, OBJECT_MIZU_OBJECTS)
/* 0x005A */ DEFINE_OBJECT(object_fhg, OBJECT_FHG)
/* 0x005B */ DEFINE_OBJECT(object_ossan, OBJECT_OSSAN)
/* 0x005C */ DEFINE_OBJECT(object_mori_hineri1, OBJECT_MORI_HINERI1)
/* 0x005D */ DEFINE_OBJECT(object_Bb, OBJECT_BB)
/* 0x005E */ DEFINE_OBJECT(object_toki_objects, OBJECT_TOKI_OBJECTS)
/* 0x005F */ DEFINE_OBJECT(object_yukabyun, OBJECT_YUKABYUN)
/* 0x0060 */ DEFINE_OBJECT(object_zl2, OBJECT_ZL2)
/* 0x0061 */ DEFINE_OBJECT(object_mjin, OBJECT_MJIN)
/* 0x0062 */ DEFINE_OBJECT(object_mjin_flash, OBJECT_MJIN_FLASH)
/* 0x0063 */ DEFINE_OBJECT(object_mjin_dark, OBJECT_MJIN_DARK)
/* 0x0064 */ DEFINE_OBJECT(object_mjin_flame, OBJECT_MJIN_FLAME)
/* 0x0065 */ DEFINE_OBJECT(object_mjin_ice, OBJECT_MJIN_ICE)
/* 0x0066 */ DEFINE_OBJECT(object_mjin_soul, OBJECT_MJIN_SOUL)
/* 0x0067 */ DEFINE_OBJECT(object_mjin_wind, OBJECT_MJIN_WIND)
/* 0x0068 */ DEFINE_OBJECT(object_mjin_oka, OBJECT_MJIN_OKA)
/* 0x0069 */ DEFINE_OBJECT(object_haka_objects, OBJECT_HAKA_OBJECTS)
/* 0x006A */ DEFINE_OBJECT(object_spot06_objects, OBJECT_SPOT06_OBJECTS)
/* 0x006B */ DEFINE_OBJECT(object_ice_objects, OBJECT_ICE_OBJECTS)
/* 0x006C */ DEFINE_OBJECT(object_relay_objects, OBJECT_RELAY_OBJECTS)
/* 0x006D */ DEFINE_OBJECT(object_po_field, OBJECT_PO_FIELD)
/* 0x006E */ DEFINE_OBJECT(object_po_composer, OBJECT_PO_COMPOSER)
/* 0x006F */ DEFINE_OBJECT(object_mori_hineri1a, OBJECT_MORI_HINERI1A)
/* 0x0070 */ DEFINE_OBJECT(object_mori_hineri2, OBJECT_MORI_HINERI2)
/* 0x0071 */ DEFINE_OBJECT(object_mori_hineri2a, OBJECT_MORI_HINERI2A)
/* 0x0072 */ DEFINE_OBJECT(object_mori_objects, OBJECT_MORI_OBJECTS)
/* 0x0073 */ DEFINE_OBJECT(object_mori_tex, OBJECT_MORI_TEX)
/* 0x0074 */ DEFINE_OBJECT(object_spot08_obj, OBJECT_SPOT08_OBJ)
/* 0x0075 */ DEFINE_OBJECT(object_warp2, OBJECT_WARP2)
/* 0x0076 */ DEFINE_OBJECT(object_hata, OBJECT_HATA)
/* 0x0077 */ DEFINE_OBJECT(object_bird, OBJECT_BIRD)
/* 0x0078 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_78)
/* 0x0079 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_79)
/* 0x007A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7A)
/* 0x007B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7B)
/* 0x007C */ DEFINE_OBJECT(object_wood02, OBJECT_WOOD02)
/* 0x007D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7D)
/* 0x007E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7E)
/* 0x007F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7F)
/* 0x0080 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_80)
/* 0x0081 */ DEFINE_OBJECT(object_lightbox, OBJECT_LIGHTBOX)
/* 0x0082 */ DEFINE_OBJECT(object_pu_box, OBJECT_PU_BOX)
/* 0x0083 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_83)
/* 0x0084 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_84)
/* 0x0085 */ DEFINE_OBJECT(object_trap, OBJECT_TRAP)
/* 0x0086 */ DEFINE_OBJECT(object_vase, OBJECT_VASE)
/* 0x0087 */ DEFINE_OBJECT(object_im, OBJECT_IM)
/* 0x0088 */ DEFINE_OBJECT(object_ta, OBJECT_TA)
/* 0x0089 */ DEFINE_OBJECT(object_tk, OBJECT_TK)
/* 0x008A */ DEFINE_OBJECT(object_xc, OBJECT_XC)
/* 0x008B */ DEFINE_OBJECT(object_vm, OBJECT_VM)
/* 0x008C */ DEFINE_OBJECT(object_bv, OBJECT_BV)
/* 0x008D */ DEFINE_OBJECT(object_hakach_objects, OBJECT_HAKACH_OBJECTS)
/* 0x008E */ DEFINE_OBJECT(object_efc_crystal_light, OBJECT_EFC_CRYSTAL_LIGHT)
/* 0x008F */ DEFINE_OBJECT(object_efc_fire_ball, OBJECT_EFC_FIRE_BALL)
/* 0x0090 */ DEFINE_OBJECT(object_efc_flash, OBJECT_EFC_FLASH)
/* 0x0091 */ DEFINE_OBJECT(object_efc_lgt_shower, OBJECT_EFC_LGT_SHOWER)
/* 0x0092 */ DEFINE_OBJECT(object_efc_star_field, OBJECT_EFC_STAR_FIELD)
/* 0x0093 */ DEFINE_OBJECT(object_god_lgt, OBJECT_GOD_LGT)
/* 0x0094 */ DEFINE_OBJECT(object_light_ring, OBJECT_LIGHT_RING)
/* 0x0095 */ DEFINE_OBJECT(object_triforce_spot, OBJECT_TRIFORCE_SPOT)
/* 0x0096 */ DEFINE_OBJECT(object_bdan_objects, OBJECT_BDAN_OBJECTS)
/* 0x0097 */ DEFINE_OBJECT(object_sd, OBJECT_SD)
/* 0x0098 */ DEFINE_OBJECT(object_rd, OBJECT_RD)
/* 0x0099 */ DEFINE_OBJECT(object_po_sisters, OBJECT_PO_SISTERS)
/* 0x009A */ DEFINE_OBJECT(object_heavy_object, OBJECT_HEAVY_OBJECT)
/* 0x009B */ DEFINE_OBJECT(object_gndd, OBJECT_GNDD)
/* 0x009C */ DEFINE_OBJECT(object_fd, OBJECT_FD)
/* 0x009D */ DEFINE_OBJECT(object_du, OBJECT_DU)
/* 0x009E */ DEFINE_OBJECT(object_fw, OBJECT_FW)
/* 0x009F */ DEFINE_OBJECT(object_medal, OBJECT_MEDAL)
/* 0x00A0 */ DEFINE_OBJECT(object_horse_link_child, OBJECT_HORSE_LINK_CHILD)
/* 0x00A1 */ DEFINE_OBJECT(object_spot02_objects, OBJECT_SPOT02_OBJECTS)
/* 0x00A2 */ DEFINE_OBJECT(object_haka, OBJECT_HAKA)
/* 0x00A3 */ DEFINE_OBJECT(object_ru1, OBJECT_RU1)
/* 0x00A4 */ DEFINE_OBJECT(object_syokudai, OBJECT_SYOKUDAI)
/* 0x00A5 */ DEFINE_OBJECT(object_fd2, OBJECT_FD2)
/* 0x00A6 */ DEFINE_OBJECT(object_dh, OBJECT_DH)
/* 0x00A7 */ DEFINE_OBJECT(object_rl, OBJECT_RL)
/* 0x00A8 */ DEFINE_OBJECT(object_efc_tw, OBJECT_EFC_TW)
/* 0x00A9 */ DEFINE_OBJECT(object_demo_tre_lgt, OBJECT_DEMO_TRE_LGT)
/* 0x00AA */ DEFINE_OBJECT(object_gi_key, OBJECT_GI_KEY)
/* 0x00AB */ DEFINE_OBJECT(object_mir_ray, OBJECT_MIR_RAY)
/* 0x00AC */ DEFINE_OBJECT(object_brob, OBJECT_BROB)
/* 0x00AD */ DEFINE_OBJECT(object_gi_jewel, OBJECT_GI_JEWEL)
/* 0x00AE */ DEFINE_OBJECT(object_spot09_obj, OBJECT_SPOT09_OBJ)
/* 0x00AF */ DEFINE_OBJECT(object_spot18_obj, OBJECT_SPOT18_OBJ)
/* 0x00B0 */ DEFINE_OBJECT(object_bdoor, OBJECT_BDOOR)
/* 0x00B1 */ DEFINE_OBJECT(object_spot17_obj, OBJECT_SPOT17_OBJ)
/* 0x00B2 */ DEFINE_OBJECT(object_shop_dungen, OBJECT_SHOP_DUNGEN)
/* 0x00B3 */ DEFINE_OBJECT(object_nb, OBJECT_NB)
/* 0x00B4 */ DEFINE_OBJECT(object_mo, OBJECT_MO)
/* 0x00B5 */ DEFINE_OBJECT(object_sb, OBJECT_SB)
/* 0x00B6 */ DEFINE_OBJECT(object_gi_melody, OBJECT_GI_MELODY)
/* 0x00B7 */ DEFINE_OBJECT(object_gi_heart, OBJECT_GI_HEART)
/* 0x00B8 */ DEFINE_OBJECT(object_gi_compass, OBJECT_GI_COMPASS)
/* 0x00B9 */ DEFINE_OBJECT(object_gi_bosskey, OBJECT_GI_BOSSKEY)
/* 0x00BA */ DEFINE_OBJECT(object_gi_medal, OBJECT_GI_MEDAL)
/* 0x00BB */ DEFINE_OBJECT(object_gi_nuts, OBJECT_GI_NUTS)
/* 0x00BC */ DEFINE_OBJECT(object_sa, OBJECT_SA)
/* 0x00BD */ DEFINE_OBJECT(object_gi_hearts, OBJECT_GI_HEARTS)
/* 0x00BE */ DEFINE_OBJECT(object_gi_arrowcase, OBJECT_GI_ARROWCASE)
/* 0x00BF */ DEFINE_OBJECT(object_gi_bombpouch, OBJECT_GI_BOMBPOUCH)
/* 0x00C0 */ DEFINE_OBJECT(object_in, OBJECT_IN)
/* 0x00C1 */ DEFINE_OBJECT(object_tr, OBJECT_TR)
/* 0x00C2 */ DEFINE_OBJECT(object_spot16_obj, OBJECT_SPOT16_OBJ)
/* 0x00C3 */ DEFINE_OBJECT(object_oE1s, OBJECT_OE1S)
/* 0x00C4 */ DEFINE_OBJECT(object_oE4s, OBJECT_OE4S)
/* 0x00C5 */ DEFINE_OBJECT(object_os_anime, OBJECT_OS_ANIME)
/* 0x00C6 */ DEFINE_OBJECT(object_gi_bottle, OBJECT_GI_BOTTLE)
/* 0x00C7 */ DEFINE_OBJECT(object_gi_stick, OBJECT_GI_STICK)
/* 0x00C8 */ DEFINE_OBJECT(object_gi_map, OBJECT_GI_MAP)
/* 0x00C9 */ DEFINE_OBJECT(object_oF1d_map, OBJECT_OF1D_MAP)
/* 0x00CA */ DEFINE_OBJECT(object_ru2, OBJECT_RU2)
/* 0x00CB */ DEFINE_OBJECT(object_gi_shield_1, OBJECT_GI_SHIELD_1)
/* 0x00CC */ DEFINE_OBJECT(object_dekujr, OBJECT_DEKUJR)
/* 0x00CD */ DEFINE_OBJECT(object_gi_magicpot, OBJECT_GI_MAGICPOT)
/* 0x00CE */ DEFINE_OBJECT(object_gi_bomb_1, OBJECT_GI_BOMB_1)
/* 0x00CF */ DEFINE_OBJECT(object_oF1s, OBJECT_OF1S)
/* 0x00D0 */ DEFINE_OBJECT(object_ma2, OBJECT_MA2)
/* 0x00D1 */ DEFINE_OBJECT(object_gi_purse, OBJECT_GI_PURSE)
/* 0x00D2 */ DEFINE_OBJECT(object_hni, OBJECT_HNI)
/* 0x00D3 */ DEFINE_OBJECT(object_tw, OBJECT_TW)
/* 0x00D4 */ DEFINE_OBJECT(object_rr, OBJECT_RR)
/* 0x00D5 */ DEFINE_OBJECT(object_bxa, OBJECT_BXA)
/* 0x00D6 */ DEFINE_OBJECT(object_anubice, OBJECT_ANUBICE)
/* 0x00D7 */ DEFINE_OBJECT(object_gi_gerudo, OBJECT_GI_GERUDO)
/* 0x00D8 */ DEFINE_OBJECT(object_gi_arrow, OBJECT_GI_ARROW)
/* 0x00D9 */ DEFINE_OBJECT(object_gi_bomb_2, OBJECT_GI_BOMB_2)
/* 0x00DA */ DEFINE_OBJECT(object_gi_egg, OBJECT_GI_EGG)
/* 0x00DB */ DEFINE_OBJECT(object_gi_scale, OBJECT_GI_SCALE)
/* 0x00DC */ DEFINE_OBJECT(object_gi_shield_2, OBJECT_GI_SHIELD_2)
/* 0x00DD */ DEFINE_OBJECT(object_gi_hookshot, OBJECT_GI_HOOKSHOT)
/* 0x00DE */ DEFINE_OBJECT(object_gi_ocarina, OBJECT_GI_OCARINA)
/* 0x00DF */ DEFINE_OBJECT(object_gi_milk, OBJECT_GI_MILK)
/* 0x00E0 */ DEFINE_OBJECT(object_ma1, OBJECT_MA1)
/* 0x00E1 */ DEFINE_OBJECT(object_ganon, OBJECT_GANON)
/* 0x00E2 */ DEFINE_OBJECT(object_sst, OBJECT_SST)
/* 0x00E3 */ DEFINE_OBJECT_NULL(object_ny, OBJECT_NY_UNUSED) // unused duplicate with size 0
/* 0x00E4 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_E4)
/* 0x00E5 */ DEFINE_OBJECT(object_ny, OBJECT_NY)
/* 0x00E6 */ DEFINE_OBJECT(object_fr, OBJECT_FR)
/* 0x00E7 */ DEFINE_OBJECT(object_gi_pachinko, OBJECT_GI_PACHINKO)
/* 0x00E8 */ DEFINE_OBJECT(object_gi_boomerang, OBJECT_GI_BOOMERANG)
/* 0x00E9 */ DEFINE_OBJECT(object_gi_bow, OBJECT_GI_BOW)
/* 0x00EA */ DEFINE_OBJECT(object_gi_glasses, OBJECT_GI_GLASSES)
/* 0x00EB */ DEFINE_OBJECT(object_gi_liquid, OBJECT_GI_LIQUID)
/* 0x00EC */ DEFINE_OBJECT(object_ani, OBJECT_ANI)
/* 0x00ED */ DEFINE_OBJECT(object_demo_6k, OBJECT_DEMO_6K)
/* 0x00EE */ DEFINE_OBJECT(object_gi_shield_3, OBJECT_GI_SHIELD_3)
/* 0x00EF */ DEFINE_OBJECT(object_gi_letter, OBJECT_GI_LETTER)
/* 0x00F0 */ DEFINE_OBJECT(object_spot15_obj, OBJECT_SPOT15_OBJ)
/* 0x00F1 */ DEFINE_OBJECT(object_jya_obj, OBJECT_JYA_OBJ)
/* 0x00F2 */ DEFINE_OBJECT(object_gi_clothes, OBJECT_GI_CLOTHES)
/* 0x00F3 */ DEFINE_OBJECT(object_gi_bean, OBJECT_GI_BEAN)
/* 0x00F4 */ DEFINE_OBJECT(object_gi_fish, OBJECT_GI_FISH)
/* 0x00F5 */ DEFINE_OBJECT(object_gi_saw, OBJECT_GI_SAW)
/* 0x00F6 */ DEFINE_OBJECT(object_gi_hammer, OBJECT_GI_HAMMER)
/* 0x00F7 */ DEFINE_OBJECT(object_gi_grass, OBJECT_GI_GRASS)
/* 0x00F8 */ DEFINE_OBJECT(object_gi_longsword, OBJECT_GI_LONGSWORD)
/* 0x00F9 */ DEFINE_OBJECT(object_spot01_objects, OBJECT_SPOT01_OBJECTS)
/* 0x00FA */ DEFINE_OBJECT_NULL(object_md, OBJECT_MD_UNUSED) // unused duplicate with size 0
/* 0x00FB */ DEFINE_OBJECT(object_md, OBJECT_MD)
/* 0x00FC */ DEFINE_OBJECT(object_km1, OBJECT_KM1)
/* 0x00FD */ DEFINE_OBJECT(object_kw1, OBJECT_KW1)
/* 0x00FE */ DEFINE_OBJECT(object_zo, OBJECT_ZO)
/* 0x00FF */ DEFINE_OBJECT(object_kz, OBJECT_KZ)
/* 0x0100 */ DEFINE_OBJECT(object_umajump, OBJECT_UMAJUMP)
/* 0x0101 */ DEFINE_OBJECT(object_masterkokiri, OBJECT_MASTERKOKIRI)
/* 0x0102 */ DEFINE_OBJECT(object_masterkokirihead, OBJECT_MASTERKOKIRIHEAD)
/* 0x0103 */ DEFINE_OBJECT(object_mastergolon, OBJECT_MASTERGOLON)
/* 0x0104 */ DEFINE_OBJECT(object_masterzoora, OBJECT_MASTERZOORA)
/* 0x0105 */ DEFINE_OBJECT(object_aob, OBJECT_AOB)
/* 0x0106 */ DEFINE_OBJECT(object_ik, OBJECT_IK)
/* 0x0107 */ DEFINE_OBJECT(object_ahg, OBJECT_AHG)
/* 0x0108 */ DEFINE_OBJECT(object_cne, OBJECT_CNE)
/* 0x0109 */ DEFINE_OBJECT(object_gi_niwatori, OBJECT_GI_NIWATORI)
/* 0x010A */ DEFINE_OBJECT(object_skj, OBJECT_SKJ)
/* 0x010B */ DEFINE_OBJECT(object_gi_bottle_letter, OBJECT_GI_BOTTLE_LETTER)
/* 0x010C */ DEFINE_OBJECT(object_bji, OBJECT_BJI)
/* 0x010D */ DEFINE_OBJECT(object_bba, OBJECT_BBA)
/* 0x010E */ DEFINE_OBJECT(object_gi_ocarina_0, OBJECT_GI_OCARINA_0)
/* 0x010F */ DEFINE_OBJECT(object_ds, OBJECT_DS)
/* 0x0110 */ DEFINE_OBJECT(object_ane, OBJECT_ANE)
/* 0x0111 */ DEFINE_OBJECT(object_boj, OBJECT_BOJ)
/* 0x0112 */ DEFINE_OBJECT(object_spot03_object, OBJECT_SPOT03_OBJECT)
/* 0x0113 */ DEFINE_OBJECT(object_spot07_object, OBJECT_SPOT07_OBJECT)
/* 0x0114 */ DEFINE_OBJECT(object_fz, OBJECT_FZ)
/* 0x0115 */ DEFINE_OBJECT(object_bob, OBJECT_BOB)
/* 0x0116 */ DEFINE_OBJECT(object_ge1, OBJECT_GE1)
/* 0x0117 */ DEFINE_OBJECT(object_yabusame_point, OBJECT_YABUSAME_POINT)
/* 0x0118 */ DEFINE_OBJECT(object_gi_boots_2, OBJECT_GI_BOOTS_2)
/* 0x0119 */ DEFINE_OBJECT(object_gi_seed, OBJECT_GI_SEED)
/* 0x011A */ DEFINE_OBJECT(object_gnd_magic, OBJECT_GND_MAGIC)
/* 0x011B */ DEFINE_OBJECT(object_d_elevator, OBJECT_D_ELEVATOR)
/* 0x011C */ DEFINE_OBJECT(object_d_hsblock, OBJECT_D_HSBLOCK)
/* 0x011D */ DEFINE_OBJECT(object_d_lift, OBJECT_D_LIFT)
/* 0x011E */ DEFINE_OBJECT(object_mamenoki, OBJECT_MAMENOKI)
/* 0x011F */ DEFINE_OBJECT(object_goroiwa, OBJECT_GOROIWA)
/* 0x0120 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_120)
/* 0x0121 */ DEFINE_OBJECT(object_toryo, OBJECT_TORYO)
/* 0x0122 */ DEFINE_OBJECT(object_daiku, OBJECT_DAIKU)
/* 0x0123 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_123)
/* 0x0124 */ DEFINE_OBJECT(object_nwc, OBJECT_NWC)
/* 0x0125 */ DEFINE_OBJECT(object_blkobj, OBJECT_BLKOBJ)
/* 0x0126 */ DEFINE_OBJECT(object_gm, OBJECT_GM)
/* 0x0127 */ DEFINE_OBJECT(object_ms, OBJECT_MS)
/* 0x0128 */ DEFINE_OBJECT(object_hs, OBJECT_HS)
/* 0x0129 */ DEFINE_OBJECT(object_ingate, OBJECT_INGATE)
/* 0x012A */ DEFINE_OBJECT(object_lightswitch, OBJECT_LIGHTSWITCH)
/* 0x012B */ DEFINE_OBJECT(object_kusa, OBJECT_KUSA)
/* 0x012C */ DEFINE_OBJECT(object_tsubo, OBJECT_TSUBO)
/* 0x012D */ DEFINE_OBJECT(object_gi_gloves, OBJECT_GI_GLOVES)
/* 0x012E */ DEFINE_OBJECT(object_gi_coin, OBJECT_GI_COIN)
/* 0x012F */ DEFINE_OBJECT(object_kanban, OBJECT_KANBAN)
/* 0x0130 */ DEFINE_OBJECT(object_gjyo_objects, OBJECT_GJYO_OBJECTS)
/* 0x0131 */ DEFINE_OBJECT(object_owl, OBJECT_OWL)
/* 0x0132 */ DEFINE_OBJECT(object_mk, OBJECT_MK)
/* 0x0133 */ DEFINE_OBJECT(object_fu, OBJECT_FU)
/* 0x0134 */ DEFINE_OBJECT(object_gi_ki_tan_mask, OBJECT_GI_KI_TAN_MASK)
/* 0x0135 */ DEFINE_OBJECT(object_gi_redead_mask, OBJECT_GI_REDEAD_MASK)
/* 0x0136 */ DEFINE_OBJECT(object_gi_skj_mask, OBJECT_GI_SKJ_MASK)
/* 0x0137 */ DEFINE_OBJECT(object_gi_rabit_mask, OBJECT_GI_RABIT_MASK)
/* 0x0138 */ DEFINE_OBJECT(object_gi_truth_mask, OBJECT_GI_TRUTH_MASK)
/* 0x0139 */ DEFINE_OBJECT(object_ganon_objects, OBJECT_GANON_OBJECTS)
/* 0x013A */ DEFINE_OBJECT(object_siofuki, OBJECT_SIOFUKI)
/* 0x013B */ DEFINE_OBJECT(object_stream, OBJECT_STREAM)
/* 0x013C */ DEFINE_OBJECT(object_mm, OBJECT_MM)
/* 0x013D */ DEFINE_OBJECT(object_fa, OBJECT_FA)
/* 0x013E */ DEFINE_OBJECT(object_os, OBJECT_OS)
/* 0x013F */ DEFINE_OBJECT(object_gi_eye_lotion, OBJECT_GI_EYE_LOTION)
/* 0x0140 */ DEFINE_OBJECT(object_gi_powder, OBJECT_GI_POWDER)
/* 0x0141 */ DEFINE_OBJECT(object_gi_mushroom, OBJECT_GI_MUSHROOM)
/* 0x0142 */ DEFINE_OBJECT(object_gi_ticketstone, OBJECT_GI_TICKETSTONE)
/* 0x0143 */ DEFINE_OBJECT(object_gi_brokensword, OBJECT_GI_BROKENSWORD)
/* 0x0144 */ DEFINE_OBJECT(object_js, OBJECT_JS)
/* 0x0145 */ DEFINE_OBJECT(object_cs, OBJECT_CS)
/* 0x0146 */ DEFINE_OBJECT(object_gi_prescription, OBJECT_GI_PRESCRIPTION)
/* 0x0147 */ DEFINE_OBJECT(object_gi_bracelet, OBJECT_GI_BRACELET)
/* 0x0148 */ DEFINE_OBJECT(object_gi_soldout, OBJECT_GI_SOLDOUT)
/* 0x0149 */ DEFINE_OBJECT(object_gi_frog, OBJECT_GI_FROG)
/* 0x014A */ DEFINE_OBJECT(object_mag, OBJECT_MAG)
/* 0x014B */ DEFINE_OBJECT(object_door_gerudo, OBJECT_DOOR_GERUDO)
/* 0x014C */ DEFINE_OBJECT(object_gt, OBJECT_GT)
/* 0x014D */ DEFINE_OBJECT(object_efc_erupc, OBJECT_EFC_ERUPC)
/* 0x014E */ DEFINE_OBJECT(object_zl2_anime1, OBJECT_ZL2_ANIME1)
/* 0x014F */ DEFINE_OBJECT(object_zl2_anime2, OBJECT_ZL2_ANIME2)
/* 0x0150 */ DEFINE_OBJECT(object_gi_golonmask, OBJECT_GI_GOLONMASK)
/* 0x0151 */ DEFINE_OBJECT(object_gi_zoramask, OBJECT_GI_ZORAMASK)
/* 0x0152 */ DEFINE_OBJECT(object_gi_gerudomask, OBJECT_GI_GERUDOMASK)
/* 0x0153 */ DEFINE_OBJECT(object_ganon2, OBJECT_GANON2)
/* 0x0154 */ DEFINE_OBJECT(object_ka, OBJECT_KA)
/* 0x0155 */ DEFINE_OBJECT(object_ts, OBJECT_TS)
/* 0x0156 */ DEFINE_OBJECT(object_zg, OBJECT_ZG)
/* 0x0157 */ DEFINE_OBJECT(object_gi_hoverboots, OBJECT_GI_HOVERBOOTS)
/* 0x0158 */ DEFINE_OBJECT(object_gi_m_arrow, OBJECT_GI_M_ARROW)
/* 0x0159 */ DEFINE_OBJECT(object_ds2, OBJECT_DS2)
/* 0x015A */ DEFINE_OBJECT(object_ec, OBJECT_EC)
/* 0x015B */ DEFINE_OBJECT(object_fish, OBJECT_FISH)
/* 0x015C */ DEFINE_OBJECT(object_gi_sutaru, OBJECT_GI_SUTARU)
/* 0x015D */ DEFINE_OBJECT(object_gi_goddess, OBJECT_GI_GODDESS)
/* 0x015E */ DEFINE_OBJECT(object_ssh, OBJECT_SSH)
/* 0x015F */ DEFINE_OBJECT(object_bigokuta, OBJECT_BIGOKUTA)
/* 0x0160 */ DEFINE_OBJECT(object_bg, OBJECT_BG)
/* 0x0161 */ DEFINE_OBJECT(object_spot05_objects, OBJECT_SPOT05_OBJECTS)
/* 0x0162 */ DEFINE_OBJECT(object_spot12_obj, OBJECT_SPOT12_OBJ)
/* 0x0163 */ DEFINE_OBJECT(object_bombiwa, OBJECT_BOMBIWA)
/* 0x0164 */ DEFINE_OBJECT(object_hintnuts, OBJECT_HINTNUTS)
/* 0x0165 */ DEFINE_OBJECT(object_rs, OBJECT_RS)
/* 0x0166 */ DEFINE_OBJECT(object_spot00_break, OBJECT_SPOT00_BREAK)
/* 0x0167 */ DEFINE_OBJECT(object_gla, OBJECT_GLA)
/* 0x0168 */ DEFINE_OBJECT(object_shopnuts, OBJECT_SHOPNUTS)
/* 0x0169 */ DEFINE_OBJECT(object_geldb, OBJECT_GELDB)
/* 0x016A */ DEFINE_OBJECT(object_gr, OBJECT_GR)
/* 0x016B */ DEFINE_OBJECT(object_dog, OBJECT_DOG)
/* 0x016C */ DEFINE_OBJECT(object_jya_iron, OBJECT_JYA_IRON)
/* 0x016D */ DEFINE_OBJECT(object_jya_door, OBJECT_JYA_DOOR)
/* 0x016E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_16E)
/* 0x016F */ DEFINE_OBJECT(object_spot11_obj, OBJECT_SPOT11_OBJ)
/* 0x0170 */ DEFINE_OBJECT(object_kibako2, OBJECT_KIBAKO2)
/* 0x0171 */ DEFINE_OBJECT(object_dns, OBJECT_DNS)
/* 0x0172 */ DEFINE_OBJECT(object_dnk, OBJECT_DNK)
/* 0x0173 */ DEFINE_OBJECT(object_gi_fire, OBJECT_GI_FIRE)
/* 0x0174 */ DEFINE_OBJECT(object_gi_insect, OBJECT_GI_INSECT)
/* 0x0175 */ DEFINE_OBJECT(object_gi_butterfly, OBJECT_GI_BUTTERFLY)
/* 0x0176 */ DEFINE_OBJECT(object_gi_ghost, OBJECT_GI_GHOST)
/* 0x0177 */ DEFINE_OBJECT(object_gi_soul, OBJECT_GI_SOUL)
/* 0x0178 */ DEFINE_OBJECT(object_bowl, OBJECT_BOWL)
/* 0x0179 */ DEFINE_OBJECT(object_demo_kekkai, OBJECT_DEMO_KEKKAI)
/* 0x017A */ DEFINE_OBJECT(object_efc_doughnut, OBJECT_EFC_DOUGHNUT)
/* 0x017B */ DEFINE_OBJECT(object_gi_dekupouch, OBJECT_GI_DEKUPOUCH)
/* 0x017C */ DEFINE_OBJECT(object_ganon_anime1, OBJECT_GANON_ANIME1)
/* 0x017D */ DEFINE_OBJECT(object_ganon_anime2, OBJECT_GANON_ANIME2)
/* 0x017E */ DEFINE_OBJECT(object_ganon_anime3, OBJECT_GANON_ANIME3)
/* 0x017F */ DEFINE_OBJECT(object_gi_rupy, OBJECT_GI_RUPY)
/* 0x0180 */ DEFINE_OBJECT(object_spot01_matoya, OBJECT_SPOT01_MATOYA)
/* 0x0181 */ DEFINE_OBJECT(object_spot01_matoyab, OBJECT_SPOT01_MATOYAB)
/* 0x0182 */ DEFINE_OBJECT(object_mu, OBJECT_MU)
/* 0x0183 */ DEFINE_OBJECT(object_wf, OBJECT_WF)
/* 0x0184 */ DEFINE_OBJECT(object_skb, OBJECT_SKB)
/* 0x0185 */ DEFINE_OBJECT(object_gj, OBJECT_GJ)
/* 0x0186 */ DEFINE_OBJECT(object_geff, OBJECT_GEFF)
/* 0x0187 */ DEFINE_OBJECT(object_haka_door, OBJECT_HAKA_DOOR)
/* 0x0188 */ DEFINE_OBJECT(object_gs, OBJECT_GS)
/* 0x0189 */ DEFINE_OBJECT(object_ps, OBJECT_PS)
/* 0x018A */ DEFINE_OBJECT(object_bwall, OBJECT_BWALL)
/* 0x018B */ DEFINE_OBJECT(object_cow, OBJECT_COW)
/* 0x018C */ DEFINE_OBJECT(object_cob, OBJECT_COB)
/* 0x018D */ DEFINE_OBJECT(object_gi_sword_1, OBJECT_GI_SWORD_1)
/* 0x018E */ DEFINE_OBJECT(object_door_killer, OBJECT_DOOR_KILLER)
/* 0x018F */ DEFINE_OBJECT(object_ouke_haka, OBJECT_OUKE_HAKA)
/* 0x0190 */ DEFINE_OBJECT(object_timeblock, OBJECT_TIMEBLOCK)
/* 0x0191 */ DEFINE_OBJECT(object_zl4, OBJECT_ZL4)

View file

@ -306,479 +306,17 @@ typedef enum {
/* 0x0B */ ACTORCAT_CHEST
} ActorCategory;
#define DEFINE_ACTOR(_0, enum, _2) enum,
#define DEFINE_ACTOR_INTERNAL(_0, enum, _2) enum,
#define DEFINE_ACTOR_UNSET(enum) enum,
typedef enum {
/* 0x0000 */ ACTOR_PLAYER,
/* 0x0001 */ ACTOR_UNSET_1,
/* 0x0002 */ ACTOR_EN_TEST,
/* 0x0003 */ ACTOR_UNSET_3,
/* 0x0004 */ ACTOR_EN_GIRLA,
/* 0x0005 */ ACTOR_UNSET_5,
/* 0x0006 */ ACTOR_UNSET_6,
/* 0x0007 */ ACTOR_EN_PART,
/* 0x0008 */ ACTOR_EN_LIGHT,
/* 0x0009 */ ACTOR_EN_DOOR,
/* 0x000A */ ACTOR_EN_BOX, // Treasure Chest
/* 0x000B */ ACTOR_BG_DY_YOSEIZO,
/* 0x000C */ ACTOR_BG_HIDAN_FIREWALL,
/* 0x000D */ ACTOR_EN_POH,
/* 0x000E */ ACTOR_EN_OKUTA,
/* 0x000F */ ACTOR_BG_YDAN_SP,
/* 0x0010 */ ACTOR_EN_BOM,
/* 0x0011 */ ACTOR_EN_WALLMAS,
/* 0x0012 */ ACTOR_EN_DODONGO,
/* 0x0013 */ ACTOR_EN_FIREFLY,
/* 0x0014 */ ACTOR_EN_HORSE,
/* 0x0015 */ ACTOR_EN_ITEM00,
/* 0x0016 */ ACTOR_EN_ARROW,
/* 0x0017 */ ACTOR_UNSET_17,
/* 0x0018 */ ACTOR_EN_ELF,
/* 0x0019 */ ACTOR_EN_NIW,
/* 0x001A */ ACTOR_UNSET_1A,
/* 0x001B */ ACTOR_EN_TITE,
/* 0x001C */ ACTOR_EN_REEBA,
/* 0x001D */ ACTOR_EN_PEEHAT,
/* 0x001E */ ACTOR_EN_BUTTE,
/* 0x001F */ ACTOR_UNSET_1F,
/* 0x0020 */ ACTOR_EN_INSECT,
/* 0x0021 */ ACTOR_EN_FISH,
/* 0x0022 */ ACTOR_UNSET_22,
/* 0x0023 */ ACTOR_EN_HOLL,
/* 0x0024 */ ACTOR_EN_SCENE_CHANGE,
/* 0x0025 */ ACTOR_EN_ZF,
/* 0x0026 */ ACTOR_EN_HATA,
/* 0x0027 */ ACTOR_BOSS_DODONGO,
/* 0x0028 */ ACTOR_BOSS_GOMA,
/* 0x0029 */ ACTOR_EN_ZL1,
/* 0x002A */ ACTOR_EN_VIEWER,
/* 0x002B */ ACTOR_EN_GOMA,
/* 0x002C */ ACTOR_BG_PUSHBOX,
/* 0x002D */ ACTOR_EN_BUBBLE,
/* 0x002E */ ACTOR_DOOR_SHUTTER,
/* 0x002F */ ACTOR_EN_DODOJR,
/* 0x0030 */ ACTOR_EN_BDFIRE,
/* 0x0031 */ ACTOR_UNSET_31,
/* 0x0032 */ ACTOR_EN_BOOM,
/* 0x0033 */ ACTOR_EN_TORCH2,
/* 0x0034 */ ACTOR_EN_BILI,
/* 0x0035 */ ACTOR_EN_TP,
/* 0x0036 */ ACTOR_UNSET_36,
/* 0x0037 */ ACTOR_EN_ST,
/* 0x0038 */ ACTOR_EN_BW,
/* 0x0039 */ ACTOR_EN_A_OBJ,
/* 0x003A */ ACTOR_EN_EIYER,
/* 0x003B */ ACTOR_EN_RIVER_SOUND,
/* 0x003C */ ACTOR_EN_HORSE_NORMAL,
/* 0x003D */ ACTOR_EN_OSSAN,
/* 0x003E */ ACTOR_BG_TREEMOUTH,
/* 0x003F */ ACTOR_BG_DODOAGO,
/* 0x0040 */ ACTOR_BG_HIDAN_DALM,
/* 0x0041 */ ACTOR_BG_HIDAN_HROCK,
/* 0x0042 */ ACTOR_EN_HORSE_GANON,
/* 0x0043 */ ACTOR_BG_HIDAN_ROCK,
/* 0x0044 */ ACTOR_BG_HIDAN_RSEKIZOU,
/* 0x0045 */ ACTOR_BG_HIDAN_SEKIZOU,
/* 0x0046 */ ACTOR_BG_HIDAN_SIMA,
/* 0x0047 */ ACTOR_BG_HIDAN_SYOKU,
/* 0x0048 */ ACTOR_EN_XC,
/* 0x0049 */ ACTOR_BG_HIDAN_CURTAIN,
/* 0x004A */ ACTOR_BG_SPOT00_HANEBASI,
/* 0x004B */ ACTOR_EN_MB,
/* 0x004C */ ACTOR_EN_BOMBF,
/* 0x004D */ ACTOR_EN_ZL2,
/* 0x004E */ ACTOR_BG_HIDAN_FSLIFT,
/* 0x004F */ ACTOR_EN_OE2,
/* 0x0050 */ ACTOR_BG_YDAN_HASI,
/* 0x0051 */ ACTOR_BG_YDAN_MARUTA,
/* 0x0052 */ ACTOR_BOSS_GANONDROF,
/* 0x0053 */ ACTOR_UNSET_53,
/* 0x0054 */ ACTOR_EN_AM,
/* 0x0055 */ ACTOR_EN_DEKUBABA,
/* 0x0056 */ ACTOR_EN_M_FIRE1,
/* 0x0057 */ ACTOR_EN_M_THUNDER,
/* 0x0058 */ ACTOR_BG_DDAN_JD,
/* 0x0059 */ ACTOR_BG_BREAKWALL,
/* 0x005A */ ACTOR_EN_JJ,
/* 0x005B */ ACTOR_EN_HORSE_ZELDA,
/* 0x005C */ ACTOR_BG_DDAN_KD,
/* 0x005D */ ACTOR_DOOR_WARP1,
/* 0x005E */ ACTOR_OBJ_SYOKUDAI,
/* 0x005F */ ACTOR_ITEM_B_HEART,
/* 0x0060 */ ACTOR_EN_DEKUNUTS,
/* 0x0061 */ ACTOR_BG_MENKURI_KAITEN,
/* 0x0062 */ ACTOR_BG_MENKURI_EYE,
/* 0x0063 */ ACTOR_EN_VALI,
/* 0x0064 */ ACTOR_BG_MIZU_MOVEBG,
/* 0x0065 */ ACTOR_BG_MIZU_WATER,
/* 0x0066 */ ACTOR_ARMS_HOOK,
/* 0x0067 */ ACTOR_EN_FHG,
/* 0x0068 */ ACTOR_BG_MORI_HINERI,
/* 0x0069 */ ACTOR_EN_BB,
/* 0x006A */ ACTOR_BG_TOKI_HIKARI,
/* 0x006B */ ACTOR_EN_YUKABYUN,
/* 0x006C */ ACTOR_BG_TOKI_SWD,
/* 0x006D */ ACTOR_EN_FHG_FIRE,
/* 0x006E */ ACTOR_BG_MJIN,
/* 0x006F */ ACTOR_BG_HIDAN_KOUSI,
/* 0x0070 */ ACTOR_DOOR_TOKI,
/* 0x0071 */ ACTOR_BG_HIDAN_HAMSTEP,
/* 0x0072 */ ACTOR_EN_BIRD,
/* 0x0073 */ ACTOR_UNSET_73,
/* 0x0074 */ ACTOR_UNSET_74,
/* 0x0075 */ ACTOR_UNSET_75,
/* 0x0076 */ ACTOR_UNSET_76,
/* 0x0077 */ ACTOR_EN_WOOD02,
/* 0x0078 */ ACTOR_UNSET_78,
/* 0x0079 */ ACTOR_UNSET_79,
/* 0x007A */ ACTOR_UNSET_7A,
/* 0x007B */ ACTOR_UNSET_7B,
/* 0x007C */ ACTOR_EN_LIGHTBOX,
/* 0x007D */ ACTOR_EN_PU_BOX,
/* 0x007E */ ACTOR_UNSET_7E,
/* 0x007F */ ACTOR_UNSET_7F,
/* 0x0080 */ ACTOR_EN_TRAP,
/* 0x0081 */ ACTOR_EN_AROW_TRAP,
/* 0x0082 */ ACTOR_EN_VASE,
/* 0x0083 */ ACTOR_UNSET_83,
/* 0x0084 */ ACTOR_EN_TA,
/* 0x0085 */ ACTOR_EN_TK,
/* 0x0086 */ ACTOR_BG_MORI_BIGST,
/* 0x0087 */ ACTOR_BG_MORI_ELEVATOR,
/* 0x0088 */ ACTOR_BG_MORI_KAITENKABE,
/* 0x0089 */ ACTOR_BG_MORI_RAKKATENJO,
/* 0x008A */ ACTOR_EN_VM,
/* 0x008B */ ACTOR_DEMO_EFFECT,
/* 0x008C */ ACTOR_DEMO_KANKYO,
/* 0x008D */ ACTOR_BG_HIDAN_FWBIG,
/* 0x008E */ ACTOR_EN_FLOORMAS,
/* 0x008F */ ACTOR_EN_HEISHI1,
/* 0x0090 */ ACTOR_EN_RD,
/* 0x0091 */ ACTOR_EN_PO_SISTERS,
/* 0x0092 */ ACTOR_BG_HEAVY_BLOCK,
/* 0x0093 */ ACTOR_BG_PO_EVENT,
/* 0x0094 */ ACTOR_OBJ_MURE,
/* 0x0095 */ ACTOR_EN_SW,
/* 0x0096 */ ACTOR_BOSS_FD,
/* 0x0097 */ ACTOR_OBJECT_KANKYO,
/* 0x0098 */ ACTOR_EN_DU,
/* 0x0099 */ ACTOR_EN_FD,
/* 0x009A */ ACTOR_EN_HORSE_LINK_CHILD,
/* 0x009B */ ACTOR_DOOR_ANA,
/* 0x009C */ ACTOR_BG_SPOT02_OBJECTS,
/* 0x009D */ ACTOR_BG_HAKA,
/* 0x009E */ ACTOR_MAGIC_WIND,
/* 0x009F */ ACTOR_MAGIC_FIRE,
/* 0x00A0 */ ACTOR_UNSET_A0,
/* 0x00A1 */ ACTOR_EN_RU1,
/* 0x00A2 */ ACTOR_BOSS_FD2,
/* 0x00A3 */ ACTOR_EN_FD_FIRE,
/* 0x00A4 */ ACTOR_EN_DH,
/* 0x00A5 */ ACTOR_EN_DHA,
/* 0x00A6 */ ACTOR_EN_RL,
/* 0x00A7 */ ACTOR_EN_ENCOUNT1,
/* 0x00A8 */ ACTOR_DEMO_DU,
/* 0x00A9 */ ACTOR_DEMO_IM,
/* 0x00AA */ ACTOR_DEMO_TRE_LGT,
/* 0x00AB */ ACTOR_EN_FW,
/* 0x00AC */ ACTOR_BG_VB_SIMA,
/* 0x00AD */ ACTOR_EN_VB_BALL,
/* 0x00AE */ ACTOR_BG_HAKA_MEGANE,
/* 0x00AF */ ACTOR_BG_HAKA_MEGANEBG,
/* 0x00B0 */ ACTOR_BG_HAKA_SHIP,
/* 0x00B1 */ ACTOR_BG_HAKA_SGAMI,
/* 0x00B2 */ ACTOR_UNSET_B2,
/* 0x00B3 */ ACTOR_EN_HEISHI2,
/* 0x00B4 */ ACTOR_EN_ENCOUNT2,
/* 0x00B5 */ ACTOR_EN_FIRE_ROCK,
/* 0x00B6 */ ACTOR_EN_BROB,
/* 0x00B7 */ ACTOR_MIR_RAY,
/* 0x00B8 */ ACTOR_BG_SPOT09_OBJ,
/* 0x00B9 */ ACTOR_BG_SPOT18_OBJ,
/* 0x00BA */ ACTOR_BOSS_VA,
/* 0x00BB */ ACTOR_BG_HAKA_TUBO,
/* 0x00BC */ ACTOR_BG_HAKA_TRAP,
/* 0x00BD */ ACTOR_BG_HAKA_HUTA,
/* 0x00BE */ ACTOR_BG_HAKA_ZOU,
/* 0x00BF */ ACTOR_BG_SPOT17_FUNEN,
/* 0x00C0 */ ACTOR_EN_SYATEKI_ITM,
/* 0x00C1 */ ACTOR_EN_SYATEKI_MAN,
/* 0x00C2 */ ACTOR_EN_TANA,
/* 0x00C3 */ ACTOR_EN_NB,
/* 0x00C4 */ ACTOR_BOSS_MO,
/* 0x00C5 */ ACTOR_EN_SB,
/* 0x00C6 */ ACTOR_EN_BIGOKUTA,
/* 0x00C7 */ ACTOR_EN_KAREBABA,
/* 0x00C8 */ ACTOR_BG_BDAN_OBJECTS,
/* 0x00C9 */ ACTOR_DEMO_SA,
/* 0x00CA */ ACTOR_DEMO_GO,
/* 0x00CB */ ACTOR_EN_IN,
/* 0x00CC */ ACTOR_EN_TR,
/* 0x00CD */ ACTOR_BG_SPOT16_BOMBSTONE,
/* 0x00CE */ ACTOR_UNSET_CE,
/* 0x00CF */ ACTOR_BG_HIDAN_KOWARERUKABE,
/* 0x00D0 */ ACTOR_BG_BOMBWALL,
/* 0x00D1 */ ACTOR_BG_SPOT08_ICEBLOCK,
/* 0x00D2 */ ACTOR_EN_RU2,
/* 0x00D3 */ ACTOR_OBJ_DEKUJR,
/* 0x00D4 */ ACTOR_BG_MIZU_UZU,
/* 0x00D5 */ ACTOR_BG_SPOT06_OBJECTS,
/* 0x00D6 */ ACTOR_BG_ICE_OBJECTS,
/* 0x00D7 */ ACTOR_BG_HAKA_WATER,
/* 0x00D8 */ ACTOR_UNSET_D8,
/* 0x00D9 */ ACTOR_EN_MA2,
/* 0x00DA */ ACTOR_EN_BOM_CHU,
/* 0x00DB */ ACTOR_EN_HORSE_GAME_CHECK,
/* 0x00DC */ ACTOR_BOSS_TW,
/* 0x00DD */ ACTOR_EN_RR,
/* 0x00DE */ ACTOR_EN_BA,
/* 0x00DF */ ACTOR_EN_BX,
/* 0x00E0 */ ACTOR_EN_ANUBICE,
/* 0x00E1 */ ACTOR_EN_ANUBICE_FIRE,
/* 0x00E2 */ ACTOR_BG_MORI_HASHIGO,
/* 0x00E3 */ ACTOR_BG_MORI_HASHIRA4,
/* 0x00E4 */ ACTOR_BG_MORI_IDOMIZU,
/* 0x00E5 */ ACTOR_BG_SPOT16_DOUGHNUT,
/* 0x00E6 */ ACTOR_BG_BDAN_SWITCH,
/* 0x00E7 */ ACTOR_EN_MA1,
/* 0x00E8 */ ACTOR_BOSS_GANON,
/* 0x00E9 */ ACTOR_BOSS_SST,
/* 0x00EA */ ACTOR_UNSET_EA,
/* 0x00EB */ ACTOR_UNSET_EB,
/* 0x00EC */ ACTOR_EN_NY,
/* 0x00ED */ ACTOR_EN_FR,
/* 0x00EE */ ACTOR_ITEM_SHIELD,
/* 0x00EF */ ACTOR_BG_ICE_SHELTER,
/* 0x00F0 */ ACTOR_EN_ICE_HONO,
/* 0x00F1 */ ACTOR_ITEM_OCARINA,
/* 0x00F2 */ ACTOR_UNSET_F2,
/* 0x00F3 */ ACTOR_UNSET_F3,
/* 0x00F4 */ ACTOR_MAGIC_DARK,
/* 0x00F5 */ ACTOR_DEMO_6K,
/* 0x00F6 */ ACTOR_EN_ANUBICE_TAG,
/* 0x00F7 */ ACTOR_BG_HAKA_GATE,
/* 0x00F8 */ ACTOR_BG_SPOT15_SAKU,
/* 0x00F9 */ ACTOR_BG_JYA_GOROIWA,
/* 0x00FA */ ACTOR_BG_JYA_ZURERUKABE,
/* 0x00FB */ ACTOR_UNSET_FB,
/* 0x00FC */ ACTOR_BG_JYA_COBRA,
/* 0x00FD */ ACTOR_BG_JYA_KANAAMI,
/* 0x00FE */ ACTOR_FISHING,
/* 0x00FF */ ACTOR_OBJ_OSHIHIKI,
/* 0x0100 */ ACTOR_BG_GATE_SHUTTER,
/* 0x0101 */ ACTOR_EFF_DUST,
/* 0x0102 */ ACTOR_BG_SPOT01_FUSYA,
/* 0x0103 */ ACTOR_BG_SPOT01_IDOHASHIRA,
/* 0x0104 */ ACTOR_BG_SPOT01_IDOMIZU,
/* 0x0105 */ ACTOR_BG_PO_SYOKUDAI,
/* 0x0106 */ ACTOR_BG_GANON_OTYUKA,
/* 0x0107 */ ACTOR_BG_SPOT15_RRBOX,
/* 0x0108 */ ACTOR_BG_UMAJUMP,
/* 0x0109 */ ACTOR_UNSET_109,
/* 0x010A */ ACTOR_ARROW_FIRE,
/* 0x010B */ ACTOR_ARROW_ICE,
/* 0x010C */ ACTOR_ARROW_LIGHT,
/* 0x010D */ ACTOR_UNSET_10D,
/* 0x010E */ ACTOR_UNSET_10E,
/* 0x010F */ ACTOR_ITEM_ETCETERA,
/* 0x0110 */ ACTOR_OBJ_KIBAKO,
/* 0x0111 */ ACTOR_OBJ_TSUBO,
/* 0x0112 */ ACTOR_EN_WONDER_ITEM,
/* 0x0113 */ ACTOR_EN_IK,
/* 0x0114 */ ACTOR_DEMO_IK,
/* 0x0115 */ ACTOR_EN_SKJ,
/* 0x0116 */ ACTOR_EN_SKJNEEDLE,
/* 0x0117 */ ACTOR_EN_G_SWITCH,
/* 0x0118 */ ACTOR_DEMO_EXT,
/* 0x0119 */ ACTOR_DEMO_SHD,
/* 0x011A */ ACTOR_EN_DNS,
/* 0x011B */ ACTOR_ELF_MSG,
/* 0x011C */ ACTOR_EN_HONOTRAP,
/* 0x011D */ ACTOR_EN_TUBO_TRAP,
/* 0x011E */ ACTOR_OBJ_ICE_POLY,
/* 0x011F */ ACTOR_BG_SPOT03_TAKI,
/* 0x0120 */ ACTOR_BG_SPOT07_TAKI,
/* 0x0121 */ ACTOR_EN_FZ,
/* 0x0122 */ ACTOR_EN_PO_RELAY,
/* 0x0123 */ ACTOR_BG_RELAY_OBJECTS,
/* 0x0124 */ ACTOR_EN_DIVING_GAME,
/* 0x0125 */ ACTOR_EN_KUSA,
/* 0x0126 */ ACTOR_OBJ_BEAN,
/* 0x0127 */ ACTOR_OBJ_BOMBIWA,
/* 0x0128 */ ACTOR_UNSET_128,
/* 0x0129 */ ACTOR_UNSET_129,
/* 0x012A */ ACTOR_OBJ_SWITCH,
/* 0x012B */ ACTOR_OBJ_ELEVATOR,
/* 0x012C */ ACTOR_OBJ_LIFT,
/* 0x012D */ ACTOR_OBJ_HSBLOCK,
/* 0x012E */ ACTOR_EN_OKARINA_TAG,
/* 0x012F */ ACTOR_EN_YABUSAME_MARK,
/* 0x0130 */ ACTOR_EN_GOROIWA,
/* 0x0131 */ ACTOR_EN_EX_RUPPY,
/* 0x0132 */ ACTOR_EN_TORYO,
/* 0x0133 */ ACTOR_EN_DAIKU,
/* 0x0134 */ ACTOR_UNSET_134,
/* 0x0135 */ ACTOR_EN_NWC,
/* 0x0136 */ ACTOR_EN_BLKOBJ,
/* 0x0137 */ ACTOR_ITEM_INBOX,
/* 0x0138 */ ACTOR_EN_GE1,
/* 0x0139 */ ACTOR_OBJ_BLOCKSTOP,
/* 0x013A */ ACTOR_EN_SDA,
/* 0x013B */ ACTOR_EN_CLEAR_TAG,
/* 0x013C */ ACTOR_EN_NIW_LADY,
/* 0x013D */ ACTOR_EN_GM,
/* 0x013E */ ACTOR_EN_MS,
/* 0x013F */ ACTOR_EN_HS,
/* 0x0140 */ ACTOR_BG_INGATE,
/* 0x0141 */ ACTOR_EN_KANBAN,
/* 0x0142 */ ACTOR_EN_HEISHI3,
/* 0x0143 */ ACTOR_EN_SYATEKI_NIW,
/* 0x0144 */ ACTOR_EN_ATTACK_NIW,
/* 0x0145 */ ACTOR_BG_SPOT01_IDOSOKO,
/* 0x0146 */ ACTOR_EN_SA,
/* 0x0147 */ ACTOR_EN_WONDER_TALK,
/* 0x0148 */ ACTOR_BG_GJYO_BRIDGE,
/* 0x0149 */ ACTOR_EN_DS,
/* 0x014A */ ACTOR_EN_MK,
/* 0x014B */ ACTOR_EN_BOM_BOWL_MAN,
/* 0x014C */ ACTOR_EN_BOM_BOWL_PIT,
/* 0x014D */ ACTOR_EN_OWL,
/* 0x014E */ ACTOR_EN_ISHI,
/* 0x014F */ ACTOR_OBJ_HANA,
/* 0x0150 */ ACTOR_OBJ_LIGHTSWITCH,
/* 0x0151 */ ACTOR_OBJ_MURE2,
/* 0x0152 */ ACTOR_EN_GO,
/* 0x0153 */ ACTOR_EN_FU,
/* 0x0154 */ ACTOR_UNSET_154,
/* 0x0155 */ ACTOR_EN_CHANGER,
/* 0x0156 */ ACTOR_BG_JYA_MEGAMI,
/* 0x0157 */ ACTOR_BG_JYA_LIFT,
/* 0x0158 */ ACTOR_BG_JYA_BIGMIRROR,
/* 0x0159 */ ACTOR_BG_JYA_BOMBCHUIWA,
/* 0x015A */ ACTOR_BG_JYA_AMISHUTTER,
/* 0x015B */ ACTOR_BG_JYA_BOMBIWA,
/* 0x015C */ ACTOR_BG_SPOT18_BASKET,
/* 0x015D */ ACTOR_UNSET_15D,
/* 0x015E */ ACTOR_EN_GANON_ORGAN,
/* 0x015F */ ACTOR_EN_SIOFUKI,
/* 0x0160 */ ACTOR_EN_STREAM,
/* 0x0161 */ ACTOR_UNSET_161,
/* 0x0162 */ ACTOR_EN_MM,
/* 0x0163 */ ACTOR_EN_KO,
/* 0x0164 */ ACTOR_EN_KZ,
/* 0x0165 */ ACTOR_EN_WEATHER_TAG,
/* 0x0166 */ ACTOR_BG_SST_FLOOR,
/* 0x0167 */ ACTOR_EN_ANI,
/* 0x0168 */ ACTOR_EN_EX_ITEM,
/* 0x0169 */ ACTOR_BG_JYA_IRONOBJ,
/* 0x016A */ ACTOR_EN_JS,
/* 0x016B */ ACTOR_EN_JSJUTAN,
/* 0x016C */ ACTOR_EN_CS,
/* 0x016D */ ACTOR_EN_MD,
/* 0x016E */ ACTOR_EN_HY,
/* 0x016F */ ACTOR_EN_GANON_MANT,
/* 0x0170 */ ACTOR_EN_OKARINA_EFFECT,
/* 0x0171 */ ACTOR_EN_MAG,
/* 0x0172 */ ACTOR_DOOR_GERUDO,
/* 0x0173 */ ACTOR_ELF_MSG2,
/* 0x0174 */ ACTOR_DEMO_GT,
/* 0x0175 */ ACTOR_EN_PO_FIELD,
/* 0x0176 */ ACTOR_EFC_ERUPC,
/* 0x0177 */ ACTOR_BG_ZG,
/* 0x0178 */ ACTOR_EN_HEISHI4,
/* 0x0179 */ ACTOR_EN_ZL3,
/* 0x017A */ ACTOR_BOSS_GANON2,
/* 0x017B */ ACTOR_EN_KAKASI,
/* 0x017C */ ACTOR_EN_TAKARA_MAN,
/* 0x017D */ ACTOR_OBJ_MAKEOSHIHIKI,
/* 0x017E */ ACTOR_OCEFF_SPOT,
/* 0x017F */ ACTOR_END_TITLE,
/* 0x0180 */ ACTOR_UNSET_180,
/* 0x0181 */ ACTOR_EN_TORCH,
/* 0x0182 */ ACTOR_DEMO_EC,
/* 0x0183 */ ACTOR_SHOT_SUN,
/* 0x0184 */ ACTOR_EN_DY_EXTRA,
/* 0x0185 */ ACTOR_EN_WONDER_TALK2,
/* 0x0186 */ ACTOR_EN_GE2,
/* 0x0187 */ ACTOR_OBJ_ROOMTIMER,
/* 0x0188 */ ACTOR_EN_SSH,
/* 0x0189 */ ACTOR_EN_STH,
/* 0x018A */ ACTOR_OCEFF_WIPE,
/* 0x018B */ ACTOR_OCEFF_STORM,
/* 0x018C */ ACTOR_EN_WEIYER,
/* 0x018D */ ACTOR_BG_SPOT05_SOKO,
/* 0x018E */ ACTOR_BG_JYA_1FLIFT,
/* 0x018F */ ACTOR_BG_JYA_HAHENIRON,
/* 0x0190 */ ACTOR_BG_SPOT12_GATE,
/* 0x0191 */ ACTOR_BG_SPOT12_SAKU,
/* 0x0192 */ ACTOR_EN_HINTNUTS,
/* 0x0193 */ ACTOR_EN_NUTSBALL,
/* 0x0194 */ ACTOR_BG_SPOT00_BREAK,
/* 0x0195 */ ACTOR_EN_SHOPNUTS,
/* 0x0196 */ ACTOR_EN_IT,
/* 0x0197 */ ACTOR_EN_GELDB,
/* 0x0198 */ ACTOR_OCEFF_WIPE2,
/* 0x0199 */ ACTOR_OCEFF_WIPE3,
/* 0x019A */ ACTOR_EN_NIW_GIRL,
/* 0x019B */ ACTOR_EN_DOG,
/* 0x019C */ ACTOR_EN_SI,
/* 0x019D */ ACTOR_BG_SPOT01_OBJECTS2,
/* 0x019E */ ACTOR_OBJ_COMB,
/* 0x019F */ ACTOR_BG_SPOT11_BAKUDANKABE,
/* 0x01A0 */ ACTOR_OBJ_KIBAKO2,
/* 0x01A1 */ ACTOR_EN_DNT_DEMO,
/* 0x01A2 */ ACTOR_EN_DNT_JIJI,
/* 0x01A3 */ ACTOR_EN_DNT_NOMAL,
/* 0x01A4 */ ACTOR_EN_GUEST,
/* 0x01A5 */ ACTOR_BG_BOM_GUARD,
/* 0x01A6 */ ACTOR_EN_HS2,
/* 0x01A7 */ ACTOR_DEMO_KEKKAI,
/* 0x01A8 */ ACTOR_BG_SPOT08_BAKUDANKABE,
/* 0x01A9 */ ACTOR_BG_SPOT17_BAKUDANKABE,
/* 0x01AA */ ACTOR_UNSET_1AA,
/* 0x01AB */ ACTOR_OBJ_MURE3,
/* 0x01AC */ ACTOR_EN_TG,
/* 0x01AD */ ACTOR_EN_MU,
/* 0x01AE */ ACTOR_EN_GO2,
/* 0x01AF */ ACTOR_EN_WF,
/* 0x01B0 */ ACTOR_EN_SKB,
/* 0x01B1 */ ACTOR_DEMO_GJ,
/* 0x01B2 */ ACTOR_DEMO_GEFF,
/* 0x01B3 */ ACTOR_BG_GND_FIREMEIRO,
/* 0x01B4 */ ACTOR_BG_GND_DARKMEIRO,
/* 0x01B5 */ ACTOR_BG_GND_SOULMEIRO,
/* 0x01B6 */ ACTOR_BG_GND_NISEKABE,
/* 0x01B7 */ ACTOR_BG_GND_ICEBLOCK,
/* 0x01B8 */ ACTOR_EN_GB,
/* 0x01B9 */ ACTOR_EN_GS,
/* 0x01BA */ ACTOR_BG_MIZU_BWALL,
/* 0x01BB */ ACTOR_BG_MIZU_SHUTTER,
/* 0x01BC */ ACTOR_EN_DAIKU_KAKARIKO,
/* 0x01BD */ ACTOR_BG_BOWL_WALL,
/* 0x01BE */ ACTOR_EN_WALL_TUBO,
/* 0x01BF */ ACTOR_EN_PO_DESERT,
/* 0x01C0 */ ACTOR_EN_CROW,
/* 0x01C1 */ ACTOR_DOOR_KILLER,
/* 0x01C2 */ ACTOR_BG_SPOT11_OASIS,
/* 0x01C3 */ ACTOR_BG_SPOT18_FUTA,
/* 0x01C4 */ ACTOR_BG_SPOT18_SHUTTER,
/* 0x01C5 */ ACTOR_EN_MA3,
/* 0x01C6 */ ACTOR_EN_COW,
/* 0x01C7 */ ACTOR_BG_ICE_TURARA,
/* 0x01C8 */ ACTOR_BG_ICE_SHUTTER,
/* 0x01C9 */ ACTOR_EN_KAKASI2,
/* 0x01CA */ ACTOR_EN_KAKASI3,
/* 0x01CB */ ACTOR_OCEFF_WIPE4,
/* 0x01CC */ ACTOR_EN_EG,
/* 0x01CD */ ACTOR_BG_MENKURI_NISEKABE,
/* 0x01CE */ ACTOR_EN_ZO,
/* 0x01CF */ ACTOR_OBJ_MAKEKINSUTA,
/* 0x01D0 */ ACTOR_EN_GE3,
/* 0x01D1 */ ACTOR_OBJ_TIMEBLOCK,
/* 0x01D2 */ ACTOR_OBJ_HAMISHI,
/* 0x01D3 */ ACTOR_EN_ZL4,
/* 0x01D4 */ ACTOR_EN_MM2,
/* 0x01D5 */ ACTOR_BG_JYA_BLOCK,
/* 0x01D6 */ ACTOR_OBJ_WARP2BLOCK,
/* 0x01D7 */ ACTOR_ID_MAX // originally "ACTOR_DLF_MAX"
#include "tables/actor_table.h"
/* 0x0192 */ ACTOR_ID_MAX // originally "ACTOR_DLF_MAX"
} ActorID;
#undef DEFINE_ACTOR
#undef DEFINE_ACTOR_INTERNAL
#undef DEFINE_ACTOR_UNSET
#endif

View file

@ -670,11 +670,11 @@ typedef struct {
} ManyStruct_800E0E0C_2;
typedef struct {
/* 0x00 */ u8* unk_00;
/* 0x00 */ u32 endAndMediumKey;
/* 0x04 */ AudioBankSample* sample;
/* 0x08 */ u8* unk_08;
/* 0x0C */ s32 pad;
/* 0x10 */ s32 unk_10;
/* 0x08 */ u8* ramAddr;
/* 0x0C */ u32 encodedInfo;
/* 0x10 */ s32 isFree;
} AudioStruct0D68; // size = 0x14
typedef struct {
@ -854,9 +854,8 @@ typedef struct {
/* 0x0014 */ NoteSubEu* noteSubsEu;
/* 0x0018 */ SynthesisReverb synthesisReverbs[4];
/* 0x0B38 */ char unk_0B38[0x30];
/* 0x0B68 */ AudioBankSample* unk_B68[1]; // unknown size.
/* 0x0B6C */ char unk_B6C[0x1E8];
/* 0x0D54 */ AudioStruct0D68 unk_0D54[129]; // guessing at size
/* 0x0B68 */ AudioBankSample* unk_B68[128];
/* 0x0D68 */ AudioStruct0D68 unk_0D68[128];
/* 0x1768 */ s32 unk_1768;
/* 0x176C */ s32 unk_176C;
/* 0x1770 */ AsyncLoadReq asyncReqs[0x10];

View file

@ -248,45 +248,15 @@ typedef struct {
#define rgEnvColorA regs[10]
#define rgObjBankIdx regs[11]
#define DEFINE_EFFECT_SS(_0, enum) enum,
#define DEFINE_EFFECT_SS_UNSET(enum) enum,
typedef enum {
/* 0x00 */ EFFECT_SS_DUST,
/* 0x01 */ EFFECT_SS_KIRAKIRA,
/* 0x02 */ EFFECT_SS_BOMB,
/* 0x03 */ EFFECT_SS_BOMB2,
/* 0x04 */ EFFECT_SS_BLAST,
/* 0x05 */ EFFECT_SS_G_SPK,
/* 0x06 */ EFFECT_SS_D_FIRE,
/* 0x07 */ EFFECT_SS_BUBBLE,
/* 0x08 */ EFFECT_SS_UNSET,
/* 0x09 */ EFFECT_SS_G_RIPPLE,
/* 0x0A */ EFFECT_SS_G_SPLASH,
/* 0x0B */ EFFECT_SS_G_MAGMA,
/* 0x0C */ EFFECT_SS_G_FIRE,
/* 0x0D */ EFFECT_SS_LIGHTNING,
/* 0x0E */ EFFECT_SS_DT_BUBBLE,
/* 0x0F */ EFFECT_SS_HAHEN,
/* 0x10 */ EFFECT_SS_STICK,
/* 0x11 */ EFFECT_SS_SIBUKI,
/* 0x12 */ EFFECT_SS_SIBUKI2,
/* 0x13 */ EFFECT_SS_G_MAGMA2,
/* 0x14 */ EFFECT_SS_STONE1,
/* 0x15 */ EFFECT_SS_HITMARK,
/* 0x16 */ EFFECT_SS_FHG_FLASH,
/* 0x17 */ EFFECT_SS_K_FIRE,
/* 0x18 */ EFFECT_SS_SOLDER_SRCH_BALL,
/* 0x19 */ EFFECT_SS_KAKERA,
/* 0x1A */ EFFECT_SS_ICE_PIECE,
/* 0x1B */ EFFECT_SS_EN_ICE,
/* 0x1C */ EFFECT_SS_FIRE_TAIL,
/* 0x1D */ EFFECT_SS_EN_FIRE,
/* 0x1E */ EFFECT_SS_EXTRA,
/* 0x1F */ EFFECT_SS_FCIRCLE,
/* 0x20 */ EFFECT_SS_DEAD_DB,
/* 0x21 */ EFFECT_SS_DEAD_DD,
/* 0x22 */ EFFECT_SS_DEAD_DS,
/* 0x23 */ EFFECT_SS_DEAD_SOUND,
/* 0x24 */ EFFECT_SS_ICE_SMOKE,
#include "tables/effect_ss_table.h"
/* 0x25 */ EFFECT_SS_TYPE_MAX // originally "EFFECT_SS2_TYPE_LAST_LABEL"
} EffectSsType;
#undef DEFINE_EFFECT_SS
#undef DEFINE_EFFECT_SS_UNSET
#endif

View file

@ -3,410 +3,17 @@
#define OBJECT_EXCHANGE_BANK_MAX 19
#define DEFINE_OBJECT(_0, enum) enum,
#define DEFINE_OBJECT_NULL(_0, enum) enum,
#define DEFINE_OBJECT_UNSET(enum) enum,
typedef enum {
/* 0x0000 */ OBJECT_UNSET_0,
/* 0x0001 */ OBJECT_GAMEPLAY_KEEP,
/* 0x0002 */ OBJECT_GAMEPLAY_FIELD_KEEP,
/* 0x0003 */ OBJECT_GAMEPLAY_DANGEON_KEEP,
/* 0x0004 */ OBJECT_UNSET_4,
/* 0x0005 */ OBJECT_UNSET_5,
/* 0x0006 */ OBJECT_HUMAN,
/* 0x0007 */ OBJECT_OKUTA,
/* 0x0008 */ OBJECT_CROW,
/* 0x0009 */ OBJECT_POH,
/* 0x000A */ OBJECT_DY_OBJ,
/* 0x000B */ OBJECT_WALLMASTER,
/* 0x000C */ OBJECT_DODONGO,
/* 0x000D */ OBJECT_FIREFLY,
/* 0x000E */ OBJECT_BOX,
/* 0x000F */ OBJECT_FIRE,
/* 0x0010 */ OBJECT_UNSET_10,
/* 0x0011 */ OBJECT_UNSET_11,
/* 0x0012 */ OBJECT_BUBBLE,
/* 0x0013 */ OBJECT_NIW,
/* 0x0014 */ OBJECT_LINK_BOY,
/* 0x0015 */ OBJECT_LINK_CHILD,
/* 0x0016 */ OBJECT_TITE,
/* 0x0017 */ OBJECT_REEBA,
/* 0x0018 */ OBJECT_PEEHAT,
/* 0x0019 */ OBJECT_KINGDODONGO,
/* 0x001A */ OBJECT_HORSE,
/* 0x001B */ OBJECT_ZF,
/* 0x001C */ OBJECT_GOMA,
/* 0x001D */ OBJECT_ZL1,
/* 0x001E */ OBJECT_GOL,
/* 0x001F */ OBJECT_DODOJR,
/* 0x0020 */ OBJECT_TORCH2,
/* 0x0021 */ OBJECT_BL,
/* 0x0022 */ OBJECT_TP,
/* 0x0023 */ OBJECT_OA1,
/* 0x0024 */ OBJECT_ST,
/* 0x0025 */ OBJECT_BW,
/* 0x0026 */ OBJECT_EI,
/* 0x0027 */ OBJECT_HORSE_NORMAL,
/* 0x0028 */ OBJECT_OB1,
/* 0x0029 */ OBJECT_O_ANIME,
/* 0x002A */ OBJECT_SPOT04_OBJECTS,
/* 0x002B */ OBJECT_DDAN_OBJECTS,
/* 0x002C */ OBJECT_HIDAN_OBJECTS,
/* 0x002D */ OBJECT_HORSE_GANON,
/* 0x002E */ OBJECT_OA2,
/* 0x002F */ OBJECT_SPOT00_OBJECTS,
/* 0x0030 */ OBJECT_MB,
/* 0x0031 */ OBJECT_BOMBF,
/* 0x0032 */ OBJECT_SK2,
/* 0x0033 */ OBJECT_OE1,
/* 0x0034 */ OBJECT_OE_ANIME,
/* 0x0035 */ OBJECT_OE2,
/* 0x0036 */ OBJECT_YDAN_OBJECTS,
/* 0x0037 */ OBJECT_GND,
/* 0x0038 */ OBJECT_AM,
/* 0x0039 */ OBJECT_DEKUBABA,
/* 0x003A */ OBJECT_UNSET_3A,
/* 0x003B */ OBJECT_OA3,
/* 0x003C */ OBJECT_OA4,
/* 0x003D */ OBJECT_OA5,
/* 0x003E */ OBJECT_OA6,
/* 0x003F */ OBJECT_OA7,
/* 0x0040 */ OBJECT_JJ,
/* 0x0041 */ OBJECT_OA8,
/* 0x0042 */ OBJECT_OA9,
/* 0x0043 */ OBJECT_OB2,
/* 0x0044 */ OBJECT_OB3,
/* 0x0045 */ OBJECT_OB4,
/* 0x0046 */ OBJECT_HORSE_ZELDA,
/* 0x0047 */ OBJECT_OPENING_DEMO1,
/* 0x0048 */ OBJECT_WARP1,
/* 0x0049 */ OBJECT_B_HEART,
/* 0x004A */ OBJECT_DEKUNUTS,
/* 0x004B */ OBJECT_OE3,
/* 0x004C */ OBJECT_OE4,
/* 0x004D */ OBJECT_MENKURI_OBJECTS,
/* 0x004E */ OBJECT_OE5,
/* 0x004F */ OBJECT_OE6,
/* 0x0050 */ OBJECT_OE7,
/* 0x0051 */ OBJECT_OE8,
/* 0x0052 */ OBJECT_OE9,
/* 0x0053 */ OBJECT_OE10,
/* 0x0054 */ OBJECT_OE11,
/* 0x0055 */ OBJECT_OE12,
/* 0x0056 */ OBJECT_VALI,
/* 0x0057 */ OBJECT_OA10,
/* 0x0058 */ OBJECT_OA11,
/* 0x0059 */ OBJECT_MIZU_OBJECTS,
/* 0x005A */ OBJECT_FHG,
/* 0x005B */ OBJECT_OSSAN,
/* 0x005C */ OBJECT_MORI_HINERI1,
/* 0x005D */ OBJECT_BB,
/* 0x005E */ OBJECT_TOKI_OBJECTS,
/* 0x005F */ OBJECT_YUKABYUN,
/* 0x0060 */ OBJECT_ZL2,
/* 0x0061 */ OBJECT_MJIN,
/* 0x0062 */ OBJECT_MJIN_FLASH,
/* 0x0063 */ OBJECT_MJIN_DARK,
/* 0x0064 */ OBJECT_MJIN_FLAME,
/* 0x0065 */ OBJECT_MJIN_ICE,
/* 0x0066 */ OBJECT_MJIN_SOUL,
/* 0x0067 */ OBJECT_MJIN_WIND,
/* 0x0068 */ OBJECT_MJIN_OKA,
/* 0x0069 */ OBJECT_HAKA_OBJECTS,
/* 0x006A */ OBJECT_SPOT06_OBJECTS,
/* 0x006B */ OBJECT_ICE_OBJECTS,
/* 0x006C */ OBJECT_RELAY_OBJECTS,
/* 0x006D */ OBJECT_PO_FIELD,
/* 0x006E */ OBJECT_PO_COMPOSER,
/* 0x006F */ OBJECT_MORI_HINERI1A,
/* 0x0070 */ OBJECT_MORI_HINERI2,
/* 0x0071 */ OBJECT_MORI_HINERI2A,
/* 0x0072 */ OBJECT_MORI_OBJECTS,
/* 0x0073 */ OBJECT_MORI_TEX,
/* 0x0074 */ OBJECT_SPOT08_OBJ,
/* 0x0075 */ OBJECT_WARP2,
/* 0x0076 */ OBJECT_HATA,
/* 0x0077 */ OBJECT_BIRD,
/* 0x0078 */ OBJECT_UNSET_78,
/* 0x0079 */ OBJECT_UNSET_79,
/* 0x007A */ OBJECT_UNSET_7A,
/* 0x007B */ OBJECT_UNSET_7B,
/* 0x007C */ OBJECT_WOOD02,
/* 0x007D */ OBJECT_UNSET_7D,
/* 0x007E */ OBJECT_UNSET_7E,
/* 0x007F */ OBJECT_UNSET_7F,
/* 0x0080 */ OBJECT_UNSET_80,
/* 0x0081 */ OBJECT_LIGHTBOX,
/* 0x0082 */ OBJECT_PU_BOX,
/* 0x0083 */ OBJECT_UNSET_83,
/* 0x0084 */ OBJECT_UNSET_84,
/* 0x0085 */ OBJECT_TRAP,
/* 0x0086 */ OBJECT_VASE,
/* 0x0087 */ OBJECT_IM,
/* 0x0088 */ OBJECT_TA,
/* 0x0089 */ OBJECT_TK,
/* 0x008A */ OBJECT_XC,
/* 0x008B */ OBJECT_VM,
/* 0x008C */ OBJECT_BV,
/* 0x008D */ OBJECT_HAKACH_OBJECTS,
/* 0x008E */ OBJECT_EFC_CRYSTAL_LIGHT,
/* 0x008F */ OBJECT_EFC_FIRE_BALL,
/* 0x0090 */ OBJECT_EFC_FLASH,
/* 0x0091 */ OBJECT_EFC_LGT_SHOWER,
/* 0x0092 */ OBJECT_EFC_STAR_FIELD,
/* 0x0093 */ OBJECT_GOD_LGT,
/* 0x0094 */ OBJECT_LIGHT_RING,
/* 0x0095 */ OBJECT_TRIFORCE_SPOT,
/* 0x0096 */ OBJECT_BDAN_OBJECTS,
/* 0x0097 */ OBJECT_SD,
/* 0x0098 */ OBJECT_RD,
/* 0x0099 */ OBJECT_PO_SISTERS,
/* 0x009A */ OBJECT_HEAVY_OBJECT,
/* 0x009B */ OBJECT_GNDD,
/* 0x009C */ OBJECT_FD,
/* 0x009D */ OBJECT_DU,
/* 0x009E */ OBJECT_FW,
/* 0x009F */ OBJECT_MEDAL,
/* 0x00A0 */ OBJECT_HORSE_LINK_CHILD,
/* 0x00A1 */ OBJECT_SPOT02_OBJECTS,
/* 0x00A2 */ OBJECT_HAKA,
/* 0x00A3 */ OBJECT_RU1,
/* 0x00A4 */ OBJECT_SYOKUDAI,
/* 0x00A5 */ OBJECT_FD2,
/* 0x00A6 */ OBJECT_DH,
/* 0x00A7 */ OBJECT_RL,
/* 0x00A8 */ OBJECT_EFC_TW,
/* 0x00A9 */ OBJECT_DEMO_TRE_LGT,
/* 0x00AA */ OBJECT_GI_KEY,
/* 0x00AB */ OBJECT_MIR_RAY,
/* 0x00AC */ OBJECT_BROB,
/* 0x00AD */ OBJECT_GI_JEWEL,
/* 0x00AE */ OBJECT_SPOT09_OBJ,
/* 0x00AF */ OBJECT_SPOT18_OBJ,
/* 0x00B0 */ OBJECT_BDOOR,
/* 0x00B1 */ OBJECT_SPOT17_OBJ,
/* 0x00B2 */ OBJECT_SHOP_DUNGEN,
/* 0x00B3 */ OBJECT_NB,
/* 0x00B4 */ OBJECT_MO,
/* 0x00B5 */ OBJECT_SB,
/* 0x00B6 */ OBJECT_GI_MELODY,
/* 0x00B7 */ OBJECT_GI_HEART,
/* 0x00B8 */ OBJECT_GI_COMPASS,
/* 0x00B9 */ OBJECT_GI_BOSSKEY,
/* 0x00BA */ OBJECT_GI_MEDAL,
/* 0x00BB */ OBJECT_GI_NUTS,
/* 0x00BC */ OBJECT_SA,
/* 0x00BD */ OBJECT_GI_HEARTS,
/* 0x00BE */ OBJECT_GI_ARROWCASE,
/* 0x00BF */ OBJECT_GI_BOMBPOUCH,
/* 0x00C0 */ OBJECT_IN,
/* 0x00C1 */ OBJECT_TR,
/* 0x00C2 */ OBJECT_SPOT16_OBJ,
/* 0x00C3 */ OBJECT_OE1S,
/* 0x00C4 */ OBJECT_OE4S,
/* 0x00C5 */ OBJECT_OS_ANIME,
/* 0x00C6 */ OBJECT_GI_BOTTLE,
/* 0x00C7 */ OBJECT_GI_STICK,
/* 0x00C8 */ OBJECT_GI_MAP,
/* 0x00C9 */ OBJECT_OF1D_MAP,
/* 0x00CA */ OBJECT_RU2,
/* 0x00CB */ OBJECT_GI_SHIELD_1,
/* 0x00CC */ OBJECT_DEKUJR,
/* 0x00CD */ OBJECT_GI_MAGICPOT,
/* 0x00CE */ OBJECT_GI_BOMB_1,
/* 0x00CF */ OBJECT_OF1S,
/* 0x00D0 */ OBJECT_MA2,
/* 0x00D1 */ OBJECT_GI_PURSE,
/* 0x00D2 */ OBJECT_HNI,
/* 0x00D3 */ OBJECT_TW,
/* 0x00D4 */ OBJECT_RR,
/* 0x00D5 */ OBJECT_BXA,
/* 0x00D6 */ OBJECT_ANUBICE,
/* 0x00D7 */ OBJECT_GI_GERUDO,
/* 0x00D8 */ OBJECT_GI_ARROW,
/* 0x00D9 */ OBJECT_GI_BOMB_2,
/* 0x00DA */ OBJECT_GI_EGG,
/* 0x00DB */ OBJECT_GI_SCALE,
/* 0x00DC */ OBJECT_GI_SHIELD_2,
/* 0x00DD */ OBJECT_GI_HOOKSHOT,
/* 0x00DE */ OBJECT_GI_OCARINA,
/* 0x00DF */ OBJECT_GI_MILK,
/* 0x00E0 */ OBJECT_MA1,
/* 0x00E1 */ OBJECT_GANON,
/* 0x00E2 */ OBJECT_SST,
/* 0x00E3 */ OBJECT_NY_UNUSED,
/* 0x00E4 */ OBJECT_UNSET_E4,
/* 0x00E5 */ OBJECT_NY,
/* 0x00E6 */ OBJECT_FR,
/* 0x00E7 */ OBJECT_GI_PACHINKO,
/* 0x00E8 */ OBJECT_GI_BOOMERANG,
/* 0x00E9 */ OBJECT_GI_BOW,
/* 0x00EA */ OBJECT_GI_GLASSES,
/* 0x00EB */ OBJECT_GI_LIQUID,
/* 0x00EC */ OBJECT_ANI,
/* 0x00ED */ OBJECT_DEMO_6K,
/* 0x00EE */ OBJECT_GI_SHIELD_3,
/* 0x00EF */ OBJECT_GI_LETTER,
/* 0x00F0 */ OBJECT_SPOT15_OBJ,
/* 0x00F1 */ OBJECT_JYA_OBJ,
/* 0x00F2 */ OBJECT_GI_CLOTHES,
/* 0x00F3 */ OBJECT_GI_BEAN,
/* 0x00F4 */ OBJECT_GI_FISH,
/* 0x00F5 */ OBJECT_GI_SAW,
/* 0x00F6 */ OBJECT_GI_HAMMER,
/* 0x00F7 */ OBJECT_GI_GRASS,
/* 0x00F8 */ OBJECT_GI_LONGSWORD,
/* 0x00F9 */ OBJECT_SPOT01_OBJECTS,
/* 0x00FA */ OBJECT_MD_UNUSED,
/* 0x00FB */ OBJECT_MD,
/* 0x00FC */ OBJECT_KM1,
/* 0x00FD */ OBJECT_KW1,
/* 0x00FE */ OBJECT_ZO,
/* 0x00FF */ OBJECT_KZ,
/* 0x0100 */ OBJECT_UMAJUMP,
/* 0x0101 */ OBJECT_MASTERKOKIRI,
/* 0x0102 */ OBJECT_MASTERKOKIRIHEAD,
/* 0x0103 */ OBJECT_MASTERGOLON,
/* 0x0104 */ OBJECT_MASTERZOORA,
/* 0x0105 */ OBJECT_AOB,
/* 0x0106 */ OBJECT_IK,
/* 0x0107 */ OBJECT_AHG,
/* 0x0108 */ OBJECT_CNE,
/* 0x0109 */ OBJECT_GI_NIWATORI,
/* 0x010A */ OBJECT_SKJ,
/* 0x010B */ OBJECT_GI_BOTTLE_LETTER,
/* 0x010C */ OBJECT_BJI,
/* 0x010D */ OBJECT_BBA,
/* 0x010E */ OBJECT_GI_OCARINA_0,
/* 0x010F */ OBJECT_DS,
/* 0x0110 */ OBJECT_ANE,
/* 0x0111 */ OBJECT_BOJ,
/* 0x0112 */ OBJECT_SPOT03_OBJECT,
/* 0x0113 */ OBJECT_SPOT07_OBJECT,
/* 0x0114 */ OBJECT_FZ,
/* 0x0115 */ OBJECT_BOB,
/* 0x0116 */ OBJECT_GE1,
/* 0x0117 */ OBJECT_YABUSAME_POINT,
/* 0x0118 */ OBJECT_GI_BOOTS_2,
/* 0x0119 */ OBJECT_GI_SEED,
/* 0x011A */ OBJECT_GND_MAGIC,
/* 0x011B */ OBJECT_D_ELEVATOR,
/* 0x011C */ OBJECT_D_HSBLOCK,
/* 0x011D */ OBJECT_D_LIFT,
/* 0x011E */ OBJECT_MAMENOKI,
/* 0x011F */ OBJECT_GOROIWA,
/* 0x0120 */ OBJECT_UNSET_120,
/* 0x0121 */ OBJECT_TORYO,
/* 0x0122 */ OBJECT_DAIKU,
/* 0x0123 */ OBJECT_UNSET_123,
/* 0x0124 */ OBJECT_NWC,
/* 0x0125 */ OBJECT_BLKOBJ,
/* 0x0126 */ OBJECT_GM,
/* 0x0127 */ OBJECT_MS,
/* 0x0128 */ OBJECT_HS,
/* 0x0129 */ OBJECT_INGATE,
/* 0x012A */ OBJECT_LIGHTSWITCH,
/* 0x012B */ OBJECT_KUSA,
/* 0x012C */ OBJECT_TSUBO,
/* 0x012D */ OBJECT_GI_GLOVES,
/* 0x012E */ OBJECT_GI_COIN,
/* 0x012F */ OBJECT_KANBAN,
/* 0x0130 */ OBJECT_GJYO_OBJECTS,
/* 0x0131 */ OBJECT_OWL,
/* 0x0132 */ OBJECT_MK,
/* 0x0133 */ OBJECT_FU,
/* 0x0134 */ OBJECT_GI_KI_TAN_MASK,
/* 0x0135 */ OBJECT_GI_REDEAD_MASK,
/* 0x0136 */ OBJECT_GI_SKJ_MASK,
/* 0x0137 */ OBJECT_GI_RABIT_MASK,
/* 0x0138 */ OBJECT_GI_TRUTH_MASK,
/* 0x0139 */ OBJECT_GANON_OBJECTS,
/* 0x013A */ OBJECT_SIOFUKI,
/* 0x013B */ OBJECT_STREAM,
/* 0x013C */ OBJECT_MM,
/* 0x013D */ OBJECT_FA,
/* 0x013E */ OBJECT_OS,
/* 0x013F */ OBJECT_GI_EYE_LOTION,
/* 0x0140 */ OBJECT_GI_POWDER,
/* 0x0141 */ OBJECT_GI_MUSHROOM,
/* 0x0142 */ OBJECT_GI_TICKETSTONE,
/* 0x0143 */ OBJECT_GI_BROKENSWORD,
/* 0x0144 */ OBJECT_JS,
/* 0x0145 */ OBJECT_CS,
/* 0x0146 */ OBJECT_GI_PRESCRIPTION,
/* 0x0147 */ OBJECT_GI_BRACELET,
/* 0x0148 */ OBJECT_GI_SOLDOUT,
/* 0x0149 */ OBJECT_GI_FROG,
/* 0x014A */ OBJECT_MAG,
/* 0x014B */ OBJECT_DOOR_GERUDO,
/* 0x014C */ OBJECT_GT,
/* 0x014D */ OBJECT_EFC_ERUPC,
/* 0x014E */ OBJECT_ZL2_ANIME1,
/* 0x014F */ OBJECT_ZL2_ANIME2,
/* 0x0150 */ OBJECT_GI_GOLONMASK,
/* 0x0151 */ OBJECT_GI_ZORAMASK,
/* 0x0152 */ OBJECT_GI_GERUDOMASK,
/* 0x0153 */ OBJECT_GANON2,
/* 0x0154 */ OBJECT_KA,
/* 0x0155 */ OBJECT_TS,
/* 0x0156 */ OBJECT_ZG,
/* 0x0157 */ OBJECT_GI_HOVERBOOTS,
/* 0x0158 */ OBJECT_GI_M_ARROW,
/* 0x0159 */ OBJECT_DS2,
/* 0x015A */ OBJECT_EC,
/* 0x015B */ OBJECT_FISH,
/* 0x015C */ OBJECT_GI_SUTARU,
/* 0x015D */ OBJECT_GI_GODDESS,
/* 0x015E */ OBJECT_SSH,
/* 0x015F */ OBJECT_BIGOKUTA,
/* 0x0160 */ OBJECT_BG,
/* 0x0161 */ OBJECT_SPOT05_OBJECTS,
/* 0x0162 */ OBJECT_SPOT12_OBJ,
/* 0x0163 */ OBJECT_BOMBIWA,
/* 0x0164 */ OBJECT_HINTNUTS,
/* 0x0165 */ OBJECT_RS,
/* 0x0166 */ OBJECT_SPOT00_BREAK,
/* 0x0167 */ OBJECT_GLA,
/* 0x0168 */ OBJECT_SHOPNUTS,
/* 0x0169 */ OBJECT_GELDB,
/* 0x016A */ OBJECT_GR,
/* 0x016B */ OBJECT_DOG,
/* 0x016C */ OBJECT_JYA_IRON,
/* 0x016D */ OBJECT_JYA_DOOR,
/* 0x016E */ OBJECT_UNSET_16E,
/* 0x016F */ OBJECT_SPOT11_OBJ,
/* 0x0170 */ OBJECT_KIBAKO2,
/* 0x0171 */ OBJECT_DNS,
/* 0x0172 */ OBJECT_DNK,
/* 0x0173 */ OBJECT_GI_FIRE,
/* 0x0174 */ OBJECT_GI_INSECT,
/* 0x0175 */ OBJECT_GI_BUTTERFLY,
/* 0x0176 */ OBJECT_GI_GHOST,
/* 0x0177 */ OBJECT_GI_SOUL,
/* 0x0178 */ OBJECT_BOWL,
/* 0x0179 */ OBJECT_DEMO_KEKKAI,
/* 0x017A */ OBJECT_EFC_DOUGHNUT,
/* 0x017B */ OBJECT_GI_DEKUPOUCH,
/* 0x017C */ OBJECT_GANON_ANIME1,
/* 0x017D */ OBJECT_GANON_ANIME2,
/* 0x017E */ OBJECT_GANON_ANIME3,
/* 0x017F */ OBJECT_GI_RUPY,
/* 0x0180 */ OBJECT_SPOT01_MATOYA,
/* 0x0181 */ OBJECT_SPOT01_MATOYAB,
/* 0x0182 */ OBJECT_MU,
/* 0x0183 */ OBJECT_WF,
/* 0x0184 */ OBJECT_SKB,
/* 0x0185 */ OBJECT_GJ,
/* 0x0186 */ OBJECT_GEFF,
/* 0x0187 */ OBJECT_HAKA_DOOR,
/* 0x0188 */ OBJECT_GS,
/* 0x0189 */ OBJECT_PS,
/* 0x018A */ OBJECT_BWALL,
/* 0x018B */ OBJECT_COW,
/* 0x018C */ OBJECT_COB,
/* 0x018D */ OBJECT_GI_SWORD_1,
/* 0x018E */ OBJECT_DOOR_KILLER,
/* 0x018F */ OBJECT_OUKE_HAKA,
/* 0x0190 */ OBJECT_TIMEBLOCK,
/* 0x0191 */ OBJECT_ZL4,
#include "tables/object_table.h"
/* 0x0192 */ OBJECT_ID_MAX
} ObjectID;
#undef DEFINE_OBJECT
#undef DEFINE_OBJECT_NULL
#undef DEFINE_OBJECT_UNSET
#endif

9
spec
View file

@ -1429,11 +1429,7 @@ endseg
beginseg
name "ovl_Boss_Tw"
include "build/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_Boss_Tw/ovl_Boss_Tw_reloc.o"
#else
include "build/data/overlays/actors/z_boss_tw.reloc.o"
#endif
endseg
beginseg
@ -2241,8 +2237,11 @@ endseg
beginseg
name "ovl_En_Ganon_Mant"
include "build/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.o"
include "build/data/overlays/actors/z_en_ganon_mant.data.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Ganon_Mant/ovl_En_Ganon_Mant_reloc.o"
#else
include "build/data/overlays/actors/z_en_ganon_mant.reloc.o"
#endif
endseg
beginseg

View file

@ -1047,7 +1047,7 @@ UnkHeapEntry* func_800E06CC(u32 size) {
s32 index;
s32 i;
UnkHeapEntry* ret;
AudioStruct0D68* thing;
AudioStruct0D68* item;
UnkPool* unkPool;
u8* start;
u8* end;
@ -1070,10 +1070,10 @@ UnkHeapEntry* func_800E06CC(u32 size) {
index = -1;
for (i = 0; i < gAudioContext.unk_176C; i++) {
thing = &gAudioContext.unk_0D54[i + 1];
if (thing->unk_10 == 0) {
start = thing->unk_08;
end = thing->unk_08 + thing->sample->size - 1;
item = &gAudioContext.unk_0D68[i];
if (item->isFree == false) {
start = item->ramAddr;
end = item->ramAddr + item->sample->size - 1;
if (end < allocBefore && start < allocBefore) {
continue;
@ -1083,7 +1083,7 @@ UnkHeapEntry* func_800E06CC(u32 size) {
}
// Overlap
thing->unk_10 = 1;
item->isFree = true;
}
}

View file

@ -25,9 +25,9 @@ void func_800E2BCC(u32 devAddr, u8* addr, u32 size, s32 handleType);
s32 Audio_DMA(OSIoMesg* mesg, u32 priority, s32 direction, u32 devAddr, void* ramAddr, u32 size, OSMesgQueue* reqQueue,
s32 handleType, const char* dmaFuncType);
void* Audio_AsyncLoadInner(s32 tableType, s32 arg1, s32 arg2, s32 arg3, OSMesgQueue* retQueue);
AsyncLoadReq* func_800E3A44(s32 arg0, s32 devAddr, void* ramAddr, s32 size, s32 arg4, s32 nChunks,
AsyncLoadReq* func_800E3A44(s32 arg0, u32 devAddr, void* ramAddr, s32 size, s32 arg4, s32 nChunks,
OSMesgQueue* retQueue, s32 retMsg);
AsyncLoadReq* Audio_InitAsyncReq(s32 devAddr, void* ramAddr, s32 size, s32 arg3, s32 nChunks, OSMesgQueue* retQueue,
AsyncLoadReq* Audio_InitAsyncReq(u32 devAddr, void* ramAddr, u32 size, s32 arg3, s32 nChunks, OSMesgQueue* retQueue,
s32 retMsg);
void func_800E3FB4(AsyncLoadReq* req, u32 size);
void func_800E4044(u32 devAddr, void* ramAddr, u32 size, s16 arg3);
@ -649,18 +649,18 @@ void* Audio_GetLoadTable(s32 tableType) {
#ifdef NON_MATCHING
void func_800E283C(s32 arg0, unk_ldr* arg1, RelocInfo* arg2) {
s32 sp50;
s32 temp_v1_3;
s32 temp_s5;
s32 temp_a3;
void* reloc;
s32 i;
Drum* drum;
AudioBankSound* sfx;
Instrument* inst;
Instrument** end;
Instrument** instIt;
Drum** drums;
s32 temp_a3;
s32 sp50;
s32 temp_s5;
s32 i;
temp_a3 = gAudioContext.ctlEntries[arg0].numDrums;
sp50 = gAudioContext.ctlEntries[arg0].numInstruments;
@ -809,12 +809,12 @@ void func_800E2CC0(u32 tableType, u32 bankId) {
}
void* Audio_AsyncLoadInner(s32 tableType, s32 arg1, s32 arg2, s32 arg3, OSMesgQueue* retQueue) {
u32 sp54;
u32 size;
AudioTable* sp50;
void* sp4C;
s32 sp48;
s8 temp_a1;
u32 sp40;
u32 devAddr;
s32 sp3C;
u32 temp_v0;
u32 sp34;
@ -844,35 +844,35 @@ void* Audio_AsyncLoadInner(s32 tableType, s32 arg1, s32 arg2, s32 arg3, OSMesgQu
osSendMesg(retQueue, arg3 << 0x18, 0);
} else {
sp50 = Audio_GetLoadTable(tableType);
sp54 = sp50->entries[sp34].size;
sp54 = ALIGN16(sp54);
size = sp50->entries[sp34].size;
size = ALIGN16(size);
sp48 = sp50->entries[arg1].unk_08;
temp_a1 = sp50->entries[arg1].unk_09;
sp40 = sp50->entries[sp34].romAddr;
devAddr = sp50->entries[sp34].romAddr;
sp3C = 2;
switch (temp_a1) {
case 0:
sp4C = func_800E0540(tableType, sp34, sp54);
sp4C = func_800E0540(tableType, sp34, size);
if (sp4C == NULL) {
return sp4C;
}
sp3C = 5;
break;
case 1:
sp4C = Audio_AllocBankOrSeq(tableType, sp54, 1, sp34);
sp4C = Audio_AllocBankOrSeq(tableType, size, 1, sp34);
if (sp4C == NULL) {
return sp4C;
}
break;
case 2:
sp4C = Audio_AllocBankOrSeq(tableType, sp54, 0, sp34);
sp4C = Audio_AllocBankOrSeq(tableType, size, 0, sp34);
if (sp4C == NULL) {
return sp4C;
}
break;
case 3:
case 4:
sp4C = Audio_AllocBankOrSeq(tableType, sp54, 2, sp34);
sp4C = Audio_AllocBankOrSeq(tableType, size, 2, sp34);
if (sp4C == NULL) {
return sp4C;
}
@ -880,10 +880,10 @@ void* Audio_AsyncLoadInner(s32 tableType, s32 arg1, s32 arg2, s32 arg3, OSMesgQu
}
if (sp48 == 1) {
func_800E3A44((s16)sp50->header.unk_02, sp40, sp4C, sp54, sp48, arg2, retQueue,
func_800E3A44((s16)sp50->header.unk_02, devAddr, sp4C, size, sp48, arg2, retQueue,
(arg3 << 0x18) | (tableType << 0x10) | (arg1 << 8) | sp3C);
} else {
Audio_InitAsyncReq(sp40, sp4C, sp54, sp48, arg2, retQueue, MK_ASYNC_MSG(arg3, tableType, sp34, sp3C));
Audio_InitAsyncReq(devAddr, sp4C, size, sp48, arg2, retQueue, MK_ASYNC_MSG(arg3, tableType, sp34, sp3C));
}
sp3C = 1;
}
@ -1238,7 +1238,7 @@ void Audio_AsyncLoadReqInit(void) {
}
}
AsyncLoadReq* func_800E3A44(s32 arg0, s32 devAddr, void* ramAddr, s32 size, s32 arg4, s32 nChunks,
AsyncLoadReq* func_800E3A44(s32 arg0, u32 devAddr, void* ramAddr, s32 size, s32 arg4, s32 nChunks,
OSMesgQueue* retQueue, s32 retMsg) {
AsyncLoadReq* loadReq;
@ -1253,7 +1253,7 @@ AsyncLoadReq* func_800E3A44(s32 arg0, s32 devAddr, void* ramAddr, s32 size, s32
return loadReq;
}
AsyncLoadReq* Audio_InitAsyncReq(s32 devAddr, void* ramAddr, s32 size, s32 arg3, s32 nChunks, OSMesgQueue* retQueue,
AsyncLoadReq* Audio_InitAsyncReq(u32 devAddr, void* ramAddr, u32 size, s32 arg3, s32 nChunks, OSMesgQueue* retQueue,
s32 retMsg) {
AsyncLoadReq* loadReq;
s32 i;
@ -1281,7 +1281,7 @@ AsyncLoadReq* Audio_InitAsyncReq(s32 devAddr, void* ramAddr, s32 size, s32 arg3,
} else if (nChunks == 1) {
loadReq->chunkSize = size;
} else {
loadReq->chunkSize = ((size / nChunks) + 0xFF) & ~0xFF;
loadReq->chunkSize = (((s32)size / nChunks) + 0xFF) & ~0xFF;
if (loadReq->chunkSize < 0x100) {
loadReq->chunkSize = 0x100;
}
@ -1454,68 +1454,62 @@ void Audio_SampleReloc(AudioBankSound* sound, u32 arg1, RelocInfo* arg2) {
#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_800E4198.s")
#ifdef NON_MATCHING
s32 func_800E4590(s32 resetStatus) {
AudioBankSample* sample;
AudioStruct0D68* item;
u32 sp4C;
AudioBankSample* temp_v0_3;
AudioStruct0D68* temp_v1_2;
s32 temp_a0_2;
s32 temp_v0_2;
u32 temp_a0;
u32 temp_a0_3;
u32 temp_a2_2;
u32 temp_t0;
u8* temp_s0;
AudioStruct0D68* temp_a2;
AudioBankSample* temp_v0;
AudioStruct0D68* temp_v1;
u32 key;
u32 unk;
s32 pad;
if (gAudioContext.unk_176C > 0) {
if (resetStatus != 0) {
osRecvMesg(&gAudioContext.unk_1E78, &sp4C, 0);
osRecvMesg(&gAudioContext.unk_1E78, (OSMesg*)&sp4C, OS_MESG_NOBLOCK);
gAudioContext.unk_176C = 0;
return 0;
}
if (osRecvMesg(&gAudioContext.unk_1E78, &sp4C, 0) == -1) {
if (osRecvMesg(&gAudioContext.unk_1E78, (OSMesg*)&sp4C, OS_MESG_NOBLOCK) == -1) {
return 0;
}
sp4C >>= 0x18;
sp4C >>= 24;
item = &gAudioContext.unk_0D68[sp4C];
if (gAudioContext.unk_0D54[sp4C + 1].unk_10 == 0) {
if ((temp_v0_3->sampleAddr + temp_v0_3->size + temp_v0_3->medium) ==
gAudioContext.unk_0D54[sp4C + 1].unk_00) {
temp_v0_3->medium = 0;
temp_v0_3->sampleAddr = temp_v0_3->loop;
if (item->isFree == false) {
sample = item->sample;
key = (u32)sample->sampleAddr + sample->size + sample->medium;
if (key == item->endAndMediumKey) {
sample->sampleAddr = item->ramAddr;
sample->medium = 0;
}
gAudioContext.unk_0D54[sp4C + 1].unk_10 = 1;
item->isFree = true;
}
while (gAudioContext.unk_176C > 0) {
if (gAudioContext.unk_0D54[gAudioContext.unk_176C].unk_10 == 1) {
gAudioContext.unk_176C--;
continue;
} else {
temp_v0_3 = gAudioContext.unk_0D54[gAudioContext.unk_176C].sample;
if (&temp_v0_3->sampleAddr[temp_v0_3->size + temp_v0_3->medium] !=
gAudioContext.unk_0D54[gAudioContext.unk_176C].unk_00) {
gAudioContext.unk_0D54[gAudioContext.unk_176C].unk_10 = 1;
gAudioContext.unk_176C--;
continue;
} else {
Audio_InitAsyncReq(temp_v0_3->sampleAddr, gAudioContext.unk_0D54[gAudioContext.unk_176C].unk_08,
temp_v0_3->size, temp_v0_3->medium, (temp_a2_2 >> 0xC) + 1,
&gAudioContext.unk_1E78, gAudioContext.unk_0D54[gAudioContext.unk_176C].pad);
for (;;) {
if (gAudioContext.unk_176C <= 0) {
break;
}
item = &gAudioContext.unk_0D68[gAudioContext.unk_176C - 1];
if (item->isFree == true) {
gAudioContext.unk_176C--;
continue;
}
sample = item->sample;
unk = (sample->size >> 12) + 1;
key = (u32)sample->sampleAddr + sample->size + sample->medium;
if (key != item->endAndMediumKey) {
item->isFree = true;
gAudioContext.unk_176C--;
} else {
Audio_InitAsyncReq((u32)sample->sampleAddr, item->ramAddr, sample->size, sample->medium, unk,
&gAudioContext.unk_1E78, item->encodedInfo);
break;
}
}
}
return 1;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_800E4590.s")
#endif
s32 func_800E4744(AudioBankSample* sample, s32 sampleCnt, AudioBankSample** sampleList) {
s32 i;

View file

@ -1,492 +1,51 @@
#include "global.h"
#include "initvars.h"
#define ACTOR_OVERLAY(name, allocType) \
{ \
(u32) _ovl_##name##SegmentRomStart, (u32)_ovl_##name##SegmentRomEnd, _ovl_##name##SegmentStart, \
_ovl_##name##SegmentEnd, NULL, &name##_InitVars, #name, allocType, 0 \
}
// Linker symbol declarations (used in the table below)
#define DEFINE_ACTOR(name, _1, _2) DECLARE_OVERLAY_SEGMENT(name)
#define DEFINE_ACTOR_INTERNAL(_0, _1, _2)
#define DEFINE_ACTOR_UNSET(_0)
#define ACTOR_OVERLAY_INTERNAL(name, allocType) \
{ 0, 0, NULL, NULL, NULL, &name##_InitVars, #name, allocType, 0 }
#include "tables/actor_table.h"
#define ACTOR_OVERLAY_UNSET \
{ 0 }
#undef DEFINE_ACTOR
#undef DEFINE_ACTOR_INTERNAL
#undef DEFINE_ACTOR_UNSET
// Init Vars declarations (also used in the table below)
#define DEFINE_ACTOR(name, _1, _2) extern ActorInit name##_InitVars;
#define DEFINE_ACTOR_INTERNAL(name, _1, _2) extern ActorInit name##_InitVars;
#define DEFINE_ACTOR_UNSET(_0)
#include "tables/actor_table.h"
#undef DEFINE_ACTOR
#undef DEFINE_ACTOR_INTERNAL
#undef DEFINE_ACTOR_UNSET
// Actor Overlay Table definition
#define DEFINE_ACTOR(name, _1, allocType) \
{ (u32)_ovl_##name##SegmentRomStart, \
(u32)_ovl_##name##SegmentRomEnd, \
_ovl_##name##SegmentStart, \
_ovl_##name##SegmentEnd, \
NULL, \
&name##_InitVars, \
#name, \
allocType, \
0 },
#define DEFINE_ACTOR_INTERNAL(name, _1, allocType) { 0, 0, NULL, NULL, NULL, &name##_InitVars, #name, allocType, 0 },
#define DEFINE_ACTOR_UNSET(_0) { 0 },
ActorOverlay gActorOverlayTable[] = {
ACTOR_OVERLAY_INTERNAL(Player, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Test, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_GirlA, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Part, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Light, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Door, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_Box, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Dy_Yoseizo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Firewall, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Poh, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Okuta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ydan_Sp, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bom, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_Wallmas, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dodongo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Firefly, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_INTERNAL(En_Item00, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Arrow, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Elf, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Niw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Tite, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Reeba, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Peehat, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Butte, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Insect, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fish, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Holl, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_Scene_Change, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zf, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Hata, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Dodongo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Goma, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zl1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Viewer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Goma, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Pushbox, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bubble, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Shutter, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_Dodojr, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bdfire, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Boom, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_Torch2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bili, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tp, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_St, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_INTERNAL(En_A_Obj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Eiyer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_River_Sound, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse_Normal, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ossan, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Treemouth, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Dodoago, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Dalm, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Hrock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse_Ganon, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Rock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Rsekizou, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Sekizou, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Sima, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Syoku, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Xc, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Curtain, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot00_Hanebasi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Mb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bombf, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zl2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Fslift, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_OE2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ydan_Hasi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ydan_Maruta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Ganondrof, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Am, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dekubaba, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_M_Fire1, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_M_Thunder, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(Bg_Ddan_Jd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Breakwall, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Jj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse_Zelda, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ddan_Kd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Warp1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Syokudai, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Item_B_Heart, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dekunuts, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Menkuri_Kaiten, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Menkuri_Eye, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Vali, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mizu_Movebg, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mizu_Water, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Arms_Hook, ALLOCTYPE_PERMANENT),
ACTOR_OVERLAY(En_fHG, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Hineri, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Toki_Hikari, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Yukabyun, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Toki_Swd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fhg_Fire, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mjin, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Kousi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Toki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Hamstep, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bird, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Wood02, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Lightbox, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Pu_box, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Trap, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Arow_Trap, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Vase, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Ta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tk, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Bigst, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Elevator, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Kaitenkabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Rakkatenjo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Vm, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Effect, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Kankyo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Hidan_Fwbig, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Floormas, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Heishi1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Rd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Po_Sisters, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Heavy_Block, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Po_Event, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Mure, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Sw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Fd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Object_Kankyo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Du, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse_Link_Child, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Ana, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot02_Objects, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Magic_Wind, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Magic_Fire, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Ru1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Fd2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fd_Fire, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dh, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dha, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Rl, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Encount1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Du, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Im, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Tre_Lgt, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Vb_Sima, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Vb_Ball, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Megane, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_MeganeBG, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Ship, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Sgami, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Heishi2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Encount2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fire_Rock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Brob, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Mir_Ray, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot09_Obj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot18_Obj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Va, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Tubo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Trap, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Huta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Zou, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot17_Funen, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Syateki_Itm, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Syateki_Man, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tana, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Nb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Mo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Sb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bigokuta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Karebaba, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Bdan_Objects, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Sa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Go, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_In, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tr, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot16_Bombstone, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Bg_Hidan_Kowarerukabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Bombwall, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot08_Iceblock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ru2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Dekujr, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mizu_Uzu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot06_Objects, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ice_Objects, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Water, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Ma2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bom_Chu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Horse_Game_Check, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Tw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Rr, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ba, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bx, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Anubice, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Anubice_Fire, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Hashigo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Hashira4, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mori_Idomizu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot16_Doughnut, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Bdan_Switch, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ma1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Ganon, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Sst, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Ny, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fr, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Item_Shield, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ice_Shelter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ice_Hono, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Item_Ocarina, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Magic_Dark, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Demo_6K, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Anubice_Tag, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Haka_Gate, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot15_Saku, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Goroiwa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Zurerukabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Bg_Jya_Cobra, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Kanaami, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Fishing, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Oshihiki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gate_Shutter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Eff_Dust, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot01_Fusya, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot01_Idohashira, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot01_Idomizu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Po_Syokudai, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ganon_Otyuka, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot15_Rrbox, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Umajump, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Arrow_Fire, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Arrow_Ice, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Arrow_Light, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Item_Etcetera, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Kibako, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Tsubo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Wonder_Item, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ik, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Ik, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Skj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Skjneedle, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_G_Switch, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Ext, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Shd, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dns, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Elf_Msg, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Honotrap, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tubo_Trap, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Ice_Poly, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot03_Taki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot07_Taki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fz, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Po_Relay, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Relay_Objects, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Diving_Game, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kusa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Bean, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Bombiwa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Obj_Switch, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Elevator, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Lift, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Hsblock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Okarina_Tag, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Yabusame_Mark, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Goroiwa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ex_Ruppy, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Toryo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Daiku, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Nwc, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Blkobj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Item_Inbox, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ge1, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Blockstop, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Sda, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Clear_Tag, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Niw_Lady, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Gm, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ms, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Hs, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ingate, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kanban, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Heishi3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Syateki_Niw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Attack_Niw, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot01_Idosoko, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Sa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Wonder_Talk, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gjyo_Bridge, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ds, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Mk, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bom_Bowl_Man, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Bom_Bowl_Pit, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Owl, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ishi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Hana, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Lightswitch, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Mure2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Go, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Fu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Changer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Megami, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Lift, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Bigmirror, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Bombchuiwa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Amishutter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Bombiwa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot18_Basket, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Ganon_Organ, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Siofuki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Stream, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Mm, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ko, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kz, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Weather_Tag, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Sst_Floor, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ani, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ex_Item, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Ironobj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Js, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Jsjutan, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Cs, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Md, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Hy, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ganon_Mant, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Okarina_Effect, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Mag, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Gerudo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Elf_Msg2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Gt, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Po_Field, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Efc_Erupc, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Zg, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Heishi4, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zl3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Boss_Ganon2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kakasi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Takara_Man, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Makeoshihiki, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Oceff_Spot, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(End_Title, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(En_Torch, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Ec, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Shot_Sun, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dy_Extra, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Wonder_Talk2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ge2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Roomtimer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ssh, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Sth, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Oceff_Wipe, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Oceff_Storm, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(En_Weiyer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot05_Soko, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_1flift, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Haheniron, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot12_Gate, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot12_Saku, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Hintnuts, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Nutsball, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot00_Break, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Shopnuts, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_It, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_GeldB, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Oceff_Wipe2, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(Oceff_Wipe3, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(En_Niw_Girl, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dog, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Si, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot01_Objects2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Comb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot11_Bakudankabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Kibako2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dnt_Demo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dnt_Jiji, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Dnt_Nomal, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Guest, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Bom_Guard, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Hs2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Kekkai, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot08_Bakudankabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot17_Bakudankabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY_UNSET,
ACTOR_OVERLAY(Obj_Mure3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Tg, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Mu, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Go2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Wf, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Skb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Gj, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Demo_Geff, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gnd_Firemeiro, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gnd_Darkmeiro, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gnd_Soulmeiro, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gnd_Nisekabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Gnd_Iceblock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Gb, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Gs, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mizu_Bwall, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Mizu_Shutter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Daiku_Kakariko, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Bowl_Wall, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Wall_Tubo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Po_Desert, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Crow, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Door_Killer, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot11_Oasis, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot18_Futa, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Spot18_Shutter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ma3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Cow, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ice_Turara, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Ice_Shutter, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kakasi2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Kakasi3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Oceff_Wipe4, ALLOCTYPE_ABSOLUTE),
ACTOR_OVERLAY(En_Eg, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Menkuri_Nisekabe, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zo, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Makekinsuta, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Ge3, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Timeblock, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Hamishi, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Zl4, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(En_Mm2, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Bg_Jya_Block, ALLOCTYPE_NORMAL),
ACTOR_OVERLAY(Obj_Warp2block, ALLOCTYPE_NORMAL),
#include "tables/actor_table.h"
};
#undef DEFINE_ACTOR
#undef DEFINE_ACTOR_INTERNAL
#undef DEFINE_ACTOR_UNSET
s32 gMaxActorId = 0;
static FaultClient sFaultClient;

View file

@ -1,54 +1,40 @@
#include "global.h"
#include "initvars.h"
#define EFFECT_SS_OVERLAY(name) \
// Linker symbol declarations (used in the table below)
#define DEFINE_EFFECT_SS(name, _1) DECLARE_OVERLAY_SEGMENT(name)
#define DEFINE_EFFECT_SS_UNSET(_0)
#include "tables/effect_ss_table.h"
#undef DEFINE_EFFECT_SS
#undef DEFINE_EFFECT_SS_UNSET
// Init Vars declarations (also used in the table below)
#define DEFINE_EFFECT_SS(name, _1) extern EffectSsInit name##_InitVars;
#define DEFINE_EFFECT_SS_UNSET(_0)
#include "tables/effect_ss_table.h"
#undef DEFINE_EFFECT_SS
#undef DEFINE_EFFECT_SS_UNSET
// Effect SS Overlay Table definition
#define DEFINE_EFFECT_SS(name, _1) \
{ \
(u32) _ovl_##name##SegmentRomStart, (u32)_ovl_##name##SegmentRomEnd, _ovl_##name##SegmentStart, \
_ovl_##name##SegmentEnd, NULL, &name##_InitVars, 1, \
}
(u32)_ovl_##name##SegmentRomStart, \
(u32)_ovl_##name##SegmentRomEnd, \
_ovl_##name##SegmentStart, \
_ovl_##name##SegmentEnd, \
NULL, \
&name##_InitVars, \
1, \
},
#define EFFECT_SS_OVERLAY_INTERNAL(name) \
{ 0, 0, NULL, NULL, NULL, &name##_InitVars, 1 }
#define EFFECT_SS_OVERLAY_UNSET \
{ 0 }
#define DEFINE_EFFECT_SS_UNSET(_0) { 0 },
EffectSsOverlay gEffectSsOverlayTable[] = {
EFFECT_SS_OVERLAY(Effect_Ss_Dust),
EFFECT_SS_OVERLAY(Effect_Ss_KiraKira),
EFFECT_SS_OVERLAY(Effect_Ss_Bomb),
EFFECT_SS_OVERLAY(Effect_Ss_Bomb2),
EFFECT_SS_OVERLAY(Effect_Ss_Blast),
EFFECT_SS_OVERLAY(Effect_Ss_G_Spk),
EFFECT_SS_OVERLAY(Effect_Ss_D_Fire),
EFFECT_SS_OVERLAY(Effect_Ss_Bubble),
EFFECT_SS_OVERLAY_UNSET,
EFFECT_SS_OVERLAY(Effect_Ss_G_Ripple),
EFFECT_SS_OVERLAY(Effect_Ss_G_Splash),
EFFECT_SS_OVERLAY(Effect_Ss_G_Magma),
EFFECT_SS_OVERLAY(Effect_Ss_G_Fire),
EFFECT_SS_OVERLAY(Effect_Ss_Lightning),
EFFECT_SS_OVERLAY(Effect_Ss_Dt_Bubble),
EFFECT_SS_OVERLAY(Effect_Ss_Hahen),
EFFECT_SS_OVERLAY(Effect_Ss_Stick),
EFFECT_SS_OVERLAY(Effect_Ss_Sibuki),
EFFECT_SS_OVERLAY(Effect_Ss_Sibuki2),
EFFECT_SS_OVERLAY(Effect_Ss_G_Magma2),
EFFECT_SS_OVERLAY(Effect_Ss_Stone1),
EFFECT_SS_OVERLAY(Effect_Ss_HitMark),
EFFECT_SS_OVERLAY(Effect_Ss_Fhg_Flash),
EFFECT_SS_OVERLAY(Effect_Ss_K_Fire),
EFFECT_SS_OVERLAY(Effect_Ss_Solder_Srch_Ball),
EFFECT_SS_OVERLAY(Effect_Ss_Kakera),
EFFECT_SS_OVERLAY(Effect_Ss_Ice_Piece),
EFFECT_SS_OVERLAY(Effect_Ss_En_Ice),
EFFECT_SS_OVERLAY(Effect_Ss_Fire_Tail),
EFFECT_SS_OVERLAY(Effect_Ss_En_Fire),
EFFECT_SS_OVERLAY(Effect_Ss_Extra),
EFFECT_SS_OVERLAY(Effect_Ss_Fcircle),
EFFECT_SS_OVERLAY(Effect_Ss_Dead_Db),
EFFECT_SS_OVERLAY(Effect_Ss_Dead_Dd),
EFFECT_SS_OVERLAY(Effect_Ss_Dead_Ds),
EFFECT_SS_OVERLAY(Effect_Ss_Dead_Sound),
EFFECT_SS_OVERLAY(Effect_Ss_Ice_Smoke),
#include "tables/effect_ss_table.h"
};
#undef DEFINE_EFFECT_SS
#undef DEFINE_EFFECT_SS_UNSET

View file

@ -60,7 +60,7 @@ void Object_InitBank(GlobalContext* globalCtx, ObjectContext* objectCtx) {
objectCtx->mainKeepIndex = objectCtx->subKeepIndex = 0;
for (i = 0; i < OBJECT_EXCHANGE_BANK_MAX; i++) {
objectCtx->status[i].id = 0;
objectCtx->status[i].id = OBJECT_INVALID;
}
osSyncPrintf(VT_FGCOL(GREEN));
@ -276,7 +276,7 @@ void func_8009899C(GlobalContext* globalCtx, SceneCmd* cmd) {
if (status->id != *objectEntry) {
status2 = &globalCtx->objectCtx.status[i];
for (j = i; j < globalCtx->objectCtx.num; j++) {
status2->id = 0;
status2->id = OBJECT_INVALID;
status2++;
}
globalCtx->objectCtx.num = i;
@ -519,407 +519,26 @@ s16 gLinkObjectIds[] = { OBJECT_LINK_BOY, OBJECT_LINK_CHILD };
u32 gObjectTableSize = ARRAY_COUNT(gObjectTable);
// Object linker symbol declarations (used in the table below)
#define DEFINE_OBJECT(name, _1) DECLARE_ROM_SEGMENT(name)
#define DEFINE_OBJECT_NULL(_0, _1)
#define DEFINE_OBJECT_UNSET(_0)
#include "tables/object_table.h"
#undef DEFINE_OBJECT
#undef DEFINE_OBJECT_NULL
#undef DEFINE_OBJECT_UNSET
// Object Table definition
#define DEFINE_OBJECT(name, _1) ROM_FILE(name),
#define DEFINE_OBJECT_NULL(name, _1) ROM_FILE_EMPTY(name),
#define DEFINE_OBJECT_UNSET(_0) { 0 },
RomFile gObjectTable[] = {
ROM_FILE_UNSET,
ROM_FILE(gameplay_keep),
ROM_FILE(gameplay_field_keep),
ROM_FILE(gameplay_dangeon_keep),
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE(object_human),
ROM_FILE(object_okuta),
ROM_FILE(object_crow),
ROM_FILE(object_poh),
ROM_FILE(object_dy_obj),
ROM_FILE(object_wallmaster),
ROM_FILE(object_dodongo),
ROM_FILE(object_firefly),
ROM_FILE(object_box),
ROM_FILE(object_fire),
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE(object_bubble),
ROM_FILE(object_niw),
ROM_FILE(object_link_boy),
ROM_FILE(object_link_child),
ROM_FILE(object_tite),
ROM_FILE(object_reeba),
ROM_FILE(object_peehat),
ROM_FILE(object_kingdodongo),
ROM_FILE(object_horse),
ROM_FILE(object_zf),
ROM_FILE(object_goma),
ROM_FILE(object_zl1),
ROM_FILE(object_gol),
ROM_FILE(object_dodojr),
ROM_FILE(object_torch2),
ROM_FILE(object_bl),
ROM_FILE(object_tp),
ROM_FILE(object_oA1),
ROM_FILE(object_st),
ROM_FILE(object_bw),
ROM_FILE(object_ei),
ROM_FILE(object_horse_normal),
ROM_FILE(object_oB1),
ROM_FILE(object_o_anime),
ROM_FILE(object_spot04_objects),
ROM_FILE(object_ddan_objects),
ROM_FILE(object_hidan_objects),
ROM_FILE(object_horse_ganon),
ROM_FILE(object_oA2),
ROM_FILE(object_spot00_objects),
ROM_FILE(object_mb),
ROM_FILE(object_bombf),
ROM_FILE(object_sk2),
ROM_FILE(object_oE1),
ROM_FILE(object_oE_anime),
ROM_FILE(object_oE2),
ROM_FILE(object_ydan_objects),
ROM_FILE(object_gnd),
ROM_FILE(object_am),
ROM_FILE(object_dekubaba),
ROM_FILE_UNSET,
ROM_FILE(object_oA3),
ROM_FILE(object_oA4),
ROM_FILE(object_oA5),
ROM_FILE(object_oA6),
ROM_FILE(object_oA7),
ROM_FILE(object_jj),
ROM_FILE(object_oA8),
ROM_FILE(object_oA9),
ROM_FILE(object_oB2),
ROM_FILE(object_oB3),
ROM_FILE(object_oB4),
ROM_FILE(object_horse_zelda),
ROM_FILE(object_opening_demo1),
ROM_FILE(object_warp1),
ROM_FILE(object_b_heart),
ROM_FILE(object_dekunuts),
ROM_FILE(object_oE3),
ROM_FILE(object_oE4),
ROM_FILE(object_menkuri_objects),
ROM_FILE(object_oE5),
ROM_FILE(object_oE6),
ROM_FILE(object_oE7),
ROM_FILE(object_oE8),
ROM_FILE(object_oE9),
ROM_FILE(object_oE10),
ROM_FILE(object_oE11),
ROM_FILE(object_oE12),
ROM_FILE(object_vali),
ROM_FILE(object_oA10),
ROM_FILE(object_oA11),
ROM_FILE(object_mizu_objects),
ROM_FILE(object_fhg),
ROM_FILE(object_ossan),
ROM_FILE(object_mori_hineri1),
ROM_FILE(object_Bb),
ROM_FILE(object_toki_objects),
ROM_FILE(object_yukabyun),
ROM_FILE(object_zl2),
ROM_FILE(object_mjin),
ROM_FILE(object_mjin_flash),
ROM_FILE(object_mjin_dark),
ROM_FILE(object_mjin_flame),
ROM_FILE(object_mjin_ice),
ROM_FILE(object_mjin_soul),
ROM_FILE(object_mjin_wind),
ROM_FILE(object_mjin_oka),
ROM_FILE(object_haka_objects),
ROM_FILE(object_spot06_objects),
ROM_FILE(object_ice_objects),
ROM_FILE(object_relay_objects),
ROM_FILE(object_po_field),
ROM_FILE(object_po_composer),
ROM_FILE(object_mori_hineri1a),
ROM_FILE(object_mori_hineri2),
ROM_FILE(object_mori_hineri2a),
ROM_FILE(object_mori_objects),
ROM_FILE(object_mori_tex),
ROM_FILE(object_spot08_obj),
ROM_FILE(object_warp2),
ROM_FILE(object_hata),
ROM_FILE(object_bird),
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE(object_wood02),
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE(object_lightbox),
ROM_FILE(object_pu_box),
ROM_FILE_UNSET,
ROM_FILE_UNSET,
ROM_FILE(object_trap),
ROM_FILE(object_vase),
ROM_FILE(object_im),
ROM_FILE(object_ta),
ROM_FILE(object_tk),
ROM_FILE(object_xc),
ROM_FILE(object_vm),
ROM_FILE(object_bv),
ROM_FILE(object_hakach_objects),
ROM_FILE(object_efc_crystal_light),
ROM_FILE(object_efc_fire_ball),
ROM_FILE(object_efc_flash),
ROM_FILE(object_efc_lgt_shower),
ROM_FILE(object_efc_star_field),
ROM_FILE(object_god_lgt),
ROM_FILE(object_light_ring),
ROM_FILE(object_triforce_spot),
ROM_FILE(object_bdan_objects),
ROM_FILE(object_sd),
ROM_FILE(object_rd),
ROM_FILE(object_po_sisters),
ROM_FILE(object_heavy_object),
ROM_FILE(object_gndd),
ROM_FILE(object_fd),
ROM_FILE(object_du),
ROM_FILE(object_fw),
ROM_FILE(object_medal),
ROM_FILE(object_horse_link_child),
ROM_FILE(object_spot02_objects),
ROM_FILE(object_haka),
ROM_FILE(object_ru1),
ROM_FILE(object_syokudai),
ROM_FILE(object_fd2),
ROM_FILE(object_dh),
ROM_FILE(object_rl),
ROM_FILE(object_efc_tw),
ROM_FILE(object_demo_tre_lgt),
ROM_FILE(object_gi_key),
ROM_FILE(object_mir_ray),
ROM_FILE(object_brob),
ROM_FILE(object_gi_jewel),
ROM_FILE(object_spot09_obj),
ROM_FILE(object_spot18_obj),
ROM_FILE(object_bdoor),
ROM_FILE(object_spot17_obj),
ROM_FILE(object_shop_dungen),
ROM_FILE(object_nb),
ROM_FILE(object_mo),
ROM_FILE(object_sb),
ROM_FILE(object_gi_melody),
ROM_FILE(object_gi_heart),
ROM_FILE(object_gi_compass),
ROM_FILE(object_gi_bosskey),
ROM_FILE(object_gi_medal),
ROM_FILE(object_gi_nuts),
ROM_FILE(object_sa),
ROM_FILE(object_gi_hearts),
ROM_FILE(object_gi_arrowcase),
ROM_FILE(object_gi_bombpouch),
ROM_FILE(object_in),
ROM_FILE(object_tr),
ROM_FILE(object_spot16_obj),
ROM_FILE(object_oE1s),
ROM_FILE(object_oE4s),
ROM_FILE(object_os_anime),
ROM_FILE(object_gi_bottle),
ROM_FILE(object_gi_stick),
ROM_FILE(object_gi_map),
ROM_FILE(object_oF1d_map),
ROM_FILE(object_ru2),
ROM_FILE(object_gi_shield_1),
ROM_FILE(object_dekujr),
ROM_FILE(object_gi_magicpot),
ROM_FILE(object_gi_bomb_1),
ROM_FILE(object_oF1s),
ROM_FILE(object_ma2),
ROM_FILE(object_gi_purse),
ROM_FILE(object_hni),
ROM_FILE(object_tw),
ROM_FILE(object_rr),
ROM_FILE(object_bxa),
ROM_FILE(object_anubice),
ROM_FILE(object_gi_gerudo),
ROM_FILE(object_gi_arrow),
ROM_FILE(object_gi_bomb_2),
ROM_FILE(object_gi_egg),
ROM_FILE(object_gi_scale),
ROM_FILE(object_gi_shield_2),
ROM_FILE(object_gi_hookshot),
ROM_FILE(object_gi_ocarina),
ROM_FILE(object_gi_milk),
ROM_FILE(object_ma1),
ROM_FILE(object_ganon),
ROM_FILE(object_sst),
ROM_FILE_EMPTY(object_ny), // unused duplicate with size 0
ROM_FILE_UNSET,
ROM_FILE(object_ny),
ROM_FILE(object_fr),
ROM_FILE(object_gi_pachinko),
ROM_FILE(object_gi_boomerang),
ROM_FILE(object_gi_bow),
ROM_FILE(object_gi_glasses),
ROM_FILE(object_gi_liquid),
ROM_FILE(object_ani),
ROM_FILE(object_demo_6k),
ROM_FILE(object_gi_shield_3),
ROM_FILE(object_gi_letter),
ROM_FILE(object_spot15_obj),
ROM_FILE(object_jya_obj),
ROM_FILE(object_gi_clothes),
ROM_FILE(object_gi_bean),
ROM_FILE(object_gi_fish),
ROM_FILE(object_gi_saw),
ROM_FILE(object_gi_hammer),
ROM_FILE(object_gi_grass),
ROM_FILE(object_gi_longsword),
ROM_FILE(object_spot01_objects),
ROM_FILE_EMPTY(object_md), // unused duplicate with size 0
ROM_FILE(object_md),
ROM_FILE(object_km1),
ROM_FILE(object_kw1),
ROM_FILE(object_zo),
ROM_FILE(object_kz),
ROM_FILE(object_umajump),
ROM_FILE(object_masterkokiri),
ROM_FILE(object_masterkokirihead),
ROM_FILE(object_mastergolon),
ROM_FILE(object_masterzoora),
ROM_FILE(object_aob),
ROM_FILE(object_ik),
ROM_FILE(object_ahg),
ROM_FILE(object_cne),
ROM_FILE(object_gi_niwatori),
ROM_FILE(object_skj),
ROM_FILE(object_gi_bottle_letter),
ROM_FILE(object_bji),
ROM_FILE(object_bba),
ROM_FILE(object_gi_ocarina_0),
ROM_FILE(object_ds),
ROM_FILE(object_ane),
ROM_FILE(object_boj),
ROM_FILE(object_spot03_object),
ROM_FILE(object_spot07_object),
ROM_FILE(object_fz),
ROM_FILE(object_bob),
ROM_FILE(object_ge1),
ROM_FILE(object_yabusame_point),
ROM_FILE(object_gi_boots_2),
ROM_FILE(object_gi_seed),
ROM_FILE(object_gnd_magic),
ROM_FILE(object_d_elevator),
ROM_FILE(object_d_hsblock),
ROM_FILE(object_d_lift),
ROM_FILE(object_mamenoki),
ROM_FILE(object_goroiwa),
ROM_FILE_UNSET,
ROM_FILE(object_toryo),
ROM_FILE(object_daiku),
ROM_FILE_UNSET,
ROM_FILE(object_nwc),
ROM_FILE(object_blkobj),
ROM_FILE(object_gm),
ROM_FILE(object_ms),
ROM_FILE(object_hs),
ROM_FILE(object_ingate),
ROM_FILE(object_lightswitch),
ROM_FILE(object_kusa),
ROM_FILE(object_tsubo),
ROM_FILE(object_gi_gloves),
ROM_FILE(object_gi_coin),
ROM_FILE(object_kanban),
ROM_FILE(object_gjyo_objects),
ROM_FILE(object_owl),
ROM_FILE(object_mk),
ROM_FILE(object_fu),
ROM_FILE(object_gi_ki_tan_mask),
ROM_FILE(object_gi_redead_mask),
ROM_FILE(object_gi_skj_mask),
ROM_FILE(object_gi_rabit_mask),
ROM_FILE(object_gi_truth_mask),
ROM_FILE(object_ganon_objects),
ROM_FILE(object_siofuki),
ROM_FILE(object_stream),
ROM_FILE(object_mm),
ROM_FILE(object_fa),
ROM_FILE(object_os),
ROM_FILE(object_gi_eye_lotion),
ROM_FILE(object_gi_powder),
ROM_FILE(object_gi_mushroom),
ROM_FILE(object_gi_ticketstone),
ROM_FILE(object_gi_brokensword),
ROM_FILE(object_js),
ROM_FILE(object_cs),
ROM_FILE(object_gi_prescription),
ROM_FILE(object_gi_bracelet),
ROM_FILE(object_gi_soldout),
ROM_FILE(object_gi_frog),
ROM_FILE(object_mag),
ROM_FILE(object_door_gerudo),
ROM_FILE(object_gt),
ROM_FILE(object_efc_erupc),
ROM_FILE(object_zl2_anime1),
ROM_FILE(object_zl2_anime2),
ROM_FILE(object_gi_golonmask),
ROM_FILE(object_gi_zoramask),
ROM_FILE(object_gi_gerudomask),
ROM_FILE(object_ganon2),
ROM_FILE(object_ka),
ROM_FILE(object_ts),
ROM_FILE(object_zg),
ROM_FILE(object_gi_hoverboots),
ROM_FILE(object_gi_m_arrow),
ROM_FILE(object_ds2),
ROM_FILE(object_ec),
ROM_FILE(object_fish),
ROM_FILE(object_gi_sutaru),
ROM_FILE(object_gi_goddess),
ROM_FILE(object_ssh),
ROM_FILE(object_bigokuta),
ROM_FILE(object_bg),
ROM_FILE(object_spot05_objects),
ROM_FILE(object_spot12_obj),
ROM_FILE(object_bombiwa),
ROM_FILE(object_hintnuts),
ROM_FILE(object_rs),
ROM_FILE(object_spot00_break),
ROM_FILE(object_gla),
ROM_FILE(object_shopnuts),
ROM_FILE(object_geldb),
ROM_FILE(object_gr),
ROM_FILE(object_dog),
ROM_FILE(object_jya_iron),
ROM_FILE(object_jya_door),
ROM_FILE_UNSET,
ROM_FILE(object_spot11_obj),
ROM_FILE(object_kibako2),
ROM_FILE(object_dns),
ROM_FILE(object_dnk),
ROM_FILE(object_gi_fire),
ROM_FILE(object_gi_insect),
ROM_FILE(object_gi_butterfly),
ROM_FILE(object_gi_ghost),
ROM_FILE(object_gi_soul),
ROM_FILE(object_bowl),
ROM_FILE(object_demo_kekkai),
ROM_FILE(object_efc_doughnut),
ROM_FILE(object_gi_dekupouch),
ROM_FILE(object_ganon_anime1),
ROM_FILE(object_ganon_anime2),
ROM_FILE(object_ganon_anime3),
ROM_FILE(object_gi_rupy),
ROM_FILE(object_spot01_matoya),
ROM_FILE(object_spot01_matoyab),
ROM_FILE(object_mu),
ROM_FILE(object_wf),
ROM_FILE(object_skb),
ROM_FILE(object_gj),
ROM_FILE(object_geff),
ROM_FILE(object_haka_door),
ROM_FILE(object_gs),
ROM_FILE(object_ps),
ROM_FILE(object_bwall),
ROM_FILE(object_cow),
ROM_FILE(object_cob),
ROM_FILE(object_gi_sword_1),
ROM_FILE(object_door_killer),
ROM_FILE(object_ouke_haka),
ROM_FILE(object_timeblock),
ROM_FILE(object_zl4),
#include "tables/object_table.h"
};
#undef DEFINE_OBJECT
#undef DEFINE_OBJECT_NULL
#undef DEFINE_OBJECT_UNSET

View file

@ -2604,10 +2604,9 @@ void BossTw_DeathCSMsgSfx(BossTw* this, GlobalContext* globalCtx) {
}
}
#ifdef NON_MATCHING
void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
s16 i;
Vec3f spD8;
Vec3f spD0;
Player* player = PLAYER;
Camera* mainCam = Gameplay_GetCamera(globalCtx, MAIN_CAM);
@ -2695,11 +2694,11 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
Audio_QueueSeqCmd(0x100100FF);
break;
case 1:
spD8.x = Math_SinS(this->actor.world.rot.y) * 200.0f;
spD8.z = Math_CosS(this->actor.world.rot.y) * 200.0f;
Math_ApproachF(&this->subCamEye.x, spD8.x + this->actor.world.pos.x, 0.1f, 50.0f);
spD0.x = Math_SinS(this->actor.world.rot.y) * 200.0f;
spD0.z = Math_CosS(this->actor.world.rot.y) * 200.0f;
Math_ApproachF(&this->subCamEye.x, spD0.x + this->actor.world.pos.x, 0.1f, 50.0f);
Math_ApproachF(&this->subCamEye.y, 300.0f, 0.1f, 50.0f);
Math_ApproachF(&this->subCamEye.z, spD8.z + this->actor.world.pos.z, 0.1f, 50.0f);
Math_ApproachF(&this->subCamEye.z, spD0.z + this->actor.world.pos.z, 0.1f, 50.0f);
Math_ApproachF(&this->subCamAt.x, this->actor.world.pos.x, 0.1f, 50.0f);
Math_ApproachF(&this->subCamAt.y, this->actor.world.pos.y, 0.1f, 50.0f);
Math_ApproachF(&this->subCamAt.z, this->actor.world.pos.z, 0.1f, 50.0f);
@ -2734,6 +2733,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
Vec3f pos;
Vec3f velocity;
Vec3f accel = { 0.0f, 0.0f, 0.0f };
s32 zero = 0;
for (i = 0; i < 50; i++) {
velocity.x = Rand_CenteredFloat(3.0f);
@ -2744,6 +2744,13 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
pos.y += velocity.y * 2.0f;
pos.z += velocity.z * 2.0f;
BossTw_AddFlameEffect(globalCtx, &pos, &velocity, &accel, Rand_ZeroFloat(2.0f) + 5, 1);
// fake code needed to match, tricks the compiler into allocating more stack
if (1) {}
if (zero) {
accel.x *= 2.0;
}
velocity.x = Rand_CenteredFloat(3.0f);
velocity.y = Rand_CenteredFloat(3.0f);
velocity.z = Rand_CenteredFloat(3.0f);
@ -2753,6 +2760,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
pos.z += velocity.z * 2.0f;
BossTw_AddFlameEffect(globalCtx, &pos, &velocity, &accel, Rand_ZeroFloat(2.0f) + 5, 0);
}
Actor_SetScale(&sKoumePtr->actor, 0.0f);
Actor_SetScale(&sKotakePtr->actor, 0.0f);
sKoumePtr->visible = 1;
@ -2797,11 +2805,10 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
Actor_SetScale(&sKoumePtr->actor, sKoumePtr->actor.scale.x);
Actor_SetScale(&sKotakePtr->actor, sKoumePtr->actor.scale.x);
if (this->work[CS_TIMER_2] >= 1020) {
Camera* cam = Gameplay_GetCamera(globalCtx, MAIN_CAM);
cam->eye = this->subCamEye;
cam->eyeNext = this->subCamEye;
cam->at = this->subCamAt;
mainCam = Gameplay_GetCamera(globalCtx, MAIN_CAM);
mainCam->eye = this->subCamEye;
mainCam->eyeNext = this->subCamEye;
mainCam->at = this->subCamAt;
func_800C08AC(globalCtx, this->subCamId, 0);
this->csState2 = 4;
this->subCamId = 0;
@ -2828,11 +2835,6 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
Gameplay_CameraSetAtEye(globalCtx, this->subCamId, &this->subCamAt, &this->subCamEye);
}
}
#else
Vec3f D_8094A8E8 = { 0.0f, 0.0f, 0.0f };
Vec3f D_8094A8F4 = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_TwinrovaDeathCS.s")
#endif
static s16 D_8094A900[] = {
0, 1, 2, 2, 1,

View file

@ -156,7 +156,7 @@ void func_8098E5C8(DemoSa* this, GlobalContext* globalCtx) {
}
s32 DemoSa_FrameUpdateMatrix(DemoSa* this) {
SkelAnime_Update(&this->skelAnime);
return SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* DemoSa_GetNpcAction(GlobalContext* globalCtx, s32 idx) {

View file

@ -0,0 +1,710 @@
#include "global.h"
#include "z_en_ganon_mant.h"
#define MANT_TEX_WIDTH 32
#define MANT_TEX_HEIGHT 64
static u64 sForceDmaAlignment = 0;
s16 sMantTex[MANT_TEX_WIDTH * MANT_TEX_HEIGHT] = {
0x7001, 0xA801, 0x7801, 0x4801, 0x4801, 0x7001, 0x9001, 0x8801, 0x8801, 0x7801, 0x5001, 0x5001, 0x5801, 0x6001,
0x6801, 0x8801, 0x7001, 0x5801, 0x4801, 0x4001, 0x3801, 0x4001, 0x6001, 0x8001, 0x9001, 0xA801, 0x8801, 0x5001,
0x4001, 0x4001, 0x4801, 0x5801, 0x7001, 0xA801, 0x7801, 0x5801, 0x5001, 0x6001, 0x9001, 0x9001, 0x9001, 0x8001,
0x5801, 0x5801, 0x5801, 0x5801, 0x6001, 0x9001, 0x7801, 0x6801, 0x4801, 0x4001, 0x4001, 0x4001, 0x6801, 0x8801,
0x9801, 0xA001, 0x9801, 0x6001, 0x4001, 0x4001, 0x4801, 0x5801, 0x7001, 0xB001, 0x9801, 0x7001, 0x5001, 0x6001,
0x9801, 0x9001, 0x9001, 0x8001, 0x5801, 0x5801, 0x5801, 0x6001, 0x6801, 0x8801, 0x8001, 0x7001, 0x5001, 0x4801,
0x4001, 0x4801, 0x5801, 0x8001, 0x9801, 0xA001, 0xA801, 0x6801, 0x4001, 0x4001, 0x4801, 0x6001, 0x6801, 0xA801,
0xA001, 0x7001, 0x4801, 0x6001, 0x9001, 0x8801, 0x8801, 0x7801, 0x6001, 0x5801, 0x5801, 0x6801, 0x7801, 0x8001,
0x8001, 0x7801, 0x6001, 0x5001, 0x4001, 0x4801, 0x5801, 0x6001, 0x8001, 0x9801, 0xA001, 0x7801, 0x4801, 0x4801,
0x4801, 0x6001, 0x7001, 0xA801, 0x9801, 0x8801, 0x5001, 0x5801, 0x7801, 0x8801, 0x8801, 0x7801, 0x6001, 0x5801,
0x6001, 0x6801, 0x8001, 0x8001, 0x8001, 0x7801, 0x6801, 0x5001, 0x4801, 0x5001, 0x5801, 0x6001, 0x8001, 0x9801,
0x9801, 0x8001, 0x5001, 0x4801, 0x5001, 0x6001, 0x7001, 0xA001, 0x9001, 0x8801, 0x6001, 0x6001, 0x7801, 0x8801,
0x8801, 0x7801, 0x6001, 0x5801, 0x6001, 0x6801, 0x7801, 0x8001, 0x8801, 0x8001, 0x6801, 0x5801, 0x4801, 0x5001,
0x5801, 0x6801, 0x6801, 0x8801, 0x9801, 0x9001, 0x5001, 0x5001, 0x5001, 0x6001, 0x7001, 0x9001, 0x8001, 0x7801,
0x6801, 0x6001, 0x7801, 0x8801, 0x8001, 0x7001, 0x6001, 0x6001, 0x6001, 0x7801, 0x8001, 0x8001, 0x8801, 0x8801,
0x7801, 0x6001, 0x4801, 0x5001, 0x6001, 0x7001, 0x7001, 0x8801, 0x9801, 0x9801, 0x5801, 0x5001, 0x5801, 0x6801,
0x7001, 0x8001, 0x7801, 0x6801, 0x6801, 0x6801, 0x7801, 0x8801, 0x8001, 0x6801, 0x6001, 0x6001, 0x6001, 0x7801,
0x8001, 0x7801, 0x8801, 0x8801, 0x8001, 0x6801, 0x5001, 0x5801, 0x6801, 0x7001, 0x7001, 0x8801, 0x9001, 0x9801,
0x5801, 0x5001, 0x5801, 0x7001, 0x7001, 0x7801, 0xBB41, 0x7001, 0x7001, 0x6801, 0x8001, 0x8001, 0x7801, 0x6801,
0x6001, 0x6801, 0x6801, 0x7001, 0x7801, 0x7801, 0x8001, 0x8801, 0x8801, 0x7001, 0x5001, 0x5801, 0x6801, 0x7001,
0x7001, 0x8801, 0x9001, 0x9801, 0x6001, 0x5001, 0x6001, 0x7801, 0x7001, 0x7001, 0xFE43, 0xBB41, 0x7801, 0x7801,
0x8001, 0x7801, 0x7001, 0x7001, 0x6001, 0x6001, 0x6801, 0x7001, 0x7801, 0x7801, 0x7801, 0x8001, 0x9001, 0x7001,
0x5801, 0x6001, 0x6801, 0x7001, 0x7001, 0x8801, 0x9001, 0x9801, 0x6001, 0x5001, 0x6001, 0x7001, 0x7001, 0x7001,
0xFE43, 0xFE43, 0x7001, 0x8801, 0x8001, 0x7801, 0x7001, 0x7001, 0x6001, 0x6001, 0x6801, 0x7001, 0x7801, 0x7801,
0x7801, 0x8001, 0x9001, 0x7801, 0x6001, 0x6001, 0x6801, 0x7001, 0x7001, 0x8801, 0x9001, 0x9801, 0x6801, 0x5801,
0x6801, 0x7001, 0x7001, 0x7001, 0xFE43, 0x7001, 0x7001, 0x8801, 0x8001, 0x7001, 0x7001, 0x7001, 0x6801, 0x6001,
0x6801, 0x7001, 0x7001, 0x7801, 0x7801, 0x8001, 0x9001, 0x7801, 0x6001, 0x6801, 0x6801, 0x7001, 0x7001, 0x8801,
0x8801, 0x9001, 0x6801, 0x5801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x8001, 0x7801, 0x7001,
0x7001, 0x6801, 0x6801, 0x6001, 0x6801, 0x7001, 0x7001, 0x7801, 0x7801, 0x8801, 0x9001, 0x7801, 0x6001, 0x6801,
0x6801, 0x7001, 0x7001, 0x7801, 0x8801, 0x9001, 0x6801, 0x5801, 0x6801, 0x7001, 0x7001, 0x7001, 0xFFE1, 0x7001,
0x7801, 0x7801, 0x7801, 0x7001, 0x7001, 0x6801, 0x6801, 0x6801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7801, 0x8801,
0x8801, 0x7801, 0x6001, 0x6801, 0x6801, 0x7001, 0x7001, 0x7801, 0x8001, 0x9001, 0x6801, 0x5801, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x6801, 0x7001, 0x7001, 0x7001,
0x7001, 0x7801, 0x8001, 0x8801, 0x8801, 0x7801, 0x6801, 0x6801, 0x6801, 0x7001, 0x7801, 0x7001, 0x8001, 0x9001,
0x6801, 0x6001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFFF7, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x8001, 0x8801, 0x8001, 0x7801, 0x6801, 0x6801, 0x7001, 0x7001,
0x7801, 0x7001, 0x8001, 0x8801, 0x6801, 0x6001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFFDB, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x8001, 0x8001, 0x8001, 0x7001,
0x6801, 0x7001, 0x7001, 0x7801, 0x7801, 0x7001, 0x8001, 0x8801, 0x6801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7001,
0x8103, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801,
0x8001, 0x8001, 0x7801, 0x7001, 0x6801, 0x7001, 0x7801, 0x8001, 0x8001, 0x7001, 0x8001, 0x8001, 0x6801, 0x6801,
0x7001, 0x7001, 0x7001, 0x7001, 0xFF8D, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x8001, 0x8001, 0x8001, 0x7001, 0x7001, 0x7001, 0x7801, 0x8001, 0x8001, 0x7001,
0x7801, 0x8001, 0x6801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7001, 0xFDC1, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x8001, 0x8001, 0x7801, 0x7001, 0x7001, 0x7001,
0x7801, 0x8001, 0x8001, 0x7001, 0x7801, 0x7801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFDC1, 0x8901,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x8001, 0x8001,
0x7801, 0x7001, 0x7001, 0x7001, 0x7801, 0x7801, 0x8001, 0x7001, 0x7801, 0x7801, 0x6801, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0xFDC1, 0xA201, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7801, 0x7801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x7801, 0x8001, 0x7001, 0x7801, 0x7801,
0x6801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFDC1, 0xDC41, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x7801, 0x7801, 0x7801, 0x7001, 0x7001,
0x7001, 0x7001, 0x7801, 0x7801, 0x6801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xDC41, 0xFF8B, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x7801,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0xA201, 0xFE85, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7801, 0x7801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7841, 0x8081, 0xFE43, 0xCB81, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7801, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0xA2D1, 0xFFFF, 0x7001, 0x7001, 0xBAC1, 0xFDC1, 0xFF8B, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0xF611, 0x7001, 0x7001, 0xFF8B, 0x7001,
0xFDC1, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBC1F, 0xFE01, 0xFE01,
0x7001, 0x7001, 0xFE85, 0xFDC1, 0xBAC1, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0xFFFF, 0xFE01, 0xFE01, 0x7001, 0x7001, 0xFE43, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0xAAC3, 0xFF49, 0xFE01, 0xFE01, 0x7001, 0x7001, 0xFF8B, 0xF541, 0x8941, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7881, 0xDC85, 0xFE47, 0xFE8B, 0xFE01, 0x7001, 0x7001,
0xE4C1, 0x7001, 0xFF8B, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB01,
0xFE01, 0xFE01, 0x7001, 0x7001, 0x8941, 0xE4C1, 0xF645, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBC1F,
0xFFFF, 0xFF8B, 0xDD89, 0x7001, 0xBB01, 0xFE01, 0x7001, 0x7001, 0x7001, 0x7001, 0xED83, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0xBBC5, 0xFE01, 0xFE01, 0xFE01, 0xFF8B, 0xBBC5, 0x7001, 0x7001, 0x7001, 0x7001, 0x7881, 0xBB81,
0xC401, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0xBB01, 0x7001, 0xBB01, 0xFE01, 0xFF8B, 0xFF8B, 0x7001,
0x7001, 0x7001, 0x9A81, 0x7001, 0xFF8B, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0xFE01, 0xFE01, 0xFF8B, 0x7001, 0x7001, 0xFF8B, 0x8A01, 0x7881, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0xFF8B, 0xFFFF, 0xFFFF, 0x7001, 0xBB01, 0xFE01, 0xFE01, 0x7001, 0x7001, 0xCC01, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x80C1, 0xDD89, 0xFF8B, 0xFFFF, 0xDD89,
0x7001, 0x7001, 0x7001, 0x7001, 0xFF8B, 0xFE01, 0xFE01, 0xFE01, 0xFFFF, 0x7001, 0xFE01, 0xFE01, 0x7001, 0x7001,
0xCC01, 0xFF8B, 0x7901, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB01,
0xFE01, 0xFE01, 0xFE01, 0xFE01, 0xFF8B, 0x7001, 0x7001, 0x7001, 0xFE01, 0xFE01, 0xFE01, 0xFE01, 0xFE01, 0x7001,
0xFE01, 0xFE01, 0x7001, 0x7001, 0xBB81, 0x7001, 0x8201, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x9181, 0xFE01, 0xB381, 0xA281, 0xAB01, 0xCC81, 0xFE01, 0xFFFF, 0x7001, 0x7001, 0x7001, 0xFE01,
0xFE01, 0xFE01, 0x7001, 0xBC1F, 0xFE01, 0xFE01, 0x7001, 0x7001, 0x7881, 0x9241, 0xFF8B, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xCBC1, 0xED41, 0xB281, 0x7001, 0x7001, 0x7001, 0xDC81, 0xFE01,
0xBB01, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFFFF, 0xFE01, 0xFE01, 0x7001, 0x7001, 0x7001, 0x7001,
0xDCC1, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0xDC81, 0x7001, 0xFF8B,
0xFFFF, 0x91C3, 0x7001, 0xEE07, 0xFFFF, 0x7001, 0xFF8B, 0xDD89, 0x7001, 0xBBC5, 0xFF8B, 0xFE01, 0xDC81, 0x7001,
0x7001, 0x7001, 0x8901, 0xE4C1, 0xFF8B, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0xBB01, 0xFE01, 0xDC81, 0x7001, 0xFE01, 0xFF8B, 0x7001, 0xCC03, 0xFF8B, 0xBBC5, 0x7001, 0xFF8B, 0xFFFF, 0xFFFF,
0xFE01, 0xBB01, 0x7001, 0x7001, 0x7001, 0x7001, 0xD481, 0x7001, 0xD481, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xDC81, 0xFE01, 0xFE01, 0xCC81, 0xBBC1, 0x7001, 0x7001, 0xDD89, 0xFF8B,
0xBB01, 0x7001, 0xED41, 0xFE01, 0xBB01, 0x7001, 0x920F, 0xFFFF, 0x7001, 0x7001, 0xCC41, 0xFF8B, 0x8941, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xC3C1, 0xBBC1, 0xC3C1, 0x7001,
0x7001, 0x7001, 0x7001, 0xDD47, 0xFE01, 0x7001, 0x7001, 0x7001, 0x7001, 0x91C3, 0xFE91, 0xFF21, 0x7001, 0x7001,
0x7001, 0xDC81, 0x7001, 0x7001, 0x7001, 0xFF8B, 0xBBC5, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB01, 0xFE01, 0x7001, 0x7001, 0x7001, 0xED41,
0xFE4B, 0xFE8B, 0x7001, 0x7001, 0xBB01, 0xF5C1, 0x7001, 0xDCC1, 0x7001, 0x91C3, 0xFFFF, 0xBB41, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB01,
0xFE01, 0x7001, 0x7001, 0xA241, 0xFE87, 0xFF11, 0x7001, 0x7001, 0xE541, 0xBB01, 0xDCC1, 0xFF8B, 0xBB41, 0x7001,
0xFF8B, 0xFE43, 0x7001, 0x7001, 0xBBC5, 0xFF8B, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0xBB01, 0xFF8B, 0xFFFF, 0xBBC5, 0x7001, 0x7001, 0xFE01, 0x7001, 0xFECB, 0xFF99, 0x7001, 0x7001, 0xFF8B, 0x7001,
0xFFFF, 0x7001, 0xFF8B, 0x7001, 0xEDC1, 0xBB41, 0x7001, 0xFFFF, 0xFF8B, 0xBBC5, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0xFE01, 0xBBC5, 0xFFFF, 0x7001, 0xBBC5, 0x7001, 0x7001, 0xFF8F, 0xFFE1,
0x7001, 0x7001, 0xFEC5, 0x7001, 0xFE43, 0xBB41, 0x7001, 0xEEC5, 0xE4C1, 0x7001, 0xBB41, 0xE4C1, 0xCC01, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0xBB01, 0x7001, 0xFF8B, 0x7001, 0xFF8B,
0x7001, 0xFE01, 0xFFD3, 0xFFED, 0x7001, 0x7001, 0xFF8B, 0xFDC1, 0x7001, 0xFE43, 0xFE43, 0x7001, 0x7001, 0x91C3,
0xFF8B, 0xBB41, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB01, 0xFE01,
0x7001, 0xC481, 0xA241, 0xFF8B, 0x7001, 0x7001, 0xBC09, 0xBDC3, 0x7001, 0x7001, 0xBBC5, 0xFF8B, 0xFFFF, 0xBB41,
0x7001, 0x7001, 0x91C3, 0xFF8B, 0x91C3, 0x7001, 0xBB41, 0xFFFF, 0xBB41, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0xDC81, 0x7001, 0xBB01, 0xDC81, 0xFE01, 0xFFD3, 0xBC09, 0xFE01, 0x7001, 0x7001, 0x7001,
0x7001, 0xBBC5, 0xFF8B, 0x7001, 0xFFFF, 0xFFFF, 0xFF8B, 0xBBC5, 0x7001, 0xFF8B, 0xEDC1, 0xEEC5, 0xEE47, 0xB303,
0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xFE01, 0x7001, 0xFE01, 0xFFD3,
0x7001, 0xFFFF, 0x7001, 0x7001, 0xFFDD, 0x7001, 0xFF8B, 0x7001, 0xFF8B, 0xFF8B, 0xFD81, 0x7001, 0x7001, 0xFE43,
0x7001, 0x7001, 0x9181, 0xFE43, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001,
0x7001, 0xBBC1, 0x7001, 0xFE01, 0xBBC1, 0xFFD3, 0x7001, 0x7001, 0xFD81, 0x7001, 0xFD81, 0x7001, 0xFD81, 0xCC01,
0xB341, 0x7001, 0xFFFF, 0x7001, 0xFF8B, 0xBB41, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xEDC3,
0xFFFF, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0x7001, 0xBBC1, 0xDD01, 0xFFD3, 0x7001, 0x7001, 0x7001, 0xBBC5,
0xCC01, 0xFFFF, 0x7001, 0x7001, 0x7001, 0xBB41, 0xFE43, 0xFF8B, 0x7001, 0xFD81, 0x7001, 0xDD45, 0xFF8B, 0xD505,
0x7001, 0xFE83, 0x7001, 0x7001, 0x7001, 0x7001, 0xBB81, 0x7001, 0xA241, 0xBBC1, 0x8201, 0x7001, 0x7001, 0xBDDD,
0x7001, 0x7001, 0xBBC5, 0xFFFF, 0x7001, 0xE4C1, 0xB341, 0xD601, 0xEF4D, 0xFFDD, 0x7001, 0xFD81, 0xCC01, 0x7001,
0xFF8B, 0xFE01, 0xF5C3, 0xFEC9, 0xFF8B, 0x7001, 0xBB81, 0xEDC3, 0xFE83, 0xBB81, 0x7001, 0xFE83, 0xE543, 0x8A01,
0x7001, 0xBC17, 0xFFED, 0xDC81, 0x7001, 0x7001, 0xFF8B, 0xFD81, 0xFD81, 0xBBC5, 0x7001, 0x7001, 0xBC09, 0xFD81,
0xFF8B, 0x7001, 0x7001, 0xFF8B, 0xFF8B, 0xBBC5, 0x7001, 0xAA41, 0xDD41, 0xCC01, 0x7001, 0x7001, 0x7001, 0x7001,
0xFE83, 0xBBC1, 0x8A01, 0x8A01, 0xED41, 0xED41, 0xFFD3, 0x7001, 0x7001, 0x7001, 0xB341, 0xCC01, 0xA301, 0x7001,
0xFD81, 0xFFD3, 0x7001, 0xBBC5, 0xE4C1, 0xCC01, 0xE4C1, 0xF605, 0xBBC5, 0x7001, 0x7001, 0x7001, 0x7001, 0xA283,
0xC3C3, 0xEE89, 0xFF8B, 0xFE83, 0xCC41, 0x9241, 0x7001, 0x7001, 0x8201, 0xCC01, 0xDC81, 0xFFD3, 0x7001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x7001, 0x7001, 0x7001,
0x7001, 0x7001, 0x7001, 0x7001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x7001, 0x7001, 0x5001, 0x5001,
0x5001, 0xED41, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001,
0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001,
0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x2001, 0x2001, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801,
0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801,
0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0x1801, 0xFC81, 0x81C1, 0x9A41, 0x4841,
0xAAC1, 0x58C1, 0xBB01, 0x9241, 0xFDC1, 0x81C1, 0xCB81, 0x7141, 0xFC81, 0x9241, 0xC341, 0x89C1, 0xFC81, 0x89C1,
0xDBC1, 0x89C1, 0xFC81, 0x7181, 0xDBC1, 0x9241, 0xFE01, 0x9A41, 0xC341, 0x9A41, 0xFC81, 0xAAC1, 0xFC81, 0x6941,
0xFFC1, 0xE401, 0xFFEF, 0xE401, 0xFEC1, 0xE401, 0xFFC1, 0xE401, 0xFFC9, 0xE401, 0xFFEF, 0xE401, 0xFFEF, 0xE401,
0xFDC1, 0xCB81, 0xFF87, 0xE401, 0xFE41, 0xE401, 0xFF87, 0xE401, 0xFE41, 0xE401, 0xFFEF, 0xE401, 0xFF87, 0xE401,
0xFE41, 0xE401, 0xFFEF, 0xE401,
};
s16 sMantUnusedTex[32 * 32] = {
0x5801, 0x9001, 0x6001, 0x4001, 0x3001, 0x4801, 0x7801, 0x7001, 0x7001, 0x6001, 0x3801, 0x3801, 0x4001, 0x4001,
0x4001, 0x7001, 0x6001, 0x5001, 0x2801, 0x2001, 0x2001, 0x2801, 0x4801, 0x7001, 0x8001, 0x8001, 0x8001, 0x4001,
0x2001, 0x2001, 0x2801, 0x4001, 0x4801, 0x9001, 0x8001, 0x5801, 0x3001, 0x4001, 0x7001, 0x7001, 0x6801, 0x5801,
0x4001, 0x4001, 0x4001, 0x4801, 0x6001, 0x6001, 0x6001, 0x5801, 0x4001, 0x3001, 0x2801, 0x3001, 0x3801, 0x4801,
0x6801, 0x8001, 0x8001, 0x5801, 0x3001, 0x2801, 0x3001, 0x4001, 0x5001, 0x8001, 0x7001, 0x6801, 0x4001, 0x4001,
0x5801, 0x6801, 0x6801, 0x5801, 0x4001, 0x3801, 0x4801, 0x4801, 0x6001, 0x6801, 0x6801, 0x6001, 0x5001, 0x3801,
0x2801, 0x3001, 0x4001, 0x4801, 0x5001, 0x6801, 0x8001, 0x7001, 0x3801, 0x3001, 0x3801, 0x4801, 0x5001, 0x7001,
0x7001, 0x5801, 0x4801, 0x4801, 0x6001, 0x6801, 0x6001, 0x5001, 0x4001, 0x4001, 0x4801, 0x5801, 0x6001, 0x6001,
0x6801, 0x6801, 0x6801, 0x4801, 0x3001, 0x4001, 0x4801, 0x5801, 0x5001, 0x6801, 0x7801, 0x7801, 0x4001, 0x3001,
0x4001, 0x5001, 0x5001, 0x6801, 0x6801, 0x5801, 0x5801, 0x5801, 0x6001, 0x6001, 0x5801, 0x5001, 0x4801, 0x4801,
0x4801, 0x5801, 0x5801, 0x5801, 0x6001, 0x6801, 0x7001, 0x5801, 0x3801, 0x4001, 0x4801, 0x5001, 0x5801, 0x7001,
0x7801, 0x7801, 0x4801, 0x3801, 0x4801, 0x5801, 0x5001, 0x6001, 0x6001, 0x5801, 0x5001, 0x6801, 0x6001, 0x5801,
0x5001, 0x5001, 0x4801, 0x4801, 0x5001, 0x5801, 0x5801, 0x5801, 0x6001, 0x6801, 0x7001, 0x5801, 0x4801, 0x4801,
0x5001, 0x5001, 0x5801, 0x6801, 0x6801, 0x7801, 0x4801, 0x3801, 0x5001, 0x5001, 0x5001, 0x5801, 0x6001, 0x5001,
0x5801, 0x6001, 0x5801, 0x5801, 0x5001, 0x5001, 0x4801, 0x4801, 0x5001, 0x5001, 0x5001, 0x5801, 0x6001, 0x6801,
0x7001, 0x5801, 0x4801, 0x4801, 0x5001, 0x5801, 0x5801, 0x5801, 0x6801, 0x7801, 0x4801, 0x4001, 0x5001, 0x5001,
0x5001, 0x5801, 0x5801, 0x5801, 0x5801, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5801, 0x6801, 0x6801, 0x6801, 0x5801, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x6001, 0x7001,
0x4801, 0x4801, 0x5001, 0x5001, 0x0000, 0x4801, 0x5801, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x6801, 0x6801, 0x6001, 0x5801, 0x5001, 0x5001, 0x5801, 0x5001,
0x5001, 0x5001, 0x6001, 0x6001, 0x4801, 0x4801, 0x5001, 0x5001, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x6001, 0x6801, 0x6001, 0x5801,
0x5001, 0x5801, 0x5801, 0x5001, 0x5001, 0x5001, 0x5801, 0x6001, 0x4801, 0x5001, 0x5001, 0x5001, 0x0000, 0x3001,
0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801,
0x6001, 0x6001, 0x5801, 0x5801, 0x5001, 0x5801, 0x5801, 0x5001, 0x5001, 0x5001, 0x5801, 0x5801, 0x5001, 0x5001,
0x5001, 0x5001, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5801, 0x5801, 0x5801, 0x5801, 0x5801, 0x5001, 0x5001, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001,
0x5801, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x5801, 0x5801, 0x5801, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x2000, 0x1801, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x5801, 0x5001,
0x5001, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4801,
0x4000, 0x4001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x3800, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4801,
0x2000, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4801, 0x2001, 0x3001, 0x3000, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x3001, 0x4801, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x2800, 0x2800, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001, 0x5001, 0x0000,
0x1800, 0x4800, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x3801, 0x1000,
0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001, 0x0000, 0x0000, 0x0000, 0x0000, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x3801, 0x3800, 0x2801, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x1800, 0x1000, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x3801, 0x0000, 0x0000,
0x1800, 0x3801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4801, 0x3801, 0x1800, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001, 0x0000, 0x0000, 0x1000, 0x4001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x1801, 0x2800, 0x3801, 0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x4801, 0x3801, 0x3000, 0x1801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4000, 0x0000, 0x0000, 0x0000, 0x0800,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001, 0x0800,
0x0000, 0x5001, 0x5001, 0x5001, 0x4001, 0x3000, 0x1800, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001,
0x0000, 0x0000, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x4000, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x3800, 0x0000, 0x0000, 0x3000, 0x4801, 0x5001,
0x5001, 0x5001, 0x5001, 0x2801, 0x0000, 0x0000, 0x0000, 0x2001, 0x2801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x3801, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x4001, 0x0800,
0x0000, 0x3001, 0x4001, 0x5001, 0x5001, 0x5001, 0x5001, 0x4001, 0x4001, 0x0000, 0x2801, 0x4001, 0x3801, 0x4801,
0x4801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x2801, 0x0000, 0x0000, 0x0000,
0x5001, 0x5001, 0x3801, 0x2000, 0x0000, 0x0000, 0x3801, 0x5001, 0x5001, 0x5001, 0x4801, 0x4000, 0x2001, 0x4801,
0x3801, 0x3001, 0x1801, 0x2000, 0x1001, 0x3801, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x1000, 0x0000, 0x0000, 0x0000, 0x4801, 0x4801, 0x2801, 0x1800, 0x0000, 0x0000, 0x2001, 0x5001, 0x5001, 0x5001,
0x3801, 0x1800, 0x1800, 0x3001, 0x4001, 0x4001, 0x1801, 0x0000, 0x0000, 0x5001, 0x5001, 0x5001, 0x5001, 0x5001,
0x5001, 0x5001, 0x5001, 0x5001, 0x0000, 0x0000, 0x0000, 0x0000, 0x3001, 0x4001, 0x1800, 0x0000, 0x0000, 0x0000,
0x0000, 0x3801, 0x5001, 0x5001, 0x0000, 0x0000, 0x0000, 0x3801, 0x4001, 0x4801, 0x0000, 0x0000, 0x0000, 0x0000,
0x5001, 0x5001, 0x5001, 0x4801, 0x0000, 0x0000, 0x5001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1800, 0x2801,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3801, 0x4801, 0x5001,
0x0000, 0x0000, 0x0000, 0x0000, 0x3801, 0x5001, 0x5001, 0x1001, 0x0000, 0x0000, 0x5001, 0x0000, 0x0000, 0x0000,
0x0000, 0x5000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x2000, 0x4801, 0x5001, 0x0000, 0x0000, 0x0000, 0x0000, 0x3001, 0x4801, 0x5001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x5000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x5000, 0x0000, 0x0000, 0x3001, 0x3800, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x3801,
0x5001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1801, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000,
};
Vtx sMantVtx1[] = {
VTX(1000, 0, 0, 186, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 1000, 186, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 2000, 186, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 3000, 186, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 4000, 186, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 5000, 186, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 6000, 186, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 7000, 186, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 8000, 186, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 9000, 186, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 10000, 186, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 11000, 186, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 0, 0, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 1000, 0, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 2000, 0, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 3000, 0, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 4000, 0, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 5000, 0, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 6000, 0, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 7000, 0, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 8000, 0, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 9000, 0, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 10000, 0, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 11000, 0, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 0, 372, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 1000, 372, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 2000, 372, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 3000, 372, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 4000, 372, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 5000, 372, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 6000, 372, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 7000, 372, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 8000, 372, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 9000, 372, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 10000, 372, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 11000, 372, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 0, 559, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 1000, 559, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 2000, 559, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 3000, 559, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 4000, 559, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 5000, 559, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 6000, 559, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 7000, 559, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 8000, 559, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 9000, 559, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 10000, 559, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 11000, 559, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 0, 745, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 1000, 745, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 2000, 745, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 3000, 745, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 4000, 745, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 5000, 745, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 6000, 745, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 7000, 745, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 8000, 745, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 9000, 745, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 10000, 745, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 11000, 745, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 0, 931, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 1000, 931, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 2000, 931, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 3000, 931, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 4000, 931, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 5000, 931, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 6000, 931, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 7000, 931, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 8000, 931, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 9000, 931, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 10000, 931, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 11000, 931, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 0, 1117, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 1000, 1117, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 2000, 1117, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 3000, 1117, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 4000, 1117, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 5000, 1117, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 6000, 1117, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 7000, 1117, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 8000, 1117, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 9000, 1117, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 10000, 1117, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 11000, 1117, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 0, 1303, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 1000, 1303, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 2000, 1303, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 3000, 1303, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 4000, 1303, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 5000, 1303, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 6000, 1303, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 7000, 1303, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 8000, 1303, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 9000, 1303, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 10000, 1303, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 11000, 1303, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 0, 1489, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 1000, 1489, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 2000, 1489, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 3000, 1489, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 4000, 1489, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 5000, 1489, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 6000, 1489, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 7000, 1489, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 8000, 1489, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 9000, 1489, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 10000, 1489, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 11000, 1489, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 0, 1676, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 1000, 1676, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 2000, 1676, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 3000, 1676, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 4000, 1676, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 5000, 1676, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 6000, 1676, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 7000, 1676, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 8000, 1676, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 9000, 1676, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 10000, 1676, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 11000, 1676, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 0, 1862, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 1000, 1862, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 2000, 1862, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 3000, 1862, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 4000, 1862, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 5000, 1862, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 6000, 1862, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 7000, 1862, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 8000, 1862, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 9000, 1862, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 10000, 1862, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 11000, 1862, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 0, 2048, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 1000, 2048, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 2000, 2048, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 3000, 2048, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 4000, 2048, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 5000, 2048, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 6000, 2048, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 7000, 2048, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 8000, 2048, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 9000, 2048, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 10000, 2048, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 11000, 2048, -482, 0x00, 0x78, 0x00, 0xFF),
};
Gfx sMantTexDL[] = {
gsDPPipeSync(),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPLoadTextureBlock(sMantTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, MANT_TEX_WIDTH, MANT_TEX_HEIGHT, 0, G_TX_MIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_CLAMP, 5, 6, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList(),
};
//! @bug sMantUnusedTex is 32x32 not 32x64, however this dlist is unused
Gfx sMantUnusedTexDL[] = {
gsDPPipeSync(),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPLoadTextureBlock(sMantUnusedTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_MIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_CLAMP, 5, 6, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList(),
};
Gfx sMantDL[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED),
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
gsSPClearGeometryMode(G_CULL_BACK | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsSPSetGeometryMode(G_FOG | G_LIGHTING),
gsDPSetPrimColor(0, 0, 255, 255, 255, 255),
gsSPVertex(0x0C000000, 24, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPVertex(0x0C000180, 12, 12),
gsSP2Triangles(12, 13, 1, 0, 12, 1, 0, 0),
gsSP2Triangles(13, 14, 2, 0, 13, 2, 1, 0),
gsSP2Triangles(14, 15, 3, 0, 14, 3, 2, 0),
gsSP2Triangles(15, 16, 4, 0, 15, 4, 3, 0),
gsSP2Triangles(16, 17, 5, 0, 16, 5, 4, 0),
gsSP2Triangles(17, 18, 6, 0, 17, 6, 5, 0),
gsSP2Triangles(18, 19, 7, 0, 18, 7, 6, 0),
gsSP2Triangles(19, 20, 8, 0, 19, 8, 7, 0),
gsSP2Triangles(20, 21, 9, 0, 20, 9, 8, 0),
gsSP2Triangles(21, 22, 10, 0, 21, 10, 9, 0),
gsSP2Triangles(22, 23, 11, 0, 22, 11, 10, 0),
gsSPVertex(0x0C000240, 12, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPVertex(0x0C000300, 12, 12),
gsSP2Triangles(12, 13, 1, 0, 12, 1, 0, 0),
gsSP2Triangles(13, 14, 2, 0, 13, 2, 1, 0),
gsSP2Triangles(14, 15, 3, 0, 14, 3, 2, 0),
gsSP2Triangles(15, 16, 4, 0, 15, 4, 3, 0),
gsSP2Triangles(16, 17, 5, 0, 16, 5, 4, 0),
gsSP2Triangles(17, 18, 6, 0, 17, 6, 5, 0),
gsSP2Triangles(18, 19, 7, 0, 18, 7, 6, 0),
gsSP2Triangles(19, 20, 8, 0, 19, 8, 7, 0),
gsSP2Triangles(20, 21, 9, 0, 20, 9, 8, 0),
gsSP2Triangles(21, 22, 10, 0, 21, 10, 9, 0),
gsSP2Triangles(22, 23, 11, 0, 22, 11, 10, 0),
gsSPVertex(0x0C0003C0, 12, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPVertex(0x0C000480, 12, 12),
gsSP2Triangles(12, 13, 1, 0, 12, 1, 0, 0),
gsSP2Triangles(13, 14, 2, 0, 13, 2, 1, 0),
gsSP2Triangles(14, 15, 3, 0, 14, 3, 2, 0),
gsSP2Triangles(15, 16, 4, 0, 15, 4, 3, 0),
gsSP2Triangles(16, 17, 5, 0, 16, 5, 4, 0),
gsSP2Triangles(17, 18, 6, 0, 17, 6, 5, 0),
gsSP2Triangles(18, 19, 7, 0, 18, 7, 6, 0),
gsSP2Triangles(19, 20, 8, 0, 19, 8, 7, 0),
gsSP2Triangles(20, 21, 9, 0, 20, 9, 8, 0),
gsSP2Triangles(21, 22, 10, 0, 21, 10, 9, 0),
gsSP2Triangles(22, 23, 11, 0, 22, 11, 10, 0),
gsSPVertex(0x0C000540, 12, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPVertex(0x0C000600, 12, 12),
gsSP2Triangles(12, 13, 1, 0, 12, 1, 0, 0),
gsSP2Triangles(13, 14, 2, 0, 13, 2, 1, 0),
gsSP2Triangles(14, 15, 3, 0, 14, 3, 2, 0),
gsSP2Triangles(15, 16, 4, 0, 15, 4, 3, 0),
gsSP2Triangles(16, 17, 5, 0, 16, 5, 4, 0),
gsSP2Triangles(17, 18, 6, 0, 17, 6, 5, 0),
gsSP2Triangles(18, 19, 7, 0, 18, 7, 6, 0),
gsSP2Triangles(19, 20, 8, 0, 19, 8, 7, 0),
gsSP2Triangles(20, 21, 9, 0, 20, 9, 8, 0),
gsSP2Triangles(21, 22, 10, 0, 21, 10, 9, 0),
gsSP2Triangles(22, 23, 11, 0, 22, 11, 10, 0),
gsSPVertex(0x0C0006C0, 12, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPVertex(0x0C000780, 12, 12),
gsSP2Triangles(12, 13, 1, 0, 12, 1, 0, 0),
gsSP2Triangles(13, 14, 2, 0, 13, 2, 1, 0),
gsSP2Triangles(14, 15, 3, 0, 14, 3, 2, 0),
gsSP2Triangles(15, 16, 4, 0, 15, 4, 3, 0),
gsSP2Triangles(16, 17, 5, 0, 16, 5, 4, 0),
gsSP2Triangles(17, 18, 6, 0, 17, 6, 5, 0),
gsSP2Triangles(18, 19, 7, 0, 18, 7, 6, 0),
gsSP2Triangles(19, 20, 8, 0, 19, 8, 7, 0),
gsSP2Triangles(20, 21, 9, 0, 20, 9, 8, 0),
gsSP2Triangles(21, 22, 10, 0, 21, 10, 9, 0),
gsSP2Triangles(22, 23, 11, 0, 22, 11, 10, 0),
gsSPVertex(0x0C000840, 12, 0),
gsSP2Triangles(0, 1, 13, 0, 0, 13, 12, 0),
gsSP2Triangles(1, 2, 14, 0, 1, 14, 13, 0),
gsSP2Triangles(2, 3, 15, 0, 2, 15, 14, 0),
gsSP2Triangles(3, 4, 16, 0, 3, 16, 15, 0),
gsSP2Triangles(4, 5, 17, 0, 4, 17, 16, 0),
gsSP2Triangles(5, 6, 18, 0, 5, 18, 17, 0),
gsSP2Triangles(6, 7, 19, 0, 6, 19, 18, 0),
gsSP2Triangles(7, 8, 20, 0, 7, 20, 19, 0),
gsSP2Triangles(8, 9, 21, 0, 8, 21, 20, 0),
gsSP2Triangles(9, 10, 22, 0, 9, 22, 21, 0),
gsSP2Triangles(10, 11, 23, 0, 10, 23, 22, 0),
gsSPEndDisplayList(),
};
Vtx sMantVtx2[] = {
VTX(1000, 0, 0, 186, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 1000, 186, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 2000, 186, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 3000, 186, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 4000, 186, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 5000, 186, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 6000, 186, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 7000, 186, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 8000, 186, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 9000, 186, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 10000, 186, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(1000, 0, 11000, 186, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 0, 0, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 1000, 0, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 2000, 0, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 3000, 0, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 4000, 0, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 5000, 0, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 6000, 0, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 7000, 0, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 8000, 0, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 9000, 0, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 10000, 0, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(0, 0, 11000, 0, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 0, 372, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 1000, 372, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 2000, 372, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 3000, 372, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 4000, 372, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 5000, 372, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 6000, 372, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 7000, 372, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 8000, 372, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 9000, 372, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 10000, 372, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(2000, 0, 11000, 372, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 0, 559, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 1000, 559, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 2000, 559, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 3000, 559, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 4000, 559, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 5000, 559, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 6000, 559, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 7000, 559, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 8000, 559, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 9000, 559, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 10000, 559, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(3000, 0, 11000, 559, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 0, 745, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 1000, 745, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 2000, 745, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 3000, 745, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 4000, 745, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 5000, 745, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 6000, 745, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 7000, 745, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 8000, 745, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 9000, 745, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 10000, 745, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(4000, 0, 11000, 745, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 0, 931, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 1000, 931, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 2000, 931, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 3000, 931, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 4000, 931, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 5000, 931, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 6000, 931, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 7000, 931, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 8000, 931, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 9000, 931, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 10000, 931, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(5000, 0, 11000, 931, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 0, 1117, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 1000, 1117, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 2000, 1117, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 3000, 1117, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 4000, 1117, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 5000, 1117, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 6000, 1117, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 7000, 1117, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 8000, 1117, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 9000, 1117, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 10000, 1117, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(6000, 0, 11000, 1117, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 0, 1303, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 1000, 1303, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 2000, 1303, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 3000, 1303, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 4000, 1303, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 5000, 1303, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 6000, 1303, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 7000, 1303, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 8000, 1303, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 9000, 1303, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 10000, 1303, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(7000, 0, 11000, 1303, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 0, 1489, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 1000, 1489, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 2000, 1489, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 3000, 1489, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 4000, 1489, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 5000, 1489, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 6000, 1489, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 7000, 1489, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 8000, 1489, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 9000, 1489, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 10000, 1489, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(8000, 0, 11000, 1489, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 0, 1676, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 1000, 1676, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 2000, 1676, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 3000, 1676, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 4000, 1676, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 5000, 1676, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 6000, 1676, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 7000, 1676, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 8000, 1676, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 9000, 1676, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 10000, 1676, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(9000, 0, 11000, 1676, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 0, 1862, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 1000, 1862, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 2000, 1862, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 3000, 1862, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 4000, 1862, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 5000, 1862, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 6000, 1862, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 7000, 1862, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 8000, 1862, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 9000, 1862, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 10000, 1862, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(10000, 0, 11000, 1862, -482, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 0, 2048, 2168, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 1000, 2048, 1928, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 2000, 2048, 1687, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 3000, 2048, 1446, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 4000, 2048, 1205, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 5000, 2048, 964, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 6000, 2048, 723, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 7000, 2048, 482, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 8000, 2048, 241, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 9000, 2048, 0, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 10000, 2048, -241, 0x00, 0x78, 0x00, 0xFF),
VTX(11000, 0, 11000, 2048, -482, 0x00, 0x78, 0x00, 0xFF),
};

View file

@ -1,4 +1,11 @@
/*
* File: z_en_ganon_mant.c
* Overlay: ovl_En_Ganon_Mant
* Description: Ganondorf's Cape
*/
#include "z_en_ganon_mant.h"
#include "overlays/actors/ovl_Boss_Ganon/z_boss_ganon.h"
#define FLAGS 0x00000030
@ -9,7 +16,6 @@ void EnGanonMant_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnGanonMant_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGanonMant_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
const ActorInit En_Ganon_Mant_InitVars = {
ACTOR_EN_GANON_MANT,
ACTORCAT_BOSS,
@ -21,19 +27,438 @@ const ActorInit En_Ganon_Mant_InitVars = {
(ActorFunc)EnGanonMant_Update,
(ActorFunc)EnGanonMant_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/EnGanonMant_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/EnGanonMant_Destroy.s")
static s16 sTearSizesMedium[] = {
0, 0, 0, 1, 1, 1, 1, 1, 0, 0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/func_80A23D84.s")
static s16 sTearSizesLarge[] = {
0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 1, 0, 0, 0, 0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/func_80A23FE0.s")
static s16 sTearSizesSmall[] = {
0, 0, 0, 0, 0, 0, 0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/func_80A245A4.s")
typedef struct {
s16* tearAreaSizes;
s16 count;
} TearShape; // size = 0x8
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/EnGanonMant_Update.s")
/**
* The arrays pointed to by this table describe how many pixels should
* be removed from the cloak texture in a single pass
*/
static TearShape sTearShapes[] = {
{ sTearSizesMedium, ARRAY_COUNT(sTearSizesMedium) },
{ sTearSizesMedium, ARRAY_COUNT(sTearSizesMedium) },
{ sTearSizesLarge, ARRAY_COUNT(sTearSizesLarge) },
{ sTearSizesSmall, ARRAY_COUNT(sTearSizesSmall) },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/func_80A24884.s")
/// How much each joint is affected by backwards/forwards swaying motion
static f32 sBackSwayCoefficients[GANON_MANT_NUM_JOINTS] = {
0.0f, 1.0f, 0.5f, 0.25f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ganon_Mant/EnGanonMant_Draw.s")
static f32 D_80A24DB4[] = {
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
/// How much each joint is affected by sideways swaying motion, tends to 0
static f32 sSideSwayCoefficients[GANON_MANT_NUM_JOINTS] = {
0.0f, 1.0f, 0.9f, 0.8f, 0.7f, 0.6f, 0.5f, 0.4f, 0.3f, 0.2f, 0.1f, 0.0f,
};
static f32 D_80A24E00[] = {
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
static f32 sDistMultipliers[GANON_MANT_NUM_JOINTS] = {
0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f,
};
static f32 D_80A24E48[] = {
1.8f,
};
#define MAP_STRAND_TO_VTX(n) \
(n) + GANON_MANT_NUM_JOINTS * 0, (n) + GANON_MANT_NUM_JOINTS * 1, (n) + GANON_MANT_NUM_JOINTS * 2, \
(n) + GANON_MANT_NUM_JOINTS * 3, (n) + GANON_MANT_NUM_JOINTS * 4, (n) + GANON_MANT_NUM_JOINTS * 5, \
(n) + GANON_MANT_NUM_JOINTS * 6, (n) + GANON_MANT_NUM_JOINTS * 7, (n) + GANON_MANT_NUM_JOINTS * 8, \
(n) + GANON_MANT_NUM_JOINTS * 9, (n) + GANON_MANT_NUM_JOINTS * 10, (n) + GANON_MANT_NUM_JOINTS * 11
static u16 sVerticesMap[GANON_MANT_NUM_STRANDS * GANON_MANT_NUM_JOINTS] = {
MAP_STRAND_TO_VTX(11), MAP_STRAND_TO_VTX(10), MAP_STRAND_TO_VTX(9), MAP_STRAND_TO_VTX(8),
MAP_STRAND_TO_VTX(7), MAP_STRAND_TO_VTX(6), MAP_STRAND_TO_VTX(5), MAP_STRAND_TO_VTX(4),
MAP_STRAND_TO_VTX(3), MAP_STRAND_TO_VTX(2), MAP_STRAND_TO_VTX(1), MAP_STRAND_TO_VTX(0),
};
#include "ovl_en_ganon_mant_gfx.c"
void EnGanonMant_Init(Actor* thisx, GlobalContext* globalCtx) {
EnGanonMant* this = THIS;
this->actor.flags &= ~1;
}
void EnGanonMant_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
/**
* Randomly zeros portions of the cloak texture
*/
void EnGanonMant_Tear(EnGanonMant* this) {
s32 pad;
s16 i;
s16 areaX;
s16 areaY;
s16 texIdx;
f32 tx = Rand_ZeroFloat(MANT_TEX_WIDTH);
f32 ty = Rand_ZeroFloat(MANT_TEX_HEIGHT);
f32 tearAngle = Rand_ZeroFloat(2 * M_PI);
f32 tearDirX = sinf(tearAngle);
f32 tearDirY = cosf(tearAngle);
TearShape* shape = &sTearShapes[(s16)Rand_ZeroFloat(ARRAY_COUNT(sTearShapes) - 0.01f)];
s16 count = shape->count;
s16* tearAreaSizes = shape->tearAreaSizes;
for (i = 0; i < count; i++) {
if ((0 <= tx && tx < MANT_TEX_WIDTH) && (0 <= ty && ty < MANT_TEX_HEIGHT)) {
for (areaX = 0; areaX <= tearAreaSizes[i]; areaX++) {
texIdx = 0;
if (1) {}
for (areaY = 0; areaY <= tearAreaSizes[i]; areaY++) {
texIdx = (s16)((s16)tx + ((s16)ty * MANT_TEX_WIDTH)) + ((s16)areaX + ((s16)areaY * MANT_TEX_WIDTH));
if (texIdx < ARRAY_COUNT(sMantTex)) {
sMantTex[texIdx] = 0;
}
}
}
}
tx += tearDirX;
ty += tearDirY;
}
for (i = 0; i < 4; i++) {
this->strands[(s16)Rand_ZeroFloat(GANON_MANT_NUM_STRANDS - 0.1f)]
.torn[(s16)Rand_ZeroFloat(GANON_MANT_NUM_JOINTS - 0.1f)] = true;
}
}
/**
* Updates the dynamic strands that control the shape and motion of the cloak
*/
void EnGanonMant_UpdateStrand(GlobalContext* globalCtx, EnGanonMant* this, Vec3f* root, Vec3f* pos, Vec3f* nextPos,
Vec3f* rot, Vec3f* vel, s16 strandNum) {
f32 xDiff;
f32 zDiff;
f32 gravity;
s32 pad[4];
f32 yaw;
s16 i;
f32 x;
f32 y;
f32 z;
f32 jointLength;
Vec3f delta;
Vec3f posStep;
Vec3f backSwayOffset;
Vec3f sideSwayOffset;
delta.y = 0;
if (this->actor.params == 0x23) {
// Pushes all the strands away from the actor
delta.x = 0.0f;
delta.z = -30.0f;
Matrix_RotateY(BINANG_TO_RAD(this->actor.shape.rot.y), MTXMODE_NEW);
Matrix_MultVec3f(&delta, &posStep);
for (i = 0; i < GANON_MANT_NUM_JOINTS; i++) {
(pos + i)->x += posStep.x;
(pos + i)->z += posStep.z;
}
// Set length
jointLength = 6.5f;
} else {
jointLength = 9.5f;
}
for (i = 0; i < GANON_MANT_NUM_JOINTS; i++, pos++, vel++, rot++, nextPos++) {
if (i == 0) {
// Constraint: first position is always root
pos->x = root->x;
pos->y = root->y;
pos->z = root->z;
} else {
// Decelerate
Math_ApproachZeroF(&vel->x, 1.0f, 0.1f);
Math_ApproachZeroF(&vel->y, 1.0f, 0.1f);
Math_ApproachZeroF(&vel->z, 1.0f, 0.1f);
// Push the cloak away from attached actor, plus oscillations
delta.x = 0;
delta.z = (this->backPush + (sinf((strandNum * (2 * M_PI)) / 2.1f) * this->backSwayMagnitude)) *
sBackSwayCoefficients[i];
Matrix_RotateY(this->baseYaw, MTXMODE_NEW);
Matrix_MultVec3f(&delta, &backSwayOffset);
// Push the cloak out to either side, in a swaying manner
delta.x = cosf((strandNum * M_PI) / (GANON_MANT_NUM_STRANDS - 1.0f)) * this->sideSwayMagnitude *
sSideSwayCoefficients[i];
delta.z = 0;
Matrix_MultVec3f(&delta, &sideSwayOffset);
// Calculate position difference
gravity = this->gravity;
x = ((pos->x + vel->x) - (pos - 1)->x) + (backSwayOffset.x + sideSwayOffset.x);
y = ((pos->y + vel->y) - (pos - 1)->y) + gravity;
z = ((pos->z + vel->z) - (pos - 1)->z) + (backSwayOffset.z + sideSwayOffset.z);
// Calculate rotations in the direction of the position difference
yaw = Math_Atan2F(z, x);
x = -Math_Atan2F(sqrtf(SQ(x) + SQ(z)), y);
(rot - 1)->x = x;
// Calculate real position difference of correct length in the correct direction
delta.x = 0;
delta.z = jointLength;
Matrix_RotateY(yaw, MTXMODE_NEW);
Matrix_RotateX(x, MTXMODE_APPLY);
Matrix_MultVec3f(&delta, &posStep);
// Save position
x = pos->x;
y = pos->y;
z = pos->z;
// Calculate next position
pos->x = (pos - 1)->x + posStep.x;
pos->y = (pos - 1)->y + posStep.y;
pos->z = (pos - 1)->z + posStep.z;
// Pushes the cloak away from the actor if it is too close
xDiff = pos->x - this->actor.world.pos.x;
zDiff = pos->z - this->actor.world.pos.z;
if (sqrtf(SQ(xDiff) + SQ(zDiff)) < (sDistMultipliers[i] * this->minDist)) {
yaw = Math_Atan2F(zDiff, xDiff);
delta.z = this->minDist * sDistMultipliers[i];
Matrix_RotateY(yaw, MTXMODE_NEW);
Matrix_MultVec3f(&delta, &posStep);
pos->x = this->actor.world.pos.x + posStep.x;
pos->z = this->actor.world.pos.z + posStep.z;
}
// Enforces minY constraint
if (pos->y < this->minY) {
pos->y = this->minY;
}
// Calculate next velocity
vel->x = (pos->x - x) * 80.0f / 100.0f;
vel->y = (pos->y - y) * 80.0f / 100.0f;
vel->z = (pos->z - z) * 80.0f / 100.0f;
if (this->actor.params != 0x23) {
// Clamp elements of vel into [-5.0, 5.0]
if (vel->x > 5.0f) {
vel->x = 5.0f;
} else if (vel->x < -5.0f) {
vel->x = -5.0f;
}
if (vel->y > 5.0f) {
vel->y = 5.0f;
} else if (vel->y < -5.0f) {
vel->y = -5.0f;
}
if (vel->z > 5.0f) {
vel->z = 5.0f;
} else if (vel->z < -5.0f) {
vel->z = -5.0f;
}
}
// update angle
xDiff = pos->x - nextPos->x;
zDiff = pos->z - nextPos->z;
(rot - 1)->y = Math_Atan2F(zDiff, xDiff);
}
}
rot[11].y = rot[10].y;
rot[11].x = rot[10].x;
}
/**
* Update the cloak vertices using the current state of the strands
*/
void EnGanonMant_UpdateVertices(EnGanonMant* this) {
s16 i;
Vtx* vtx;
Vtx* vertices;
MantStrand* strand;
s16 j;
s16 k;
Vec3f up;
Vec3f normal;
if (this->frameTimer % 2 != 0) {
vertices = SEGMENTED_TO_VIRTUAL(sMantVtx1);
} else {
vertices = SEGMENTED_TO_VIRTUAL(sMantVtx2);
}
up.x = 0.0f;
up.y = 30.0f;
up.z = 0.0f;
strand = &this->strands[0];
for (i = 0; i < GANON_MANT_NUM_STRANDS; i++, strand++) {
for (j = 0, k = 0; j < GANON_MANT_NUM_JOINTS; j++, k += GANON_MANT_NUM_JOINTS) {
vtx = &vertices[sVerticesMap[i + k]];
vtx->n.ob[0] = strand->joints[j].x;
vtx->n.ob[1] = strand->joints[j].y;
vtx->n.ob[2] = strand->joints[j].z;
Matrix_RotateY(strand->rotations[j].y, MTXMODE_NEW);
Matrix_RotateX(strand->rotations[j].x, MTXMODE_APPLY);
Matrix_MultVec3f(&up, &normal);
vtx->n.n[0] = normal.x;
vtx->n.n[1] = normal.y;
vtx->n.n[2] = normal.z;
}
}
}
void EnGanonMant_Update(Actor* thisx, GlobalContext* globalCtx) {
EnGanonMant* this = THIS;
BossGanon* ganon = (BossGanon*)this->actor.parent;
this->updateHasRun = true;
this->frameTimer++;
if (this->attachLeftArmTimer == 0.0f) {
} else {
this->attachLeftArmTimer -= 1.0f;
}
if (this->attachRightArmTimer != 0.0f) {
this->attachRightArmTimer -= 1.0f;
}
if (this->attachShouldersTimer != 0.0f) {
this->attachShouldersTimer -= 1.0f;
}
this->actor.shape.rot.y = ganon->actor.shape.rot.y;
if (this->tearTimer != 0) {
this->tearTimer--;
EnGanonMant_Tear(this);
}
}
void EnGanonMant_DrawCloak(GlobalContext* globalCtx, EnGanonMant* this) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ganon_mant.c", 564);
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ganon_mant.c", 572),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
// set texture
gSPDisplayList(POLY_OPA_DISP++, sMantTexDL);
// set vertices, vertices are double buffered to prevent
// modification of vertices as they are being drawn
if (this->frameTimer % 2 != 0) {
gSPSegment(POLY_OPA_DISP++, 0x0C, sMantVtx1);
} else {
gSPSegment(POLY_OPA_DISP++, 0x0C, sMantVtx2);
}
// draw cloak
gSPDisplayList(POLY_OPA_DISP++, sMantDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ganon_mant.c", 584);
}
void EnGanonMant_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGanonMant* this = THIS;
f32 xDiff;
f32 pitch;
Vec3f strandOffset;
Vec3f strandDivPos;
f32 zDiff;
f32 diffHalfDist;
f32 yDiff;
f32 yaw;
Vec3f* rightPos;
Vec3f* leftPos;
s16 strandIdx;
Vec3f midpoint;
s16 nextStrandIdx;
if (this->updateHasRun) {
// Only run this if update has run since last draw
// Choose endpoints
if (this->attachRightArmTimer != 0.0f) {
rightPos = &this->rightForearmPos;
leftPos = &this->leftShoulderPos;
this->gravity = -13.0f;
} else if (this->attachLeftArmTimer != 0.0f) {
rightPos = &this->rightShoulderPos;
leftPos = &this->leftForearmPos;
this->gravity = -13.0f;
} else if (this->attachShouldersTimer != 0.0f) {
rightPos = &this->rightShoulderPos;
leftPos = &this->leftShoulderPos;
this->gravity = -3.0f;
} else {
rightPos = &this->rightForearmPos;
leftPos = &this->leftForearmPos;
}
xDiff = leftPos->x - rightPos->x;
yDiff = leftPos->y - rightPos->y;
zDiff = leftPos->z - rightPos->z;
midpoint.x = rightPos->x + xDiff * 0.5f;
midpoint.y = rightPos->y + yDiff * 0.5f;
midpoint.z = rightPos->z + zDiff * 0.5f;
// Calculte base orientation for chosen endpoints
yaw = Math_Atan2F(zDiff, xDiff);
pitch = -Math_Atan2F(sqrtf(SQ(xDiff) + SQ(zDiff)), yDiff);
diffHalfDist = sqrtf(SQ(xDiff) + SQ(yDiff) + SQ(zDiff)) * 0.5f;
Matrix_RotateY(yaw, MTXMODE_NEW);
Matrix_RotateX(pitch, MTXMODE_APPLY);
this->baseYaw = yaw - M_PI / 2.0f;
for (strandIdx = 0; strandIdx < GANON_MANT_NUM_STRANDS; strandIdx++) {
Matrix_Push();
// Calculate root positions for chosen endpoints
strandOffset.x = sinf((strandIdx * M_PI) / (GANON_MANT_NUM_STRANDS - 1)) * diffHalfDist;
strandOffset.y = 0;
strandOffset.z = -cosf((strandIdx * M_PI) / (GANON_MANT_NUM_STRANDS - 1)) * diffHalfDist;
Matrix_MultVec3f(&strandOffset, &strandDivPos);
this->strands[strandIdx].root.x = midpoint.x + strandDivPos.x;
this->strands[strandIdx].root.y = midpoint.y + strandDivPos.y;
this->strands[strandIdx].root.z = midpoint.z + strandDivPos.z;
nextStrandIdx = strandIdx + 1;
if (nextStrandIdx >= GANON_MANT_NUM_STRANDS) {
nextStrandIdx = strandIdx - 1;
}
// Update the strand joints
EnGanonMant_UpdateStrand(globalCtx, this, &this->strands[strandIdx].root, this->strands[strandIdx].joints,
this->strands[nextStrandIdx].joints, this->strands[strandIdx].rotations,
this->strands[strandIdx].velocities, strandIdx);
Matrix_Pop();
}
EnGanonMant_UpdateVertices(this);
this->updateHasRun = false;
}
EnGanonMant_DrawCloak(globalCtx, this);
}

View file

@ -6,34 +6,37 @@
struct EnGanonMant;
#define GANON_MANT_NUM_JOINTS 12
#define GANON_MANT_NUM_STRANDS 12
typedef struct {
/* 0x000 */ Vec3f unk_00; // 14C
/* 0x00C */ Vec3f unk_0C[12]; // 158
/* 0x090 */ Vec3f unk_90[12]; // 1E8
/* 0x120 */ Vec3f unk_120[12]; // 278
/* 0x1B0 */ u8 unk_1B0[12]; // 308
} MantSub14C; // size = 0x1C8
/* 0x000 */ Vec3f root; // root position along the collar
/* 0x00C */ Vec3f joints[GANON_MANT_NUM_JOINTS]; // "joints" for deforming the cloak, stemming from root and propagating down the cloak
/* 0x090 */ Vec3f rotations[GANON_MANT_NUM_JOINTS]; // normal vector rotations, x and y only
/* 0x120 */ Vec3f velocities[GANON_MANT_NUM_JOINTS]; // velocities calculated as differences in position from last update
/* 0x1B0 */ u8 torn[GANON_MANT_NUM_JOINTS]; // guess: whether the joint is torn?
} MantStrand; // size = 0x1C8
typedef struct EnGanonMant {
/* 0x0000 */ Actor actor;
/* 0x014C */ MantSub14C unk_14C[12];
/* 0x16AC */ f32 unk_16AC;
/* 0x16B0 */ f32 unk_16B0;
/* 0x16B4 */ f32 unk_16B4;
/* 0x16B8 */ f32 unk_16B8;
/* 0x16BC */ f32 unk_16BC;
/* 0x16C0 */ f32 unk_16C0;
/* 0x16C4 */ f32 unk_16C4;
/* 0x16C8 */ f32 unk_16C8;
/* 0x16CC */ char unk_16CC[0x4];
/* 0x16D0 */ f32 unk_16D0;
/* 0x16D4 */ Vec3f unk_16D4;
/* 0x16E0 */ Vec3f unk_16E0;
/* 0x16EC */ Vec3f unk_16EC;
/* 0x16F8 */ Vec3f unk_16F8;
/* 0x1704 */ u8 unk_1704;
/* 0x1705 */ u8 unk_1705;
/* 0x1706 */ u8 unk_1706;
/* 0x014C */ MantStrand strands[GANON_MANT_NUM_STRANDS];
/* 0x16AC */ f32 minY; // minimum Y value possible for joints, for emulating collision with a floor
/* 0x16B0 */ f32 backPush; // larger values push the cloak further outwards, negative is away from the actor
/* 0x16B4 */ f32 backSwayMagnitude; // magnitude of backwards/forwards swaying
/* 0x16B8 */ f32 sideSwayMagnitude; // magnitude of sideways swaying
/* 0x16BC */ f32 attachRightArmTimer; // timer for the duration of which the cloak is attached to right forearm and left shoulder
/* 0x16C0 */ f32 attachLeftArmTimer; // timer for the duration of which the cloak is attached to left forearm and right shoulder
/* 0x16C4 */ f32 attachShouldersTimer; // timer for the duration of which the cloak is attached to both shoulders
/* 0x16C8 */ f32 gravity; // strand gravity
/* 0x16CC */ f32 baseYaw;
/* 0x16D0 */ f32 minDist; // closest distance the cloak can get to the attached actor without being pushed away
/* 0x16D4 */ Vec3f rightForearmPos;
/* 0x16E0 */ Vec3f leftForearmPos;
/* 0x16EC */ Vec3f rightShoulderPos;
/* 0x16F8 */ Vec3f leftShoulderPos;
/* 0x1704 */ u8 tearTimer; // tear the cloak for x many frames
/* 0x1705 */ u8 updateHasRun;
/* 0x1706 */ u8 frameTimer;
} EnGanonMant; // size = 0x1708
extern const ActorInit En_Ganon_Mant_InitVars;

View file

@ -837,12 +837,12 @@ void func_80B2CC1C(GlobalContext* globalCtx, EnViewer* this) {
if (this->actor.params >> 8 == 5) {
if (1) {}
sGanonCape->unk_16B0 = BREG(54) / 10.0f;
sGanonCape->unk_16B4 = (BREG(60) + 25) / 100.0f;
sGanonCape->unk_16B8 = (BREG(55) - 45) / 10.0f;
sGanonCape->unk_16AC = -10000.0f;
sGanonCape->unk_16D0 = 0.0f;
sGanonCape->unk_16C8 = (BREG(67) - 10) / 10.0f;
sGanonCape->backPush = BREG(54) / 10.0f;
sGanonCape->backSwayMagnitude = (BREG(60) + 25) / 100.0f;
sGanonCape->sideSwayMagnitude = (BREG(55) - 45) / 10.0f;
sGanonCape->minY = -10000.0f;
sGanonCape->minDist = 0.0f;
sGanonCape->gravity = (BREG(67) - 10) / 10.0f;
vec1.x = KREG(16) - 13.0f;
vec1.y = KREG(17) + 3.0f + Math_SinS(D_80B2CFEC) * KREG(20);
vec1.z = KREG(18) - 10.0f;
@ -850,13 +850,13 @@ void func_80B2CC1C(GlobalContext* globalCtx, EnViewer* this) {
Matrix_RotateY((this->actor.shape.rot.y / (f32)0x8000) * M_PI, MTXMODE_NEW);
Matrix_MultVec3f(&vec1, &vec2);
sGanonCape->unk_16D4.x = D_80B2D448.x + vec2.x;
sGanonCape->unk_16D4.y = D_80B2D448.y + vec2.y;
sGanonCape->unk_16D4.z = D_80B2D448.z + vec2.z;
sGanonCape->rightForearmPos.x = D_80B2D448.x + vec2.x;
sGanonCape->rightForearmPos.y = D_80B2D448.y + vec2.y;
sGanonCape->rightForearmPos.z = D_80B2D448.z + vec2.z;
vec1.x = -(KREG(16) - 13.0f);
Matrix_MultVec3f(&vec1, &vec2);
sGanonCape->unk_16E0.x = D_80B2D448.x + vec2.x;
sGanonCape->unk_16E0.y = D_80B2D448.y + vec2.y;
sGanonCape->unk_16E0.z = D_80B2D448.z + vec2.z;
sGanonCape->leftForearmPos.x = D_80B2D448.x + vec2.x;
sGanonCape->leftForearmPos.y = D_80B2D448.y + vec2.y;
sGanonCape->leftForearmPos.z = D_80B2D448.z + vec2.z;
}
}

View file

@ -1,4 +1,4 @@
OBJECT_UNSET_0
OBJECT_INVALID
OBJECT_GAMEPLAY_KEEP
OBJECT_GAMEPLAY_FIELD_KEEP
OBJECT_GAMEPLAY_DANGEON_KEEP