mirror of
https://github.com/zeldaret/oot.git
synced 2025-01-13 19:57:18 +00:00
Merge pull request #49 from shawlucas/en_tana
Decompiled ovl_En_Tana and ovl_Bg_Spot05_Soko
This commit is contained in:
commit
b96c016948
22 changed files with 169 additions and 535 deletions
|
@ -1,16 +0,0 @@
|
|||
glabel BgSpot05Soko_Destroy
|
||||
/* 00108 808AE578 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0010C 808AE57C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00110 808AE580 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00114 808AE584 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00118 808AE588 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0011C 808AE58C 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00120 808AE590 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00124 808AE594 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 00128 808AE598 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0012C 808AE59C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00130 808AE5A0 03E00008 */ jr $ra
|
||||
/* 00134 808AE5A4 00000000 */ nop
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
glabel BgSpot05Soko_Draw
|
||||
/* 00250 808AE6C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00254 808AE6C4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00258 808AE6C8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 0025C 808AE6CC 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C
|
||||
/* 00260 808AE6D0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00264 808AE6D4 3C05808B */ lui $a1, %hi(D_808AE724) ## $a1 = 808B0000
|
||||
/* 00268 808AE6D8 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0026C 808AE6DC 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 00270 808AE6E0 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00274 808AE6E4 8CA5E724 */ lw $a1, %lo(D_808AE724)($a1)
|
||||
/* 00278 808AE6E8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0027C 808AE6EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00280 808AE6F0 03E00008 */ jr $ra
|
||||
/* 00284 808AE6F4 00000000 */ nop
|
||||
/* 00288 808AE6F8 00000000 */ nop
|
||||
/* 0028C 808AE6FC 00000000 */ nop
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
glabel BgSpot05Soko_Init
|
||||
/* 00000 808AE470 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 808AE474 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00008 808AE478 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0000C 808AE47C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00010 808AE480 3C05808B */ lui $a1, %hi(D_808AE720) ## $a1 = 808B0000
|
||||
/* 00014 808AE484 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 808AE488 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 0001C 808AE48C 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00020 808AE490 24A5E720 */ addiu $a1, $a1, %lo(D_808AE720) ## $a1 = 808AE720
|
||||
/* 00024 808AE494 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
|
||||
/* 00028 808AE498 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 0002C 808AE49C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00030 808AE4A0 000E7A03 */ sra $t7, $t6, 8
|
||||
/* 00034 808AE4A4 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
|
||||
/* 00038 808AE4A8 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
|
||||
/* 0003C 808AE4AC AE180168 */ sw $t8, 0x0168($s0) ## 00000168
|
||||
/* 00040 808AE4B0 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 00044 808AE4B4 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00048 808AE4B8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0004C 808AE4BC 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
||||
/* 00050 808AE4C0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00054 808AE4C4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||
/* 00058 808AE4C8 15200010 */ bne $t1, $zero, .L808AE50C
|
||||
/* 0005C 808AE4CC 248412C0 */ addiu $a0, $a0, 0x12C0 ## $a0 = 060012C0
|
||||
/* 00060 808AE4D0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00064 808AE4D4 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00068 808AE4D8 24840918 */ addiu $a0, $a0, 0x0918 ## $a0 = 06000918
|
||||
/* 0006C 808AE4DC 3C0A8016 */ lui $t2, 0x8016 ## $t2 = 80160000
|
||||
/* 00070 808AE4E0 8D4AE664 */ lw $t2, -0x199C($t2) ## 8015E664
|
||||
/* 00074 808AE4E4 3C0B808B */ lui $t3, %hi(func_808AE5A8) ## $t3 = 808B0000
|
||||
/* 00078 808AE4E8 256BE5A8 */ addiu $t3, $t3, %lo(func_808AE5A8) ## $t3 = 808AE5A8
|
||||
/* 0007C 808AE4EC 15400005 */ bne $t2, $zero, .L808AE504
|
||||
/* 00080 808AE4F0 00000000 */ nop
|
||||
/* 00084 808AE4F4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00088 808AE4F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0008C 808AE4FC 10000014 */ beq $zero, $zero, .L808AE550
|
||||
/* 00090 808AE500 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808AE504:
|
||||
/* 00094 808AE504 10000011 */ beq $zero, $zero, .L808AE54C
|
||||
/* 00098 808AE508 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
.L808AE50C:
|
||||
/* 0009C 808AE50C 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 000A0 808AE510 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||
/* 000A4 808AE514 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 000A8 808AE518 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 000AC 808AE51C 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
|
||||
/* 000B0 808AE520 10400005 */ beq $v0, $zero, .L808AE538
|
||||
/* 000B4 808AE524 3C0C808B */ lui $t4, %hi(func_808AE5B4) ## $t4 = 808B0000
|
||||
/* 000B8 808AE528 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 000BC 808AE52C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000C0 808AE530 10000007 */ beq $zero, $zero, .L808AE550
|
||||
/* 000C4 808AE534 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808AE538:
|
||||
/* 000C8 808AE538 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004
|
||||
/* 000CC 808AE53C 258CE5B4 */ addiu $t4, $t4, %lo(func_808AE5B4) ## $t4 = FFFFE5B4
|
||||
/* 000D0 808AE540 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
|
||||
/* 000D4 808AE544 35AE0010 */ ori $t6, $t5, 0x0010 ## $t6 = 00000010
|
||||
/* 000D8 808AE548 AE0E0004 */ sw $t6, 0x0004($s0) ## 00000004
|
||||
.L808AE54C:
|
||||
/* 000DC 808AE54C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808AE550:
|
||||
/* 000E0 808AE550 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 000E4 808AE554 8FA70024 */ lw $a3, 0x0024($sp)
|
||||
/* 000E8 808AE558 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 000EC 808AE55C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 000F0 808AE560 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 000F4 808AE564 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000F8 808AE568 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 000FC 808AE56C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00100 808AE570 03E00008 */ jr $ra
|
||||
/* 00104 808AE574 00000000 */ nop
|
||||
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
glabel BgSpot05Soko_Update
|
||||
/* 0022C 808AE69C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00230 808AE6A0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00234 808AE6A4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00238 808AE6A8 0320F809 */ jalr $ra, $t9
|
||||
/* 0023C 808AE6AC 00000000 */ nop
|
||||
/* 00240 808AE6B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00244 808AE6B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00248 808AE6B8 03E00008 */ jr $ra
|
||||
/* 0024C 808AE6BC 00000000 */ nop
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_808AE5A8
|
||||
/* 00138 808AE5A8 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 0013C 808AE5AC 03E00008 */ jr $ra
|
||||
/* 00140 808AE5B0 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_808AE5B4
|
||||
/* 00144 808AE5B4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00148 808AE5B8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0014C 808AE5BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00150 808AE5C0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00154 808AE5C4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00158 808AE5C8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0015C 808AE5CC 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00160 808AE5D0 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
|
||||
/* 00164 808AE5D4 10400011 */ beq $v0, $zero, .L808AE61C
|
||||
/* 00168 808AE5D8 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0016C 808AE5DC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00170 808AE5E0 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
|
||||
/* 00174 808AE5E4 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00178 808AE5E8 2407285A */ addiu $a3, $zero, 0x285A ## $a3 = 0000285A
|
||||
/* 0017C 808AE5EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00180 808AE5F0 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00184 808AE5F4 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000
|
||||
/* 00188 808AE5F8 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0018C 808AE5FC 0C020120 */ jal func_80080480
|
||||
/* 00190 808AE600 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00194 808AE604 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00198 808AE608 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 0019C 808AE60C 3C0E808B */ lui $t6, %hi(func_808AE630) ## $t6 = 808B0000
|
||||
/* 001A0 808AE610 25CEE630 */ addiu $t6, $t6, %lo(func_808AE630) ## $t6 = 808AE630
|
||||
/* 001A4 808AE614 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
|
||||
/* 001A8 808AE618 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
.L808AE61C:
|
||||
/* 001AC 808AE61C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 001B0 808AE620 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 001B4 808AE624 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 001B8 808AE628 03E00008 */ jr $ra
|
||||
/* 001BC 808AE62C 00000000 */ nop
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
glabel func_808AE630
|
||||
/* 001C0 808AE630 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 001C4 808AE634 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 001C8 808AE638 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 001CC 808AE63C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 001D0 808AE640 44813000 */ mtc1 $at, $f6 ## $f6 = 1.50
|
||||
/* 001D4 808AE644 C4840068 */ lwc1 $f4, 0x0068($a0) ## 00000068
|
||||
/* 001D8 808AE648 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 001DC 808AE64C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 001E0 808AE650 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 001E4 808AE654 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00
|
||||
/* 001E8 808AE658 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
|
||||
/* 001EC 808AE65C E4880040 */ swc1 $f8, 0x0040($a0) ## 00000068
|
||||
/* 001F0 808AE660 C4EA000C */ lwc1 $f10, 0x000C($a3) ## 0000000C
|
||||
/* 001F4 808AE664 8CE60068 */ lw $a2, 0x0068($a3) ## 00000068
|
||||
/* 001F8 808AE668 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 001FC 808AE66C 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 00200 808AE670 44059000 */ mfc1 $a1, $f18
|
||||
/* 00204 808AE674 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00208 808AE678 00000000 */ nop
|
||||
/* 0020C 808AE67C 10400003 */ beq $v0, $zero, .L808AE68C
|
||||
/* 00210 808AE680 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00214 808AE684 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00218 808AE688 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
.L808AE68C:
|
||||
/* 0021C 808AE68C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00220 808AE690 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00224 808AE694 03E00008 */ jr $ra
|
||||
/* 00228 808AE698 00000000 */ nop
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
glabel EnTana_Destroy
|
||||
/* 0007C 80B17FAC AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00080 80B17FB0 03E00008 */ jr $ra
|
||||
/* 00084 80B17FB4 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
glabel EnTana_Init
|
||||
/* 00000 80B17F30 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00004 80B17F34 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00008 80B17F38 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0000C 80B17F3C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00010 80B17F40 84CE001C */ lh $t6, 0x001C($a2) ## 0000001C
|
||||
/* 00014 80B17F44 3C0580B2 */ lui $a1, %hi(D_80B18200) ## $a1 = 80B20000
|
||||
/* 00018 80B17F48 3C0480B2 */ lui $a0, %hi(D_80B18240) ## $a0 = 80B20000
|
||||
/* 0001C 80B17F4C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00020 80B17F50 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 00024 80B17F54 8CA58200 */ lw $a1, %lo(D_80B18200)($a1)
|
||||
/* 00028 80B17F58 24848240 */ addiu $a0, $a0, %lo(D_80B18240) ## $a0 = 80B18240
|
||||
/* 0002C 80B17F5C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00030 80B17F60 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00034 80B17F64 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00038 80B17F68 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 0003C 80B17F6C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
|
||||
/* 00040 80B17F70 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00044 80B17F74 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00048 80B17F78 3C0A80B2 */ lui $t2, %hi(D_80B18208) ## $t2 = 80B20000
|
||||
/* 0004C 80B17F7C 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004
|
||||
/* 00050 80B17F80 84C8001C */ lh $t0, 0x001C($a2) ## 0000001C
|
||||
/* 00054 80B17F84 0301C824 */ and $t9, $t8, $at
|
||||
/* 00058 80B17F88 00084880 */ sll $t1, $t0, 2
|
||||
/* 0005C 80B17F8C 01495021 */ addu $t2, $t2, $t1
|
||||
/* 00060 80B17F90 ACD90004 */ sw $t9, 0x0004($a2) ## 00000004
|
||||
/* 00064 80B17F94 8D4A8208 */ lw $t2, %lo(D_80B18208)($t2)
|
||||
/* 00068 80B17F98 ACCA0134 */ sw $t2, 0x0134($a2) ## 00000134
|
||||
/* 0006C 80B17F9C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00070 80B17FA0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00074 80B17FA4 03E00008 */ jr $ra
|
||||
/* 00078 80B17FA8 00000000 */ nop
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
glabel EnTana_Update
|
||||
/* 00088 80B17FB8 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 0008C 80B17FBC 03E00008 */ jr $ra
|
||||
/* 00090 80B17FC0 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
glabel func_80B17FC4
|
||||
/* 00094 80B17FC4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00098 80B17FC8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0009C 80B17FCC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 000A0 80B17FD0 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 000A4 80B17FD4 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 000A8 80B17FD8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 000AC 80B17FDC 3C0680B2 */ lui $a2, %hi(D_80B18254) ## $a2 = 80B20000
|
||||
/* 000B0 80B17FE0 24C68254 */ addiu $a2, $a2, %lo(D_80B18254) ## $a2 = 80B18254
|
||||
/* 000B4 80B17FE4 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 000B8 80B17FE8 24070094 */ addiu $a3, $zero, 0x0094 ## $a3 = 00000094
|
||||
/* 000BC 80B17FEC 0C031AB1 */ jal func_800C6AC4
|
||||
/* 000C0 80B17FF0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 000C4 80B17FF4 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 000C8 80B17FF8 0C024F46 */ jal func_80093D18
|
||||
/* 000CC 80B17FFC 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 000D0 80B18000 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 000D4 80B18004 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 000D8 80B18008 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 000DC 80B1800C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 000E0 80B18010 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 000E4 80B18014 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 000E8 80B18018 8FA8004C */ lw $t0, 0x004C($sp)
|
||||
/* 000EC 80B1801C 3C0580B2 */ lui $a1, %hi(D_80B18264) ## $a1 = 80B20000
|
||||
/* 000F0 80B18020 24A58264 */ addiu $a1, $a1, %lo(D_80B18264) ## $a1 = 80B18264
|
||||
/* 000F4 80B18024 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 000F8 80B18028 24060098 */ addiu $a2, $zero, 0x0098 ## $a2 = 00000098
|
||||
/* 000FC 80B1802C 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00100 80B18030 AFA2002C */ sw $v0, 0x002C($sp)
|
||||
/* 00104 80B18034 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 00108 80B18038 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 0010C 80B1803C 3C0E80B2 */ lui $t6, %hi(D_80B18214) ## $t6 = 80B20000
|
||||
/* 00110 80B18040 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00114 80B18044 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00118 80B18048 3C0680B2 */ lui $a2, %hi(D_80B18274) ## $a2 = 80B20000
|
||||
/* 0011C 80B1804C 24C68274 */ addiu $a2, $a2, %lo(D_80B18274) ## $a2 = 80B18274
|
||||
/* 00120 80B18050 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00124 80B18054 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00128 80B18058 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 0012C 80B1805C 8FAB0048 */ lw $t3, 0x0048($sp)
|
||||
/* 00130 80B18060 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 00134 80B18064 2407009D */ addiu $a3, $zero, 0x009D ## $a3 = 0000009D
|
||||
/* 00138 80B18068 856C001C */ lh $t4, 0x001C($t3) ## 0000001C
|
||||
/* 0013C 80B1806C 000C6880 */ sll $t5, $t4, 2
|
||||
/* 00140 80B18070 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 00144 80B18074 8DCE8214 */ lw $t6, %lo(D_80B18214)($t6)
|
||||
/* 00148 80B18078 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
||||
/* 0014C 80B1807C 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 00150 80B18080 0C031AD5 */ jal func_800C6B54
|
||||
/* 00154 80B18084 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
|
||||
/* 00158 80B18088 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0015C 80B1808C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00160 80B18090 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00164 80B18094 03E00008 */ jr $ra
|
||||
/* 00168 80B18098 00000000 */ nop
|
||||
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
glabel func_80B1809C
|
||||
/* 0016C 80B1809C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00170 80B180A0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00174 80B180A4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00178 80B180A8 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 0017C 80B180AC AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00180 80B180B0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00184 80B180B4 3C0680B2 */ lui $a2, %hi(D_80B18284) ## $a2 = 80B20000
|
||||
/* 00188 80B180B8 24C68284 */ addiu $a2, $a2, %lo(D_80B18284) ## $a2 = 80B18284
|
||||
/* 0018C 80B180BC 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 00190 80B180C0 240700A3 */ addiu $a3, $zero, 0x00A3 ## $a3 = 000000A3
|
||||
/* 00194 80B180C4 0C031AB1 */ jal func_800C6AC4
|
||||
/* 00198 80B180C8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 0019C 80B180CC 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 001A0 80B180D0 0C024F46 */ jal func_80093D18
|
||||
/* 001A4 80B180D4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 001A8 80B180D8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 001AC 80B180DC 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
|
||||
/* 001B0 80B180E0 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
|
||||
/* 001B4 80B180E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 001B8 80B180E8 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 001BC 80B180EC AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 001C0 80B180F0 8FA80048 */ lw $t0, 0x0048($sp)
|
||||
/* 001C4 80B180F4 3C0480B2 */ lui $a0, %hi(D_80B18220) ## $a0 = 80B20000
|
||||
/* 001C8 80B180F8 3C0F8016 */ lui $t7, 0x8016 ## $t7 = 80160000
|
||||
/* 001CC 80B180FC 8509001C */ lh $t1, 0x001C($t0) ## 0000001C
|
||||
/* 001D0 80B18100 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 001D4 80B18104 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 001D8 80B18108 00095080 */ sll $t2, $t1, 2
|
||||
/* 001DC 80B1810C 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 001E0 80B18110 8C848220 */ lw $a0, %lo(D_80B18220)($a0)
|
||||
/* 001E4 80B18114 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
|
||||
/* 001E8 80B18118 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
|
||||
/* 001EC 80B1811C 00046100 */ sll $t4, $a0, 4
|
||||
/* 001F0 80B18120 000C6F02 */ srl $t5, $t4, 28
|
||||
/* 001F4 80B18124 000D7080 */ sll $t6, $t5, 2
|
||||
/* 001F8 80B18128 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 001FC 80B1812C 8DEF6FA8 */ lw $t7, 0x6FA8($t7) ## 80166FA8
|
||||
/* 00200 80B18130 00815824 */ and $t3, $a0, $at
|
||||
/* 00204 80B18134 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00208 80B18138 016FC021 */ addu $t8, $t3, $t7
|
||||
/* 0020C 80B1813C 0301C821 */ addu $t9, $t8, $at
|
||||
/* 00210 80B18140 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 00214 80B18144 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00218 80B18148 3C0580B2 */ lui $a1, %hi(D_80B18294) ## $a1 = 80B20000
|
||||
/* 0021C 80B1814C 24A58294 */ addiu $a1, $a1, %lo(D_80B18294) ## $a1 = 80B18294
|
||||
/* 00220 80B18150 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
|
||||
/* 00224 80B18154 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
|
||||
/* 00228 80B18158 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 0022C 80B1815C 8FAA004C */ lw $t2, 0x004C($sp)
|
||||
/* 00230 80B18160 240600A9 */ addiu $a2, $zero, 0x00A9 ## $a2 = 000000A9
|
||||
/* 00234 80B18164 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
|
||||
/* 00238 80B18168 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0023C 80B1816C AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 00240 80B18170 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 00244 80B18174 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
|
||||
/* 00248 80B18178 3C1880B2 */ lui $t8, %hi(D_80B18214) ## $t8 = 80B20000
|
||||
/* 0024C 80B1817C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00250 80B18180 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00254 80B18184 3C0680B2 */ lui $a2, %hi(D_80B182A4) ## $a2 = 80B20000
|
||||
/* 00258 80B18188 24C682A4 */ addiu $a2, $a2, %lo(D_80B182A4) ## $a2 = 80B182A4
|
||||
/* 0025C 80B1818C 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 00260 80B18190 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
|
||||
/* 00264 80B18194 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 00268 80B18198 8FAE0048 */ lw $t6, 0x0048($sp)
|
||||
/* 0026C 80B1819C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
|
||||
/* 00270 80B181A0 240700AE */ addiu $a3, $zero, 0x00AE ## $a3 = 000000AE
|
||||
/* 00274 80B181A4 85CB001C */ lh $t3, 0x001C($t6) ## 0000001C
|
||||
/* 00278 80B181A8 000B7880 */ sll $t7, $t3, 2
|
||||
/* 0027C 80B181AC 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 00280 80B181B0 8F188214 */ lw $t8, %lo(D_80B18214)($t8)
|
||||
/* 00284 80B181B4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00288 80B181B8 8FB9004C */ lw $t9, 0x004C($sp)
|
||||
/* 0028C 80B181BC 0C031AD5 */ jal func_800C6B54
|
||||
/* 00290 80B181C0 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
|
||||
/* 00294 80B181C4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00298 80B181C8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0029C 80B181CC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 002A0 80B181D0 03E00008 */ jr $ra
|
||||
/* 002A4 80B181D4 00000000 */ nop
|
||||
/* 002A8 80B181D8 00000000 */ nop
|
||||
/* 002AC 80B181DC 00000000 */ nop
|
||||
|
|
@ -1,20 +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 purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel Bg_Spot05_Soko_InitVars
|
||||
.word 0x018D0600, 0x00000000, 0x01610000, 0x0000016C
|
||||
.word BgSpot05Soko_Init
|
||||
.word BgSpot05Soko_Destroy
|
||||
.word BgSpot05Soko_Update
|
||||
.word BgSpot05Soko_Draw
|
||||
glabel D_808AE720
|
||||
.word 0x48500064
|
||||
glabel D_808AE724
|
||||
.word 0x06000840, 0x06001190, 0x00000000
|
||||
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_808AE730
|
||||
|
||||
.incbin "baserom/ovl_Bg_Spot05_Soko", 0x2C0, 0x00000050
|
|
@ -1,27 +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 purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel En_Tana_InitVars
|
||||
.word 0x00C20600, 0x00000009, 0x00B20000, 0x0000014C
|
||||
.word EnTana_Init
|
||||
.word EnTana_Destroy
|
||||
.word EnTana_Update
|
||||
.word 0x00000000
|
||||
glabel D_80B18200
|
||||
.word D_80B18230
|
||||
.word D_80B18238
|
||||
glabel D_80B18208
|
||||
.word func_80B17FC4
|
||||
.word func_80B1809C
|
||||
.word func_80B1809C
|
||||
glabel D_80B18214
|
||||
.word 0x06000B80, 0x060027E8, 0x060027E8
|
||||
glabel D_80B18220
|
||||
.word 0x00000000, 0x06000E08, 0x06001608, 0x00000000
|
||||
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80B182C0
|
||||
|
||||
.incbin "baserom/ovl_En_Tana", 0x390, 0x000000A0
|
|
@ -1,41 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_80B18230
|
||||
.word 0xCCDAA4CE, 0xC3AA0000
|
||||
glabel D_80B18238
|
||||
.word 0xC0D0A4CE, 0xC3AA0000
|
||||
glabel D_80B18240
|
||||
.asciz "☆☆☆ %s ☆☆☆\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B18254
|
||||
.asciz "../z_en_tana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B18264
|
||||
.asciz "../z_en_tana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B18274
|
||||
.asciz "../z_en_tana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B18284
|
||||
.asciz "../z_en_tana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B18294
|
||||
.asciz "../z_en_tana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B182A4
|
||||
.word 0x2E2E2F7A, 0x5F656E5F, 0x74616E61, 0x2E630000, 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
|
7
spec
7
spec
|
@ -1400,8 +1400,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Spot05_Soko"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.o"
|
||||
include "build/data/overlays/actors/z_bg_spot05_soko.data.o"
|
||||
include "build/data/overlays/actors/z_bg_spot05_soko.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -3624,9 +3623,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Tana"
|
||||
include "build/src/overlays/actors/ovl_En_Tana/z_en_tana.o"
|
||||
include "build/data/overlays/actors/z_en_tana.data.o"
|
||||
include "build/data/overlays/actors/z_en_tana.rodata.o"
|
||||
include "build/data/overlays/actors/z_en_tana.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Tana/z_en_tana_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,14 +1,25 @@
|
|||
/*
|
||||
* File: z_bg_spot05_soko.c
|
||||
* Overlay: ovl_Bg_Spot05_Soko
|
||||
* Description: Sacred Forest Meadow Entities
|
||||
*/
|
||||
|
||||
#include "z_bg_spot05_soko.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void func_808AE5A8(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
static void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx* D_060012C0;
|
||||
extern Gfx* D_06000918;
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Spot05_Soko_InitVars = {
|
||||
ACTOR_BG_SPOT05_SOKO,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -21,17 +32,78 @@ const ActorInit Bg_Spot05_Soko_InitVars = {
|
|||
(ActorFunc)BgSpot05Soko_Update,
|
||||
(ActorFunc)BgSpot05Soko_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s")
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
static Gfx* dListTbl[] = {
|
||||
0x06000840,
|
||||
0x06001190,
|
||||
};
|
||||
|
||||
static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
u32 pad1;
|
||||
u32 sp24;
|
||||
u32 pad2;
|
||||
|
||||
sp24 = 0;
|
||||
Actor_ProcessInitChain(thisx, initChain);
|
||||
this->switchFlag = (thisx->params >> 8) & 0xFF;
|
||||
thisx->params &= 0xFF;
|
||||
DynaPolyInfo_SetActorMove(thisx, DPM_UNK);
|
||||
if (thisx->params == 0) {
|
||||
DynaPolyInfo_Alloc(&D_06000918, &sp24);
|
||||
if (LINK_IS_ADULT) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
this->actionFunc = func_808AE5A8;
|
||||
}
|
||||
} else {
|
||||
DynaPolyInfo_Alloc(&D_060012C0, &sp24);
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag) != 0) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
this->actionFunc = func_808AE5B4;
|
||||
thisx->flags |= 0x10;
|
||||
}
|
||||
}
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, sp24);
|
||||
}
|
||||
|
||||
static void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_808AE5A8(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s")
|
||||
static void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 0x1E, NA_SE_EV_METALDOOR_CLOSE);
|
||||
Actor_SetHeight(thisx, 50.0f);
|
||||
func_80080480(globalCtx, thisx);
|
||||
this->actionFunc = func_808AE630;
|
||||
thisx->speedXZ = 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s")
|
||||
static void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s")
|
||||
thisx->speedXZ *= 1.5f;
|
||||
if (Math_ApproxF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y - 120.0f, thisx->speedXZ) != 0) {
|
||||
Actor_Kill(thisx);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s")
|
||||
static void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s")
|
||||
static void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, dListTbl[this->dyna.actor.params]);
|
||||
}
|
||||
|
|
|
@ -5,8 +5,9 @@
|
|||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ s32 switchFlag;
|
||||
} BgSpot05Soko; // size = 0x016C
|
||||
|
||||
extern const ActorInit Bg_Spot05_Soko_InitVars;
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
/*
|
||||
* File: z_en_tana.c
|
||||
* Overlay: ovl_En_Tana
|
||||
* Description: Shop Shelves
|
||||
*/
|
||||
|
||||
#include "z_en_tana.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000009
|
||||
|
||||
void EnTana_Init(EnTana* this, GlobalContext* globalCtx);
|
||||
void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx);
|
||||
void EnTana_Update(EnTana* this, GlobalContext* globalCtx);
|
||||
static void EnTana_Init(EnTana* this, GlobalContext* globalCtx);
|
||||
static void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx);
|
||||
static void EnTana_Update(EnTana* this, GlobalContext* globalCtx);
|
||||
static void func_80B17FC4(EnTana* this, GlobalContext* globalCtx);
|
||||
static void func_80B1809C(EnTana* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit En_Tana_InitVars = {
|
||||
ACTOR_EN_TANA,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -20,13 +27,70 @@ const ActorInit En_Tana_InitVars = {
|
|||
(ActorFunc)EnTana_Update,
|
||||
NULL,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s")
|
||||
static char* shelfTypes[] = {
|
||||
"木の棚", // "Wooden Shelves"
|
||||
"石の棚", // "Stone Shelves"
|
||||
};
|
||||
|
||||
static const ActorFunc drawFuncs[] = {
|
||||
(ActorFunc)func_80B17FC4,
|
||||
(ActorFunc)func_80B1809C,
|
||||
(ActorFunc)func_80B1809C,
|
||||
};
|
||||
|
||||
static Gfx* dListTbl[] = {
|
||||
0x06000B80,
|
||||
0x060027E8,
|
||||
0x060027E8,
|
||||
};
|
||||
|
||||
static Gfx* dListTbl2[] = {
|
||||
NULL,
|
||||
0x06000E08,
|
||||
0x06001608,
|
||||
};
|
||||
|
||||
static void EnTana_Init(EnTana* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
osSyncPrintf("☆☆☆ %s ☆☆☆\n", shelfTypes[thisx->params]);
|
||||
Actor_SetScale(thisx, 1.0f);
|
||||
thisx->flags &= ~1;
|
||||
thisx->draw = drawFuncs[thisx->params];
|
||||
}
|
||||
|
||||
static void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void EnTana_Update(EnTana* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void func_80B17FC4(EnTana* this, GlobalContext* globalCtx) {
|
||||
|
||||
Actor* thisx = &this->actor;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* gfxArr[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s")
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 148);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_tana.c", 152),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, dListTbl[thisx->params]);
|
||||
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 157);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s")
|
||||
static void func_80B1809C(EnTana* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* gfxArr[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s")
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 163);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(dListTbl2[thisx->params]));
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_tana.c", 169),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, dListTbl[thisx->params]);
|
||||
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 174);
|
||||
}
|
||||
|
|
|
@ -469,6 +469,10 @@ link_animetion_segment = 0x07000000;
|
|||
D_06004768 = 0x06004768;
|
||||
D_0600039C = 0x0600039C;
|
||||
|
||||
// z_bg_spot05_soko
|
||||
D_06000918 = 0x06000918;
|
||||
D_060012C0 = 0x060012C0;
|
||||
|
||||
// z_obj_comb
|
||||
D_050095B0 = 0x050095B0;
|
||||
D_05009940 = 0x05009940;
|
||||
D_05009940 = 0x05009940;
|
||||
|
|
Loading…
Reference in a new issue