mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-11 03:39:59 +00:00
Decompiled ovl_Bg_Spot17_Funen (#67)
* First steps * Decompiled ovl_Bg_Spot17_Funen * static functions no more
This commit is contained in:
parent
298abfb128
commit
16646aa34d
10 changed files with 51 additions and 212 deletions
|
@ -1,6 +0,0 @@
|
|||
glabel BgSpot17Funen_Destroy
|
||||
/* 00040 808B7440 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00044 808B7444 03E00008 */ jr $ra
|
||||
/* 00048 808B7448 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
glabel BgSpot17Funen_Init
|
||||
/* 00000 808B7400 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00004 808B7404 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00008 808B7408 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0000C 808B740C 3C05808B */ lui $a1, %hi(D_808B7620) ## $a1 = 808B0000
|
||||
/* 00010 808B7410 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00014 808B7414 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00018 808B7418 24A57620 */ addiu $a1, $a1, %lo(D_808B7620) ## $a1 = 808B7620
|
||||
/* 0001C 808B741C 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00020 808B7420 3C04808B */ lui $a0, %hi(D_808B7630) ## $a0 = 808B0000
|
||||
/* 00024 808B7424 24847630 */ addiu $a0, $a0, %lo(D_808B7630) ## $a0 = 808B7630
|
||||
/* 00028 808B7428 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0002C 808B742C 85C5001C */ lh $a1, 0x001C($t6) ## 0000001C
|
||||
/* 00030 808B7430 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00034 808B7434 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00038 808B7438 03E00008 */ jr $ra
|
||||
/* 0003C 808B743C 00000000 */ nop
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
glabel BgSpot17Funen_Update
|
||||
/* 0004C 808B744C 3C0E808B */ lui $t6, %hi(func_808B7478) ## $t6 = 808B0000
|
||||
/* 00050 808B7450 3C0F808B */ lui $t7, %hi(func_808B746C) ## $t7 = 808B0000
|
||||
/* 00054 808B7454 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00058 808B7458 25CE7478 */ addiu $t6, $t6, %lo(func_808B7478) ## $t6 = 808B7478
|
||||
/* 0005C 808B745C 25EF746C */ addiu $t7, $t7, %lo(func_808B746C) ## $t7 = 808B746C
|
||||
/* 00060 808B7460 AC8E0134 */ sw $t6, 0x0134($a0) ## 00000134
|
||||
/* 00064 808B7464 03E00008 */ jr $ra
|
||||
/* 00068 808B7468 AC8F0130 */ sw $t7, 0x0130($a0) ## 00000130
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_808B746C
|
||||
/* 0006C 808B746C AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00070 808B7470 03E00008 */ jr $ra
|
||||
/* 00074 808B7474 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
glabel func_808B7478
|
||||
/* 00078 808B7478 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
|
||||
/* 0007C 808B747C AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 00080 808B7480 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00084 808B7484 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 00088 808B7488 AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 0008C 808B748C AFA40070 */ sw $a0, 0x0070($sp)
|
||||
/* 00090 808B7490 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00094 808B7494 3C06808B */ lui $a2, %hi(D_808B7654) ## $a2 = 808B0000
|
||||
/* 00098 808B7498 24C67654 */ addiu $a2, $a2, %lo(D_808B7654) ## $a2 = 808B7654
|
||||
/* 0009C 808B749C 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
|
||||
/* 000A0 808B74A0 24070099 */ addiu $a3, $zero, 0x0099 ## $a3 = 00000099
|
||||
/* 000A4 808B74A4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 000A8 808B74A8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 000AC 808B74AC 0C024F61 */ jal func_80093D84
|
||||
/* 000B0 808B74B0 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 000B4 808B74B4 862E07A0 */ lh $t6, 0x07A0($s1) ## 000007A0
|
||||
/* 000B8 808B74B8 000E7880 */ sll $t7, $t6, 2
|
||||
/* 000BC 808B74BC 022FC021 */ addu $t8, $s1, $t7
|
||||
/* 000C0 808B74C0 0C016A7D */ jal func_8005A9F4
|
||||
/* 000C4 808B74C4 8F040790 */ lw $a0, 0x0790($t8) ## 00000790
|
||||
/* 000C8 808B74C8 8FB90070 */ lw $t9, 0x0070($sp)
|
||||
/* 000CC 808B74CC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 000D0 808B74D0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 000D4 808B74D4 872800B6 */ lh $t0, 0x00B6($t9) ## 000000B6
|
||||
/* 000D8 808B74D8 00484823 */ subu $t1, $v0, $t0
|
||||
/* 000DC 808B74DC 01215021 */ addu $t2, $t1, $at
|
||||
/* 000E0 808B74E0 000A5C00 */ sll $t3, $t2, 16
|
||||
/* 000E4 808B74E4 000B6403 */ sra $t4, $t3, 16
|
||||
/* 000E8 808B74E8 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
|
||||
/* 000EC 808B74EC 3C01808B */ lui $at, %hi(D_808B769C) ## $at = 808B0000
|
||||
/* 000F0 808B74F0 C428769C */ lwc1 $f8, %lo(D_808B769C)($at)
|
||||
/* 000F4 808B74F4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 000F8 808B74F8 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 000FC 808B74FC 0C034348 */ jal Matrix_RotateY
|
||||
/* 00100 808B7500 00000000 */ nop
|
||||
/* 00104 808B7504 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00108 808B7508 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
|
||||
/* 0010C 808B750C 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
|
||||
/* 00110 808B7510 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00114 808B7514 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
|
||||
/* 00118 808B7518 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 0011C 808B751C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00120 808B7520 3C05808B */ lui $a1, %hi(D_808B766C) ## $a1 = 808B0000
|
||||
/* 00124 808B7524 24A5766C */ addiu $a1, $a1, %lo(D_808B766C) ## $a1 = 808B766C
|
||||
/* 00128 808B7528 240600A1 */ addiu $a2, $zero, 0x00A1 ## $a2 = 000000A1
|
||||
/* 0012C 808B752C 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00130 808B7530 AFA20054 */ sw $v0, 0x0054($sp)
|
||||
/* 00134 808B7534 8FA30054 */ lw $v1, 0x0054($sp)
|
||||
/* 00138 808B7538 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
|
||||
/* 0013C 808B753C 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
|
||||
/* 00140 808B7540 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00144 808B7544 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00148 808B7548 3C070001 */ lui $a3, 0x0001 ## $a3 = 00010000
|
||||
/* 0014C 808B754C 00F13821 */ addu $a3, $a3, $s1
|
||||
/* 00150 808B7550 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00154 808B7554 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
|
||||
/* 00158 808B7558 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 0015C 808B755C 8CE71DE4 */ lw $a3, 0x1DE4($a3) ## 00011DE4
|
||||
/* 00160 808B7560 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00164 808B7564 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020
|
||||
/* 00168 808B7568 00073823 */ subu $a3, $zero, $a3
|
||||
/* 0016C 808B756C 30E7007F */ andi $a3, $a3, 0x007F ## $a3 = 00000000
|
||||
/* 00170 808B7570 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020
|
||||
/* 00174 808B7574 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 00178 808B7578 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
|
||||
/* 0017C 808B757C 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
||||
/* 00180 808B7580 AFAB0028 */ sw $t3, 0x0028($sp)
|
||||
/* 00184 808B7584 AFAA0024 */ sw $t2, 0x0024($sp)
|
||||
/* 00188 808B7588 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 0018C 808B758C AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00190 808B7590 AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00194 808B7594 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00198 808B7598 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 0019C 808B759C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 001A0 808B75A0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 001A4 808B75A4 0C0253D0 */ jal Gfx_TwoTexScroll
|
||||
/* 001A8 808B75A8 AFA20050 */ sw $v0, 0x0050($sp)
|
||||
/* 001AC 808B75AC 8FA30050 */ lw $v1, 0x0050($sp)
|
||||
/* 001B0 808B75B0 3C0E0600 */ lui $t6, 0x0600 ## $t6 = 06000000
|
||||
/* 001B4 808B75B4 25CE0B40 */ addiu $t6, $t6, 0x0B40 ## $t6 = 06000B40
|
||||
/* 001B8 808B75B8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 001BC 808B75BC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 001C0 808B75C0 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
|
||||
/* 001C4 808B75C4 3C06808B */ lui $a2, %hi(D_808B7684) ## $a2 = 808B0000
|
||||
/* 001C8 808B75C8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 001CC 808B75CC AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
|
||||
/* 001D0 808B75D0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
|
||||
/* 001D4 808B75D4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 001D8 808B75D8 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 001DC 808B75DC 24C67684 */ addiu $a2, $a2, %lo(D_808B7684) ## $a2 = 808B7684
|
||||
/* 001E0 808B75E0 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
|
||||
/* 001E4 808B75E4 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 001E8 808B75E8 240700B0 */ addiu $a3, $zero, 0x00B0 ## $a3 = 000000B0
|
||||
/* 001EC 808B75EC 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 001F0 808B75F0 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 001F4 808B75F4 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 001F8 808B75F8 03E00008 */ jr $ra
|
||||
/* 001FC 808B75FC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
|
||||
|
|
@ -1,18 +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_Spot17_Funen_InitVars
|
||||
.word 0x00BF0000, 0x00000030, 0x00B10000, 0x0000014C
|
||||
.word BgSpot17Funen_Init
|
||||
.word BgSpot17Funen_Destroy
|
||||
.word BgSpot17Funen_Update
|
||||
.word 0x00000000
|
||||
glabel D_808B7620
|
||||
.word 0x48500064, 0x00000000, 0x00000000, 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_808B76A0
|
||||
|
||||
.incbin "baserom/ovl_Bg_Spot17_Funen", 0x2A0, 0x00000070
|
|
@ -1,29 +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_808B7630
|
||||
.asciz "spot17 obj. 噴煙 (arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B7654
|
||||
.asciz "../z_bg_spot17_funen.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B766C
|
||||
.asciz "../z_bg_spot17_funen.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B7684
|
||||
.asciz "../z_bg_spot17_funen.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808B769C
|
||||
.word 0x38C90FDB
|
||||
|
||||
|
4
spec
4
spec
|
@ -1506,9 +1506,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Spot17_Funen"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.o"
|
||||
include "build/data/overlays/actors/z_bg_spot17_funen.data.o"
|
||||
include "build/data/overlays/actors/z_bg_spot17_funen.rodata.o"
|
||||
include "build/data/overlays/actors/z_bg_spot17_funen.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_bg_spot17_funen.c
|
||||
* Overlay: ovl_Bg_Spot17_Funen
|
||||
* Description:
|
||||
*/
|
||||
|
||||
#include "z_bg_spot17_funen.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
|
@ -7,7 +13,9 @@ void BgSpot17Funen_Init(BgSpot17Funen* this, GlobalContext* globalCtx);
|
|||
void BgSpot17Funen_Destroy(BgSpot17Funen* this, GlobalContext* globalCtx);
|
||||
void BgSpot17Funen_Update(BgSpot17Funen* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_808B7478(BgSpot17Funen* this, GlobalContext* globalCtx);
|
||||
void func_808B746C(BgSpot17Funen* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Spot17_Funen_InitVars = {
|
||||
ACTOR_BG_SPOT17_FUNEN,
|
||||
ACTORTYPE_SWITCH,
|
||||
|
@ -20,13 +28,48 @@ const ActorInit Bg_Spot17_Funen_InitVars = {
|
|||
(ActorFunc)BgSpot17Funen_Update,
|
||||
NULL,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Funen/BgSpot17Funen_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Funen/BgSpot17Funen_Destroy.s")
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Funen/BgSpot17Funen_Update.s")
|
||||
extern Gfx D_06000B40[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Funen/func_808B746C.s")
|
||||
void BgSpot17Funen_Init(BgSpot17Funen* this, GlobalContext* globalCtx) {
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
osSyncPrintf("spot17 obj. 噴煙 (arg_data 0x%04x)\n", this->actor.params);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot17_Funen/func_808B7478.s")
|
||||
void BgSpot17Funen_Destroy(BgSpot17Funen* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgSpot17Funen_Update(BgSpot17Funen* this, GlobalContext* globalCtx) {
|
||||
this->actor.draw = (ActorFunc)func_808B7478;
|
||||
this->actor.update = (ActorFunc)func_808B746C;
|
||||
}
|
||||
|
||||
void func_808B746C(BgSpot17Funen* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B7478(BgSpot17Funen* this, GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[5];
|
||||
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 153);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
Matrix_RotateY((s16)(func_8005A9F4(globalCtx->cameraCtx.activeCameraPtrs[globalCtx->cameraCtx.unk_5C0]) -
|
||||
this->actor.shape.rot.y + 0x8000) *
|
||||
9.58738019108e-05f,
|
||||
MTXMODE_APPLY);
|
||||
|
||||
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 161),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20, 1, 0,
|
||||
(0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20));
|
||||
do {
|
||||
gSPDisplayList(gfxCtx->polyXlu.p++, D_06000B40);
|
||||
} while (0); // necessary to match
|
||||
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot17_funen.c", 176);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue