From 8cd9a881d0f19926e0e066f7c384b1f3730af648 Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 22 Mar 2020 23:10:37 -0400 Subject: [PATCH 01/10] fire arrow progress --- .../actors/ovl_Arrow_Fire/ArrowFire_Destroy.s | 14 ++ .../actors/ovl_Arrow_Fire/ArrowFire_Draw.s | 30 ++++ .../actors/ovl_Arrow_Fire/func_80865F1C.s | 11 ++ .../actors/ovl_Arrow_Fire/func_808660E8.s | 6 + data/overlays/actors/z_arrow_fire.rodata.s | 46 +----- spec | 1 - .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 155 +++++++++++++++++- .../actors/ovl_Arrow_Fire/z_arrow_fire.h | 8 +- src/overlays/actors/ovl_En_Arrow/z_en_arrow.h | 4 +- 9 files changed, 222 insertions(+), 53 deletions(-) diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s index 3f47789010..a2729278e5 100644 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s +++ b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s @@ -1,3 +1,17 @@ +.rdata +glabel D_80867B30 + .asciz "../z_arrow_fire.c" + .balign 4 + +glabel D_80867B44 + .asciz "\"消滅\" = %s\n" + .balign 4 + +glabel D_80867B54 + .asciz "消滅" + .balign 4 + +.text glabel ArrowFire_Destroy /* 00080 80865D90 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 /* 00084 80865D94 AFBF0014 */ sw $ra, 0x0014($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s index e64c2360bb..d97e7086bd 100644 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s @@ -1,3 +1,33 @@ +.rdata +glabel D_80867B5C + .asciz "../z_arrow_fire.c" + .balign 4 + +glabel D_80867B70 + .asciz "../z_arrow_fire.c" + .balign 4 + +glabel D_80867B84 + .asciz "../z_arrow_fire.c" + .balign 4 + +.late_rodata + +glabel D_80867BAC + .float 9.58738E-05 +glabel D_80867BB0 + .float 9.58738E-05 +glabel D_80867BB4 + .float 9.58738E-05 +glabel D_80867BB8 + .float 0.01 +glabel D_80867BBC + .float 1500 +glabel D_80867BC0 + .float 0.2 + .balign 4 + +.text glabel ArrowFire_Draw /* 00580 80866290 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 /* 00584 80866294 AFBF003C */ sw $ra, 0x003C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s index bf8a719221..371a939df8 100644 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s +++ b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s @@ -1,3 +1,14 @@ +.late_rodata +glabel D_80867B98 + .float 950 +glabel D_80867B9C + .float 0.33333334 +glabel D_80867BA0 + .float 0.041666668 +glabel D_80867BA4 + .float 0.1 + +.text glabel func_80865F1C /* 0020C 80865F1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 /* 00210 80865F20 AFBF0014 */ sw $ra, 0x0014($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s index 74a33ed19d..e999535cd9 100644 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s +++ b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s @@ -1,3 +1,9 @@ +.late_rodata + +glabel D_80867BA8 + .float 0.041666668 + +.text glabel func_808660E8 /* 003D8 808660E8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 /* 003DC 808660EC AFBF001C */ sw $ra, 0x001C($sp) diff --git a/data/overlays/actors/z_arrow_fire.rodata.s b/data/overlays/actors/z_arrow_fire.rodata.s index 03855e9754..f6abf8fd1f 100644 --- a/data/overlays/actors/z_arrow_fire.rodata.s +++ b/data/overlays/actors/z_arrow_fire.rodata.s @@ -7,47 +7,9 @@ .section .rodata -glabel D_80867B30 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B44 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_80867B54 - .word 0xBEC3CCC7, 0x00000000 -glabel D_80867B5C - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B70 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B84 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B98 - .word 0x446D8000 -glabel D_80867B9C - .word 0x3EAAAAAB -glabel D_80867BA0 - .word 0x3D2AAAAB -glabel D_80867BA4 - .word 0x3DCCCCCD -glabel D_80867BA8 - .word 0x3D2AAAAB -glabel D_80867BAC - .word 0x38C90FDB -glabel D_80867BB0 - .word 0x38C90FDB -glabel D_80867BB4 - .word 0x38C90FDB -glabel D_80867BB8 - .word 0x3C23D70A -glabel D_80867BBC - .word 0x44BB8000 -glabel D_80867BC0 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 + + + + diff --git a/spec b/spec index 11c4fd944d..63b3e1bb42 100644 --- a/spec +++ b/spec @@ -684,7 +684,6 @@ beginseg name "ovl_Arrow_Fire" include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" include "build/data/overlays/actors/z_arrow_fire.data.o" - include "build/data/overlays/actors/z_arrow_fire.rodata.o" include "build/data/overlays/actors/z_arrow_fire.reloc.o" endseg diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 5bf11cac9f..ea965a2bf9 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -1,4 +1,5 @@ #include "z_arrow_fire.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,6 +9,9 @@ void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx); +void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx); +void func_808660E8(ArrowFire* this, GlobalContext* globalCtx); +void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx); /* const ActorInit Arrow_Fire_InitVars = { @@ -23,20 +27,155 @@ const ActorInit Arrow_Fire_InitVars = (ActorFunc)ArrowFire_Draw, }; */ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s") +static InitChainEntry initChain[] = +{ + ICHAIN_VEC3F(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s") +//EnFire_SetupAction +void func_80865D10(ArrowFire* this, ActorFunc* actionFunc) +{ + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s") +void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) +{ + Actor_ProcessInitChain(&this->actor, initChain); + this->fireRadius = 0; + this->unk_158= 1.0f; + func_80865D10(this, func_80865DD8); + Actor_SetScale(this, 0.01); + this->unk_168 = 0xA0; + this->unk_166 = 0; + this->unk_15C = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s") +void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx) +{ + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_fire.c", 421); + osSyncPrintf("\"消滅\" = %s\n", "消滅"); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s") +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s") +//ArrowFire_DrawBack +void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) +{ + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) + { + Actor_Kill(&this->actor); + return; + } + + if (this->fireRadius < 10) + { + this->fireRadius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_FIRE); + + //If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) + { + this->arrowPos = this->actor.posRot.pos; + this->fireRadius = 10; + func_80865D10(this, &func_808660E8); + this->unk_168 = 0xFF; + } +} + +void func_80865ECC(Vec3f* arrowPos, Vec3f* firePos, f32 scale) +{ + arrowPos->x += ((firePos->x - arrowPos->x) * scale); + arrowPos->y += ((firePos->y - arrowPos->y) * scale); + arrowPos->z += ((firePos->z - arrowPos->z) * scale); +} + +//ArrowFire_ +//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s") +void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) +{ + f32 scale; + + if (this->actor.unk_F0 < 50.0f) + { + scale = 10.0f; + } + else + { + if (950.0f < this->actor.unk_F0) + { + scale = 310.0f; + } + else + { + scale = ((this->actor.unk_F0 - 50.0f) * 0.33333334f) + 10.0f; + } + } + +} + +//ArrowFire_Fly +void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) +{ + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) + { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->arrowPos, &this->actor.posRot.pos) * 0.041666668f; + this->unk_158 = distanceScaled; + if (distanceScaled < 1.0f) + { + this->unk_158 = 1.0f; + } + func_80865ECC(&this->arrowPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) + { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME); + func_80865D10(this, &func_80865F1C); + this->unk_166 = 32; + this->unk_168 = 0xFF; + } + else if (arrow->timer < 0x22) + { + if (this->unk_168 < 0x23) + { + Actor_Kill(&this->actor); + } + else + { + this->unk_168 -= 25; + } + } +} + +void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) +{ + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) + { + Actor_Kill(&this->actor); + } + else + { + this->actionFunc(this, globalCtx); + } +} #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s") diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h index be16627ada..91c6d600f7 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h @@ -7,7 +7,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ Vec3f arrowPos; + /* 0x0158 */ f32 unk_158; + /* 0x015C */ f32 unk_15C; + /* 0x0160 */ ActorFunc actionFunc; + /* 0x0164 */ s16 fireRadius; + /* 0x0166 */ u16 unk_166; + /* 0x0168 */ u8 unk_168; } ArrowFire; // size = 0x016C extern const ActorInit Arrow_Fire_InitVars; diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h index 9ee4d7fd8b..05bc73e917 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h @@ -7,7 +7,9 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x114]; + /* 0x014C */ char unk_14C[0xFC]; + /* 0x0248 */ u8 timer; // used for dissapearing when flying or hitting a wall + /* 0x0249 */ u8 hitWall; } EnArrow; // size = 0x0260 extern const ActorInit En_Arrow_InitVars; From 3c9fe35311506f3f1769b04d8b3f53cc22db4a52 Mon Sep 17 00:00:00 2001 From: fig02 Date: Thu, 26 Mar 2020 04:36:10 -0400 Subject: [PATCH 02/10] fire arrow progress --- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 96 +++++++++++++++---- .../actors/ovl_Arrow_Fire/z_arrow_fire.h | 6 +- 2 files changed, 80 insertions(+), 22 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 6e8e812832..24bcd1bc29 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -43,8 +43,8 @@ void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { this->unk_158 = 1.0f; func_80865D10(this, func_80865DD8); Actor_SetScale(this, 0.01); - this->unk_168 = 0xA0; - this->unk_166 = 0; + this->opacity = 0xA0; + this->timer = 0; this->unk_15C = 0.0f; } @@ -75,35 +75,73 @@ void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) { // If arrow's attached is null, Link has fired the arrow if (arrow->actor.attachedA == NULL) { - this->arrowPos = this->actor.posRot.pos; + this->translatedPos = this->actor.posRot.pos; this->fireRadius = 10; func_80865D10(this, &func_808660E8); - this->unk_168 = 0xFF; + this->opacity = 0xFF; } } -void func_80865ECC(Vec3f* arrowPos, Vec3f* firePos, f32 scale) { - arrowPos->x += ((firePos->x - arrowPos->x) * scale); - arrowPos->y += ((firePos->y - arrowPos->y) * scale); - arrowPos->z += ((firePos->z - arrowPos->z) * scale); +void func_80865ECC(Vec3f* translatedPos, Vec3f* firePos, f32 scale) { + translatedPos->x += ((firePos->x - translatedPos->x) * scale); + translatedPos->y += ((firePos->y - translatedPos->y) * scale); + translatedPos->z += ((firePos->z - translatedPos->z) * scale); } -// ArrowFire_ -//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s") +// ArrowFire_Hit void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) { f32 scale; - + f32 offset; + u16 timer; + if (this->actor.unk_F0 < 50.0f) { scale = 10.0f; } else { if (950.0f < this->actor.unk_F0) { scale = 310.0f; } else { - scale = ((this->actor.unk_F0 - 50.0f) * 0.33333334f) + 10.0f; + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; } } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8){ + offset = ((this->timer - 8) * 0.041666668f); + offset = SQ(offset); + this->fireRadius = (((1.0f - offset) * scale) + 10.0f); + this->unk_158 += ((2.0f - this->unk_158) * 0.1f); + if (this->timer < 0x10) { + if (this->timer){} // needed for regalloc + this->opacity = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_15C < 1.0f) { + this->unk_15C += 0.25f; + } + } else { + if (this->unk_15C > 0.0f) { + this->unk_15C -= 0.125f; + } + } + + if (this->timer < 8) { + this->opacity = 0; + } + + if (this->timer == 0) { + this->timer = 0xFF; + Actor_Kill(&this->actor); + } } + // ArrowFire_Fly void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) { EnArrow* arrow; @@ -118,23 +156,23 @@ void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) { // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; this->actor.shape.rot = arrow->actor.shape.rot; - distanceScaled = Math_Vec3f_DistXYZ(&this->arrowPos, &this->actor.posRot.pos) * 0.041666668f; + distanceScaled = Math_Vec3f_DistXYZ(&this->translatedPos, &this->actor.posRot.pos) * 0.041666668f; this->unk_158 = distanceScaled; if (distanceScaled < 1.0f) { this->unk_158 = 1.0f; } - func_80865ECC(&this->arrowPos, &this->actor.posRot.pos, 0.05f); + func_80865ECC(&this->translatedPos, &this->actor.posRot.pos, 0.05f); if (arrow->hitWall & 1) { Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME); func_80865D10(this, &func_80865F1C); - this->unk_166 = 32; - this->unk_168 = 0xFF; + this->timer = 32; + this->opacity = 0xFF; } else if (arrow->timer < 0x22) { - if (this->unk_168 < 0x23) { + if (this->opacity < 0x23) { Actor_Kill(&this->actor); } else { - this->unk_168 -= 25; + this->opacity -= 0x19; } } } @@ -147,4 +185,24 @@ void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) { } } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s") +//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s") + +void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ + u32 gameplayFrames; //8c + Actor* tranform; + Gfx* gfxArr[2]; //70 + EnArrow* arrow; //if this messes up the stack i need to cast + + gameplayFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; // may need to assign elsewhere + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { + if (arrow->hitWall & 2){ + tranform = &this->actor; + } else { + tranform = &arrow->actor; + } + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + + } + +} diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h index e228bf4f22..c55eaa5224 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h @@ -6,13 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ Vec3f arrowPos; + /* 0x014C */ Vec3f translatedPos; /* 0x0158 */ f32 unk_158; /* 0x015C */ f32 unk_15C; /* 0x0160 */ ActorFunc actionFunc; /* 0x0164 */ s16 fireRadius; - /* 0x0166 */ u16 unk_166; - /* 0x0168 */ u8 unk_168; + /* 0x0166 */ u16 timer; + /* 0x0168 */ u8 opacity; } ArrowFire; // size = 0x016C extern const ActorInit Arrow_Fire_InitVars; From 7cc6b00facb042659aada71ddb046015e2fe029f Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 29 Mar 2020 05:23:40 -0400 Subject: [PATCH 03/10] fire arrow ok --- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 1c533a864d..ff4fe9e7a6 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -117,7 +117,7 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) { this->fireRadius = (((1.0f - offset) * scale) + 10.0f); this->unk_158 += ((2.0f - this->unk_158) * 0.1f); if (this->timer < 0x10) { - if (1){} // needed for regalloc + if (1){} this->alpha = ((this->timer * 0x23) - 0x118); } } @@ -186,7 +186,6 @@ void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) { } } -//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s") void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ s32 pad1; s32 pad2; @@ -198,15 +197,15 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ s32 pad4; Gfx* gfxArr[2]; - stateFrames = globalCtx->state.frames; - arrow = this->actor.attachedA; + if (1) { + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + } + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { - if (arrow->hitWall & 2){ - tranform = &this->actor; - } else { - tranform = &arrow->actor; - } - func_800C6AC4(gfxArr, gfxCtx = globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define? Matrix_RotateX(tranform->shape.rot.x * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define? From da159ec52825aad05f716271fab95cdcfb8325b0 Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 29 Mar 2020 12:47:58 -0400 Subject: [PATCH 04/10] arrow_ice OK --- spec | 7 +- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 90 ++++--- .../actors/ovl_Arrow_Fire/z_arrow_fire.h | 4 +- .../actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c | 193 +++++++++++++++ .../actors/ovl_Arrow_Ice/z_arrow_ice.c | 225 +++++++++++++++++- .../actors/ovl_Arrow_Ice/z_arrow_ice.h | 8 +- .../actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c | 193 +++++++++++++++ src/overlays/actors/ovl_En_Dog/z_en_dog.c | 6 + 8 files changed, 661 insertions(+), 65 deletions(-) create mode 100644 src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c create mode 100644 src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c diff --git a/spec b/spec index 4f41f8c04d..ac905f09f1 100644 --- a/spec +++ b/spec @@ -677,16 +677,13 @@ endseg beginseg name "ovl_Arrow_Fire" include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" - include "build/data/overlays/actors/z_arrow_fire.data.o" - include "build/data/overlays/actors/z_arrow_fire.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_reloc.o" endseg beginseg name "ovl_Arrow_Ice" include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o" - include "build/data/overlays/actors/z_arrow_ice.data.o" - include "build/data/overlays/actors/z_arrow_ice.rodata.o" - include "build/data/overlays/actors/z_arrow_ice.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index ff4fe9e7a6..37762df1f4 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -1,3 +1,9 @@ +/* + * File: z_arrow_fire.c + * Overlay: ovl_Arrow_Fire + * Description: Fire Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_fire.h" #include "../ovl_En_Arrow/z_en_arrow.h" @@ -9,10 +15,12 @@ void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx); -void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx); -void func_808660E8(ArrowFire* this, GlobalContext* globalCtx); -void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx); -/* +void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx); +void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx); +void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx); + +#include "z_arrow_fire_gfx.c" + const ActorInit Arrow_Fire_InitVars = { ACTOR_ARROW_FIRE, ACTORTYPE_ITEMACTION, @@ -25,25 +33,20 @@ const ActorInit Arrow_Fire_InitVars = { (ActorFunc)ArrowFire_Update, (ActorFunc)ArrowFire_Draw, }; -*/ static InitChainEntry initChain[] = { - ICHAIN_VEC3F(unk_F4, 2000, ICHAIN_STOP), + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), }; -extern Gfx D_80867990; -extern Gfx D_80867A40; - -// EnFire_SetupAction -void func_80865D10(ArrowFire* this, ActorFunc* actionFunc) { +void ArrowFire_SetupAction(ArrowFire* this, ActorFunc* actionFunc) { this->actionFunc = actionFunc; } void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, initChain); - this->fireRadius = 0; + this->radius = 0; this->unk_158 = 1.0f; - func_80865D10(this, func_80865DD8); + ArrowFire_SetupAction(this, ArrowFire_Charge); Actor_SetScale(this, 0.01); this->alpha = 0xA0; this->timer = 0; @@ -53,11 +56,11 @@ void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx) { func_800876C8(globalCtx); LogUtils_LogThreadId("../z_arrow_fire.c", 421); + // Translates to: ""Disappearance" = Disappearance" osSyncPrintf("\"消滅\" = %s\n", "消滅"); } -// ArrowFire_DrawBack -void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) { +void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx) { EnArrow* arrow; arrow = this->actor.attachedA; @@ -66,8 +69,8 @@ void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) { return; } - if (this->fireRadius < 10) { - this->fireRadius += 1; + if (this->radius < 10) { + this->radius += 1; } // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; @@ -77,21 +80,20 @@ void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) { // If arrow's attached is null, Link has fired the arrow if (arrow->actor.attachedA == NULL) { - this->translatedPos = this->actor.posRot.pos; - this->fireRadius = 10; - func_80865D10(this, &func_808660E8); + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowFire_SetupAction(this, ArrowFire_Fly); this->alpha = 0xFF; } } -void func_80865ECC(Vec3f* translatedPos, Vec3f* firePos, f32 scale) { - translatedPos->x += ((firePos->x - translatedPos->x) * scale); - translatedPos->y += ((firePos->y - translatedPos->y) * scale); - translatedPos->z += ((firePos->z - translatedPos->z) * scale); +void func_80865ECC(Vec3f* unkPos, Vec3f* firePos, f32 scale) { + unkPos->x += ((firePos->x - unkPos->x) * scale); + unkPos->y += ((firePos->y - unkPos->y) * scale); + unkPos->z += ((firePos->z - unkPos->z) * scale); } -// ArrowFire_Hit -void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) { +void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { f32 scale; f32 offset; u16 timer; @@ -114,7 +116,7 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) { if (this->timer >= 8){ offset = ((this->timer - 8) * 0.041666668f); offset = SQ(offset); - this->fireRadius = (((1.0f - offset) * scale) + 10.0f); + this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_158 += ((2.0f - this->unk_158) * 0.1f); if (this->timer < 0x10) { if (1){} @@ -143,8 +145,7 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) { } } -// ArrowFire_Fly -void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) { +void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) { EnArrow* arrow; f32 distanceScaled; s32 pad; @@ -157,16 +158,16 @@ void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) { // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; this->actor.shape.rot = arrow->actor.shape.rot; - distanceScaled = Math_Vec3f_DistXYZ(&this->translatedPos, &this->actor.posRot.pos) * 0.041666668f; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; this->unk_158 = distanceScaled; if (distanceScaled < 1.0f) { this->unk_158 = 1.0f; } - func_80865ECC(&this->translatedPos, &this->actor.posRot.pos, 0.05f); + func_80865ECC(&this->unkPos, &this->actor.posRot.pos, 0.05f); if (arrow->hitWall & 1) { Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME); - func_80865D10(this, &func_80865F1C); + ArrowFire_SetupAction(this, ArrowFire_Hit); this->timer = 32; this->alpha = 0xFF; } else if (arrow->timer < 0x22) { @@ -193,23 +194,20 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ GraphicsContext* gfxCtx; Actor* tranform; EnArrow* arrow; - s32 pad3; - s32 pad4; - Gfx* gfxArr[2]; - - if (1) { - stateFrames = globalCtx->state.frames; - arrow = this->actor.attachedA; - } + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); - Matrix_RotateY(tranform->shape.rot.y * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define? - Matrix_RotateX(tranform->shape.rot.x * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define? - Matrix_RotateZ(tranform->shape.rot.z * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define? + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); // Draw red effect over the screen when arrow hits @@ -232,15 +230,15 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ } else { Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); } - Matrix_Scale(this->fireRadius * 0.2f, this->unk_158 * 4.0f, this->fireRadius * 0.2f, MTXMODE_APPLY); + Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(gfxCtx->polyXlu.p++, &D_80867990); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); - gSPDisplayList(gfxCtx->polyXlu.p++, &D_80867A40); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682); } } diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h index 2ec2f11076..345d7409ed 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h @@ -6,11 +6,11 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ Vec3f translatedPos; + /* 0x014C */ Vec3f unkPos; /* 0x0158 */ f32 unk_158; /* 0x015C */ f32 unk_15C; /* 0x0160 */ ActorFunc actionFunc; - /* 0x0164 */ s16 fireRadius; + /* 0x0164 */ s16 radius; /* 0x0166 */ u16 timer; /* 0x0168 */ u8 alpha; } ArrowFire; // size = 0x016C diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c new file mode 100644 index 0000000000..532768c86f --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c @@ -0,0 +1,193 @@ +#include +#include + +static UNK_TYPE texture1[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, + 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, + 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, + 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, + 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, + 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, + 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, + 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, + 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, + 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, + 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, + 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, + 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, + 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, + 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, + 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, + 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, + 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, + 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, + 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, + 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, + 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, + 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, + 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, + 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, + 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, + 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, + 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, + 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, + 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, + 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, + 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, + 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, + 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, + 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, + 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, + 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, + 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, + 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, + 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, + 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, + 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, + 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, + 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, + 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, + 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE texture2[] = { + 0x2F3E56AB, 0xA4582102, 0x10417AB0, 0x805C312A, 0x32376DD4, 0xA2633907, 0x0B387DA2, 0x6D81470C, 0x3C5C60AC, + 0xA5571801, 0x154C97B9, 0x68533236, 0x304276D6, 0x9B533108, 0x154A96B7, 0x7C9B400B, 0x3E756FAE, 0xAF5D1301, + 0x1D59B4BF, 0x53432C38, 0x2F487DCC, 0x8A4A2406, 0x1F5DB0C8, 0x90B55110, 0x408B7FAA, 0xB76D1503, 0x286ACCBE, + 0x43312030, 0x2B4C82BA, 0x77431607, 0x2B70C7D5, 0xA6B95B13, 0x409C93A6, 0xB87D1D08, 0x367FE1C1, 0x3C261629, + 0x2A508AAB, 0x69410C0C, 0x3986DDDB, 0xB5AE6316, 0x40A0A7A1, 0xAA7D2610, 0x4596F1CD, 0x47281E36, 0x365C97A3, + 0x63450713, 0x499DF0D8, 0xB49E721A, 0x409AB59F, 0x8A662D1C, 0x57AEFBDF, 0x6B404456, 0x536EA49B, 0x6A4D061E, + 0x5CB6FCC6, 0x9A8E7F20, 0x428EBEA0, 0x623F2E2A, 0x69C6FFF0, 0x9A686569, 0x6F83AC92, 0x7F5D0B2A, 0x70CDFFB2, + 0x77848D29, 0x4787C4A0, 0x401D2E3E, 0x7ED9FFFC, 0xC48F7973, 0x8598AE86, 0x9A701339, 0x85E1FFA6, 0x5E859534, + 0x5189C99B, 0x2C0B3455, 0x92E9FFFA, 0xDCAB8071, 0x94ACAD7A, 0xB1882249, 0x9AF1FFB0, 0x6A8F9746, 0x6394CD8D, + 0x290C416F, 0xA5EEFFF4, 0xDCB46B6D, 0xA1BFAD77, 0xB6A43A58, 0xAAF8FFC8, 0x84959963, 0x7BA4CE78, 0x351A588E, + 0xB5E3F9F1, 0xCFAC6077, 0xABCFAC77, 0xA8C05A6A, 0xB2F3FFE1, 0xA3959471, 0x94B9D065, 0x473274A9, 0xBDCDECEF, + 0xC2A05F86, 0xBADDAC78, 0x92D87C7D, 0xAFDEFDF1, 0xBC8C8971, 0xA6D2D45A, 0x584B95BB, 0xC1B3D5ED, 0xB8956697, + 0xC5E9A670, 0x7AE6978F, 0xA4BEF0EF, 0xB9797360, 0xB1E8DD5D, 0x5D5FAFC7, 0xC49CB8E3, 0xAF8C78A5, 0xCBF19D5F, + 0x6AE5A6A3, 0x9398DBE7, 0xB46A5841, 0xB8F2E871, 0x586DC1CD, 0xC78C9DD5, 0xAA878CB1, 0xD8F89249, 0x63DCABB3, + 0x8576C5D8, 0xA95E4430, 0xC0EBEE91, 0x5378CACE, 0xC58087C5, 0xA4859EAE, 0xE1FD8A36, 0x60D0ACBD, 0x7765B9C5, + 0x9C563A2B, 0xCED7E7B4, 0x5484C7CC, 0xB66F7CBB, 0x9F81A898, 0xE3FF8D2E, 0x63C8B0BA, 0x6D69B8B0, 0x93573B2E, + 0xE0C2CED2, 0x6898C0C3, 0x97587EBC, 0x9D749570, 0xDEFF9D36, 0x67C8B4A8, 0x6682BD9B, 0x93643E37, 0xF0B4A8DE, + 0x86A9B6B0, 0x70448BBE, 0x99617545, 0xD1FFB84E, 0x70CAB48C, 0x64A4BD8D, 0x96763D41, 0xFAAC82DA, 0xA7B6AE9A, + 0x4D359AC0, 0x90494F27, 0xC0FFD675, 0x80CCAD6D, 0x63C1B681, 0x9C85374E, 0xFFA069C9, 0xC1BAA785, 0x3936A4B6, + 0x7D342E18, 0xA9FFEEA5, 0x9AC59F56, 0x60D0A873, 0x9288315E, 0xFB8669B6, 0xD0B6A473, 0x3C47A39A, 0x6228241B, + 0x8BFFF6CD, 0xB7BB8F47, 0x57CFA169, 0x77782C6B, 0xE56478AA, 0xD6AC9E64, 0x4E61977C, 0x4B232428, 0x6FFFEBE5, + 0xD0AF813C, 0x44C2A266, 0x5B61296E, 0xC04188A8, 0xD4A09051, 0x5D788B61, 0x3E202234, 0x58F9D7DF, 0xDEA27332, + 0x31AE9A6C, 0x3E4B2F62, 0x902688B3, 0xD0937A3F, 0x5D7D8B58, 0x37241F35, 0x46F2C5BF, 0xD7956528, 0x1E918E76, + 0x3442424A, 0x601774C3, 0xCB8F6630, 0x48698261, 0x333C2729, 0x3CECBF95, 0xC2885420, 0x11717B78, 0x4952673A, + 0x3D1153CD, 0xC994602F, 0x2D496F6D, 0x31674418, 0x32E7CA6C, 0xA77D4318, 0x09526672, 0x6B6F963E, 0x2B1036D0, + 0xCAA26E3C, 0x1B2A5A7B, 0x3798700F, 0x2BDFD94D, 0x8C773712, 0x043C606C, 0x9086B955, 0x281225C9, 0xC7AD8954, + 0x141B4085, 0x53CB9C10, 0x26D3E63A, 0x757A3B11, 0x0131666F, 0xAB87BA6A, 0x2E151FBF, 0xC1AEA16A, 0x1721388C, + 0x81ECBB17, 0x23C1EE30, 0x6688561E, 0x02317381, 0xA36A9566, 0x3B171FB9, 0xB5A5AF7A, 0x1B384395, 0xABFBC81D, + 0x20AAEB28, 0x61987838, 0x05358299, 0x85405D4E, 0x45181FB5, 0xA695B083, 0x1C55569C, 0xCEFFCF1E, 0x1A8CDA24, + 0x62A39755, 0x0A398FAE, 0x601A2A2C, 0x49161FB1, 0x9A8BAC8A, 0x23736DA0, 0xE0FFD61E, 0x136BAF23, 0x70ABAD6D, + 0x143D95BD, 0x41030D16, 0x41151DAA, 0x938BAA94, 0x2E8A8BA7, 0xE6FFD921, 0x0C4A7D2D, 0x7CACAB70, 0x244093C3, + 0x38020F11, 0x2F151CA3, 0x9293ABA1, 0x3995AAB7, 0xEDF7D924, 0x072F5842, 0x83AE9C66, 0x3F498EC7, 0x420D2812, + 0x1E151F9B, 0x989CB0B2, 0x4697C5CE, 0xF5F0D626, 0x061B435B, 0x85B18A5B, 0x5F568BCD, 0x54245213, 0x12172593, + 0x9FA1BAC0, 0x5291D4E1, 0xFAF0D123, 0x0711416F, 0x82B2765B, 0x84668FCB, 0x684D8212, 0x1318308A, 0xA3A2C2C6, + 0x5F88D3EE, 0xFEF6C81B, 0x0B104276, 0x85B06A72, 0xA97896C3, 0x7C81AC19, 0x24194083, 0xA2A0C6C4, 0x6A82CCF1, + 0xFFFFB910, 0x14173E77, 0x8BAE6992, 0xC6879BB4, 0x92B3C933, 0x3C1D4F7D, 0x9DA2CCBE, 0x7381C6E6, 0xFFFFB111, + 0x26233975, 0x92AF6DAF, 0xDB949AA3, 0xADDBDD64, 0x5927597B, 0x99AAD4B9, 0x7687C6D5, 0xFCFFB736, 0x432D3A78, + 0x98B371BD, 0xE5A0989E, 0xCCF2EAA0, 0x753C5C80, 0x9DB9E3BC, 0x7896CFBF, 0xF6FFCB72, 0x64323F81, 0x9CBC70B4, + 0xE3AC9EAD, 0xE6FBF6CF, 0x8B5C5C85, 0xA7C8F4C2, 0x7AA6D9A3, 0xF0FFE2A9, 0x8032448D, 0xA4C970A0, 0xDBB5AAC6, + 0xF7FEFDE7, 0xA3806187, 0xB0D6FFC9, 0x7FB5D686, 0xE7FFF0D2, 0x8D2F4E98, 0xABD7768D, 0xCFB9B4E1, 0xF8F8FFE7, + 0xB29B7089, 0xB7E4FFCD, 0x8CB8BF65, 0xD5FFF0D7, 0x8D34609D, 0xB4E48385, 0xC3BAB0F1, 0xE2E8FEDC, 0xB5A07A8D, + 0xBDEFFFD0, 0x9AAB9543, 0xB9FFE9C3, 0x80447497, 0xC0EF9C90, 0xBDB997E5, 0xC2CCFBD4, 0xAB8F7387, 0xC8F8FFD4, + 0xA4936324, 0x98FFE5B3, 0x6F577E8A, 0xCEFABCA8, 0xC0BC71C7, 0x9EADF4D2, 0x916D5D7B, 0xD4FEFFD6, 0xA575390F, + 0x76FFE4A6, 0x656A7F7D, 0xDDFFDABF, 0xC8BF4CA1, 0x8095E8CC, 0x744A3B66, 0xDAFFFFD6, 0x9D5B1E04, 0x5DFDDF9A, + 0x6075787A, 0xECFFF1CD, 0xCEC42E7C, 0x7087D6BF, 0x5A311F49, 0xD4FFFFD0, 0x8E4B1100, 0x50F7D892, 0x68767788, + 0xF6FFFDCE, 0xCDC31E65, 0x6E88C3A8, 0x4922153A, 0xC3FFFDC4, 0x7F410B03, 0x4BEED08B, 0x747682A0, 0xFDFFFEBF, + 0xBCB61456, 0x7792B18B, 0x3E19153D, 0xB5FFF8B2, 0x733B0908, 0x4DE0C487, 0x827797BC, 0xFFFFF8AB, 0x9E9B0E50, + 0x869E9F6E, 0x3714184D, 0xB5FFF09E, 0x67380C11, 0x56CFB285, 0x8F7EADD4, 0xFFFFED96, 0x78730A53, 0x9CA98F57, + 0x310F1C69, 0xC8FFE18A, 0x5D35161D, 0x64BC9E84, 0x978BBFE7, 0xFFFFDD81, 0x5348075A, 0xB5B07F48, 0x290A2088, + 0xE1FFCF75, 0x5335272B, 0x74AD877F, 0x9C9DCFF3, 0xFFFEC86E, 0x35260864, 0xC6B16F3E, 0x200422A6, 0xF8FCB95F, + 0x47373A3C, 0x86A36F73, 0x9FB0D9FA, 0xFFF7B15B, 0x21110E70, 0xCDAB6139, 0x160027C1, 0xFFF09F4C, 0x3B3A4B4D, + 0x989D5B5D, 0x9DB5D9FE, 0xFFEA994C, 0x1509177B, 0xC8A15C3C, 0x0E022BD1, 0xFFE1873B, 0x2F3E5460, 0xA8954F44, + 0x96A6CEFF, 0xFFD7823C, 0x0C0A2784, 0xB9956343, 0x0B0731DB, 0xFFCE722C, 0x22415672, 0xB58C4A31, 0x8A88BAFF, + 0xFAC56E2E, 0x060F398F, 0xA989764A, 0x0A0C3AE1, 0xFFB85F20, 0x17425787, 0xBF824826, 0x775FA3FF, 0xF1B66121, + 0x03164B98, 0x9A818E4A, 0x0A1040D4, 0xE8974D14, 0x11405495, 0xBB74401F, 0x603D86F1, 0xD7A35414, 0x02195694, + 0x8476943E, 0x171A46C5, 0xCC7D3D0C, 0x0D3E599E, 0xAE6C371C, 0x4A2D72E3, 0xC38F4C0E, 0x03205F96, 0x766A792A, + 0x242B4FB8, 0xB66A2E06, 0x0D3E66AA, 0x9B663322, 0x3B2D6CDD, 0xB47B450A, 0x062B6E9C, 0x6E705D17 +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15), + gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, G_TX_NOLOD), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index c13d3f928f..1691a8719d 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -1,4 +1,11 @@ +/* + * File: z_arrow_ice.c + * Overlay: ovl_Arrow_Ice + * Description: Ice Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_ice.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,7 +15,12 @@ void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx); void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx); void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx); -/* +void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx); +void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx); +void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx); + +#include "z_arrow_ice_gfx.c" + const ActorInit Arrow_Ice_InitVars = { ACTOR_ARROW_ICE, ACTORTYPE_ITEMACTION, @@ -21,21 +33,212 @@ const ActorInit Arrow_Ice_InitVars = { (ActorFunc)ArrowIce_Update, (ActorFunc)ArrowIce_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s") +static InitChainEntry initChain[] = { + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s") +void ArrowIce_SetupAction(ArrowIce* this, ActorFunc* actionFunc) { + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s") +void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx) { + Actor_ProcessInitChain(&this->actor, initChain); + this->radius = 0; + this->unk_160 = 1.0f; + ArrowIce_SetupAction(this, ArrowIce_Charge); + Actor_SetScale(this, 0.01); + this->alpha = 0x64; + this->timer = 0; + this->unk_164 = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s") +void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx) { + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_ice.c", 415); + // Translates to: ""Disappearance" = Disappearance" + osSyncPrintf("\"消滅\" = %s\n", "消滅"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s") +void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx) { + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s") + if (this->radius < 10) { + this->radius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s") + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_ICE); + + // If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) { + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowIce_SetupAction(this, ArrowIce_Fly); + this->alpha = 0xFF; + } +} + +void func_80867E8C(Vec3f* unkPos, Vec3f* icePos, f32 scale) { + unkPos->x += ((icePos->x - unkPos->x) * scale); + unkPos->y += ((icePos->y - unkPos->y) * scale); + unkPos->z += ((icePos->z - unkPos->z) * scale); +} + +void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { + f32 scale; + f32 offset; + u16 timer; + + if (this->actor.unk_F0 < 50.0f) { + scale = 10.0f; + } else { + if (950.0f < this->actor.unk_F0) { + scale = 310.0f; + } else { + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; + } + } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8){ + offset = ((this->timer - 8) * 0.041666668f); + offset = SQ(offset); + this->radius = (((1.0f - offset) * scale) + 10.0f); + this->unk_160 += ((2.0f - this->unk_160) * 0.1f); + if (this->timer < 0x10) { + if (1){} + this->alpha = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_164 < 1.0f) { + this->unk_164 += 0.25f; + } + } else { + if (this->unk_164 > 0.0f) { + this->unk_164 -= 0.125f; + } + } + + if (this->timer < 8) { + this->alpha = 0; + } + + if (this->timer == 0) { + this->timer = 0xFF; + Actor_Kill(&this->actor); + } +} + +void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) { + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; + this->unk_160 = distanceScaled; + if (distanceScaled < 1.0f) { + this->unk_160 = 1.0f; + } + func_80867E8C(&this->unkPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE); + ArrowIce_SetupAction(this, &ArrowIce_Hit); + this->timer = 32; + this->alpha = 0xFF; + } else if (arrow->timer < 0x22) { + if (this->alpha < 0x23) { + Actor_Kill(&this->actor); + } else { + this->alpha -= 0x19; + } + } +} + +void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx) { + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) { + Actor_Kill(&this->actor); + } else { + this->actionFunc(this, globalCtx); + } +} + +void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ + s32 pad1; + s32 pad2; + Actor* tranform; + u32 stateFrames; + GraphicsContext* gfxCtx; + EnArrow* arrow; + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} + + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); + Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + + // Draw blue effect over the screen when arrow hits + if (this->unk_164 > 0) { + gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF, + (s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF); + gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); + gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); + gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); + } + + // Draw ice on the arrow + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xAA, 0xFF, 0xFF, this->alpha); + gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0x00, 0xFF, 0x80); + Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY); + if (this->timer != 0) { + Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } else { + Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); + } + Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY); + Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660), G_MTX_NOPUSH | + G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); + gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, + 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, 511 - (stateFrames * 10) % 512, + 511 - (stateFrames * 10) % 512, 4, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676); + } +} diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h index 25f6f108d8..7a15734797 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h @@ -6,7 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ s16 radius; + /* 0x014E */ u16 timer; + /* 0x0150 */ u8 alpha; + /* 0x0154 */ Vec3f unkPos; + /* 0x0160 */ f32 unk_160; + /* 0x0164 */ f32 unk_164; + /* 0x0168 */ ActorFunc actionFunc; } ArrowIce; // size = 0x016C extern const ActorInit Arrow_Ice_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c new file mode 100644 index 0000000000..6027a72fa5 --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c @@ -0,0 +1,193 @@ +#include +#include + +static UNK_TYPE texture1[] = { + 0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A, + 0x254A1B0E, 0xAFF66600, 0x00467E29, 0x08020000, 0x03383E0B, 0x0501000A, 0x31211C05, 0x00031C27, 0x4CA92F13, + 0xB2EF5500, 0x057EBF37, 0x00000000, 0x0E493F13, 0x00000002, 0x335C3E03, 0x00000E07, 0x3C761200, 0x447E2200, + 0x00426710, 0x00000000, 0x071C2208, 0x00000168, 0xE18F0F00, 0x00060E00, 0x0A100000, 0x0514022D, 0x1B020400, + 0x00000000, 0x093A3F0A, 0x050010AE, 0xDA360000, 0x00070500, 0x00000000, 0x00001461, 0x3E050024, 0x24000000, + 0x184E3755, 0x9132043C, 0x2F000000, 0x12020A54, 0x3C000200, 0x00000F3E, 0x2B041159, 0x2C000000, 0x030B22CE, + 0xF9420000, 0x00000301, 0x371160EF, 0xAC6D2B00, 0x00000008, 0x05000D27, 0x06000000, 0x00001A91, 0x760B0000, + 0x000B030A, 0x747DB0BD, 0xBDA31D00, 0x00000000, 0x00000000, 0x00000511, 0x01000209, 0x03020015, 0x583A0010, + 0xC1E0892D, 0x532D0000, 0x03160600, 0x00050001, 0x15142E4E, 0x07000500, 0x100D004C, 0xB65C001B, 0xB2DF9417, + 0x00000020, 0x57420400, 0x45882F00, 0x18093B3E, 0x01182F0D, 0x1405003F, 0xB75B001E, 0x5DC2E14F, 0x00000161, + 0xBC4A005A, 0xECF84A00, 0x0011330F, 0x0044591C, 0x01001C7C, 0xB122001F, 0x5DE4FF71, 0x00000177, 0xBA3218D9, + 0xFFC41700, 0x1E7B5A1C, 0x2B769635, 0x0044D5FA, 0x9E000530, 0xC7FFCE35, 0x00000035, 0x663441CF, 0xC9380000, + 0x3D733C28, 0x3E709726, 0x0086FAF1, 0x9B170D4C, 0xC9812700, 0x000E1A02, 0x4C642544, 0x2B000000, 0x0D0E0508, + 0x0A252F03, 0x00335297, 0xC75B014E, 0x77470600, 0x00160F00, 0x3A350016, 0x29070000, 0x0C3A3911, 0x00000003, + 0x0100004B, 0x8F4B051C, 0x7F6C1C00, 0x00000000, 0x00000437, 0x2E030001, 0x2A6E6B2C, 0x0604000E, 0x0B000004, + 0x19350814, 0x3E63813D, 0x13000000, 0x00000117, 0x06000000, 0x14362911, 0x312E021F, 0x13000000, 0x010C000C, + 0x10B9EF72, 0x2D010000, 0x040C0C10, 0x02000000, 0x33410306, 0x3B30071D, 0x07000000, 0x00000000, 0x1BC2A129, + 0x0D000000, 0x050E1112, 0x0100002E, 0xD2C22E00, 0x21593403, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, + 0x0000060D, 0x00000061, 0xFFEA2E00, 0x3DA04200, 0x00000000, 0x06140B00, 0x00040200, 0x00000000, 0x00061B0C, + 0x00000037, 0x8D620500, 0x2A8F5801, 0x00000000, 0x082E3404, 0x00000000, 0x00000003, 0x0A201B02, 0x00000000, + 0x06000000, 0x11826503, 0x00060400, 0x07303402, 0x07010007, 0x2F1E0B0A, 0x09080000, 0x03000000, 0x00000000, + 0x07452500, 0x0E361100, 0x000B0A00, 0x06000018, 0x3E170600, 0x00060F0D, 0x3E190000, 0x00000000, 0x00000000, + 0x21360700, 0x00000000, 0x00000007, 0x09000000, 0x0A857124, 0x703C0000, 0x01000000, 0x00000000, 0x08050000, + 0x00000000, 0x00000000, 0x00000000, 0x32D97112, 0x4A1B0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000613, + 0x07000000, 0x00000000, 0x1E5D1700, 0x04000000, 0x37550400, 0x00000000, 0x14300600, 0x00003E5B, 0x08000000, + 0x00000000, 0x2F2F0000, 0x00000007, 0x90840300, 0x0F070000, 0x06070000, 0x00055A62, 0x00000000, 0x00000020, + 0xA77B0700, 0x0106000F, 0x612D0006, 0x1B030000, 0x00000001, 0x0000211A, 0x00000000, 0x0000002E, 0x944A0103, + 0x3B390200, 0x04000011, 0x14000005, 0x302F0D10, 0x01000000, 0x00000000, 0x00000009, 0x10000015, 0x5D290000, + 0x00000015, 0x09000027, 0x73510F09, 0x37410700, 0x00061408, 0x00000000, 0x25582D09, 0x12020E03, 0x0C070007, + 0x00031627, 0x41240011, 0x795B0000, 0x00102D29, 0x244B1C0D, 0xB0F76600, 0x00467C28, 0x08020000, 0x02383E0B, + 0x0401000A, 0x32231C04, 0x00031B28, 0x4CA83112, 0xB2EF5500, 0x057EBE38, 0x00000000, 0x0D493D13, 0x00000002, + 0x325C3F03, 0x00000E08, 0x3D761200, 0x457F2200, 0x0043660F, 0x00000000, 0x071D2208, 0x00000168, 0xE1901000, + 0x00070E00, 0x09110000, 0x0515022D, 0x1B020400, 0x00000000, 0x093B3E09, 0x050011AE, 0xD9370000, 0x00070500, + 0x00000000, 0x00001462, 0x3E050024, 0x25000000, 0x184E3554, 0x9431043C, 0x2E000000, 0x12010955, 0x3C000300, + 0x0000103E, 0x2B04115A, 0x2D000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x361161EF, 0xAC6B2B00, 0x00000008, + 0x05000D27, 0x07000000, 0x00001A8F, 0x760B0000, 0x000B030A, 0x727DB1BD, 0xBCA21C00, 0x00000000, 0x00000000, + 0x00000610, 0x00000208, 0x03030016, 0x57390010, 0xC1E1892E, 0x522C0000, 0x03160600, 0x00060001, 0x14142F4E, + 0x07000500, 0x100E004B, 0xB55C001B, 0xB0DD9416, 0x0000001F, 0x57430500, 0x468A3000, 0x16093B3E, 0x01192F0D, + 0x1405003E, 0xB65B001D, 0x5CC1E04E, 0x0000005E, 0xBC4B0058, 0xEBFA4B00, 0x0011340E, 0x0045591C, 0x02001C7C, + 0xB223001E, 0x5CE5FF71, 0x00000176, 0xB93216D8, 0xFFC21700, 0x1D7B5B1C, 0x2B759636, 0x0041D4FC, 0x9D000530, + 0xC7FFCE36, 0x00000036, 0x663540CE, 0xC6360000, 0x3C743E29, 0x3E719827, 0x0085FAF0, 0x9B160D4E, 0xC9812600, + 0x000F1A03, 0x4B642646, 0x2B000000, 0x0D0E0608, 0x0A253002, 0x00345299, 0xC85B014E, 0x75470600, 0x00160F00, + 0x39350015, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x914B051E, 0x7D6C1C01, 0x00000000, 0x00000437, + 0x2E030001, 0x2A6F6A2A, 0x0604000E, 0x0B000003, 0x1A350814, 0x3E63813E, 0x13000000, 0x00000118, 0x07000000, + 0x13382911, 0x302E0320, 0x14000000, 0x010D000C, 0x0FB9EE73, 0x2F000000, 0x040B0C11, 0x02000000, 0x36440307, + 0x3B30071D, 0x07000000, 0x00000000, 0x1ABF9F29, 0x0E000000, 0x050F1112, 0x0100002D, 0xD3C42B00, 0x22593404, + 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000070C, 0x00000061, 0xFFED2F00, 0x3EA04300, 0x00000000, + 0x05140B00, 0x00030200, 0x00000000, 0x00061C0B, 0x00000037, 0x8F640500, 0x2A8F5901, 0x00000000, 0x082D3504, + 0x00000000, 0x00010003, 0x0A201B02, 0x00000000, 0x07000000, 0x11826503, 0x00050400, 0x072F3503, 0x07010007, + 0x2F1E0C0B, 0x09080000, 0x03000000, 0x00000000, 0x07462500, 0x0E361100, 0x000B0900, 0x04000018, 0x3E160600, + 0x00060F0B, 0x3D190000, 0x00000000, 0x00000000, 0x21370600, 0x00000000, 0x00000007, 0x09000000, 0x0B866F22, + 0x713C0000, 0x02000000, 0x00000000, 0x08060000, 0x00000000, 0x00000000, 0x00000000, 0x30D76F12, 0x4B1A0001, + 0x02050000, 0x00000000, 0x021A0A00, 0x00000714, 0x08000000, 0x00000000, 0x1E5C1700, 0x03000000, 0x36560400, + 0x00000000, 0x15300600, 0x00003F5D, 0x07000000, 0x00000000, 0x2E2F0000, 0x00000008, 0x8F840300, 0x0F060000, + 0x06070000, 0x00065B61, 0x00000000, 0x00000020, 0xA67C0700, 0x0006000E, 0x612D0006, 0x1B030000, 0x00000001, + 0x0001211B, 0x00000000, 0x0000002F, 0x93490103, 0x3B390200, 0x04000011, 0x13000005, 0x2F2E0C11, 0x02000000, + 0x00000000, 0x00000008, 0x14030015, 0x5D2C0000, 0x00000115, 0x08000027, 0x724F0F0A, 0x353D0600, +}; + +static UNK_TYPE texture2[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02030404, + 0x04040303, 0x03030303, 0x03020202, 0x02020201, 0x01010000, 0x00000000, 0x01010305, 0x090B0D0D, 0x0C0B0A0A, + 0x0A0A0B0A, 0x09080707, 0x07070707, 0x07070705, 0x04030201, 0x0304070B, 0x11141717, 0x16141313, 0x14151514, + 0x110D0B0B, 0x0C0D0F12, 0x13141413, 0x110C0905, 0x07070B12, 0x181E2121, 0x201F1F20, 0x2225221D, 0x17120F0F, + 0x13171D23, 0x292D2D2A, 0x2219120A, 0x07080C13, 0x1B202223, 0x22232629, 0x2C2B261F, 0x17121112, 0x18202B36, + 0x4046453D, 0x3022150C, 0x07080D15, 0x1C202325, 0x272A2E33, 0x3431281E, 0x16121217, 0x202E3F4F, 0x595D5A4E, + 0x3B27170C, 0x07090F16, 0x1C202327, 0x2B32383C, 0x3B34291E, 0x1613161E, 0x2D425866, 0x6D6E6856, 0x3F28160B, + 0x070A1117, 0x1C20252A, 0x333B4245, 0x41382C21, 0x18161B28, 0x3D586E7A, 0x7D7A6F58, 0x3C231309, 0x070C1318, + 0x1E222932, 0x3C464E4F, 0x4A413529, 0x1F1D2232, 0x4C6A8189, 0x88816D50, 0x331D0E07, 0x090F181F, 0x252B343F, + 0x4A555E5F, 0x5C524537, 0x2B272D40, 0x5D7C9197, 0x91816444, 0x29160B07, 0x0F19222A, 0x323B4550, 0x5D6D787D, + 0x796B5B49, 0x3C373E52, 0x7190A2A2, 0x93785537, 0x20110A0A, 0x1D28343E, 0x47505A64, 0x738698A1, 0x9C8D7761, + 0x534E566D, 0x8DA6B0A6, 0x8D69472C, 0x190F0E13, 0x36434F57, 0x5F676E77, 0x869BB0BC, 0xBBAF9A84, 0x74717D93, + 0xADBCBBA5, 0x835E412A, 0x1D1A1E27, 0x5360696E, 0x73777C82, 0x8C9EB3C5, 0xCECBBEAB, 0x9F9FA9BC, 0xCACEBFA0, + 0x7A593F2F, 0x282B3545, 0x6F767778, 0x78787A7F, 0x8593A8C2, 0xD6DDDAD2, 0xCCCBD2DA, 0xDFD7BE9B, 0x775A473C, + 0x3A445463, 0x7E7D7875, 0x716D6D71, 0x78849BBA, 0xD8EAEDED, 0xEBEBEDED, 0xEBDABB97, 0x7862554F, 0x5562727B, + 0x7F766E67, 0x625D5C5F, 0x697991B2, 0xD6EFF7F5, 0xF3F4F7F7, 0xEDD5B496, 0x7F70696B, 0x74808787, 0x796C5F57, + 0x514D4C52, 0x5E738EAF, 0xD1EAF1ED, 0xEBEDF4F4, 0xE6CCB099, 0x8A818087, 0x91959288, 0x7261534A, 0x4541434A, + 0x597290AE, 0xCADCE0DC, 0xDADDE5E6, 0xD9C2AD9D, 0x9390949D, 0xA2A09584, 0x6C5A4B41, 0x3B3B3D46, 0x57718EA9, + 0xBDC9CBCA, 0xCACED2CF, 0xC3B3A398, 0x92939AA1, 0xA39D907F, 0x6955453C, 0x38373C46, 0x58718DA5, 0xB7C1C5C6, + 0xC9CCCAC2, 0xB4A59A91, 0x8D91979D, 0x9E998D7D, 0x6752423A, 0x38383C46, 0x576F8AA2, 0xB3BFC6CB, 0xCECCC5B7, + 0xA7988D86, 0x83868E95, 0x98968D7D, 0x644F403B, 0x393A3E47, 0x566C859C, 0xAFBDC7CE, 0xCEC8BCAA, 0x9A8A7F78, + 0x777A838D, 0x94958C7A, 0x5E4C423E, 0x3E3E4047, 0x54677D94, 0xA9BAC7CD, 0xC9C0AF9F, 0x8E80746D, 0x6B707A86, + 0x91928975, 0x5A4B4543, 0x43434448, 0x5161768C, 0xA3B5C3C7, 0xC1B4A394, 0x85776D66, 0x63687480, 0x8C8D836F, + 0x574D4848, 0x4848484A, 0x505D7087, 0x9DB1BDBE, 0xB6A9998B, 0x7F746A63, 0x62656F7B, 0x84847A67, 0x554F4D4D, + 0x4D4D4E4F, 0x535F6F85, 0x9BAEB8B8, 0xAFA29488, 0x7E756B65, 0x62656D75, 0x7B797061, 0x56535353, 0x5556585A, + 0x6069788A, 0x9EAEB6B4, 0xAB9F948A, 0x817A726B, 0x67686B6F, 0x726E665D, 0x585A5C5E, 0x62676C70, 0x767E8A98, + 0xA6B2B6B4, 0xACA1978E, 0x89837C76, 0x716E6C6C, 0x6A66605C, 0x5F62686F, 0x7680888F, 0x94999FA7, 0xAFB6B7B5, + 0xAEA49C96, 0x928E8983, 0x7D76716B, 0x67625F5D, 0x676D7681, 0x8E9BA6AD, 0xB0B1B1B2, 0xB4B7B9B6, 0xB1A8A29E, + 0x9B999590, 0x877F7770, 0x6A656364, 0x71788392, 0xA3B2BDC3, 0xC3BFBAB7, 0xB6B8B9B7, 0xB3ABA6A3, 0xA3A19E98, + 0x91888079, 0x736E6C6D, 0x7A818C9C, 0xAFBFC9CE, 0xCBC4BDB7, 0xB7B8BBBA, 0xB4ACA6A4, 0xA4A5A4A0, 0x9A958F89, + 0x837E7A79, 0x868A94A3, 0xB5C4CED0, 0xCCC5BEBA, 0xBBBFC1BF, 0xB7AEA8A5, 0xA7A9ABAC, 0xACAAA8A4, 0x9D968D88, + 0x8F9199A7, 0xB7C5CCCD, 0xC9C4C0BF, 0xC3C7C8C2, 0xB7ADA7A6, 0xA8ADB3BA, 0xBFC3C4BF, 0xB7AB9E94, 0x97979FAB, + 0xB9C3C8C9, 0xC7C5C4C7, 0xCCCFCBC2, 0xB6ADA8A8, 0xADB5C1CD, 0xD8E0E0D9, 0xCCBBAB9E, 0x9C9DA4AE, 0xBAC1C5C6, + 0xC6C7CAD0, 0xD4D3CBC0, 0xB5ADABAD, 0xB6C2D2E3, 0xF1F9F8ED, 0xDAC5B2A3, 0xA2A4ABB4, 0xBBC1C4C5, 0xC8CCD2D7, + 0xD8D3CABE, 0xB4B0B0B6, 0xC1D2E5F7, 0xFFFFFFF5, 0xE0C9B6A9, 0xA9ABB1B7, 0xBDC1C4C7, 0xCBD1D8DC, 0xDAD4C9BF, + 0xB7B4B7BF, 0xCEE1F5FF, 0xFFFFFFF5, 0xDEC8B7AD, 0xB0B2B7BC, 0xC0C3C7CB, 0xD1D8DEDF, 0xDCD6CDC4, 0xBEBBBFC9, + 0xD9EDFFFF, 0xFFFFFFEE, 0xD9C6B9B1, 0xB6BABEC2, 0xC5C8CCD2, 0xD8DFE3E4, 0xE1DBD4CC, 0xC6C4C8D2, 0xE2F6FFFF, + 0xFFFFF7E5, 0xD3C5BBB6, 0xBEC2C6C9, 0xCDD0D5DA, 0xE1E6EAEB, 0xE9E4DED6, 0xD0CED1DB, 0xEAFAFFFF, 0xFFFDEEDD, + 0xCFC5BFBD, 0xC7CBCFD3, 0xD6DADEE3, 0xE9EFF4F7, 0xF4EFE7E0, 0xDBD8DBE4, 0xF2FFFFFF, 0xFFF4E6D8, 0xCEC7C4C4, + 0xD1D5D9DD, 0xE0E3E7EB, 0xF0F7FEFF, 0xFFFAF2EA, 0xE5E3E6EE, 0xFAFFFFFF, 0xFAEDE0D7, 0xD0CDCCCD, 0xDCE0E3E6, + 0xE9EBEDF0, 0xF5FBFFFF, 0xFFFFFBF4, 0xEFEEF2F9, 0xFFFFFFFE, 0xF4E8DFD8, 0xD4D3D5D7, 0xE6E9EBED, 0xEEEFF1F2, + 0xF5F9FFFF, 0xFFFFFFFD, 0xFAFAFDFF, 0xFFFFFFFA, 0xF0E7E1DD, 0xDBDCDEE2, 0xEDEFEFF0, 0xF0F0F0F1, 0xF2F5FAFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF7, 0xEFE9E5E2, 0xE2E4E7EB, 0xF1F1F0F0, 0xEFEEEEEF, 0xF0F3F6FC, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFDF6, 0xF0ECEAE8, 0xEAECEFF1, 0xF2F1EFEF, 0xEEEDEDED, 0xEFF1F5FA, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFBF6, 0xF2F0EFEF, 0xF1F2F3F3, 0xF3F1EFEE, 0xEDEDEDED, 0xEFF2F5FA, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFDFAF7, + 0xF5F4F4F5, 0xF6F7F6F5, 0xF3F1F0EF, 0xEEEEEEEF, 0xF1F3F6FA, 0xFDFFFFFF, 0xFFFFFFFF, 0xFFFCFAF8, 0xF7F6F7F8, + 0xF8F8F7F5, 0xF5F3F2F1, 0xF0F0F0F1, 0xF3F5F8FA, 0xFCFDFDFD, 0xFDFEFEFE, 0xFDFBFAF9, 0xF8F9F9FA, 0xFAF9F8F7, + 0xF7F5F3F3, 0xF3F2F3F4, 0xF5F7F9FB, 0xFDFDFEFE, 0xFEFEFEFD, 0xFCFBFAFA, 0xF9FAFAFB, 0xFBFAF9F8, 0xF8F7F6F5, + 0xF5F5F5F6, 0xF7F9FAFC, 0xFDFEFEFF, 0xFFFFFEFD, 0xFDFBFBFA, 0xFAFAFBFB, 0xFBFBFBFA, 0xFAF9F8F7, 0xF7F7F8F8, + 0xF9FAFBFC, 0xFEFFFFFF, 0xFFFFFEFD, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFCFB, 0xFBFAFAFA, 0xFAFAFAFA, 0xFBFBFCFD, + 0xFEFFFFFF, 0xFFFFFEFE, 0xFDFCFCFC, 0xFBFCFCFD, 0xFDFDFDFC, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFDFE, 0xFFFFFFFF, + 0xFFFFFFFE, 0xFEFDFDFD, 0xFDFDFDFD, 0xFEFEFDFD, 0xFDFDFDFD, 0xFDFDFDFD, 0xFDFDFEFE, 0xFFFFFFFF, 0xFFFFFFFE, + 0xFEFEFEFD, 0xFDFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, + 0xFEFEFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture2, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15), + gsDPLoadMultiBlock(texture1, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 14), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 0, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index 0fc7a20478..d625fc2f86 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -1,3 +1,9 @@ +/* + * File: z_en_dog.c + * Overlay: ovl_En_Dog + * Description: Dog actor that Link can interact with + */ + #include "z_en_dog.h" #define ROOM 0x00 From ea7aebc731b015818f7db8342a3cd038fdc4e264 Mon Sep 17 00:00:00 2001 From: fig02 Date: Mon, 30 Mar 2020 05:25:53 -0400 Subject: [PATCH 05/10] arrow_light OK --- .../actors/ovl_Arrow_Fire/ArrowFire_Destroy.s | 37 --- .../actors/ovl_Arrow_Fire/ArrowFire_Draw.s | 314 ------------------ .../actors/ovl_Arrow_Fire/ArrowFire_Init.s | 35 -- .../actors/ovl_Arrow_Fire/ArrowFire_Update.s | 28 -- .../actors/ovl_Arrow_Fire/func_80865D10.s | 5 - .../actors/ovl_Arrow_Fire/func_80865DD8.s | 69 ---- .../actors/ovl_Arrow_Fire/func_80865ECC.s | 23 -- .../actors/ovl_Arrow_Fire/func_80865F1C.s | 139 -------- .../actors/ovl_Arrow_Fire/func_808660E8.s | 105 ------ .../actors/ovl_Arrow_Ice/ArrowIce_Destroy.s | 23 -- .../actors/ovl_Arrow_Ice/ArrowIce_Draw.s | 292 ---------------- .../actors/ovl_Arrow_Ice/ArrowIce_Init.s | 35 -- .../actors/ovl_Arrow_Ice/ArrowIce_Update.s | 28 -- .../actors/ovl_Arrow_Ice/func_80867CD0.s | 5 - .../actors/ovl_Arrow_Ice/func_80867D98.s | 69 ---- .../actors/ovl_Arrow_Ice/func_80867E8C.s | 23 -- .../actors/ovl_Arrow_Ice/func_80867EDC.s | 128 ------- .../actors/ovl_Arrow_Ice/func_808680A8.s | 99 ------ .../ovl_Arrow_Light/ArrowLight_Destroy.s | 23 -- .../actors/ovl_Arrow_Light/ArrowLight_Draw.s | 296 ----------------- .../actors/ovl_Arrow_Light/ArrowLight_Init.s | 35 -- .../ovl_Arrow_Light/ArrowLight_Update.s | 28 -- .../actors/ovl_Arrow_Light/func_80869CB0.s | 5 - .../actors/ovl_Arrow_Light/func_80869D78.s | 69 ---- .../actors/ovl_Arrow_Light/func_80869E6C.s | 23 -- .../actors/ovl_Arrow_Light/func_80869EBC.s | 128 ------- .../actors/ovl_Arrow_Light/func_8086A088.s | 99 ------ data/overlays/actors/z_arrow_fire.data.s | 38 --- data/overlays/actors/z_arrow_fire.reloc.s | 11 - data/overlays/actors/z_arrow_fire.rodata.s | 15 - data/overlays/actors/z_arrow_ice.data.s | 38 --- data/overlays/actors/z_arrow_ice.reloc.s | 11 - data/overlays/actors/z_arrow_ice.rodata.s | 57 ---- data/overlays/actors/z_arrow_light.data.s | 38 --- data/overlays/actors/z_arrow_light.reloc.s | 11 - data/overlays/actors/z_arrow_light.rodata.s | 57 ---- spec | 4 +- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 8 +- .../actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c | 3 +- .../actors/ovl_Arrow_Ice/z_arrow_ice.c | 8 +- .../actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c | 3 +- .../actors/ovl_Arrow_Light/z_arrow_light.c | 225 ++++++++++++- .../actors/ovl_Arrow_Light/z_arrow_light.h | 8 +- .../ovl_Arrow_Light/z_arrow_light_gfx.c | 192 +++++++++++ 44 files changed, 424 insertions(+), 2466 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s delete mode 100644 data/overlays/actors/z_arrow_fire.data.s delete mode 100644 data/overlays/actors/z_arrow_fire.reloc.s delete mode 100644 data/overlays/actors/z_arrow_fire.rodata.s delete mode 100644 data/overlays/actors/z_arrow_ice.data.s delete mode 100644 data/overlays/actors/z_arrow_ice.reloc.s delete mode 100644 data/overlays/actors/z_arrow_ice.rodata.s delete mode 100644 data/overlays/actors/z_arrow_light.data.s delete mode 100644 data/overlays/actors/z_arrow_light.reloc.s delete mode 100644 data/overlays/actors/z_arrow_light.rodata.s create mode 100644 src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s deleted file mode 100644 index a2729278e5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s +++ /dev/null @@ -1,37 +0,0 @@ -.rdata -glabel D_80867B30 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B44 - .asciz "\"消滅\" = %s\n" - .balign 4 - -glabel D_80867B54 - .asciz "消滅" - .balign 4 - -.text -glabel ArrowFire_Destroy -/* 00080 80865D90 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80865D94 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80865D98 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80865D9C 0C021DB2 */ jal func_800876C8 -/* 00090 80865DA0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80865DA4 3C048086 */ lui $a0, %hi(D_80867B30) ## $a0 = 80860000 -/* 00098 80865DA8 24847B30 */ addiu $a0, $a0, %lo(D_80867B30) ## $a0 = 80867B30 -/* 0009C 80865DAC 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80865DB0 240501A5 */ addiu $a1, $zero, 0x01A5 ## $a1 = 000001A5 -/* 000A4 80865DB4 3C048086 */ lui $a0, %hi(D_80867B44) ## $a0 = 80860000 -/* 000A8 80865DB8 3C058086 */ lui $a1, %hi(D_80867B54) ## $a1 = 80860000 -/* 000AC 80865DBC 24A57B54 */ addiu $a1, $a1, %lo(D_80867B54) ## $a1 = 80867B54 -/* 000B0 80865DC0 0C00084C */ jal osSyncPrintf - -/* 000B4 80865DC4 24847B44 */ addiu $a0, $a0, %lo(D_80867B44) ## $a0 = 80867B44 -/* 000B8 80865DC8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80865DCC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80865DD0 03E00008 */ jr $ra -/* 000C4 80865DD4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s deleted file mode 100644 index 163e993f06..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s +++ /dev/null @@ -1,314 +0,0 @@ -.rdata -glabel D_80867B5C - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B70 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B84 - .asciz "../z_arrow_fire.c" - .balign 4 - -.late_rodata - -glabel D_80867BAC - .float 9.58738E-05 -glabel D_80867BB0 - .float 9.58738E-05 -glabel D_80867BB4 - .float 9.58738E-05 -glabel D_80867BB8 - .float 0.01 -glabel D_80867BBC - .float 1500 -glabel D_80867BC0 - .float 0.2 - .balign 4 - -.text -glabel ArrowFire_Draw -/* 00580 80866290 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 -/* 00584 80866294 AFBF003C */ sw $ra, 0x003C($sp) -/* 00588 80866298 AFB00038 */ sw $s0, 0x0038($sp) -/* 0058C 8086629C AFA40098 */ sw $a0, 0x0098($sp) -/* 00590 808662A0 AFA5009C */ sw $a1, 0x009C($sp) -/* 00594 808662A4 8CAF009C */ lw $t7, 0x009C($a1) ## 0000009C -/* 00598 808662A8 AFAF008C */ sw $t7, 0x008C($sp) -/* 0059C 808662AC 8C830118 */ lw $v1, 0x0118($a0) ## 00000118 -/* 005A0 808662B0 50600106 */ beql $v1, $zero, .L808666CC -/* 005A4 808662B4 8FBF003C */ lw $ra, 0x003C($sp) -/* 005A8 808662B8 8C790130 */ lw $t9, 0x0130($v1) ## 00000130 -/* 005AC 808662BC 53200103 */ beql $t9, $zero, .L808666CC -/* 005B0 808662C0 8FBF003C */ lw $ra, 0x003C($sp) -/* 005B4 808662C4 948C0166 */ lhu $t4, 0x0166($a0) ## 00000166 -/* 005B8 808662C8 3C068086 */ lui $a2, %hi(D_80867B5C) ## $a2 = 80860000 -/* 005BC 808662CC 24C67B5C */ addiu $a2, $a2, %lo(D_80867B5C) ## $a2 = 80867B5C -/* 005C0 808662D0 298100FF */ slti $at, $t4, 0x00FF -/* 005C4 808662D4 102000FC */ beq $at, $zero, .L808666C8 -/* 005C8 808662D8 8FAF009C */ lw $t7, 0x009C($sp) -/* 005CC 808662DC 906D0249 */ lbu $t5, 0x0249($v1) ## 00000249 -/* 005D0 808662E0 2407026A */ addiu $a3, $zero, 0x026A ## $a3 = 0000026A -/* 005D4 808662E4 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000 -/* 005D8 808662E8 51C00004 */ beql $t6, $zero, .L808662FC -/* 005DC 808662EC 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 005E0 808662F0 10000002 */ beq $zero, $zero, .L808662FC -/* 005E4 808662F4 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000 -/* 005E8 808662F8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -.L808662FC: -/* 005EC 808662FC 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 005F0 80866300 AFA20084 */ sw $v0, 0x0084($sp) -/* 005F4 80866304 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 005F8 80866308 0C031AB1 */ jal func_800C6AC4 -/* 005FC 8086630C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00600 80866310 8FA20084 */ lw $v0, 0x0084($sp) -/* 00604 80866314 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00608 80866318 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024 -/* 0060C 8086631C C44E0028 */ lwc1 $f14, 0x0028($v0) ## 00000028 -/* 00610 80866320 0C034261 */ jal Matrix_Translate -/* 00614 80866324 8C46002C */ lw $a2, 0x002C($v0) ## 0000002C -/* 00618 80866328 8FA20084 */ lw $v0, 0x0084($sp) -/* 0061C 8086632C 3C018086 */ lui $at, %hi(D_80867BAC) ## $at = 80860000 -/* 00620 80866330 C4287BAC */ lwc1 $f8, %lo(D_80867BAC)($at) -/* 00624 80866334 845800B6 */ lh $t8, 0x00B6($v0) ## 000000B6 -/* 00628 80866338 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0062C 8086633C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 00630 80866340 00000000 */ nop -/* 00634 80866344 468021A0 */ cvt.s.w $f6, $f4 -/* 00638 80866348 46083302 */ mul.s $f12, $f6, $f8 -/* 0063C 8086634C 0C034348 */ jal Matrix_RotateY -/* 00640 80866350 00000000 */ nop -/* 00644 80866354 8FA20084 */ lw $v0, 0x0084($sp) -/* 00648 80866358 3C018086 */ lui $at, %hi(D_80867BB0) ## $at = 80860000 -/* 0064C 8086635C C4327BB0 */ lwc1 $f18, %lo(D_80867BB0)($at) -/* 00650 80866360 845900B4 */ lh $t9, 0x00B4($v0) ## 000000B4 -/* 00654 80866364 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00658 80866368 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 0065C 8086636C 00000000 */ nop -/* 00660 80866370 46805420 */ cvt.s.w $f16, $f10 -/* 00664 80866374 46128302 */ mul.s $f12, $f16, $f18 -/* 00668 80866378 0C0342DC */ jal Matrix_RotateX -/* 0066C 8086637C 00000000 */ nop -/* 00670 80866380 8FA20084 */ lw $v0, 0x0084($sp) -/* 00674 80866384 3C018086 */ lui $at, %hi(D_80867BB4) ## $at = 80860000 -/* 00678 80866388 C4287BB4 */ lwc1 $f8, %lo(D_80867BB4)($at) -/* 0067C 8086638C 844B00B8 */ lh $t3, 0x00B8($v0) ## 000000B8 -/* 00680 80866390 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00684 80866394 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 00688 80866398 00000000 */ nop -/* 0068C 8086639C 468021A0 */ cvt.s.w $f6, $f4 -/* 00690 808663A0 46083302 */ mul.s $f12, $f6, $f8 -/* 00694 808663A4 0C0343B5 */ jal Matrix_RotateZ -/* 00698 808663A8 00000000 */ nop -/* 0069C 808663AC 3C018086 */ lui $at, %hi(D_80867BB8) ## $at = 80860000 -/* 006A0 808663B0 C42C7BB8 */ lwc1 $f12, %lo(D_80867BB8)($at) -/* 006A4 808663B4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 006A8 808663B8 44066000 */ mfc1 $a2, $f12 -/* 006AC 808663BC 0C0342A3 */ jal Matrix_Scale -/* 006B0 808663C0 46006386 */ mov.s $f14, $f12 -/* 006B4 808663C4 8FAC0098 */ lw $t4, 0x0098($sp) -/* 006B8 808663C8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 006BC 808663CC C590015C */ lwc1 $f16, 0x015C($t4) ## 0000015C -/* 006C0 808663D0 4610503C */ c.lt.s $f10, $f16 -/* 006C4 808663D4 00000000 */ nop -/* 006C8 808663D8 45020030 */ bc1fl .L8086649C -/* 006CC 808663DC 8FAE009C */ lw $t6, 0x009C($sp) -/* 006D0 808663E0 0C024DF0 */ jal func_800937C0 -/* 006D4 808663E4 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0 -/* 006D8 808663E8 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -/* 006DC 808663EC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 006E0 808663F0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 006E4 808663F4 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000 -/* 006E8 808663F8 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 006EC 808663FC 8FAF0098 */ lw $t7, 0x0098($sp) -/* 006F0 80866400 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 006F4 80866404 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00 -/* 006F8 80866408 C5E0015C */ lwc1 $f0, 0x015C($t7) ## 0000015C -/* 006FC 8086640C 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 00700 80866410 44814000 */ mtc1 $at, $f8 ## $f8 = 150.00 -/* 00704 80866414 46120102 */ mul.s $f4, $f0, $f18 -/* 00708 80866418 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000 -/* 0070C 8086641C 35CE1A01 */ ori $t6, $t6, 0x1A01 ## $t6 = E3001A01 -/* 00710 80866420 46004282 */ mul.s $f10, $f8, $f0 -/* 00714 80866424 240F0030 */ addiu $t7, $zero, 0x0030 ## $t7 = 00000030 -/* 00718 80866428 4600218D */ trunc.w.s $f6, $f4 -/* 0071C 8086642C 4600540D */ trunc.w.s $f16, $f10 -/* 00720 80866430 440C3000 */ mfc1 $t4, $f6 -/* 00724 80866434 44188000 */ mfc1 $t8, $f16 -/* 00728 80866438 000C6E00 */ sll $t5, $t4, 24 -/* 0072C 8086643C 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000 -/* 00730 80866440 01B95825 */ or $t3, $t5, $t9 ## $t3 = 00000008 -/* 00734 80866444 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00738 80866448 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0073C 8086644C 3C0DE300 */ lui $t5, 0xE300 ## $t5 = E3000000 -/* 00740 80866450 35AD1801 */ ori $t5, $t5, 0x1801 ## $t5 = E3001801 -/* 00744 80866454 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00748 80866458 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 0074C 8086645C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00750 80866460 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00754 80866464 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00758 80866468 241900C0 */ addiu $t9, $zero, 0x00C0 ## $t9 = 000000C0 -/* 0075C 8086646C 3C0CF64F */ lui $t4, 0xF64F ## $t4 = F64F0000 -/* 00760 80866470 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00764 80866474 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00768 80866478 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0076C 8086647C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00770 80866480 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00774 80866484 358CC3BC */ ori $t4, $t4, 0xC3BC ## $t4 = F64FC3BC -/* 00778 80866488 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0077C 8086648C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00780 80866490 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00784 80866494 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00788 80866498 8FAE009C */ lw $t6, 0x009C($sp) -.L8086649C: -/* 0078C 8086649C 0C024F61 */ jal func_80093D84 -/* 00790 808664A0 8DC40000 */ lw $a0, 0x0000($t6) ## E3001A01 -/* 00794 808664A4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00798 808664A8 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 0079C 808664AC 37188080 */ ori $t8, $t8, 0x8080 ## $t8 = FA008080 -/* 007A0 808664B0 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 007A4 808664B4 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 007A8 808664B8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 007AC 808664BC 8FAD0098 */ lw $t5, 0x0098($sp) -/* 007B0 808664C0 3C01FFC8 */ lui $at, 0xFFC8 ## $at = FFC80000 -/* 007B4 808664C4 3C18FF00 */ lui $t8, 0xFF00 ## $t8 = FF000000 -/* 007B8 808664C8 91AB0168 */ lbu $t3, 0x0168($t5) ## 00000168 -/* 007BC 808664CC 37180080 */ ori $t8, $t8, 0x0080 ## $t8 = FF000080 -/* 007C0 808664D0 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000 -/* 007C4 808664D4 01616025 */ or $t4, $t3, $at ## $t4 = FFC80000 -/* 007C8 808664D8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 007CC 808664DC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 007D0 808664E0 24044000 */ addiu $a0, $zero, 0x4000 ## $a0 = 00004000 -/* 007D4 808664E4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 007D8 808664E8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 007DC 808664EC AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 007E0 808664F0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 007E4 808664F4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 007E8 808664F8 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 007EC 808664FC 0C034421 */ jal Matrix_RotateZYX -/* 007F0 80866500 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 007F4 80866504 8FAD0098 */ lw $t5, 0x0098($sp) -/* 007F8 80866508 3C018086 */ lui $at, %hi(D_80867BBC) ## $at = 80860000 -/* 007FC 8086650C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00800 80866510 95B90166 */ lhu $t9, 0x0166($t5) ## 00000166 -/* 00804 80866514 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00808 80866518 53200009 */ beql $t9, $zero, .L80866540 -/* 0080C 8086651C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00810 80866520 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00814 80866524 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00818 80866528 44066000 */ mfc1 $a2, $f12 -/* 0081C 8086652C 0C034261 */ jal Matrix_Translate -/* 00820 80866530 46006386 */ mov.s $f14, $f12 -/* 00824 80866534 10000005 */ beq $zero, $zero, .L8086654C -/* 00828 80866538 8FAB0098 */ lw $t3, 0x0098($sp) -/* 0082C 8086653C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -.L80866540: -/* 00830 80866540 0C034261 */ jal Matrix_Translate -/* 00834 80866544 C42E7BBC */ lwc1 $f14, %lo(D_80867BBC)($at) -/* 00838 80866548 8FAB0098 */ lw $t3, 0x0098($sp) -.L8086654C: -/* 0083C 8086654C 3C018086 */ lui $at, %hi(D_80867BC0) ## $at = 80860000 -/* 00840 80866550 C4267BC0 */ lwc1 $f6, %lo(D_80867BC0)($at) -/* 00844 80866554 856C0164 */ lh $t4, 0x0164($t3) ## 00000164 -/* 00848 80866558 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 0084C 8086655C 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00 -/* 00850 80866560 448C9000 */ mtc1 $t4, $f18 ## $f18 = 0.00 -/* 00854 80866564 C5680158 */ lwc1 $f8, 0x0158($t3) ## 00000158 -/* 00858 80866568 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0085C 8086656C 46809120 */ cvt.s.w $f4, $f18 -/* 00860 80866570 46062302 */ mul.s $f12, $f4, $f6 -/* 00864 80866574 44066000 */ mfc1 $a2, $f12 -/* 00868 80866578 460A4382 */ mul.s $f14, $f8, $f10 -/* 0086C 8086657C 0C0342A3 */ jal Matrix_Scale -/* 00870 80866580 00000000 */ nop -/* 00874 80866584 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00878 80866588 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000 -/* 0087C 8086658C 44817000 */ mtc1 $at, $f14 ## $f14 = -700.00 -/* 00880 80866590 44066000 */ mfc1 $a2, $f12 -/* 00884 80866594 0C034261 */ jal Matrix_Translate -/* 00888 80866598 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0088C 8086659C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00890 808665A0 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 00894 808665A4 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00898 808665A8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0089C 808665AC AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 008A0 808665B0 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 008A4 808665B4 8FB8009C */ lw $t8, 0x009C($sp) -/* 008A8 808665B8 3C058086 */ lui $a1, %hi(D_80867B70) ## $a1 = 80860000 -/* 008AC 808665BC 24A57B70 */ addiu $a1, $a1, %lo(D_80867B70) ## $a1 = 80867B70 -/* 008B0 808665C0 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 008B4 808665C4 2406029A */ addiu $a2, $zero, 0x029A ## $a2 = 0000029A -/* 008B8 808665C8 0C0346A2 */ jal Matrix_NewMtx -/* 008BC 808665CC AFA20054 */ sw $v0, 0x0054($sp) -/* 008C0 808665D0 8FA30054 */ lw $v1, 0x0054($sp) -/* 008C4 808665D4 3C198086 */ lui $t9, %hi(D_80867990) ## $t9 = 80860000 -/* 008C8 808665D8 27397990 */ addiu $t9, $t9, %lo(D_80867990) ## $t9 = 80867990 -/* 008CC 808665DC AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 008D0 808665E0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008D4 808665E4 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 008D8 808665E8 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF -/* 008DC 808665EC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 008E0 808665F0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 008E4 808665F4 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 008E8 808665F8 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 008EC 808665FC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008F0 80866600 8FAA008C */ lw $t2, 0x008C($sp) -/* 008F4 80866604 24180040 */ addiu $t8, $zero, 0x0040 ## $t8 = 00000040 -/* 008F8 80866608 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 008FC 8086660C AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 00900 80866610 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00904 80866614 8FAB009C */ lw $t3, 0x009C($sp) -/* 00908 80866618 000A7040 */ sll $t6, $t2, 1 -/* 0090C 8086661C 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000 -/* 00910 80866620 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 00914 80866624 000A7080 */ sll $t6, $t2, 2 -/* 00918 80866628 01CA7021 */ addu $t6, $t6, $t2 -/* 0091C 8086662C 000E7040 */ sll $t6, $t6, 1 -/* 00920 80866630 AFB80010 */ sw $t8, 0x0010($sp) -/* 00924 80866634 010F3023 */ subu $a2, $t0, $t7 -/* 00928 80866638 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 0092C 8086663C 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 00930 80866640 314C00FF */ andi $t4, $t2, 0x00FF ## $t4 = 00000000 -/* 00934 80866644 010C5823 */ subu $t3, $t0, $t4 -/* 00938 80866648 AFAD0014 */ sw $t5, 0x0014($sp) -/* 0093C 8086664C AFB90018 */ sw $t9, 0x0018($sp) -/* 00940 80866650 31CF01FF */ andi $t7, $t6, 0x01FF ## $t7 = 00000000 -/* 00944 80866654 241801FF */ addiu $t8, $zero, 0x01FF ## $t8 = 000001FF -/* 00948 80866658 030F6823 */ subu $t5, $t8, $t7 -/* 0094C 8086665C 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 00950 80866660 240C0040 */ addiu $t4, $zero, 0x0040 ## $t4 = 00000040 -/* 00954 80866664 AFAC0028 */ sw $t4, 0x0028($sp) -/* 00958 80866668 AFB90024 */ sw $t9, 0x0024($sp) -/* 0095C 8086666C AFAD0020 */ sw $t5, 0x0020($sp) -/* 00960 80866670 AFAB001C */ sw $t3, 0x001C($sp) -/* 00964 80866674 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00968 80866678 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 0096C 8086667C 0C0253D0 */ jal Draw_TwoTexScroll -/* 00970 80866680 AFA2004C */ sw $v0, 0x004C($sp) -/* 00974 80866684 8FA3004C */ lw $v1, 0x004C($sp) -/* 00978 80866688 3C188086 */ lui $t8, %hi(D_80867A40) ## $t8 = 80860000 -/* 0097C 8086668C 27187A40 */ addiu $t8, $t8, %lo(D_80867A40) ## $t8 = 80867A40 -/* 00980 80866690 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00984 80866694 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00988 80866698 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 0098C 8086669C 3C068086 */ lui $a2, %hi(D_80867B84) ## $a2 = 80860000 -/* 00990 808666A0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00994 808666A4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00998 808666A8 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 0099C 808666AC AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 009A0 808666B0 8FAF009C */ lw $t7, 0x009C($sp) -/* 009A4 808666B4 24C67B84 */ addiu $a2, $a2, %lo(D_80867B84) ## $a2 = 80867B84 -/* 009A8 808666B8 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 009AC 808666BC 240702AA */ addiu $a3, $zero, 0x02AA ## $a3 = 000002AA -/* 009B0 808666C0 0C031AD5 */ jal func_800C6B54 -/* 009B4 808666C4 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -.L808666C8: -/* 009B8 808666C8 8FBF003C */ lw $ra, 0x003C($sp) -.L808666CC: -/* 009BC 808666CC 8FB00038 */ lw $s0, 0x0038($sp) -/* 009C0 808666D0 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000 -/* 009C4 808666D4 03E00008 */ jr $ra -/* 009C8 808666D8 00000000 */ nop -/* 009CC 808666DC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s deleted file mode 100644 index 049fe5e5f1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowFire_Init -/* 00008 80865D18 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80865D1C AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80865D20 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80865D24 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80865D28 3C058086 */ lui $a1, %hi(D_80867B20) ## $a1 = 80860000 -/* 0001C 80865D2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80865D30 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80865D34 24A57B20 */ addiu $a1, $a1, %lo(D_80867B20) ## $a1 = 80867B20 -/* 00028 80865D38 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80865D3C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80865D40 3C058086 */ lui $a1, %hi(func_80865DD8) ## $a1 = 80860000 -/* 00034 80865D44 A6000164 */ sh $zero, 0x0164($s0) ## 00000164 -/* 00038 80865D48 24A55DD8 */ addiu $a1, $a1, %lo(func_80865DD8) ## $a1 = 80865DD8 -/* 0003C 80865D4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80865D50 0C219744 */ jal func_80865D10 -/* 00044 80865D54 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158 -/* 00048 80865D58 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80865D5C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80865D60 0C00B58B */ jal Actor_SetScale - -/* 00054 80865D64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80865D68 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80865D6C 240E00A0 */ addiu $t6, $zero, 0x00A0 ## $t6 = 000000A0 -/* 00060 80865D70 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168 -/* 00064 80865D74 A6000166 */ sh $zero, 0x0166($s0) ## 00000166 -/* 00068 80865D78 E606015C */ swc1 $f6, 0x015C($s0) ## 0000015C -/* 0006C 80865D7C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80865D80 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80865D84 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80865D88 03E00008 */ jr $ra -/* 0007C 80865D8C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s deleted file mode 100644 index 14134057f6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowFire_Update -/* 0052C 8086623C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 80866240 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 80866244 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 80866248 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086624C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 80866250 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 80866254 10410003 */ beq $v0, $at, .L80866264 -/* 00548 80866258 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086625C 54410006 */ bnel $v0, $at, .L80866278 -/* 00550 80866260 8C990160 */ lw $t9, 0x0160($a0) ## 00000160 -.L80866264: -/* 00554 80866264 0C00B55C */ jal Actor_Kill - -/* 00558 80866268 00000000 */ nop -/* 0055C 8086626C 10000005 */ beq $zero, $zero, .L80866284 -/* 00560 80866270 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 80866274 8C990160 */ lw $t9, 0x0160($a0) ## 00000160 -.L80866278: -/* 00568 80866278 0320F809 */ jalr $ra, $t9 -/* 0056C 8086627C 00000000 */ nop -/* 00570 80866280 8FBF0014 */ lw $ra, 0x0014($sp) -.L80866284: -/* 00574 80866284 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 80866288 03E00008 */ jr $ra -/* 0057C 8086628C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s deleted file mode 100644 index f8968f4ff5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80865D10 -/* 00000 80865D10 03E00008 */ jr $ra -/* 00004 80865D14 AC850160 */ sw $a1, 0x0160($a0) ## 00000160 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s deleted file mode 100644 index 8f1ecd2bf0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80865DD8 -/* 000C8 80865DD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80865DDC AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80865DE0 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80865DE4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80865DE8 10400004 */ beq $v0, $zero, .L80865DFC -/* 000DC 80865DEC 00000000 */ nop -/* 000E0 80865DF0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80865DF4 55C00006 */ bnel $t6, $zero, .L80865E10 -/* 000E8 80865DF8 84830164 */ lh $v1, 0x0164($a0) ## 00000164 -.L80865DFC: -/* 000EC 80865DFC 0C00B55C */ jal Actor_Kill - -/* 000F0 80865E00 00000000 */ nop -/* 000F4 80865E04 1000002E */ beq $zero, $zero, .L80865EC0 -/* 000F8 80865E08 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80865E0C 84830164 */ lh $v1, 0x0164($a0) ## 00000164 -.L80865E10: -/* 00100 80865E10 2861000A */ slti $at, $v1, 0x000A -/* 00104 80865E14 10200002 */ beq $at, $zero, .L80865E20 -/* 00108 80865E18 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80865E1C A48F0164 */ sh $t7, 0x0164($a0) ## 00000164 -.L80865E20: -/* 00110 80865E20 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80865E24 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80865E28 2405007D */ addiu $a1, $zero, 0x007D ## $a1 = 0000007D -/* 0011C 80865E2C AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80865E30 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80865E34 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80865E38 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80865E3C AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80865E40 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80865E44 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80865E48 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80865E4C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80865E50 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80865E54 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80865E58 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80865E5C AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80865E60 0C00BE5D */ jal func_8002F974 -/* 00154 80865E64 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80865E68 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80865E6C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80865E70 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80865E74 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80865E78 55400011 */ bnel $t2, $zero, .L80865EC0 -/* 0016C 80865E7C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80865E80 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80865E84 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80865E88 3C058086 */ lui $a1, %hi(func_808660E8) ## $a1 = 80860000 -/* 0017C 80865E8C AC8C014C */ sw $t4, 0x014C($a0) ## 0000014C -/* 00180 80865E90 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80865E94 24A560E8 */ addiu $a1, $a1, %lo(func_808660E8) ## $a1 = 808660E8 -/* 00188 80865E98 AC8B0150 */ sw $t3, 0x0150($a0) ## 00000150 -/* 0018C 80865E9C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80865EA0 A48D0164 */ sh $t5, 0x0164($a0) ## 00000164 -/* 00194 80865EA4 AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00198 80865EA8 0C219744 */ jal func_80865D10 -/* 0019C 80865EAC AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80865EB0 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80865EB4 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80865EB8 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168 -/* 001AC 80865EBC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80865EC0: -/* 001B0 80865EC0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80865EC4 03E00008 */ jr $ra -/* 001B8 80865EC8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s deleted file mode 100644 index 8eaf606ac7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80865ECC -/* 001BC 80865ECC C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80865ED0 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80865ED4 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80865ED8 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80865EDC 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80865EE0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80865EE4 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80865EE8 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80865EEC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80865EF0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80865EF4 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80865EF8 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80865EFC 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80865F00 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80865F04 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80865F08 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80865F0C 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80865F10 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80865F14 03E00008 */ jr $ra -/* 00208 80865F18 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s deleted file mode 100644 index 371a939df8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s +++ /dev/null @@ -1,139 +0,0 @@ -.late_rodata -glabel D_80867B98 - .float 950 -glabel D_80867B9C - .float 0.33333334 -glabel D_80867BA0 - .float 0.041666668 -glabel D_80867BA4 - .float 0.1 - -.text -glabel func_80865F1C -/* 0020C 80865F1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80865F20 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80865F24 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80865F28 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80865F2C 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80865F30 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80865F34 3C018086 */ lui $at, %hi(D_80867B98) ## $at = 80860000 -/* 00228 80865F38 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80865F3C 00000000 */ nop -/* 00230 80865F40 45000005 */ bc1f .L80865F58 -/* 00234 80865F44 00000000 */ nop -/* 00238 80865F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80865F4C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80865F50 10000012 */ beq $zero, $zero, .L80865F9C -/* 00244 80865F54 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -.L80865F58: -/* 00248 80865F58 C4247B98 */ lwc1 $f4, %lo(D_80867B98)($at) -/* 0024C 80865F5C 3C018086 */ lui $at, %hi(D_80867B9C) ## $at = 80860000 -/* 00250 80865F60 4600203C */ c.lt.s $f4, $f0 -/* 00254 80865F64 00000000 */ nop -/* 00258 80865F68 45020006 */ bc1fl .L80865F84 -/* 0025C 80865F6C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80865F70 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80865F74 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80865F78 10000008 */ beq $zero, $zero, .L80865F9C -/* 0026C 80865F7C 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -/* 00270 80865F80 46020181 */ sub.s $f6, $f0, $f2 -.L80865F84: -/* 00274 80865F84 C4287B9C */ lwc1 $f8, %lo(D_80867B9C)($at) -/* 00278 80865F88 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80865F8C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80865F90 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80865F94 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80865F98 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -.L80865F9C: -/* 0028C 80865F9C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80865FA0 10600029 */ beq $v1, $zero, .L80866048 -/* 00294 80865FA4 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80865FA8 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80865FAC 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80865FB0 A48E0166 */ sh $t6, 0x0166($a0) ## 00000166 -/* 002A4 80865FB4 14200024 */ bne $at, $zero, .L80866048 -/* 002A8 80865FB8 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80865FBC 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80865FC0 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80865FC4 3C018086 */ lui $at, %hi(D_80867BA0) ## $at = 80860000 -/* 002B8 80865FC8 C4267BA0 */ lwc1 $f6, %lo(D_80867BA0)($at) -/* 002BC 80865FCC 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80865FD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80865FD4 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80865FD8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80865FDC 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80865FE0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80865FE4 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80865FE8 C4820158 */ lwc1 $f2, 0x0158($a0) ## 00000158 -/* 002DC 80865FEC 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80865FF0 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80865FF4 00084080 */ sll $t0, $t0, 2 -/* 002E8 80865FF8 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80865FFC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80866000 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80866004 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80866008 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 8086600C 3C018086 */ lui $at, %hi(D_80867BA4) ## $at = 80860000 -/* 00300 80866010 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80866014 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80866018 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 8086601C 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80866020 44193000 */ mfc1 $t9, $f6 -/* 00314 80866024 00000000 */ nop -/* 00318 80866028 A4990164 */ sh $t9, 0x0164($a0) ## 00000164 -/* 0031C 8086602C C4307BA4 */ lwc1 $f16, %lo(D_80867BA4)($at) -/* 00320 80866030 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80866034 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80866038 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 8086603C 10200002 */ beq $at, $zero, .L80866048 -/* 00330 80866040 E4840158 */ swc1 $f4, 0x0158($a0) ## 00000158 -/* 00334 80866044 A0890168 */ sb $t1, 0x0168($a0) ## 00000168 -.L80866048: -/* 00338 80866048 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 8086604C 1420000E */ bne $at, $zero, .L80866088 -/* 00340 80866050 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80866054 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80866058 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 8086605C C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C -/* 00350 80866060 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 80866064 4606003C */ c.lt.s $f0, $f6 -/* 00358 80866068 00000000 */ nop -/* 0035C 8086606C 45020012 */ bc1fl .L808660B8 -/* 00360 80866070 28410008 */ slti $at, $v0, 0x0008 -/* 00364 80866074 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 80866078 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -/* 0036C 8086607C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 80866080 1000000C */ beq $zero, $zero, .L808660B4 -/* 00374 80866084 E48A015C */ swc1 $f10, 0x015C($a0) ## 0000015C -.L80866088: -/* 00378 80866088 C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C -/* 0037C 8086608C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 80866090 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 80866094 4600803C */ c.lt.s $f16, $f0 -/* 00388 80866098 00000000 */ nop -/* 0038C 8086609C 45020006 */ bc1fl .L808660B8 -/* 00390 808660A0 28410008 */ slti $at, $v0, 0x0008 -/* 00394 808660A4 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 808660A8 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -/* 0039C 808660AC 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 808660B0 E484015C */ swc1 $f4, 0x015C($a0) ## 0000015C -.L808660B4: -/* 003A4 808660B4 28410008 */ slti $at, $v0, 0x0008 -.L808660B8: -/* 003A8 808660B8 10200003 */ beq $at, $zero, .L808660C8 -/* 003AC 808660BC 00000000 */ nop -/* 003B0 808660C0 A0800168 */ sb $zero, 0x0168($a0) ## 00000168 -/* 003B4 808660C4 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -.L808660C8: -/* 003B8 808660C8 54400004 */ bnel $v0, $zero, .L808660DC -/* 003BC 808660CC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 808660D0 0C00B55C */ jal Actor_Kill - -/* 003C4 808660D4 A48A0166 */ sh $t2, 0x0166($a0) ## 00000166 -/* 003C8 808660D8 8FBF0014 */ lw $ra, 0x0014($sp) -.L808660DC: -/* 003CC 808660DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 808660E0 03E00008 */ jr $ra -/* 003D4 808660E4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s deleted file mode 100644 index e999535cd9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s +++ /dev/null @@ -1,105 +0,0 @@ -.late_rodata - -glabel D_80867BA8 - .float 0.041666668 - -.text -glabel func_808660E8 -/* 003D8 808660E8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 808660EC AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 808660F0 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 808660F4 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 808660F8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 808660FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 80866100 10400004 */ beq $v0, $zero, .L80866114 -/* 003F4 80866104 00000000 */ nop -/* 003F8 80866108 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 8086610C 55C00006 */ bnel $t6, $zero, .L80866128 -/* 00400 80866110 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L80866114: -/* 00404 80866114 0C00B55C */ jal Actor_Kill - -/* 00408 80866118 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 8086611C 10000043 */ beq $zero, $zero, .L8086622C -/* 00410 80866120 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 80866124 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L80866128: -/* 00418 80866128 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 8086612C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00420 80866130 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 80866134 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 80866138 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 8086613C 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 80866140 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 80866144 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 80866148 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086614C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 80866150 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 80866154 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 80866158 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086615C AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 80866160 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 80866164 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 80866168 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086616C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 80866170 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 80866174 3C018086 */ lui $at, %hi(D_80867BA8) ## $at = 80860000 -/* 00468 80866178 C4247BA8 */ lwc1 $f4, %lo(D_80867BA8)($at) -/* 0046C 8086617C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 80866180 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 80866184 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 80866188 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086618C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 80866190 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 80866194 460C103C */ c.lt.s $f2, $f12 -/* 00488 80866198 E6020158 */ swc1 $f2, 0x0158($s0) ## 00000158 -/* 0048C 8086619C 45000002 */ bc1f .L808661A8 -/* 00490 808661A0 00000000 */ nop -/* 00494 808661A4 E60C0158 */ swc1 $f12, 0x0158($s0) ## 00000158 -.L808661A8: -/* 00498 808661A8 0C2197B3 */ jal func_80865ECC -/* 0049C 808661AC AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 808661B0 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 808661B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 808661B8 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 808661BC 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 808661C0 5140000D */ beql $t2, $zero, .L808661F8 -/* 004B4 808661C4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 808661C8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 808661CC 2405183A */ addiu $a1, $zero, 0x183A ## $a1 = 0000183A -/* 004C0 808661D0 3C058086 */ lui $a1, %hi(func_80865F1C) ## $a1 = 80860000 -/* 004C4 808661D4 24A55F1C */ addiu $a1, $a1, %lo(func_80865F1C) ## $a1 = 80865F1C -/* 004C8 808661D8 0C219744 */ jal func_80865D10 -/* 004CC 808661DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 808661E0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 808661E4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 808661E8 A60B0166 */ sh $t3, 0x0166($s0) ## 00000166 -/* 004DC 808661EC 1000000E */ beq $zero, $zero, .L80866228 -/* 004E0 808661F0 A20C0168 */ sb $t4, 0x0168($s0) ## 00000168 -/* 004E4 808661F4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L808661F8: -/* 004E8 808661F8 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 808661FC 5020000B */ beql $at, $zero, .L8086622C -/* 004F0 80866200 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 80866204 92020168 */ lbu $v0, 0x0168($s0) ## 00000168 -/* 004F8 80866208 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 8086620C 10200005 */ beq $at, $zero, .L80866224 -/* 00500 80866210 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 80866214 0C00B55C */ jal Actor_Kill - -/* 00508 80866218 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 8086621C 10000003 */ beq $zero, $zero, .L8086622C -/* 00510 80866220 8FBF001C */ lw $ra, 0x001C($sp) -.L80866224: -/* 00514 80866224 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168 -.L80866228: -/* 00518 80866228 8FBF001C */ lw $ra, 0x001C($sp) -.L8086622C: -/* 0051C 8086622C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 80866230 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 80866234 03E00008 */ jr $ra -/* 00528 80866238 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s deleted file mode 100644 index a931d808f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel ArrowIce_Destroy -/* 00080 80867D50 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80867D54 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80867D58 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80867D5C 0C021DB2 */ jal func_800876C8 -/* 00090 80867D60 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80867D64 3C048087 */ lui $a0, %hi(D_80869B10) ## $a0 = 80870000 -/* 00098 80867D68 24849B10 */ addiu $a0, $a0, %lo(D_80869B10) ## $a0 = 80869B10 -/* 0009C 80867D6C 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80867D70 2405019F */ addiu $a1, $zero, 0x019F ## $a1 = 0000019F -/* 000A4 80867D74 3C048087 */ lui $a0, %hi(D_80869B24) ## $a0 = 80870000 -/* 000A8 80867D78 3C058087 */ lui $a1, %hi(D_80869B34) ## $a1 = 80870000 -/* 000AC 80867D7C 24A59B34 */ addiu $a1, $a1, %lo(D_80869B34) ## $a1 = 80869B34 -/* 000B0 80867D80 0C00084C */ jal osSyncPrintf - -/* 000B4 80867D84 24849B24 */ addiu $a0, $a0, %lo(D_80869B24) ## $a0 = 80869B24 -/* 000B8 80867D88 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80867D8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80867D90 03E00008 */ jr $ra -/* 000C4 80867D94 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s deleted file mode 100644 index ca4c44aad0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s +++ /dev/null @@ -1,292 +0,0 @@ -glabel ArrowIce_Draw -/* 00580 80868250 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 -/* 00584 80868254 AFBF003C */ sw $ra, 0x003C($sp) -/* 00588 80868258 AFB00038 */ sw $s0, 0x0038($sp) -/* 0058C 8086825C AFA40098 */ sw $a0, 0x0098($sp) -/* 00590 80868260 AFA5009C */ sw $a1, 0x009C($sp) -/* 00594 80868264 8CAF009C */ lw $t7, 0x009C($a1) ## 0000009C -/* 00598 80868268 AFAF0088 */ sw $t7, 0x0088($sp) -/* 0059C 8086826C 8C830118 */ lw $v1, 0x0118($a0) ## 00000118 -/* 005A0 80868270 5060010E */ beql $v1, $zero, .L808686AC -/* 005A4 80868274 8FBF003C */ lw $ra, 0x003C($sp) -/* 005A8 80868278 8C790130 */ lw $t9, 0x0130($v1) ## 00000130 -/* 005AC 8086827C 5320010B */ beql $t9, $zero, .L808686AC -/* 005B0 80868280 8FBF003C */ lw $ra, 0x003C($sp) -/* 005B4 80868284 948D014E */ lhu $t5, 0x014E($a0) ## 0000014E -/* 005B8 80868288 3C068087 */ lui $a2, %hi(D_80869B3C) ## $a2 = 80870000 -/* 005BC 8086828C 24C69B3C */ addiu $a2, $a2, %lo(D_80869B3C) ## $a2 = 80869B3C -/* 005C0 80868290 29A100FF */ slti $at, $t5, 0x00FF -/* 005C4 80868294 10200104 */ beq $at, $zero, .L808686A8 -/* 005C8 80868298 8FB8009C */ lw $t8, 0x009C($sp) -/* 005CC 8086829C 906E0249 */ lbu $t6, 0x0249($v1) ## 00000249 -/* 005D0 808682A0 24070262 */ addiu $a3, $zero, 0x0262 ## $a3 = 00000262 -/* 005D4 808682A4 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 005D8 808682A8 51E00004 */ beql $t7, $zero, .L808682BC -/* 005DC 808682AC 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 005E0 808682B0 10000002 */ beq $zero, $zero, .L808682BC -/* 005E4 808682B4 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000 -/* 005E8 808682B8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -.L808682BC: -/* 005EC 808682BC 8F050000 */ lw $a1, 0x0000($t8) ## 00000000 -/* 005F0 808682C0 AFA2008C */ sw $v0, 0x008C($sp) -/* 005F4 808682C4 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 005F8 808682C8 0C031AB1 */ jal func_800C6AC4 -/* 005FC 808682CC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00600 808682D0 8FA2008C */ lw $v0, 0x008C($sp) -/* 00604 808682D4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00608 808682D8 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024 -/* 0060C 808682DC C44E0028 */ lwc1 $f14, 0x0028($v0) ## 00000028 -/* 00610 808682E0 0C034261 */ jal Matrix_Translate -/* 00614 808682E4 8C46002C */ lw $a2, 0x002C($v0) ## 0000002C -/* 00618 808682E8 8FA2008C */ lw $v0, 0x008C($sp) -/* 0061C 808682EC 3C018087 */ lui $at, %hi(D_80869B8C) ## $at = 80870000 -/* 00620 808682F0 C4289B8C */ lwc1 $f8, %lo(D_80869B8C)($at) -/* 00624 808682F4 845900B6 */ lh $t9, 0x00B6($v0) ## 000000B6 -/* 00628 808682F8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0062C 808682FC 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 00630 80868300 00000000 */ nop -/* 00634 80868304 468021A0 */ cvt.s.w $f6, $f4 -/* 00638 80868308 46083302 */ mul.s $f12, $f6, $f8 -/* 0063C 8086830C 0C034348 */ jal Matrix_RotateY -/* 00640 80868310 00000000 */ nop -/* 00644 80868314 8FA2008C */ lw $v0, 0x008C($sp) -/* 00648 80868318 3C018087 */ lui $at, %hi(D_80869B90) ## $at = 80870000 -/* 0064C 8086831C C4329B90 */ lwc1 $f18, %lo(D_80869B90)($at) -/* 00650 80868320 844C00B4 */ lh $t4, 0x00B4($v0) ## 000000B4 -/* 00654 80868324 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00658 80868328 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 0065C 8086832C 00000000 */ nop -/* 00660 80868330 46805420 */ cvt.s.w $f16, $f10 -/* 00664 80868334 46128302 */ mul.s $f12, $f16, $f18 -/* 00668 80868338 0C0342DC */ jal Matrix_RotateX -/* 0066C 8086833C 00000000 */ nop -/* 00670 80868340 8FA2008C */ lw $v0, 0x008C($sp) -/* 00674 80868344 3C018087 */ lui $at, %hi(D_80869B94) ## $at = 80870000 -/* 00678 80868348 C4289B94 */ lwc1 $f8, %lo(D_80869B94)($at) -/* 0067C 8086834C 844D00B8 */ lh $t5, 0x00B8($v0) ## 000000B8 -/* 00680 80868350 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00684 80868354 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00 -/* 00688 80868358 00000000 */ nop -/* 0068C 8086835C 468021A0 */ cvt.s.w $f6, $f4 -/* 00690 80868360 46083302 */ mul.s $f12, $f6, $f8 -/* 00694 80868364 0C0343B5 */ jal Matrix_RotateZ -/* 00698 80868368 00000000 */ nop -/* 0069C 8086836C 3C018087 */ lui $at, %hi(D_80869B98) ## $at = 80870000 -/* 006A0 80868370 C42C9B98 */ lwc1 $f12, %lo(D_80869B98)($at) -/* 006A4 80868374 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 006A8 80868378 44066000 */ mfc1 $a2, $f12 -/* 006AC 8086837C 0C0342A3 */ jal Matrix_Scale -/* 006B0 80868380 46006386 */ mov.s $f14, $f12 -/* 006B4 80868384 8FAE0098 */ lw $t6, 0x0098($sp) -/* 006B8 80868388 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 006BC 8086838C C5D00164 */ lwc1 $f16, 0x0164($t6) ## 00000164 -/* 006C0 80868390 4610503C */ c.lt.s $f10, $f16 -/* 006C4 80868394 00000000 */ nop -/* 006C8 80868398 4502003A */ bc1fl .L80868484 -/* 006CC 8086839C 8FAE009C */ lw $t6, 0x009C($sp) -/* 006D0 808683A0 0C024DF0 */ jal func_800937C0 -/* 006D4 808683A4 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0 -/* 006D8 808683A8 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -/* 006DC 808683AC 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 006E0 808683B0 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 006E4 808683B4 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 006E8 808683B8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 006EC 808683BC 8FB90098 */ lw $t9, 0x0098($sp) -/* 006F0 808683C0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 006F4 808683C4 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 006F8 808683C8 C7200164 */ lwc1 $f0, 0x0164($t9) ## 00000164 -/* 006FC 808683CC 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00700 808683D0 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00 -/* 00704 808683D4 46120102 */ mul.s $f4, $f0, $f18 -/* 00708 808683D8 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 0070C 808683DC 44819000 */ mtc1 $at, $f18 ## $f18 = 150.00 -/* 00710 808683E0 46004282 */ mul.s $f10, $f8, $f0 -/* 00714 808683E4 4600218D */ trunc.w.s $f6, $f4 -/* 00718 808683E8 46009102 */ mul.s $f4, $f18, $f0 -/* 0071C 808683EC 440E3000 */ mfc1 $t6, $f6 -/* 00720 808683F0 4600540D */ trunc.w.s $f16, $f10 -/* 00724 808683F4 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000 -/* 00728 808683F8 000FC400 */ sll $t8, $t7, 16 -/* 0072C 808683FC 4600218D */ trunc.w.s $f6, $f4 -/* 00730 80868400 440D8000 */ mfc1 $t5, $f16 -/* 00734 80868404 00000000 */ nop -/* 00738 80868408 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000 -/* 0073C 8086840C 000E7A00 */ sll $t7, $t6, 8 -/* 00740 80868410 440E3000 */ mfc1 $t6, $f6 -/* 00744 80868414 030FC825 */ or $t9, $t8, $t7 ## $t9 = FA000000 -/* 00748 80868418 3C0DE300 */ lui $t5, 0xE300 ## $t5 = E3000000 -/* 0074C 8086841C 31D800FF */ andi $t8, $t6, 0x00FF ## $t8 = 00000000 -/* 00750 80868420 03387825 */ or $t7, $t9, $t8 ## $t7 = FA000000 -/* 00754 80868424 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00758 80868428 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0075C 8086842C 240E0030 */ addiu $t6, $zero, 0x0030 ## $t6 = 00000030 -/* 00760 80868430 35AD1A01 */ ori $t5, $t5, 0x1A01 ## $t5 = E3001A01 -/* 00764 80868434 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00768 80868438 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 0076C 8086843C AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 00770 80868440 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00774 80868444 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00778 80868448 3C18E300 */ lui $t8, 0xE300 ## $t8 = E3000000 -/* 0077C 8086844C 37181801 */ ori $t8, $t8, 0x1801 ## $t8 = E3001801 -/* 00780 80868450 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00784 80868454 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 00788 80868458 240F00C0 */ addiu $t7, $zero, 0x00C0 ## $t7 = 000000C0 -/* 0078C 8086845C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00790 80868460 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00794 80868464 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00798 80868468 3C0DF64F */ lui $t5, 0xF64F ## $t5 = F64F0000 -/* 0079C 8086846C 35ADC3BC */ ori $t5, $t5, 0xC3BC ## $t5 = F64FC3BC -/* 007A0 80868470 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 007A4 80868474 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 007A8 80868478 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 007AC 8086847C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 007B0 80868480 8FAE009C */ lw $t6, 0x009C($sp) -.L80868484: -/* 007B4 80868484 0C024F61 */ jal func_80093D84 -/* 007B8 80868488 8DC40000 */ lw $a0, 0x0000($t6) ## 00000030 -/* 007BC 8086848C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 007C0 80868490 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 007C4 80868494 37188080 */ ori $t8, $t8, 0x8080 ## $t8 = FA008080 -/* 007C8 80868498 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 007CC 8086849C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 007D0 808684A0 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 007D4 808684A4 8FAF0098 */ lw $t7, 0x0098($sp) -/* 007D8 808684A8 3C01AAFF */ lui $at, 0xAAFF ## $at = AAFF0000 -/* 007DC 808684AC 3421FF00 */ ori $at, $at, 0xFF00 ## $at = AAFFFF00 -/* 007E0 808684B0 91ED0150 */ lbu $t5, 0x0150($t7) ## 00000150 -/* 007E4 808684B4 340FFF80 */ ori $t7, $zero, 0xFF80 ## $t7 = 0000FF80 -/* 007E8 808684B8 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000 -/* 007EC 808684BC 01A17025 */ or $t6, $t5, $at ## $t6 = AAFFFF00 -/* 007F0 808684C0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 007F4 808684C4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 007F8 808684C8 24044000 */ addiu $a0, $zero, 0x4000 ## $a0 = 00004000 -/* 007FC 808684CC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00800 808684D0 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00804 808684D4 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 00808 808684D8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 0080C 808684DC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00810 808684E0 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00814 808684E4 0C034421 */ jal Matrix_RotateZYX -/* 00818 808684E8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 0081C 808684EC 8FAC0098 */ lw $t4, 0x0098($sp) -/* 00820 808684F0 3C018087 */ lui $at, %hi(D_80869B9C) ## $at = 80870000 -/* 00824 808684F4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00828 808684F8 958D014E */ lhu $t5, 0x014E($t4) ## 0000014E -/* 0082C 808684FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00830 80868500 51A00009 */ beql $t5, $zero, .L80868528 -/* 00834 80868504 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00838 80868508 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 0083C 8086850C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00840 80868510 44066000 */ mfc1 $a2, $f12 -/* 00844 80868514 0C034261 */ jal Matrix_Translate -/* 00848 80868518 46006386 */ mov.s $f14, $f12 -/* 0084C 8086851C 10000005 */ beq $zero, $zero, .L80868534 -/* 00850 80868520 8FAE0098 */ lw $t6, 0x0098($sp) -/* 00854 80868524 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -.L80868528: -/* 00858 80868528 0C034261 */ jal Matrix_Translate -/* 0085C 8086852C C42E9B9C */ lwc1 $f14, %lo(D_80869B9C)($at) -/* 00860 80868530 8FAE0098 */ lw $t6, 0x0098($sp) -.L80868534: -/* 00864 80868534 3C018087 */ lui $at, %hi(D_80869BA0) ## $at = 80870000 -/* 00868 80868538 C4309BA0 */ lwc1 $f16, %lo(D_80869BA0)($at) -/* 0086C 8086853C 85D9014C */ lh $t9, 0x014C($t6) ## 0000014C -/* 00870 80868540 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00874 80868544 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00 -/* 00878 80868548 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 0087C 8086854C C5D20160 */ lwc1 $f18, 0x0160($t6) ## 00000160 -/* 00880 80868550 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00884 80868554 468042A0 */ cvt.s.w $f10, $f8 -/* 00888 80868558 46105302 */ mul.s $f12, $f10, $f16 -/* 0088C 8086855C 44066000 */ mfc1 $a2, $f12 -/* 00890 80868560 46049382 */ mul.s $f14, $f18, $f4 -/* 00894 80868564 0C0342A3 */ jal Matrix_Scale -/* 00898 80868568 00000000 */ nop -/* 0089C 8086856C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 008A0 80868570 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000 -/* 008A4 80868574 44817000 */ mtc1 $at, $f14 ## $f14 = -700.00 -/* 008A8 80868578 44066000 */ mfc1 $a2, $f12 -/* 008AC 8086857C 0C034261 */ jal Matrix_Translate -/* 008B0 80868580 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 008B4 80868584 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008B8 80868588 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 008BC 8086858C 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 008C0 80868590 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 008C4 80868594 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 008C8 80868598 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 008CC 8086859C 8FAC009C */ lw $t4, 0x009C($sp) -/* 008D0 808685A0 3C058087 */ lui $a1, %hi(D_80869B50) ## $a1 = 80870000 -/* 008D4 808685A4 24A59B50 */ addiu $a1, $a1, %lo(D_80869B50) ## $a1 = 80869B50 -/* 008D8 808685A8 8D840000 */ lw $a0, 0x0000($t4) ## 00000000 -/* 008DC 808685AC 24060294 */ addiu $a2, $zero, 0x0294 ## $a2 = 00000294 -/* 008E0 808685B0 0C0346A2 */ jal Matrix_NewMtx -/* 008E4 808685B4 AFA20054 */ sw $v0, 0x0054($sp) -/* 008E8 808685B8 8FA30054 */ lw $v1, 0x0054($sp) -/* 008EC 808685BC 3C198087 */ lui $t9, %hi(D_80869970) ## $t9 = 80870000 -/* 008F0 808685C0 27399970 */ addiu $t9, $t9, %lo(D_80869970) ## $t9 = 80869970 -/* 008F4 808685C4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 008F8 808685C8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008FC 808685CC 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00900 808685D0 240901FF */ addiu $t1, $zero, 0x01FF ## $t1 = 000001FF -/* 00904 808685D4 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00908 808685D8 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 0090C 808685DC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00910 808685E0 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 00914 808685E4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00918 808685E8 8FAB0088 */ lw $t3, 0x0088($sp) -/* 0091C 808685EC 240D0080 */ addiu $t5, $zero, 0x0080 ## $t5 = 00000080 -/* 00920 808685F0 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00924 808685F4 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00928 808685F8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 0092C 808685FC 8FB8009C */ lw $t8, 0x009C($sp) -/* 00930 80868600 000B7880 */ sll $t7, $t3, 2 -/* 00934 80868604 01EB7821 */ addu $t7, $t7, $t3 -/* 00938 80868608 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 0093C 8086860C 000BC080 */ sll $t8, $t3, 2 -/* 00940 80868610 31EC01FF */ andi $t4, $t7, 0x01FF ## $t4 = 00000000 -/* 00944 80868614 030BC021 */ addu $t8, $t8, $t3 -/* 00948 80868618 0018C040 */ sll $t8, $t8, 1 -/* 0094C 8086861C 330F01FF */ andi $t7, $t8, 0x01FF ## $t7 = 00000000 -/* 00950 80868620 012C3023 */ subu $a2, $t1, $t4 -/* 00954 80868624 AFAD0010 */ sw $t5, 0x0010($sp) -/* 00958 80868628 240D0010 */ addiu $t5, $zero, 0x0010 ## $t5 = 00000010 -/* 0095C 8086862C 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004 -/* 00960 80868630 012F1823 */ subu $v1, $t1, $t7 -/* 00964 80868634 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00968 80868638 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020 -/* 0096C 8086863C AFB90014 */ sw $t9, 0x0014($sp) -/* 00970 80868640 AFAE0018 */ sw $t6, 0x0018($sp) -/* 00974 80868644 AFA3001C */ sw $v1, 0x001C($sp) -/* 00978 80868648 AFA30020 */ sw $v1, 0x0020($sp) -/* 0097C 8086864C AFAC0024 */ sw $t4, 0x0024($sp) -/* 00980 80868650 AFAD0028 */ sw $t5, 0x0028($sp) -/* 00984 80868654 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00988 80868658 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 0098C 8086865C 0C0253D0 */ jal Draw_TwoTexScroll -/* 00990 80868660 AFA2004C */ sw $v0, 0x004C($sp) -/* 00994 80868664 8FA8004C */ lw $t0, 0x004C($sp) -/* 00998 80868668 3C188087 */ lui $t8, %hi(D_80869A20) ## $t8 = 80870000 -/* 0099C 8086866C 27189A20 */ addiu $t8, $t8, %lo(D_80869A20) ## $t8 = 80869A20 -/* 009A0 80868670 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 009A4 80868674 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 009A8 80868678 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 009AC 8086867C 3C068087 */ lui $a2, %hi(D_80869B64) ## $a2 = 80870000 -/* 009B0 80868680 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 009B4 80868684 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 009B8 80868688 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 009BC 8086868C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 009C0 80868690 8FAF009C */ lw $t7, 0x009C($sp) -/* 009C4 80868694 24C69B64 */ addiu $a2, $a2, %lo(D_80869B64) ## $a2 = 80869B64 -/* 009C8 80868698 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 009CC 8086869C 240702A4 */ addiu $a3, $zero, 0x02A4 ## $a3 = 000002A4 -/* 009D0 808686A0 0C031AD5 */ jal func_800C6B54 -/* 009D4 808686A4 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -.L808686A8: -/* 009D8 808686A8 8FBF003C */ lw $ra, 0x003C($sp) -.L808686AC: -/* 009DC 808686AC 8FB00038 */ lw $s0, 0x0038($sp) -/* 009E0 808686B0 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000 -/* 009E4 808686B4 03E00008 */ jr $ra -/* 009E8 808686B8 00000000 */ nop -/* 009EC 808686BC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s deleted file mode 100644 index 188497ebb0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowIce_Init -/* 00008 80867CD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80867CDC AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80867CE0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80867CE4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80867CE8 3C058087 */ lui $a1, %hi(D_80869B00) ## $a1 = 80870000 -/* 0001C 80867CEC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80867CF0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80867CF4 24A59B00 */ addiu $a1, $a1, %lo(D_80869B00) ## $a1 = 80869B00 -/* 00028 80867CF8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80867CFC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80867D00 3C058086 */ lui $a1, %hi(func_80867D98) ## $a1 = 80860000 -/* 00034 80867D04 A600014C */ sh $zero, 0x014C($s0) ## 0000014C -/* 00038 80867D08 24A57D98 */ addiu $a1, $a1, %lo(func_80867D98) ## $a1 = 80867D98 -/* 0003C 80867D0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80867D10 0C219F34 */ jal func_80867CD0 -/* 00044 80867D14 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -/* 00048 80867D18 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80867D1C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80867D20 0C00B58B */ jal Actor_SetScale - -/* 00054 80867D24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80867D28 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80867D2C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 -/* 00060 80867D30 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -/* 00064 80867D34 A600014E */ sh $zero, 0x014E($s0) ## 0000014E -/* 00068 80867D38 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164 -/* 0006C 80867D3C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80867D40 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80867D44 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80867D48 03E00008 */ jr $ra -/* 0007C 80867D4C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s deleted file mode 100644 index f82d10d8ed..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowIce_Update -/* 0052C 808681FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 80868200 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 80868204 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 80868208 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086820C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 80868210 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 80868214 10410003 */ beq $v0, $at, .L80868224 -/* 00548 80868218 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086821C 54410006 */ bnel $v0, $at, .L80868238 -/* 00550 80868220 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L80868224: -/* 00554 80868224 0C00B55C */ jal Actor_Kill - -/* 00558 80868228 00000000 */ nop -/* 0055C 8086822C 10000005 */ beq $zero, $zero, .L80868244 -/* 00560 80868230 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 80868234 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L80868238: -/* 00568 80868238 0320F809 */ jalr $ra, $t9 -/* 0056C 8086823C 00000000 */ nop -/* 00570 80868240 8FBF0014 */ lw $ra, 0x0014($sp) -.L80868244: -/* 00574 80868244 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 80868248 03E00008 */ jr $ra -/* 0057C 8086824C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s deleted file mode 100644 index c67b438181..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80867CD0 -/* 00000 80867CD0 03E00008 */ jr $ra -/* 00004 80867CD4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s deleted file mode 100644 index 8eefa1396e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80867D98 -/* 000C8 80867D98 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80867D9C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80867DA0 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80867DA4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80867DA8 10400004 */ beq $v0, $zero, .L80867DBC -/* 000DC 80867DAC 00000000 */ nop -/* 000E0 80867DB0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80867DB4 55C00006 */ bnel $t6, $zero, .L80867DD0 -/* 000E8 80867DB8 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80867DBC: -/* 000EC 80867DBC 0C00B55C */ jal Actor_Kill - -/* 000F0 80867DC0 00000000 */ nop -/* 000F4 80867DC4 1000002E */ beq $zero, $zero, .L80867E80 -/* 000F8 80867DC8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80867DCC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80867DD0: -/* 00100 80867DD0 2861000A */ slti $at, $v1, 0x000A -/* 00104 80867DD4 10200002 */ beq $at, $zero, .L80867DE0 -/* 00108 80867DD8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80867DDC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C -.L80867DE0: -/* 00110 80867DE0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80867DE4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80867DE8 2405007E */ addiu $a1, $zero, 0x007E ## $a1 = 0000007E -/* 0011C 80867DEC AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80867DF0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80867DF4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80867DF8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80867DFC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80867E00 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80867E04 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80867E08 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80867E0C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80867E10 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80867E14 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80867E18 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80867E1C AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80867E20 0C00BE5D */ jal func_8002F974 -/* 00154 80867E24 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80867E28 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80867E2C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80867E30 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80867E34 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80867E38 55400011 */ bnel $t2, $zero, .L80867E80 -/* 0016C 80867E3C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80867E40 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80867E44 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80867E48 3C058087 */ lui $a1, %hi(func_808680A8) ## $a1 = 80870000 -/* 0017C 80867E4C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00180 80867E50 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80867E54 24A580A8 */ addiu $a1, $a1, %lo(func_808680A8) ## $a1 = 808680A8 -/* 00188 80867E58 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158 -/* 0018C 80867E5C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80867E60 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C -/* 00194 80867E64 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C -/* 00198 80867E68 0C219F34 */ jal func_80867CD0 -/* 0019C 80867E6C AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80867E70 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80867E74 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80867E78 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150 -/* 001AC 80867E7C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80867E80: -/* 001B0 80867E80 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80867E84 03E00008 */ jr $ra -/* 001B8 80867E88 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s deleted file mode 100644 index 19eed90b19..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80867E8C -/* 001BC 80867E8C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80867E90 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80867E94 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80867E98 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80867E9C 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80867EA0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80867EA4 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80867EA8 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80867EAC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80867EB0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80867EB4 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80867EB8 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80867EBC 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80867EC0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80867EC4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80867EC8 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80867ECC 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80867ED0 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80867ED4 03E00008 */ jr $ra -/* 00208 80867ED8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s deleted file mode 100644 index 5db49a724a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_80867EDC -/* 0020C 80867EDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80867EE0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80867EE4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80867EE8 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80867EEC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80867EF0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80867EF4 3C018087 */ lui $at, %hi(D_80869B78) ## $at = 80870000 -/* 00228 80867EF8 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80867EFC 00000000 */ nop -/* 00230 80867F00 45000005 */ bc1f .L80867F18 -/* 00234 80867F04 00000000 */ nop -/* 00238 80867F08 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80867F0C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80867F10 10000012 */ beq $zero, $zero, .L80867F5C -/* 00244 80867F14 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80867F18: -/* 00248 80867F18 C4249B78 */ lwc1 $f4, %lo(D_80869B78)($at) -/* 0024C 80867F1C 3C018087 */ lui $at, %hi(D_80869B7C) ## $at = 80870000 -/* 00250 80867F20 4600203C */ c.lt.s $f4, $f0 -/* 00254 80867F24 00000000 */ nop -/* 00258 80867F28 45020006 */ bc1fl .L80867F44 -/* 0025C 80867F2C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80867F30 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80867F34 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80867F38 10000008 */ beq $zero, $zero, .L80867F5C -/* 0026C 80867F3C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -/* 00270 80867F40 46020181 */ sub.s $f6, $f0, $f2 -.L80867F44: -/* 00274 80867F44 C4289B7C */ lwc1 $f8, %lo(D_80869B7C)($at) -/* 00278 80867F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80867F4C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80867F50 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80867F54 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80867F58 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80867F5C: -/* 0028C 80867F5C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80867F60 10600029 */ beq $v1, $zero, .L80868008 -/* 00294 80867F64 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80867F68 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80867F6C 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80867F70 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E -/* 002A4 80867F74 14200024 */ bne $at, $zero, .L80868008 -/* 002A8 80867F78 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80867F7C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80867F80 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80867F84 3C018087 */ lui $at, %hi(D_80869B80) ## $at = 80870000 -/* 002B8 80867F88 C4269B80 */ lwc1 $f6, %lo(D_80869B80)($at) -/* 002BC 80867F8C 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80867F90 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80867F94 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80867F98 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80867F9C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80867FA0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80867FA4 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80867FA8 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160 -/* 002DC 80867FAC 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80867FB0 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80867FB4 00084080 */ sll $t0, $t0, 2 -/* 002E8 80867FB8 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80867FBC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80867FC0 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80867FC4 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80867FC8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 80867FCC 3C018087 */ lui $at, %hi(D_80869B84) ## $at = 80870000 -/* 00300 80867FD0 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80867FD4 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80867FD8 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 80867FDC 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80867FE0 44193000 */ mfc1 $t9, $f6 -/* 00314 80867FE4 00000000 */ nop -/* 00318 80867FE8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C -/* 0031C 80867FEC C4309B84 */ lwc1 $f16, %lo(D_80869B84)($at) -/* 00320 80867FF0 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80867FF4 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80867FF8 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 80867FFC 10200002 */ beq $at, $zero, .L80868008 -/* 00330 80868000 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160 -/* 00334 80868004 A0890150 */ sb $t1, 0x0150($a0) ## 00000150 -.L80868008: -/* 00338 80868008 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 8086800C 1420000E */ bne $at, $zero, .L80868048 -/* 00340 80868010 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80868014 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80868018 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 8086801C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 00350 80868020 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 80868024 4606003C */ c.lt.s $f0, $f6 -/* 00358 80868028 00000000 */ nop -/* 0035C 8086802C 45020012 */ bc1fl .L80868078 -/* 00360 80868030 28410008 */ slti $at, $v0, 0x0008 -/* 00364 80868034 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 80868038 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0036C 8086803C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 80868040 1000000C */ beq $zero, $zero, .L80868074 -/* 00374 80868044 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164 -.L80868048: -/* 00378 80868048 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 0037C 8086804C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 80868050 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 80868054 4600803C */ c.lt.s $f16, $f0 -/* 00388 80868058 00000000 */ nop -/* 0038C 8086805C 45020006 */ bc1fl .L80868078 -/* 00390 80868060 28410008 */ slti $at, $v0, 0x0008 -/* 00394 80868064 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 80868068 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0039C 8086806C 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 80868070 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164 -.L80868074: -/* 003A4 80868074 28410008 */ slti $at, $v0, 0x0008 -.L80868078: -/* 003A8 80868078 10200003 */ beq $at, $zero, .L80868088 -/* 003AC 8086807C 00000000 */ nop -/* 003B0 80868080 A0800150 */ sb $zero, 0x0150($a0) ## 00000150 -/* 003B4 80868084 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -.L80868088: -/* 003B8 80868088 54400004 */ bnel $v0, $zero, .L8086809C -/* 003BC 8086808C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 80868090 0C00B55C */ jal Actor_Kill - -/* 003C4 80868094 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E -/* 003C8 80868098 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086809C: -/* 003CC 8086809C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 808680A0 03E00008 */ jr $ra -/* 003D4 808680A4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s deleted file mode 100644 index 0707e0080f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_808680A8 -/* 003D8 808680A8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 808680AC AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 808680B0 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 808680B4 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 808680B8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 808680BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 808680C0 10400004 */ beq $v0, $zero, .L808680D4 -/* 003F4 808680C4 00000000 */ nop -/* 003F8 808680C8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 808680CC 55C00006 */ bnel $t6, $zero, .L808680E8 -/* 00400 808680D0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L808680D4: -/* 00404 808680D4 0C00B55C */ jal Actor_Kill - -/* 00408 808680D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 808680DC 10000043 */ beq $zero, $zero, .L808681EC -/* 00410 808680E0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 808680E4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L808680E8: -/* 00418 808680E8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 808680EC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154 -/* 00420 808680F0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 808680F4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 808680F8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 808680FC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 80868100 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 80868104 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 80868108 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086810C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 80868110 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 80868114 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 80868118 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086811C AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 80868120 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 80868124 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 80868128 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086812C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 80868130 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 80868134 3C018087 */ lui $at, %hi(D_80869B88) ## $at = 80870000 -/* 00468 80868138 C4249B88 */ lwc1 $f4, %lo(D_80869B88)($at) -/* 0046C 8086813C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 80868140 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 80868144 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 80868148 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086814C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 80868150 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 80868154 460C103C */ c.lt.s $f2, $f12 -/* 00488 80868158 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160 -/* 0048C 8086815C 45000002 */ bc1f .L80868168 -/* 00490 80868160 00000000 */ nop -/* 00494 80868164 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160 -.L80868168: -/* 00498 80868168 0C219FA3 */ jal func_80867E8C -/* 0049C 8086816C AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 80868170 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 80868174 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 80868178 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 8086817C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 80868180 5140000D */ beql $t2, $zero, .L808681B8 -/* 004B4 80868184 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 80868188 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 8086818C 2405183B */ addiu $a1, $zero, 0x183B ## $a1 = 0000183B -/* 004C0 80868190 3C058086 */ lui $a1, %hi(func_80867EDC) ## $a1 = 80860000 -/* 004C4 80868194 24A57EDC */ addiu $a1, $a1, %lo(func_80867EDC) ## $a1 = 80867EDC -/* 004C8 80868198 0C219F34 */ jal func_80867CD0 -/* 004CC 8086819C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 808681A0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 808681A4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 808681A8 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E -/* 004DC 808681AC 1000000E */ beq $zero, $zero, .L808681E8 -/* 004E0 808681B0 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150 -/* 004E4 808681B4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L808681B8: -/* 004E8 808681B8 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 808681BC 5020000B */ beql $at, $zero, .L808681EC -/* 004F0 808681C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 808681C4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 004F8 808681C8 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 808681CC 10200005 */ beq $at, $zero, .L808681E4 -/* 00500 808681D0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 808681D4 0C00B55C */ jal Actor_Kill - -/* 00508 808681D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 808681DC 10000003 */ beq $zero, $zero, .L808681EC -/* 00510 808681E0 8FBF001C */ lw $ra, 0x001C($sp) -.L808681E4: -/* 00514 808681E4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -.L808681E8: -/* 00518 808681E8 8FBF001C */ lw $ra, 0x001C($sp) -.L808681EC: -/* 0051C 808681EC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 808681F0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 808681F4 03E00008 */ jr $ra -/* 00528 808681F8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s deleted file mode 100644 index 95ba6ee6d9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel ArrowLight_Destroy -/* 00080 80869D30 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80869D34 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80869D38 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80869D3C 0C021DB2 */ jal func_800876C8 -/* 00090 80869D40 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80869D44 3C048087 */ lui $a0, %hi(D_8086BB00) ## $a0 = 80870000 -/* 00098 80869D48 2484BB00 */ addiu $a0, $a0, %lo(D_8086BB00) ## $a0 = 8086BB00 -/* 0009C 80869D4C 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80869D50 24050193 */ addiu $a1, $zero, 0x0193 ## $a1 = 00000193 -/* 000A4 80869D54 3C048087 */ lui $a0, %hi(D_8086BB14) ## $a0 = 80870000 -/* 000A8 80869D58 3C058087 */ lui $a1, %hi(D_8086BB24) ## $a1 = 80870000 -/* 000AC 80869D5C 24A5BB24 */ addiu $a1, $a1, %lo(D_8086BB24) ## $a1 = 8086BB24 -/* 000B0 80869D60 0C00084C */ jal osSyncPrintf - -/* 000B4 80869D64 2484BB14 */ addiu $a0, $a0, %lo(D_8086BB14) ## $a0 = 8086BB14 -/* 000B8 80869D68 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80869D6C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80869D70 03E00008 */ jr $ra -/* 000C4 80869D74 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s deleted file mode 100644 index d17143562b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s +++ /dev/null @@ -1,296 +0,0 @@ -glabel ArrowLight_Draw -/* 00580 8086A230 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 -/* 00584 8086A234 AFBF003C */ sw $ra, 0x003C($sp) -/* 00588 8086A238 AFB00038 */ sw $s0, 0x0038($sp) -/* 0058C 8086A23C AFA40098 */ sw $a0, 0x0098($sp) -/* 00590 8086A240 AFA5009C */ sw $a1, 0x009C($sp) -/* 00594 8086A244 8CAF009C */ lw $t7, 0x009C($a1) ## 0000009C -/* 00598 8086A248 AFAF008C */ sw $t7, 0x008C($sp) -/* 0059C 8086A24C 8C830118 */ lw $v1, 0x0118($a0) ## 00000118 -/* 005A0 8086A250 50600112 */ beql $v1, $zero, .L8086A69C -/* 005A4 8086A254 8FBF003C */ lw $ra, 0x003C($sp) -/* 005A8 8086A258 8C790130 */ lw $t9, 0x0130($v1) ## 00000130 -/* 005AC 8086A25C 5320010F */ beql $t9, $zero, .L8086A69C -/* 005B0 8086A260 8FBF003C */ lw $ra, 0x003C($sp) -/* 005B4 8086A264 948C014E */ lhu $t4, 0x014E($a0) ## 0000014E -/* 005B8 8086A268 3C068087 */ lui $a2, %hi(D_8086BB2C) ## $a2 = 80870000 -/* 005BC 8086A26C 24C6BB2C */ addiu $a2, $a2, %lo(D_8086BB2C) ## $a2 = 8086BB2C -/* 005C0 8086A270 298100FF */ slti $at, $t4, 0x00FF -/* 005C4 8086A274 10200108 */ beq $at, $zero, .L8086A698 -/* 005C8 8086A278 8FAF009C */ lw $t7, 0x009C($sp) -/* 005CC 8086A27C 906D0249 */ lbu $t5, 0x0249($v1) ## 00000249 -/* 005D0 8086A280 24070256 */ addiu $a3, $zero, 0x0256 ## $a3 = 00000256 -/* 005D4 8086A284 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000 -/* 005D8 8086A288 51C00004 */ beql $t6, $zero, .L8086A29C -/* 005DC 8086A28C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 005E0 8086A290 10000002 */ beq $zero, $zero, .L8086A29C -/* 005E4 8086A294 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000 -/* 005E8 8086A298 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -.L8086A29C: -/* 005EC 8086A29C 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 005F0 8086A2A0 AFA20084 */ sw $v0, 0x0084($sp) -/* 005F4 8086A2A4 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 005F8 8086A2A8 0C031AB1 */ jal func_800C6AC4 -/* 005FC 8086A2AC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00600 8086A2B0 8FA20084 */ lw $v0, 0x0084($sp) -/* 00604 8086A2B4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00608 8086A2B8 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024 -/* 0060C 8086A2BC C44E0028 */ lwc1 $f14, 0x0028($v0) ## 00000028 -/* 00610 8086A2C0 0C034261 */ jal Matrix_Translate -/* 00614 8086A2C4 8C46002C */ lw $a2, 0x002C($v0) ## 0000002C -/* 00618 8086A2C8 8FA20084 */ lw $v0, 0x0084($sp) -/* 0061C 8086A2CC 3C018087 */ lui $at, %hi(D_8086BB7C) ## $at = 80870000 -/* 00620 8086A2D0 C428BB7C */ lwc1 $f8, %lo(D_8086BB7C)($at) -/* 00624 8086A2D4 845800B6 */ lh $t8, 0x00B6($v0) ## 000000B6 -/* 00628 8086A2D8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0062C 8086A2DC 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 00630 8086A2E0 00000000 */ nop -/* 00634 8086A2E4 468021A0 */ cvt.s.w $f6, $f4 -/* 00638 8086A2E8 46083302 */ mul.s $f12, $f6, $f8 -/* 0063C 8086A2EC 0C034348 */ jal Matrix_RotateY -/* 00640 8086A2F0 00000000 */ nop -/* 00644 8086A2F4 8FA20084 */ lw $v0, 0x0084($sp) -/* 00648 8086A2F8 3C018087 */ lui $at, %hi(D_8086BB80) ## $at = 80870000 -/* 0064C 8086A2FC C432BB80 */ lwc1 $f18, %lo(D_8086BB80)($at) -/* 00650 8086A300 845900B4 */ lh $t9, 0x00B4($v0) ## 000000B4 -/* 00654 8086A304 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00658 8086A308 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 0065C 8086A30C 00000000 */ nop -/* 00660 8086A310 46805420 */ cvt.s.w $f16, $f10 -/* 00664 8086A314 46128302 */ mul.s $f12, $f16, $f18 -/* 00668 8086A318 0C0342DC */ jal Matrix_RotateX -/* 0066C 8086A31C 00000000 */ nop -/* 00670 8086A320 8FA20084 */ lw $v0, 0x0084($sp) -/* 00674 8086A324 3C018087 */ lui $at, %hi(D_8086BB84) ## $at = 80870000 -/* 00678 8086A328 C428BB84 */ lwc1 $f8, %lo(D_8086BB84)($at) -/* 0067C 8086A32C 844B00B8 */ lh $t3, 0x00B8($v0) ## 000000B8 -/* 00680 8086A330 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00684 8086A334 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 00688 8086A338 00000000 */ nop -/* 0068C 8086A33C 468021A0 */ cvt.s.w $f6, $f4 -/* 00690 8086A340 46083302 */ mul.s $f12, $f6, $f8 -/* 00694 8086A344 0C0343B5 */ jal Matrix_RotateZ -/* 00698 8086A348 00000000 */ nop -/* 0069C 8086A34C 3C018087 */ lui $at, %hi(D_8086BB88) ## $at = 80870000 -/* 006A0 8086A350 C42CBB88 */ lwc1 $f12, %lo(D_8086BB88)($at) -/* 006A4 8086A354 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 006A8 8086A358 44066000 */ mfc1 $a2, $f12 -/* 006AC 8086A35C 0C0342A3 */ jal Matrix_Scale -/* 006B0 8086A360 46006386 */ mov.s $f14, $f12 -/* 006B4 8086A364 8FAC0098 */ lw $t4, 0x0098($sp) -/* 006B8 8086A368 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 006BC 8086A36C C5900164 */ lwc1 $f16, 0x0164($t4) ## 00000164 -/* 006C0 8086A370 4610503C */ c.lt.s $f10, $f16 -/* 006C4 8086A374 00000000 */ nop -/* 006C8 8086A378 45020039 */ bc1fl .L8086A460 -/* 006CC 8086A37C 8FAE009C */ lw $t6, 0x009C($sp) -/* 006D0 8086A380 0C024DF0 */ jal func_800937C0 -/* 006D4 8086A384 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0 -/* 006D8 8086A388 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -/* 006DC 8086A38C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 006E0 8086A390 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 006E4 8086A394 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000 -/* 006E8 8086A398 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 006EC 8086A39C 8FAF0098 */ lw $t7, 0x0098($sp) -/* 006F0 8086A3A0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 006F4 8086A3A4 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00 -/* 006F8 8086A3A8 C5E00164 */ lwc1 $f0, 0x0164($t7) ## 00000164 -/* 006FC 8086A3AC 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00700 8086A3B0 44814000 */ mtc1 $at, $f8 ## $f8 = 40.00 -/* 00704 8086A3B4 46120102 */ mul.s $f4, $f0, $f18 -/* 00708 8086A3B8 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 0070C 8086A3BC 44819000 */ mtc1 $at, $f18 ## $f18 = 150.00 -/* 00710 8086A3C0 46004282 */ mul.s $f10, $f8, $f0 -/* 00714 8086A3C4 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000 -/* 00718 8086A3C8 35CE1A01 */ ori $t6, $t6, 0x1A01 ## $t6 = E3001A01 -/* 0071C 8086A3CC 240F0030 */ addiu $t7, $zero, 0x0030 ## $t7 = 00000030 -/* 00720 8086A3D0 4600218D */ trunc.w.s $f6, $f4 -/* 00724 8086A3D4 46009102 */ mul.s $f4, $f18, $f0 -/* 00728 8086A3D8 440C3000 */ mfc1 $t4, $f6 -/* 0072C 8086A3DC 4600540D */ trunc.w.s $f16, $f10 -/* 00730 8086A3E0 000C6E00 */ sll $t5, $t4, 24 -/* 00734 8086A3E4 4600218D */ trunc.w.s $f6, $f4 -/* 00738 8086A3E8 44188000 */ mfc1 $t8, $f16 -/* 0073C 8086A3EC 00000000 */ nop -/* 00740 8086A3F0 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000 -/* 00744 8086A3F4 44183000 */ mfc1 $t8, $f6 -/* 00748 8086A3F8 00195C00 */ sll $t3, $t9, 16 -/* 0074C 8086A3FC 01AB6025 */ or $t4, $t5, $t3 ## $t4 = 00000008 -/* 00750 8086A400 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000 -/* 00754 8086A404 01996825 */ or $t5, $t4, $t9 ## $t5 = 00000008 -/* 00758 8086A408 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 0075C 8086A40C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00760 8086A410 3C0CE300 */ lui $t4, 0xE300 ## $t4 = E3000000 -/* 00764 8086A414 358C1801 */ ori $t4, $t4, 0x1801 ## $t4 = E3001801 -/* 00768 8086A418 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0076C 8086A41C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00770 8086A420 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00774 8086A424 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00778 8086A428 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0077C 8086A42C 241900C0 */ addiu $t9, $zero, 0x00C0 ## $t9 = 000000C0 -/* 00780 8086A430 3C0BF64F */ lui $t3, 0xF64F ## $t3 = F64F0000 -/* 00784 8086A434 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00788 8086A438 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 0078C 8086A43C AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 00790 8086A440 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00794 8086A444 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00798 8086A448 356BC3BC */ ori $t3, $t3, 0xC3BC ## $t3 = F64FC3BC -/* 0079C 8086A44C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 007A0 8086A450 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 007A4 8086A454 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 007A8 8086A458 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 007AC 8086A45C 8FAE009C */ lw $t6, 0x009C($sp) -.L8086A460: -/* 007B0 8086A460 0C024F61 */ jal func_80093D84 -/* 007B4 8086A464 8DC40000 */ lw $a0, 0x0000($t6) ## E3001A01 -/* 007B8 8086A468 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 007BC 8086A46C 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 007C0 8086A470 37188080 */ ori $t8, $t8, 0x8080 ## $t8 = FA008080 -/* 007C4 8086A474 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 007C8 8086A478 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 007CC 8086A47C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 007D0 8086A480 8FAC0098 */ lw $t4, 0x0098($sp) -/* 007D4 8086A484 2401AA00 */ addiu $at, $zero, 0xAA00 ## $at = FFFFAA00 -/* 007D8 8086A488 3C18FFFF */ lui $t8, 0xFFFF ## $t8 = FFFF0000 -/* 007DC 8086A48C 918D0150 */ lbu $t5, 0x0150($t4) ## 00000150 -/* 007E0 8086A490 37180080 */ ori $t8, $t8, 0x0080 ## $t8 = FFFF0080 -/* 007E4 8086A494 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000 -/* 007E8 8086A498 01A15825 */ or $t3, $t5, $at ## $t3 = FFFFAA00 -/* 007EC 8086A49C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 007F0 8086A4A0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 007F4 8086A4A4 24044000 */ addiu $a0, $zero, 0x4000 ## $a0 = 00004000 -/* 007F8 8086A4A8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 007FC 8086A4AC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00800 8086A4B0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00804 8086A4B4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00808 8086A4B8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0080C 8086A4BC AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00810 8086A4C0 0C034421 */ jal Matrix_RotateZYX -/* 00814 8086A4C4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00818 8086A4C8 8FAC0098 */ lw $t4, 0x0098($sp) -/* 0081C 8086A4CC 3C018087 */ lui $at, %hi(D_8086BB8C) ## $at = 80870000 -/* 00820 8086A4D0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00824 8086A4D4 9599014E */ lhu $t9, 0x014E($t4) ## 0000014E -/* 00828 8086A4D8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0082C 8086A4DC 53200009 */ beql $t9, $zero, .L8086A504 -/* 00830 8086A4E0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00834 8086A4E4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00838 8086A4E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0083C 8086A4EC 44066000 */ mfc1 $a2, $f12 -/* 00840 8086A4F0 0C034261 */ jal Matrix_Translate -/* 00844 8086A4F4 46006386 */ mov.s $f14, $f12 -/* 00848 8086A4F8 10000005 */ beq $zero, $zero, .L8086A510 -/* 0084C 8086A4FC 8FAD0098 */ lw $t5, 0x0098($sp) -/* 00850 8086A500 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -.L8086A504: -/* 00854 8086A504 0C034261 */ jal Matrix_Translate -/* 00858 8086A508 C42EBB8C */ lwc1 $f14, %lo(D_8086BB8C)($at) -/* 0085C 8086A50C 8FAD0098 */ lw $t5, 0x0098($sp) -.L8086A510: -/* 00860 8086A510 3C018087 */ lui $at, %hi(D_8086BB90) ## $at = 80870000 -/* 00864 8086A514 C430BB90 */ lwc1 $f16, %lo(D_8086BB90)($at) -/* 00868 8086A518 85AB014C */ lh $t3, 0x014C($t5) ## 0000014C -/* 0086C 8086A51C 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 00870 8086A520 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00 -/* 00874 8086A524 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00 -/* 00878 8086A528 C5B20160 */ lwc1 $f18, 0x0160($t5) ## 00000160 -/* 0087C 8086A52C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00880 8086A530 468042A0 */ cvt.s.w $f10, $f8 -/* 00884 8086A534 46105302 */ mul.s $f12, $f10, $f16 -/* 00888 8086A538 44066000 */ mfc1 $a2, $f12 -/* 0088C 8086A53C 46049382 */ mul.s $f14, $f18, $f4 -/* 00890 8086A540 0C0342A3 */ jal Matrix_Scale -/* 00894 8086A544 00000000 */ nop -/* 00898 8086A548 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 0089C 8086A54C 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000 -/* 008A0 8086A550 44817000 */ mtc1 $at, $f14 ## $f14 = -700.00 -/* 008A4 8086A554 44066000 */ mfc1 $a2, $f12 -/* 008A8 8086A558 0C034261 */ jal Matrix_Translate -/* 008AC 8086A55C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 008B0 8086A560 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008B4 8086A564 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 008B8 8086A568 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 008BC 8086A56C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 008C0 8086A570 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 008C4 8086A574 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 008C8 8086A578 8FB8009C */ lw $t8, 0x009C($sp) -/* 008CC 8086A57C 3C058087 */ lui $a1, %hi(D_8086BB40) ## $a1 = 80870000 -/* 008D0 8086A580 24A5BB40 */ addiu $a1, $a1, %lo(D_8086BB40) ## $a1 = 8086BB40 -/* 008D4 8086A584 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 008D8 8086A588 24060288 */ addiu $a2, $zero, 0x0288 ## $a2 = 00000288 -/* 008DC 8086A58C 0C0346A2 */ jal Matrix_NewMtx -/* 008E0 8086A590 AFA20054 */ sw $v0, 0x0054($sp) -/* 008E4 8086A594 8FA30054 */ lw $v1, 0x0054($sp) -/* 008E8 8086A598 3C198087 */ lui $t9, %hi(D_8086B960) ## $t9 = 80870000 -/* 008EC 8086A59C 2739B960 */ addiu $t9, $t9, %lo(D_8086B960) ## $t9 = 8086B960 -/* 008F0 8086A5A0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 008F4 8086A5A4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008F8 8086A5A8 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 008FC 8086A5AC 240301FF */ addiu $v1, $zero, 0x01FF ## $v1 = 000001FF -/* 00900 8086A5B0 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00904 8086A5B4 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 00908 8086A5B8 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 0090C 8086A5BC AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 00910 8086A5C0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00914 8086A5C4 8FAA008C */ lw $t2, 0x008C($sp) -/* 00918 8086A5C8 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004 -/* 0091C 8086A5CC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00920 8086A5D0 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00924 8086A5D4 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00928 8086A5D8 8FAD009C */ lw $t5, 0x009C($sp) -/* 0092C 8086A5DC 000A7080 */ sll $t6, $t2, 2 -/* 00930 8086A5E0 01CA7021 */ addu $t6, $t6, $t2 -/* 00934 8086A5E4 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000 -/* 00938 8086A5E8 31CF01FF */ andi $t7, $t6, 0x01FF ## $t7 = 00000000 -/* 0093C 8086A5EC 006F3023 */ subu $a2, $v1, $t7 -/* 00940 8086A5F0 000A5880 */ sll $t3, $t2, 2 -/* 00944 8086A5F4 016A5821 */ addu $t3, $t3, $t2 -/* 00948 8086A5F8 000A7900 */ sll $t7, $t2, 4 -/* 0094C 8086A5FC 000B5840 */ sll $t3, $t3, 1 -/* 00950 8086A600 01EA7823 */ subu $t7, $t7, $t2 -/* 00954 8086A604 000F7840 */ sll $t7, $t7, 1 -/* 00958 8086A608 316D01FF */ andi $t5, $t3, 0x01FF ## $t5 = 00000008 -/* 0095C 8086A60C AFB80010 */ sw $t8, 0x0010($sp) -/* 00960 8086A610 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00964 8086A614 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020 -/* 00968 8086A618 AFAC0014 */ sw $t4, 0x0014($sp) -/* 0096C 8086A61C AFB90018 */ sw $t9, 0x0018($sp) -/* 00970 8086A620 31F801FF */ andi $t8, $t7, 0x01FF ## $t8 = 00000000 -/* 00974 8086A624 00786023 */ subu $t4, $v1, $t8 -/* 00978 8086A628 24190008 */ addiu $t9, $zero, 0x0008 ## $t9 = 00000008 -/* 0097C 8086A62C 006D7023 */ subu $t6, $v1, $t5 -/* 00980 8086A630 240B0010 */ addiu $t3, $zero, 0x0010 ## $t3 = 00000010 -/* 00984 8086A634 AFAB0028 */ sw $t3, 0x0028($sp) -/* 00988 8086A638 AFAE001C */ sw $t6, 0x001C($sp) -/* 0098C 8086A63C AFB90024 */ sw $t9, 0x0024($sp) -/* 00990 8086A640 AFAC0020 */ sw $t4, 0x0020($sp) -/* 00994 8086A644 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00998 8086A648 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 0099C 8086A64C 0C0253D0 */ jal Draw_TwoTexScroll -/* 009A0 8086A650 AFA2004C */ sw $v0, 0x004C($sp) -/* 009A4 8086A654 8FA8004C */ lw $t0, 0x004C($sp) -/* 009A8 8086A658 3C0F8087 */ lui $t7, %hi(D_8086BA10) ## $t7 = 80870000 -/* 009AC 8086A65C 25EFBA10 */ addiu $t7, $t7, %lo(D_8086BA10) ## $t7 = 8086BA10 -/* 009B0 8086A660 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 009B4 8086A664 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 009B8 8086A668 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 009BC 8086A66C 3C068087 */ lui $a2, %hi(D_8086BB54) ## $a2 = 80870000 -/* 009C0 8086A670 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 009C4 8086A674 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 009C8 8086A678 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 009CC 8086A67C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 009D0 8086A680 8FB8009C */ lw $t8, 0x009C($sp) -/* 009D4 8086A684 24C6BB54 */ addiu $a2, $a2, %lo(D_8086BB54) ## $a2 = 8086BB54 -/* 009D8 8086A688 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD8 -/* 009DC 8086A68C 24070298 */ addiu $a3, $zero, 0x0298 ## $a3 = 00000298 -/* 009E0 8086A690 0C031AD5 */ jal func_800C6B54 -/* 009E4 8086A694 8F050000 */ lw $a1, 0x0000($t8) ## 00000000 -.L8086A698: -/* 009E8 8086A698 8FBF003C */ lw $ra, 0x003C($sp) -.L8086A69C: -/* 009EC 8086A69C 8FB00038 */ lw $s0, 0x0038($sp) -/* 009F0 8086A6A0 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000 -/* 009F4 8086A6A4 03E00008 */ jr $ra -/* 009F8 8086A6A8 00000000 */ nop -/* 009FC 8086A6AC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s deleted file mode 100644 index cc8f959a4f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowLight_Init -/* 00008 80869CB8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80869CBC AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80869CC0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80869CC4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80869CC8 3C058087 */ lui $a1, %hi(D_8086BAF0) ## $a1 = 80870000 -/* 0001C 80869CCC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80869CD0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80869CD4 24A5BAF0 */ addiu $a1, $a1, %lo(D_8086BAF0) ## $a1 = 8086BAF0 -/* 00028 80869CD8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80869CDC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80869CE0 3C058087 */ lui $a1, %hi(func_80869D78) ## $a1 = 80870000 -/* 00034 80869CE4 A600014C */ sh $zero, 0x014C($s0) ## 0000014C -/* 00038 80869CE8 24A59D78 */ addiu $a1, $a1, %lo(func_80869D78) ## $a1 = 80869D78 -/* 0003C 80869CEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80869CF0 0C21A72C */ jal func_80869CB0 -/* 00044 80869CF4 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -/* 00048 80869CF8 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80869CFC 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80869D00 0C00B58B */ jal Actor_SetScale - -/* 00054 80869D04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80869D08 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80869D0C 240E0082 */ addiu $t6, $zero, 0x0082 ## $t6 = 00000082 -/* 00060 80869D10 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -/* 00064 80869D14 A600014E */ sh $zero, 0x014E($s0) ## 0000014E -/* 00068 80869D18 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164 -/* 0006C 80869D1C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80869D20 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80869D24 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80869D28 03E00008 */ jr $ra -/* 0007C 80869D2C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s deleted file mode 100644 index 9357b7f1f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowLight_Update -/* 0052C 8086A1DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 8086A1E0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 8086A1E4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 8086A1E8 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086A1EC 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 8086A1F0 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 8086A1F4 10410003 */ beq $v0, $at, .L8086A204 -/* 00548 8086A1F8 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086A1FC 54410006 */ bnel $v0, $at, .L8086A218 -/* 00550 8086A200 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L8086A204: -/* 00554 8086A204 0C00B55C */ jal Actor_Kill - -/* 00558 8086A208 00000000 */ nop -/* 0055C 8086A20C 10000005 */ beq $zero, $zero, .L8086A224 -/* 00560 8086A210 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 8086A214 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L8086A218: -/* 00568 8086A218 0320F809 */ jalr $ra, $t9 -/* 0056C 8086A21C 00000000 */ nop -/* 00570 8086A220 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086A224: -/* 00574 8086A224 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 8086A228 03E00008 */ jr $ra -/* 0057C 8086A22C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s deleted file mode 100644 index 8b54394d72..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80869CB0 -/* 00000 80869CB0 03E00008 */ jr $ra -/* 00004 80869CB4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s deleted file mode 100644 index d412f9e701..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80869D78 -/* 000C8 80869D78 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80869D7C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80869D80 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80869D84 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80869D88 10400004 */ beq $v0, $zero, .L80869D9C -/* 000DC 80869D8C 00000000 */ nop -/* 000E0 80869D90 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80869D94 55C00006 */ bnel $t6, $zero, .L80869DB0 -/* 000E8 80869D98 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80869D9C: -/* 000EC 80869D9C 0C00B55C */ jal Actor_Kill - -/* 000F0 80869DA0 00000000 */ nop -/* 000F4 80869DA4 1000002E */ beq $zero, $zero, .L80869E60 -/* 000F8 80869DA8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80869DAC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80869DB0: -/* 00100 80869DB0 2861000A */ slti $at, $v1, 0x000A -/* 00104 80869DB4 10200002 */ beq $at, $zero, .L80869DC0 -/* 00108 80869DB8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80869DBC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C -.L80869DC0: -/* 00110 80869DC0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80869DC4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80869DC8 2405007F */ addiu $a1, $zero, 0x007F ## $a1 = 0000007F -/* 0011C 80869DCC AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80869DD0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80869DD4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80869DD8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80869DDC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80869DE0 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80869DE4 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80869DE8 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80869DEC B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80869DF0 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80869DF4 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80869DF8 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80869DFC AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80869E00 0C00BE5D */ jal func_8002F974 -/* 00154 80869E04 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80869E08 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80869E0C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80869E10 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80869E14 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80869E18 55400011 */ bnel $t2, $zero, .L80869E60 -/* 0016C 80869E1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80869E20 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80869E24 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80869E28 3C058087 */ lui $a1, %hi(func_8086A088) ## $a1 = 80870000 -/* 0017C 80869E2C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00180 80869E30 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80869E34 24A5A088 */ addiu $a1, $a1, %lo(func_8086A088) ## $a1 = 8086A088 -/* 00188 80869E38 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158 -/* 0018C 80869E3C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80869E40 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C -/* 00194 80869E44 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C -/* 00198 80869E48 0C21A72C */ jal func_80869CB0 -/* 0019C 80869E4C AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80869E50 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80869E54 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80869E58 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150 -/* 001AC 80869E5C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80869E60: -/* 001B0 80869E60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80869E64 03E00008 */ jr $ra -/* 001B8 80869E68 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s deleted file mode 100644 index 9a70855be0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80869E6C -/* 001BC 80869E6C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80869E70 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80869E74 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80869E78 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80869E7C 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80869E80 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80869E84 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80869E88 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80869E8C E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80869E90 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80869E94 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80869E98 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80869E9C 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80869EA0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80869EA4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80869EA8 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80869EAC 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80869EB0 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80869EB4 03E00008 */ jr $ra -/* 00208 80869EB8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s deleted file mode 100644 index 209e6c0196..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_80869EBC -/* 0020C 80869EBC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80869EC0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80869EC4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80869EC8 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80869ECC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80869ED0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80869ED4 3C018087 */ lui $at, %hi(D_8086BB68) ## $at = 80870000 -/* 00228 80869ED8 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80869EDC 00000000 */ nop -/* 00230 80869EE0 45000005 */ bc1f .L80869EF8 -/* 00234 80869EE4 00000000 */ nop -/* 00238 80869EE8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80869EEC 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80869EF0 10000012 */ beq $zero, $zero, .L80869F3C -/* 00244 80869EF4 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80869EF8: -/* 00248 80869EF8 C424BB68 */ lwc1 $f4, %lo(D_8086BB68)($at) -/* 0024C 80869EFC 3C018087 */ lui $at, %hi(D_8086BB6C) ## $at = 80870000 -/* 00250 80869F00 4600203C */ c.lt.s $f4, $f0 -/* 00254 80869F04 00000000 */ nop -/* 00258 80869F08 45020006 */ bc1fl .L80869F24 -/* 0025C 80869F0C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80869F10 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80869F14 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80869F18 10000008 */ beq $zero, $zero, .L80869F3C -/* 0026C 80869F1C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -/* 00270 80869F20 46020181 */ sub.s $f6, $f0, $f2 -.L80869F24: -/* 00274 80869F24 C428BB6C */ lwc1 $f8, %lo(D_8086BB6C)($at) -/* 00278 80869F28 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80869F2C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80869F30 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80869F34 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80869F38 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80869F3C: -/* 0028C 80869F3C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80869F40 10600029 */ beq $v1, $zero, .L80869FE8 -/* 00294 80869F44 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80869F48 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80869F4C 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80869F50 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E -/* 002A4 80869F54 14200024 */ bne $at, $zero, .L80869FE8 -/* 002A8 80869F58 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80869F5C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80869F60 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80869F64 3C018087 */ lui $at, %hi(D_8086BB70) ## $at = 80870000 -/* 002B8 80869F68 C426BB70 */ lwc1 $f6, %lo(D_8086BB70)($at) -/* 002BC 80869F6C 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80869F70 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80869F74 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80869F78 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80869F7C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80869F80 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80869F84 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80869F88 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160 -/* 002DC 80869F8C 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80869F90 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80869F94 00084080 */ sll $t0, $t0, 2 -/* 002E8 80869F98 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80869F9C 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80869FA0 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80869FA4 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80869FA8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 80869FAC 3C018087 */ lui $at, %hi(D_8086BB74) ## $at = 80870000 -/* 00300 80869FB0 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80869FB4 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80869FB8 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 80869FBC 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80869FC0 44193000 */ mfc1 $t9, $f6 -/* 00314 80869FC4 00000000 */ nop -/* 00318 80869FC8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C -/* 0031C 80869FCC C430BB74 */ lwc1 $f16, %lo(D_8086BB74)($at) -/* 00320 80869FD0 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80869FD4 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80869FD8 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 80869FDC 10200002 */ beq $at, $zero, .L80869FE8 -/* 00330 80869FE0 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160 -/* 00334 80869FE4 A0890150 */ sb $t1, 0x0150($a0) ## 00000150 -.L80869FE8: -/* 00338 80869FE8 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 80869FEC 1420000E */ bne $at, $zero, .L8086A028 -/* 00340 80869FF0 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80869FF4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80869FF8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 80869FFC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 00350 8086A000 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 8086A004 4606003C */ c.lt.s $f0, $f6 -/* 00358 8086A008 00000000 */ nop -/* 0035C 8086A00C 45020012 */ bc1fl .L8086A058 -/* 00360 8086A010 28410008 */ slti $at, $v0, 0x0008 -/* 00364 8086A014 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 8086A018 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0036C 8086A01C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 8086A020 1000000C */ beq $zero, $zero, .L8086A054 -/* 00374 8086A024 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164 -.L8086A028: -/* 00378 8086A028 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 0037C 8086A02C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 8086A030 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 8086A034 4600803C */ c.lt.s $f16, $f0 -/* 00388 8086A038 00000000 */ nop -/* 0038C 8086A03C 45020006 */ bc1fl .L8086A058 -/* 00390 8086A040 28410008 */ slti $at, $v0, 0x0008 -/* 00394 8086A044 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 8086A048 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0039C 8086A04C 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 8086A050 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164 -.L8086A054: -/* 003A4 8086A054 28410008 */ slti $at, $v0, 0x0008 -.L8086A058: -/* 003A8 8086A058 10200003 */ beq $at, $zero, .L8086A068 -/* 003AC 8086A05C 00000000 */ nop -/* 003B0 8086A060 A0800150 */ sb $zero, 0x0150($a0) ## 00000150 -/* 003B4 8086A064 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -.L8086A068: -/* 003B8 8086A068 54400004 */ bnel $v0, $zero, .L8086A07C -/* 003BC 8086A06C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 8086A070 0C00B55C */ jal Actor_Kill - -/* 003C4 8086A074 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E -/* 003C8 8086A078 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086A07C: -/* 003CC 8086A07C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 8086A080 03E00008 */ jr $ra -/* 003D4 8086A084 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s deleted file mode 100644 index 3314640165..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_8086A088 -/* 003D8 8086A088 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 8086A08C AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 8086A090 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 8086A094 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 8086A098 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 8086A09C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 8086A0A0 10400004 */ beq $v0, $zero, .L8086A0B4 -/* 003F4 8086A0A4 00000000 */ nop -/* 003F8 8086A0A8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 8086A0AC 55C00006 */ bnel $t6, $zero, .L8086A0C8 -/* 00400 8086A0B0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L8086A0B4: -/* 00404 8086A0B4 0C00B55C */ jal Actor_Kill - -/* 00408 8086A0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 8086A0BC 10000043 */ beq $zero, $zero, .L8086A1CC -/* 00410 8086A0C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 8086A0C4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L8086A0C8: -/* 00418 8086A0C8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 8086A0CC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154 -/* 00420 8086A0D0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 8086A0D4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 8086A0D8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 8086A0DC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 8086A0E0 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 8086A0E4 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 8086A0E8 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086A0EC AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 8086A0F0 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 8086A0F4 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 8086A0F8 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086A0FC AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 8086A100 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 8086A104 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 8086A108 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086A10C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 8086A110 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 8086A114 3C018087 */ lui $at, %hi(D_8086BB78) ## $at = 80870000 -/* 00468 8086A118 C424BB78 */ lwc1 $f4, %lo(D_8086BB78)($at) -/* 0046C 8086A11C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 8086A120 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 8086A124 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 8086A128 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086A12C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 8086A130 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 8086A134 460C103C */ c.lt.s $f2, $f12 -/* 00488 8086A138 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160 -/* 0048C 8086A13C 45000002 */ bc1f .L8086A148 -/* 00490 8086A140 00000000 */ nop -/* 00494 8086A144 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160 -.L8086A148: -/* 00498 8086A148 0C21A79B */ jal func_80869E6C -/* 0049C 8086A14C AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 8086A150 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 8086A154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 8086A158 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 8086A15C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 8086A160 5140000D */ beql $t2, $zero, .L8086A198 -/* 004B4 8086A164 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 8086A168 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 8086A16C 2405183C */ addiu $a1, $zero, 0x183C ## $a1 = 0000183C -/* 004C0 8086A170 3C058087 */ lui $a1, %hi(func_80869EBC) ## $a1 = 80870000 -/* 004C4 8086A174 24A59EBC */ addiu $a1, $a1, %lo(func_80869EBC) ## $a1 = 80869EBC -/* 004C8 8086A178 0C21A72C */ jal func_80869CB0 -/* 004CC 8086A17C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 8086A180 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 8086A184 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 8086A188 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E -/* 004DC 8086A18C 1000000E */ beq $zero, $zero, .L8086A1C8 -/* 004E0 8086A190 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150 -/* 004E4 8086A194 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L8086A198: -/* 004E8 8086A198 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 8086A19C 5020000B */ beql $at, $zero, .L8086A1CC -/* 004F0 8086A1A0 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 8086A1A4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 004F8 8086A1A8 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 8086A1AC 10200005 */ beq $at, $zero, .L8086A1C4 -/* 00500 8086A1B0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 8086A1B4 0C00B55C */ jal Actor_Kill - -/* 00508 8086A1B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 8086A1BC 10000003 */ beq $zero, $zero, .L8086A1CC -/* 00510 8086A1C0 8FBF001C */ lw $ra, 0x001C($sp) -.L8086A1C4: -/* 00514 8086A1C4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -.L8086A1C8: -/* 00518 8086A1C8 8FBF001C */ lw $ra, 0x001C($sp) -.L8086A1CC: -/* 0051C 8086A1CC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 8086A1D0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 8086A1D4 03E00008 */ jr $ra -/* 00528 8086A1D8 00000000 */ nop - - diff --git a/data/overlays/actors/z_arrow_fire.data.s b/data/overlays/actors/z_arrow_fire.data.s deleted file mode 100644 index e5fcaba2e5..0000000000 --- a/data/overlays/actors/z_arrow_fire.data.s +++ /dev/null @@ -1,38 +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 D_808666E0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_80866EE0 - .word 0x2F3E56AB, 0xA4582102, 0x10417AB0, 0x805C312A, 0x32376DD4, 0xA2633907, 0x0B387DA2, 0x6D81470C, 0x3C5C60AC, 0xA5571801, 0x154C97B9, 0x68533236, 0x304276D6, 0x9B533108, 0x154A96B7, 0x7C9B400B, 0x3E756FAE, 0xAF5D1301, 0x1D59B4BF, 0x53432C38, 0x2F487DCC, 0x8A4A2406, 0x1F5DB0C8, 0x90B55110, 0x408B7FAA, 0xB76D1503, 0x286ACCBE, 0x43312030, 0x2B4C82BA, 0x77431607, 0x2B70C7D5, 0xA6B95B13, 0x409C93A6, 0xB87D1D08, 0x367FE1C1, 0x3C261629, 0x2A508AAB, 0x69410C0C, 0x3986DDDB, 0xB5AE6316, 0x40A0A7A1, 0xAA7D2610, 0x4596F1CD, 0x47281E36, 0x365C97A3, 0x63450713, 0x499DF0D8, 0xB49E721A, 0x409AB59F, 0x8A662D1C, 0x57AEFBDF, 0x6B404456, 0x536EA49B, 0x6A4D061E, 0x5CB6FCC6, 0x9A8E7F20, 0x428EBEA0, 0x623F2E2A, 0x69C6FFF0, 0x9A686569, 0x6F83AC92, 0x7F5D0B2A, 0x70CDFFB2, 0x77848D29, 0x4787C4A0, 0x401D2E3E, 0x7ED9FFFC, 0xC48F7973, 0x8598AE86, 0x9A701339, 0x85E1FFA6, 0x5E859534, 0x5189C99B, 0x2C0B3455, 0x92E9FFFA, 0xDCAB8071, 0x94ACAD7A, 0xB1882249, 0x9AF1FFB0, 0x6A8F9746, 0x6394CD8D, 0x290C416F, 0xA5EEFFF4, 0xDCB46B6D, 0xA1BFAD77, 0xB6A43A58, 0xAAF8FFC8, 0x84959963, 0x7BA4CE78, 0x351A588E, 0xB5E3F9F1, 0xCFAC6077, 0xABCFAC77, 0xA8C05A6A, 0xB2F3FFE1, 0xA3959471, 0x94B9D065, 0x473274A9, 0xBDCDECEF, 0xC2A05F86, 0xBADDAC78, 0x92D87C7D, 0xAFDEFDF1, 0xBC8C8971, 0xA6D2D45A, 0x584B95BB, 0xC1B3D5ED, 0xB8956697, 0xC5E9A670, 0x7AE6978F, 0xA4BEF0EF, 0xB9797360, 0xB1E8DD5D, 0x5D5FAFC7, 0xC49CB8E3, 0xAF8C78A5, 0xCBF19D5F, 0x6AE5A6A3, 0x9398DBE7, 0xB46A5841, 0xB8F2E871, 0x586DC1CD, 0xC78C9DD5, 0xAA878CB1, 0xD8F89249, 0x63DCABB3, 0x8576C5D8, 0xA95E4430, 0xC0EBEE91, 0x5378CACE, 0xC58087C5, 0xA4859EAE, 0xE1FD8A36, 0x60D0ACBD, 0x7765B9C5, 0x9C563A2B, 0xCED7E7B4, 0x5484C7CC, 0xB66F7CBB, 0x9F81A898, 0xE3FF8D2E, 0x63C8B0BA, 0x6D69B8B0, 0x93573B2E, 0xE0C2CED2, 0x6898C0C3, 0x97587EBC, 0x9D749570, 0xDEFF9D36, 0x67C8B4A8, 0x6682BD9B, 0x93643E37, 0xF0B4A8DE, 0x86A9B6B0, 0x70448BBE, 0x99617545, 0xD1FFB84E, 0x70CAB48C, 0x64A4BD8D, 0x96763D41, 0xFAAC82DA, 0xA7B6AE9A, 0x4D359AC0, 0x90494F27, 0xC0FFD675, 0x80CCAD6D, 0x63C1B681, 0x9C85374E, 0xFFA069C9, 0xC1BAA785, 0x3936A4B6, 0x7D342E18, 0xA9FFEEA5, 0x9AC59F56, 0x60D0A873, 0x9288315E, 0xFB8669B6, 0xD0B6A473, 0x3C47A39A, 0x6228241B, 0x8BFFF6CD, 0xB7BB8F47, 0x57CFA169, 0x77782C6B, 0xE56478AA, 0xD6AC9E64, 0x4E61977C, 0x4B232428, 0x6FFFEBE5, 0xD0AF813C, 0x44C2A266, 0x5B61296E, 0xC04188A8, 0xD4A09051, 0x5D788B61, 0x3E202234, 0x58F9D7DF, 0xDEA27332, 0x31AE9A6C, 0x3E4B2F62, 0x902688B3, 0xD0937A3F, 0x5D7D8B58, 0x37241F35, 0x46F2C5BF, 0xD7956528, 0x1E918E76, 0x3442424A, 0x601774C3, 0xCB8F6630, 0x48698261, 0x333C2729, 0x3CECBF95, 0xC2885420, 0x11717B78, 0x4952673A, 0x3D1153CD, 0xC994602F, 0x2D496F6D, 0x31674418, 0x32E7CA6C, 0xA77D4318, 0x09526672, 0x6B6F963E, 0x2B1036D0, 0xCAA26E3C, 0x1B2A5A7B, 0x3798700F, 0x2BDFD94D, 0x8C773712, 0x043C606C, 0x9086B955, 0x281225C9, 0xC7AD8954, 0x141B4085, 0x53CB9C10, 0x26D3E63A, 0x757A3B11, 0x0131666F, 0xAB87BA6A, 0x2E151FBF, 0xC1AEA16A, 0x1721388C, 0x81ECBB17, 0x23C1EE30, 0x6688561E, 0x02317381, 0xA36A9566, 0x3B171FB9, 0xB5A5AF7A, 0x1B384395, 0xABFBC81D, 0x20AAEB28, 0x61987838, 0x05358299, 0x85405D4E, 0x45181FB5, 0xA695B083, 0x1C55569C, 0xCEFFCF1E, 0x1A8CDA24, 0x62A39755, 0x0A398FAE, 0x601A2A2C, 0x49161FB1, 0x9A8BAC8A, 0x23736DA0, 0xE0FFD61E, 0x136BAF23, 0x70ABAD6D, 0x143D95BD, 0x41030D16, 0x41151DAA, 0x938BAA94, 0x2E8A8BA7, 0xE6FFD921, 0x0C4A7D2D, 0x7CACAB70, 0x244093C3, 0x38020F11, 0x2F151CA3, 0x9293ABA1, 0x3995AAB7, 0xEDF7D924, 0x072F5842, 0x83AE9C66, 0x3F498EC7, 0x420D2812, 0x1E151F9B, 0x989CB0B2, 0x4697C5CE, 0xF5F0D626, 0x061B435B, 0x85B18A5B, 0x5F568BCD, 0x54245213, 0x12172593, 0x9FA1BAC0, 0x5291D4E1, 0xFAF0D123, 0x0711416F, 0x82B2765B, 0x84668FCB, 0x684D8212, 0x1318308A, 0xA3A2C2C6, 0x5F88D3EE, 0xFEF6C81B, 0x0B104276, 0x85B06A72, 0xA97896C3, 0x7C81AC19, 0x24194083, 0xA2A0C6C4, 0x6A82CCF1, 0xFFFFB910, 0x14173E77, 0x8BAE6992, 0xC6879BB4, 0x92B3C933, 0x3C1D4F7D, 0x9DA2CCBE, 0x7381C6E6, 0xFFFFB111, 0x26233975, 0x92AF6DAF, 0xDB949AA3, 0xADDBDD64, 0x5927597B, 0x99AAD4B9, 0x7687C6D5, 0xFCFFB736, 0x432D3A78, 0x98B371BD, 0xE5A0989E, 0xCCF2EAA0, 0x753C5C80, 0x9DB9E3BC, 0x7896CFBF, 0xF6FFCB72, 0x64323F81, 0x9CBC70B4, 0xE3AC9EAD, 0xE6FBF6CF, 0x8B5C5C85, 0xA7C8F4C2, 0x7AA6D9A3, 0xF0FFE2A9, 0x8032448D, 0xA4C970A0, 0xDBB5AAC6, 0xF7FEFDE7, 0xA3806187, 0xB0D6FFC9, 0x7FB5D686, 0xE7FFF0D2, 0x8D2F4E98, 0xABD7768D, 0xCFB9B4E1, 0xF8F8FFE7, 0xB29B7089, 0xB7E4FFCD, 0x8CB8BF65, 0xD5FFF0D7, 0x8D34609D, 0xB4E48385, 0xC3BAB0F1, 0xE2E8FEDC, 0xB5A07A8D, 0xBDEFFFD0, 0x9AAB9543, 0xB9FFE9C3, 0x80447497, 0xC0EF9C90, 0xBDB997E5, 0xC2CCFBD4, 0xAB8F7387, 0xC8F8FFD4, 0xA4936324, 0x98FFE5B3, 0x6F577E8A, 0xCEFABCA8, 0xC0BC71C7, 0x9EADF4D2, 0x916D5D7B, 0xD4FEFFD6, 0xA575390F, 0x76FFE4A6, 0x656A7F7D, 0xDDFFDABF, 0xC8BF4CA1, 0x8095E8CC, 0x744A3B66, 0xDAFFFFD6, 0x9D5B1E04, 0x5DFDDF9A, 0x6075787A, 0xECFFF1CD, 0xCEC42E7C, 0x7087D6BF, 0x5A311F49, 0xD4FFFFD0, 0x8E4B1100, 0x50F7D892, 0x68767788, 0xF6FFFDCE, 0xCDC31E65, 0x6E88C3A8, 0x4922153A, 0xC3FFFDC4, 0x7F410B03, 0x4BEED08B, 0x747682A0, 0xFDFFFEBF, 0xBCB61456, 0x7792B18B, 0x3E19153D, 0xB5FFF8B2, 0x733B0908, 0x4DE0C487, 0x827797BC, 0xFFFFF8AB, 0x9E9B0E50, 0x869E9F6E, 0x3714184D, 0xB5FFF09E, 0x67380C11, 0x56CFB285, 0x8F7EADD4, 0xFFFFED96, 0x78730A53, 0x9CA98F57, 0x310F1C69, 0xC8FFE18A, 0x5D35161D, 0x64BC9E84, 0x978BBFE7, 0xFFFFDD81, 0x5348075A, 0xB5B07F48, 0x290A2088, 0xE1FFCF75, 0x5335272B, 0x74AD877F, 0x9C9DCFF3, 0xFFFEC86E, 0x35260864, 0xC6B16F3E, 0x200422A6, 0xF8FCB95F, 0x47373A3C, 0x86A36F73, 0x9FB0D9FA, 0xFFF7B15B, 0x21110E70, 0xCDAB6139, 0x160027C1, 0xFFF09F4C, 0x3B3A4B4D, 0x989D5B5D, 0x9DB5D9FE, 0xFFEA994C, 0x1509177B, 0xC8A15C3C, 0x0E022BD1, 0xFFE1873B, 0x2F3E5460, 0xA8954F44, 0x96A6CEFF, 0xFFD7823C, 0x0C0A2784, 0xB9956343, 0x0B0731DB, 0xFFCE722C, 0x22415672, 0xB58C4A31, 0x8A88BAFF, 0xFAC56E2E, 0x060F398F, 0xA989764A, 0x0A0C3AE1, 0xFFB85F20, 0x17425787, 0xBF824826, 0x775FA3FF, 0xF1B66121, 0x03164B98, 0x9A818E4A, 0x0A1040D4, 0xE8974D14, 0x11405495, 0xBB74401F, 0x603D86F1, 0xD7A35414, 0x02195694, 0x8476943E, 0x171A46C5, 0xCC7D3D0C, 0x0D3E599E, 0xAE6C371C, 0x4A2D72E3, 0xC38F4C0E, 0x03205F96, 0x766A792A, 0x242B4FB8, 0xB66A2E06, 0x0D3E66AA, 0x9B663322, 0x3B2D6CDD, 0xB47B450A, 0x062B6E9C, 0x6E705D17 -glabel D_808676E0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_808678E0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_80867990 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_808666E0 -.word 0xF5900000, 0x0705BC51, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC51, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_80866EE0 -.word 0xF5900100, 0x07058051, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x01058051, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CE37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_80867A40 - .word 0x01020040 -.word D_808676E0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_808678E0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Fire_InitVars - .word 0x010A0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowFire_Init -.word ArrowFire_Destroy -.word ArrowFire_Update -.word ArrowFire_Draw -glabel D_80867B20 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_fire.reloc.s b/data/overlays/actors/z_arrow_fire.reloc.s deleted file mode 100644 index a067183f5f..0000000000 --- a/data/overlays/actors/z_arrow_fire.reloc.s +++ /dev/null @@ -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_80867BD0 - -.incbin "baserom/ovl_Arrow_Fire", 0x1EC0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_fire.rodata.s b/data/overlays/actors/z_arrow_fire.rodata.s deleted file mode 100644 index f6abf8fd1f..0000000000 --- a/data/overlays/actors/z_arrow_fire.rodata.s +++ /dev/null @@ -1,15 +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 - - - - - - - diff --git a/data/overlays/actors/z_arrow_ice.data.s b/data/overlays/actors/z_arrow_ice.data.s deleted file mode 100644 index 1da332a935..0000000000 --- a/data/overlays/actors/z_arrow_ice.data.s +++ /dev/null @@ -1,38 +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 D_808686C0 - .word 0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A, 0x254A1B0E, 0xAFF66600, 0x00467E29, 0x08020000, 0x03383E0B, 0x0501000A, 0x31211C05, 0x00031C27, 0x4CA92F13, 0xB2EF5500, 0x057EBF37, 0x00000000, 0x0E493F13, 0x00000002, 0x335C3E03, 0x00000E07, 0x3C761200, 0x447E2200, 0x00426710, 0x00000000, 0x071C2208, 0x00000168, 0xE18F0F00, 0x00060E00, 0x0A100000, 0x0514022D, 0x1B020400, 0x00000000, 0x093A3F0A, 0x050010AE, 0xDA360000, 0x00070500, 0x00000000, 0x00001461, 0x3E050024, 0x24000000, 0x184E3755, 0x9132043C, 0x2F000000, 0x12020A54, 0x3C000200, 0x00000F3E, 0x2B041159, 0x2C000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x371160EF, 0xAC6D2B00, 0x00000008, 0x05000D27, 0x06000000, 0x00001A91, 0x760B0000, 0x000B030A, 0x747DB0BD, 0xBDA31D00, 0x00000000, 0x00000000, 0x00000511, 0x01000209, 0x03020015, 0x583A0010, 0xC1E0892D, 0x532D0000, 0x03160600, 0x00050001, 0x15142E4E, 0x07000500, 0x100D004C, 0xB65C001B, 0xB2DF9417, 0x00000020, 0x57420400, 0x45882F00, 0x18093B3E, 0x01182F0D, 0x1405003F, 0xB75B001E, 0x5DC2E14F, 0x00000161, 0xBC4A005A, 0xECF84A00, 0x0011330F, 0x0044591C, 0x01001C7C, 0xB122001F, 0x5DE4FF71, 0x00000177, 0xBA3218D9, 0xFFC41700, 0x1E7B5A1C, 0x2B769635, 0x0044D5FA, 0x9E000530, 0xC7FFCE35, 0x00000035, 0x663441CF, 0xC9380000, 0x3D733C28, 0x3E709726, 0x0086FAF1, 0x9B170D4C, 0xC9812700, 0x000E1A02, 0x4C642544, 0x2B000000, 0x0D0E0508, 0x0A252F03, 0x00335297, 0xC75B014E, 0x77470600, 0x00160F00, 0x3A350016, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x8F4B051C, 0x7F6C1C00, 0x00000000, 0x00000437, 0x2E030001, 0x2A6E6B2C, 0x0604000E, 0x0B000004, 0x19350814, 0x3E63813D, 0x13000000, 0x00000117, 0x06000000, 0x14362911, 0x312E021F, 0x13000000, 0x010C000C, 0x10B9EF72, 0x2D010000, 0x040C0C10, 0x02000000, 0x33410306, 0x3B30071D, 0x07000000, 0x00000000, 0x1BC2A129, 0x0D000000, 0x050E1112, 0x0100002E, 0xD2C22E00, 0x21593403, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000060D, 0x00000061, 0xFFEA2E00, 0x3DA04200, 0x00000000, 0x06140B00, 0x00040200, 0x00000000, 0x00061B0C, 0x00000037, 0x8D620500, 0x2A8F5801, 0x00000000, 0x082E3404, 0x00000000, 0x00000003, 0x0A201B02, 0x00000000, 0x06000000, 0x11826503, 0x00060400, 0x07303402, 0x07010007, 0x2F1E0B0A, 0x09080000, 0x03000000, 0x00000000, 0x07452500, 0x0E361100, 0x000B0A00, 0x06000018, 0x3E170600, 0x00060F0D, 0x3E190000, 0x00000000, 0x00000000, 0x21360700, 0x00000000, 0x00000007, 0x09000000, 0x0A857124, 0x703C0000, 0x01000000, 0x00000000, 0x08050000, 0x00000000, 0x00000000, 0x00000000, 0x32D97112, 0x4A1B0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000613, 0x07000000, 0x00000000, 0x1E5D1700, 0x04000000, 0x37550400, 0x00000000, 0x14300600, 0x00003E5B, 0x08000000, 0x00000000, 0x2F2F0000, 0x00000007, 0x90840300, 0x0F070000, 0x06070000, 0x00055A62, 0x00000000, 0x00000020, 0xA77B0700, 0x0106000F, 0x612D0006, 0x1B030000, 0x00000001, 0x0000211A, 0x00000000, 0x0000002E, 0x944A0103, 0x3B390200, 0x04000011, 0x14000005, 0x302F0D10, 0x01000000, 0x00000000, 0x00000009, 0x10000015, 0x5D290000, 0x00000015, 0x09000027, 0x73510F09, 0x37410700, 0x00061408, 0x00000000, 0x25582D09, 0x12020E03, 0x0C070007, 0x00031627, 0x41240011, 0x795B0000, 0x00102D29, 0x244B1C0D, 0xB0F76600, 0x00467C28, 0x08020000, 0x02383E0B, 0x0401000A, 0x32231C04, 0x00031B28, 0x4CA83112, 0xB2EF5500, 0x057EBE38, 0x00000000, 0x0D493D13, 0x00000002, 0x325C3F03, 0x00000E08, 0x3D761200, 0x457F2200, 0x0043660F, 0x00000000, 0x071D2208, 0x00000168, 0xE1901000, 0x00070E00, 0x09110000, 0x0515022D, 0x1B020400, 0x00000000, 0x093B3E09, 0x050011AE, 0xD9370000, 0x00070500, 0x00000000, 0x00001462, 0x3E050024, 0x25000000, 0x184E3554, 0x9431043C, 0x2E000000, 0x12010955, 0x3C000300, 0x0000103E, 0x2B04115A, 0x2D000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x361161EF, 0xAC6B2B00, 0x00000008, 0x05000D27, 0x07000000, 0x00001A8F, 0x760B0000, 0x000B030A, 0x727DB1BD, 0xBCA21C00, 0x00000000, 0x00000000, 0x00000610, 0x00000208, 0x03030016, 0x57390010, 0xC1E1892E, 0x522C0000, 0x03160600, 0x00060001, 0x14142F4E, 0x07000500, 0x100E004B, 0xB55C001B, 0xB0DD9416, 0x0000001F, 0x57430500, 0x468A3000, 0x16093B3E, 0x01192F0D, 0x1405003E, 0xB65B001D, 0x5CC1E04E, 0x0000005E, 0xBC4B0058, 0xEBFA4B00, 0x0011340E, 0x0045591C, 0x02001C7C, 0xB223001E, 0x5CE5FF71, 0x00000176, 0xB93216D8, 0xFFC21700, 0x1D7B5B1C, 0x2B759636, 0x0041D4FC, 0x9D000530, 0xC7FFCE36, 0x00000036, 0x663540CE, 0xC6360000, 0x3C743E29, 0x3E719827, 0x0085FAF0, 0x9B160D4E, 0xC9812600, 0x000F1A03, 0x4B642646, 0x2B000000, 0x0D0E0608, 0x0A253002, 0x00345299, 0xC85B014E, 0x75470600, 0x00160F00, 0x39350015, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x914B051E, 0x7D6C1C01, 0x00000000, 0x00000437, 0x2E030001, 0x2A6F6A2A, 0x0604000E, 0x0B000003, 0x1A350814, 0x3E63813E, 0x13000000, 0x00000118, 0x07000000, 0x13382911, 0x302E0320, 0x14000000, 0x010D000C, 0x0FB9EE73, 0x2F000000, 0x040B0C11, 0x02000000, 0x36440307, 0x3B30071D, 0x07000000, 0x00000000, 0x1ABF9F29, 0x0E000000, 0x050F1112, 0x0100002D, 0xD3C42B00, 0x22593404, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000070C, 0x00000061, 0xFFED2F00, 0x3EA04300, 0x00000000, 0x05140B00, 0x00030200, 0x00000000, 0x00061C0B, 0x00000037, 0x8F640500, 0x2A8F5901, 0x00000000, 0x082D3504, 0x00000000, 0x00010003, 0x0A201B02, 0x00000000, 0x07000000, 0x11826503, 0x00050400, 0x072F3503, 0x07010007, 0x2F1E0C0B, 0x09080000, 0x03000000, 0x00000000, 0x07462500, 0x0E361100, 0x000B0900, 0x04000018, 0x3E160600, 0x00060F0B, 0x3D190000, 0x00000000, 0x00000000, 0x21370600, 0x00000000, 0x00000007, 0x09000000, 0x0B866F22, 0x713C0000, 0x02000000, 0x00000000, 0x08060000, 0x00000000, 0x00000000, 0x00000000, 0x30D76F12, 0x4B1A0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000714, 0x08000000, 0x00000000, 0x1E5C1700, 0x03000000, 0x36560400, 0x00000000, 0x15300600, 0x00003F5D, 0x07000000, 0x00000000, 0x2E2F0000, 0x00000008, 0x8F840300, 0x0F060000, 0x06070000, 0x00065B61, 0x00000000, 0x00000020, 0xA67C0700, 0x0006000E, 0x612D0006, 0x1B030000, 0x00000001, 0x0001211B, 0x00000000, 0x0000002F, 0x93490103, 0x3B390200, 0x04000011, 0x13000005, 0x2F2E0C11, 0x02000000, 0x00000000, 0x00000008, 0x14030015, 0x5D2C0000, 0x00000115, 0x08000027, 0x724F0F0A, 0x353D0600 -glabel D_80868EC0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02030404, 0x04040303, 0x03030303, 0x03020202, 0x02020201, 0x01010000, 0x00000000, 0x01010305, 0x090B0D0D, 0x0C0B0A0A, 0x0A0A0B0A, 0x09080707, 0x07070707, 0x07070705, 0x04030201, 0x0304070B, 0x11141717, 0x16141313, 0x14151514, 0x110D0B0B, 0x0C0D0F12, 0x13141413, 0x110C0905, 0x07070B12, 0x181E2121, 0x201F1F20, 0x2225221D, 0x17120F0F, 0x13171D23, 0x292D2D2A, 0x2219120A, 0x07080C13, 0x1B202223, 0x22232629, 0x2C2B261F, 0x17121112, 0x18202B36, 0x4046453D, 0x3022150C, 0x07080D15, 0x1C202325, 0x272A2E33, 0x3431281E, 0x16121217, 0x202E3F4F, 0x595D5A4E, 0x3B27170C, 0x07090F16, 0x1C202327, 0x2B32383C, 0x3B34291E, 0x1613161E, 0x2D425866, 0x6D6E6856, 0x3F28160B, 0x070A1117, 0x1C20252A, 0x333B4245, 0x41382C21, 0x18161B28, 0x3D586E7A, 0x7D7A6F58, 0x3C231309, 0x070C1318, 0x1E222932, 0x3C464E4F, 0x4A413529, 0x1F1D2232, 0x4C6A8189, 0x88816D50, 0x331D0E07, 0x090F181F, 0x252B343F, 0x4A555E5F, 0x5C524537, 0x2B272D40, 0x5D7C9197, 0x91816444, 0x29160B07, 0x0F19222A, 0x323B4550, 0x5D6D787D, 0x796B5B49, 0x3C373E52, 0x7190A2A2, 0x93785537, 0x20110A0A, 0x1D28343E, 0x47505A64, 0x738698A1, 0x9C8D7761, 0x534E566D, 0x8DA6B0A6, 0x8D69472C, 0x190F0E13, 0x36434F57, 0x5F676E77, 0x869BB0BC, 0xBBAF9A84, 0x74717D93, 0xADBCBBA5, 0x835E412A, 0x1D1A1E27, 0x5360696E, 0x73777C82, 0x8C9EB3C5, 0xCECBBEAB, 0x9F9FA9BC, 0xCACEBFA0, 0x7A593F2F, 0x282B3545, 0x6F767778, 0x78787A7F, 0x8593A8C2, 0xD6DDDAD2, 0xCCCBD2DA, 0xDFD7BE9B, 0x775A473C, 0x3A445463, 0x7E7D7875, 0x716D6D71, 0x78849BBA, 0xD8EAEDED, 0xEBEBEDED, 0xEBDABB97, 0x7862554F, 0x5562727B, 0x7F766E67, 0x625D5C5F, 0x697991B2, 0xD6EFF7F5, 0xF3F4F7F7, 0xEDD5B496, 0x7F70696B, 0x74808787, 0x796C5F57, 0x514D4C52, 0x5E738EAF, 0xD1EAF1ED, 0xEBEDF4F4, 0xE6CCB099, 0x8A818087, 0x91959288, 0x7261534A, 0x4541434A, 0x597290AE, 0xCADCE0DC, 0xDADDE5E6, 0xD9C2AD9D, 0x9390949D, 0xA2A09584, 0x6C5A4B41, 0x3B3B3D46, 0x57718EA9, 0xBDC9CBCA, 0xCACED2CF, 0xC3B3A398, 0x92939AA1, 0xA39D907F, 0x6955453C, 0x38373C46, 0x58718DA5, 0xB7C1C5C6, 0xC9CCCAC2, 0xB4A59A91, 0x8D91979D, 0x9E998D7D, 0x6752423A, 0x38383C46, 0x576F8AA2, 0xB3BFC6CB, 0xCECCC5B7, 0xA7988D86, 0x83868E95, 0x98968D7D, 0x644F403B, 0x393A3E47, 0x566C859C, 0xAFBDC7CE, 0xCEC8BCAA, 0x9A8A7F78, 0x777A838D, 0x94958C7A, 0x5E4C423E, 0x3E3E4047, 0x54677D94, 0xA9BAC7CD, 0xC9C0AF9F, 0x8E80746D, 0x6B707A86, 0x91928975, 0x5A4B4543, 0x43434448, 0x5161768C, 0xA3B5C3C7, 0xC1B4A394, 0x85776D66, 0x63687480, 0x8C8D836F, 0x574D4848, 0x4848484A, 0x505D7087, 0x9DB1BDBE, 0xB6A9998B, 0x7F746A63, 0x62656F7B, 0x84847A67, 0x554F4D4D, 0x4D4D4E4F, 0x535F6F85, 0x9BAEB8B8, 0xAFA29488, 0x7E756B65, 0x62656D75, 0x7B797061, 0x56535353, 0x5556585A, 0x6069788A, 0x9EAEB6B4, 0xAB9F948A, 0x817A726B, 0x67686B6F, 0x726E665D, 0x585A5C5E, 0x62676C70, 0x767E8A98, 0xA6B2B6B4, 0xACA1978E, 0x89837C76, 0x716E6C6C, 0x6A66605C, 0x5F62686F, 0x7680888F, 0x94999FA7, 0xAFB6B7B5, 0xAEA49C96, 0x928E8983, 0x7D76716B, 0x67625F5D, 0x676D7681, 0x8E9BA6AD, 0xB0B1B1B2, 0xB4B7B9B6, 0xB1A8A29E, 0x9B999590, 0x877F7770, 0x6A656364, 0x71788392, 0xA3B2BDC3, 0xC3BFBAB7, 0xB6B8B9B7, 0xB3ABA6A3, 0xA3A19E98, 0x91888079, 0x736E6C6D, 0x7A818C9C, 0xAFBFC9CE, 0xCBC4BDB7, 0xB7B8BBBA, 0xB4ACA6A4, 0xA4A5A4A0, 0x9A958F89, 0x837E7A79, 0x868A94A3, 0xB5C4CED0, 0xCCC5BEBA, 0xBBBFC1BF, 0xB7AEA8A5, 0xA7A9ABAC, 0xACAAA8A4, 0x9D968D88, 0x8F9199A7, 0xB7C5CCCD, 0xC9C4C0BF, 0xC3C7C8C2, 0xB7ADA7A6, 0xA8ADB3BA, 0xBFC3C4BF, 0xB7AB9E94, 0x97979FAB, 0xB9C3C8C9, 0xC7C5C4C7, 0xCCCFCBC2, 0xB6ADA8A8, 0xADB5C1CD, 0xD8E0E0D9, 0xCCBBAB9E, 0x9C9DA4AE, 0xBAC1C5C6, 0xC6C7CAD0, 0xD4D3CBC0, 0xB5ADABAD, 0xB6C2D2E3, 0xF1F9F8ED, 0xDAC5B2A3, 0xA2A4ABB4, 0xBBC1C4C5, 0xC8CCD2D7, 0xD8D3CABE, 0xB4B0B0B6, 0xC1D2E5F7, 0xFFFFFFF5, 0xE0C9B6A9, 0xA9ABB1B7, 0xBDC1C4C7, 0xCBD1D8DC, 0xDAD4C9BF, 0xB7B4B7BF, 0xCEE1F5FF, 0xFFFFFFF5, 0xDEC8B7AD, 0xB0B2B7BC, 0xC0C3C7CB, 0xD1D8DEDF, 0xDCD6CDC4, 0xBEBBBFC9, 0xD9EDFFFF, 0xFFFFFFEE, 0xD9C6B9B1, 0xB6BABEC2, 0xC5C8CCD2, 0xD8DFE3E4, 0xE1DBD4CC, 0xC6C4C8D2, 0xE2F6FFFF, 0xFFFFF7E5, 0xD3C5BBB6, 0xBEC2C6C9, 0xCDD0D5DA, 0xE1E6EAEB, 0xE9E4DED6, 0xD0CED1DB, 0xEAFAFFFF, 0xFFFDEEDD, 0xCFC5BFBD, 0xC7CBCFD3, 0xD6DADEE3, 0xE9EFF4F7, 0xF4EFE7E0, 0xDBD8DBE4, 0xF2FFFFFF, 0xFFF4E6D8, 0xCEC7C4C4, 0xD1D5D9DD, 0xE0E3E7EB, 0xF0F7FEFF, 0xFFFAF2EA, 0xE5E3E6EE, 0xFAFFFFFF, 0xFAEDE0D7, 0xD0CDCCCD, 0xDCE0E3E6, 0xE9EBEDF0, 0xF5FBFFFF, 0xFFFFFBF4, 0xEFEEF2F9, 0xFFFFFFFE, 0xF4E8DFD8, 0xD4D3D5D7, 0xE6E9EBED, 0xEEEFF1F2, 0xF5F9FFFF, 0xFFFFFFFD, 0xFAFAFDFF, 0xFFFFFFFA, 0xF0E7E1DD, 0xDBDCDEE2, 0xEDEFEFF0, 0xF0F0F0F1, 0xF2F5FAFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF7, 0xEFE9E5E2, 0xE2E4E7EB, 0xF1F1F0F0, 0xEFEEEEEF, 0xF0F3F6FC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDF6, 0xF0ECEAE8, 0xEAECEFF1, 0xF2F1EFEF, 0xEEEDEDED, 0xEFF1F5FA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFBF6, 0xF2F0EFEF, 0xF1F2F3F3, 0xF3F1EFEE, 0xEDEDEDED, 0xEFF2F5FA, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFDFAF7, 0xF5F4F4F5, 0xF6F7F6F5, 0xF3F1F0EF, 0xEEEEEEEF, 0xF1F3F6FA, 0xFDFFFFFF, 0xFFFFFFFF, 0xFFFCFAF8, 0xF7F6F7F8, 0xF8F8F7F5, 0xF5F3F2F1, 0xF0F0F0F1, 0xF3F5F8FA, 0xFCFDFDFD, 0xFDFEFEFE, 0xFDFBFAF9, 0xF8F9F9FA, 0xFAF9F8F7, 0xF7F5F3F3, 0xF3F2F3F4, 0xF5F7F9FB, 0xFDFDFEFE, 0xFEFEFEFD, 0xFCFBFAFA, 0xF9FAFAFB, 0xFBFAF9F8, 0xF8F7F6F5, 0xF5F5F5F6, 0xF7F9FAFC, 0xFDFEFEFF, 0xFFFFFEFD, 0xFDFBFBFA, 0xFAFAFBFB, 0xFBFBFBFA, 0xFAF9F8F7, 0xF7F7F8F8, 0xF9FAFBFC, 0xFEFFFFFF, 0xFFFFFEFD, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFCFB, 0xFBFAFAFA, 0xFAFAFAFA, 0xFBFBFCFD, 0xFEFFFFFF, 0xFFFFFEFE, 0xFDFCFCFC, 0xFBFCFCFD, 0xFDFDFDFC, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFDFE, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFDFDFD, 0xFDFDFDFD, 0xFEFEFDFD, 0xFDFDFDFD, 0xFDFDFDFD, 0xFDFDFEFE, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFEFD, 0xFDFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_808696C0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_808698C0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_80869970 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_80868EC0 -.word 0xF5900000, 0x0705BC51, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC51, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_808686C0 -.word 0xF5900100, 0x0705B85D, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x0105B85D, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CF37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_80869A20 - .word 0x01020040 -.word D_808696C0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_808698C0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Ice_InitVars - .word 0x010B0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowIce_Init -.word ArrowIce_Destroy -.word ArrowIce_Update -.word ArrowIce_Draw -glabel D_80869B00 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_ice.reloc.s b/data/overlays/actors/z_arrow_ice.reloc.s deleted file mode 100644 index cfb049df5a..0000000000 --- a/data/overlays/actors/z_arrow_ice.reloc.s +++ /dev/null @@ -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_80869BB0 - -.incbin "baserom/ovl_Arrow_Ice", 0x1EE0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_ice.rodata.s b/data/overlays/actors/z_arrow_ice.rodata.s deleted file mode 100644 index 8a8a7a26e9..0000000000 --- a/data/overlays/actors/z_arrow_ice.rodata.s +++ /dev/null @@ -1,57 +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_80869B10 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B24 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_80869B34 - .word 0xBEC3CCC7, 0x00000000 -glabel D_80869B3C - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B50 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B64 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B78 - .word 0x446D8000 -glabel D_80869B7C - .word 0x3EAAAAAB -glabel D_80869B80 - .word 0x3D2AAAAB -glabel D_80869B84 - .word 0x3DCCCCCD -glabel D_80869B88 - .word 0x3D2AAAAB -glabel D_80869B8C - .word 0x38C90FDB -glabel D_80869B90 - .word 0x38C90FDB -glabel D_80869B94 - .word 0x38C90FDB -glabel D_80869B98 - .word 0x3C23D70A -glabel D_80869B9C - .word 0x44BB8000 -glabel D_80869BA0 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/actors/z_arrow_light.data.s b/data/overlays/actors/z_arrow_light.data.s deleted file mode 100644 index 1f9e7f0af5..0000000000 --- a/data/overlays/actors/z_arrow_light.data.s +++ /dev/null @@ -1,38 +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 D_8086A6B0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_8086AEB0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000102, 0x02010000, 0x00000001, 0x01010202, 0x00000000, 0x00000000, 0x00000202, 0x02000000, 0x01010205, 0x07050200, 0x00000001, 0x01010304, 0x02010000, 0x00000000, 0x00000305, 0x04010001, 0x05030307, 0x0A090401, 0x00000101, 0x01020206, 0x05030200, 0x00000000, 0x01010408, 0x08030003, 0x08080607, 0x09090602, 0x01000001, 0x01010104, 0x05060603, 0x02010002, 0x0505060A, 0x0C080404, 0x07090707, 0x06050709, 0x07010000, 0x01010101, 0x05080B0A, 0x06020205, 0x090A0A0C, 0x0F0E0A05, 0x05080905, 0x05040810, 0x10060000, 0x00010102, 0x050A1113, 0x0E080608, 0x0A0C0D10, 0x1514120D, 0x0E0C0D0B, 0x09080B15, 0x190F0402, 0x01000308, 0x0A0F161A, 0x180F0A0A, 0x0A0B0B12, 0x191B2A20, 0x221B1F1B, 0x1815141C, 0x22170806, 0x03030611, 0x1A1F201E, 0x1C140E0E, 0x0D0E0F11, 0x181D2F3D, 0x3F333532, 0x2C261F24, 0x2E230F0D, 0x0A090E18, 0x242E2D24, 0x1B141010, 0x11161813, 0x1618274A, 0x4E464948, 0x42383030, 0x39311712, 0x16151F24, 0x2331362A, 0x1B111013, 0x191D201C, 0x1E273145, 0x4F51565B, 0x584C4140, 0x4A3F1C14, 0x1E202D32, 0x242B3631, 0x22140F14, 0x1D23221D, 0x273C4A4E, 0x675F636D, 0x70645452, 0x564C2616, 0x2D363842, 0x38333F3F, 0x35241817, 0x242C2A25, 0x2F4F656C, 0x948A7E81, 0x887D6A63, 0x60583B2F, 0x4454575F, 0x5B555C5E, 0x56493E34, 0x39414644, 0x49627089, 0xBBBAA89B, 0x9B917A70, 0x67595152, 0x677A8184, 0x857F7A7C, 0x756D6A63, 0x5C5D626E, 0x767F8795, 0xC4D1CABB, 0xB5A68C82, 0x7D706B76, 0x8B969DA7, 0xAEA69592, 0x928C8B8A, 0x857D8094, 0xA5AAA8A5, 0xC4CEC9C7, 0xC2B69E94, 0x948F8991, 0x9EA4A9B7, 0xBEBDAFA2, 0xA2A49F9A, 0x99959BB7, 0xC9CECAC4, 0xD7CDC8C8, 0xCBC8B6AB, 0xAAAAA7A0, 0xA0A2ACBD, 0xC6CCC9BD, 0xB4BAB6A8, 0xA3A3AECF, 0xE3E4E0DE, 0xE6DBD4CE, 0xD0D0C6BA, 0xB6B6B3A7, 0x9FA7B4C7, 0xD5D7D8D3, 0xC9C9CDBF, 0xB1B2BED9, 0xF2ECE3E5, 0xECEAE1DA, 0xDBDDD7CB, 0xC2BFBCB4, 0xADB4C4D7, 0xE4E7E4DD, 0xD6D6E0DC, 0xC7BABFD4, 0xE9E8DFE2, 0xF0F4EDE8, 0xE6E7E7DD, 0xCFC9CAC9, 0xC8CEDCEA, 0xF3F6F1E7, 0xE0DEE3E7, 0xDAC2C3D6, 0xE4E8E3E5, 0xF7FBF8F1, 0xECEAEFEB, 0xDFDCDDE0, 0xE2E4E7EF, 0xF7FCFAF4, 0xEFE9E5E7, 0xE2CDC8D7, 0xE5E9EAEE, 0xFDFEFCF7, 0xF1EBEDF0, 0xE9E8EDF1, 0xF3F0EEF0, 0xF5FBFBF8, 0xF7F3E9E2, 0xDDD6D3E1, 0xEBEBEBF4, 0xFCFEFEFC, 0xF6F0F1F4, 0xEDEAF3FA, 0xFCF5EBEA, 0xF0F8F8F6, 0xF7F6EEE6, 0xE2E0E4ED, 0xEDE9E1EE, 0xFAFFFDFD, 0xFAF7F7F7, 0xF2EFF6FB, 0xFBF2E1DF, 0xEEF8F6F2, 0xF4F6F2EE, 0xEAE7ECF2, 0xEEE6E0E5, 0xF6FCFCFD, 0xFDFCFCF9, 0xF2F0F5FA, 0xFAF3DED8, 0xE8F7F7F3, 0xF4F8F7F6, 0xF2EEEEF0, 0xECE5E2E5, 0xF8FBF5F7, 0xFAFBFAF5, 0xEBE7F4FC, 0xFAF6E8DD, 0xE8F8FCF8, 0xF8F9FAFA, 0xF9F4EEE9, 0xE4DFE0E9, 0xF9FAF1EE, 0xF2F5F7F5, 0xEBE1EDFB, 0xFBFAF5EF, 0xF4FCFEFD, 0xFBF8F8FB, 0xFBF7F2EA, 0xE4DCD8E5, 0xF6FBF0EA, 0xECEFF3F2, 0xEDE5EAF9, 0xFDFCFDFC, 0xFCFDFDFC, 0xF9F5F7FA, 0xFCF9F6F2, 0xEBE0D6E1, 0xEDF9F5EE, 0xEDEEF0F0, 0xEEEBEFFA, 0xFEFEFFFC, 0xF9F6F8FB, 0xFAF7F6FA, 0xFDFDFBFA, 0xF7E8DCDB, 0xECF7F9F4, 0xF3F1F0EF, 0xECECF3FC, 0xFEFEFEF9, 0xF1EDEEF7, 0xFBFAF9FC, 0xFEFEFDFC, 0xFBF3DFE0, 0xF0F5FBFA, 0xF7F3F3F4, 0xF1EFF2F8, 0xFAFCFEFA, 0xF1EAE7F0, 0xFAFEFDFE, 0xFFFEFEFD, 0xFDFBE7E9, 0xF6FBFDFB, 0xF8F3F2F7, 0xF9F4EFF0, 0xF3F6FBFB, 0xF5EEEDF0, 0xFAFFFFFF, 0xFEFDFDFE, 0xFEFDF7F0, 0xF9FDFCFA, 0xF5ECEAF4, 0xFCF8ECE8, 0xEBEFF7FC, 0xF8F6F7F6, 0xF9FCFEFD, 0xFBFAF8FB, 0xFEFFFEF7, 0xF3FAFCF7, 0xEFE4E1EA, 0xF7F8EBE1, 0xE4EAEDF5, 0xF6F3F7F8, 0xF7F9FAF9, 0xF5F3F1F0, 0xF4FBFFFA, 0xECEEF6F4, 0xECE1DBE1, 0xEFF5EDE0, 0xE0E2E0E6, 0xEDEBEFF2, 0xF3F6F6F5, 0xEEECEDE6, 0xE2EEFEFA, 0xEAE3E6E6, 0xE5E2DEDF, 0xE7EDE7DD, 0xDBDDD8DA, 0xE5E6E8ED, 0xEEF2F4EF, 0xE3D9DFE4, 0xDDE2F7FB, 0xF2E5D8D2, 0xD4DDE3DB, 0xD7DCDCD4, 0xCFD1D5DC, 0xE6E7E8E8, 0xE5E9EBE3, 0xD1C5CEE0, 0xE2E2F3FD, 0xF8EAD6C2, 0xC1CDDCD7, 0xC5BFC4C1, 0xB7B9CCE7, 0xF0EDE2DD, 0xD8D4D7CA, 0xB4AFBFD6, 0xE4EBF2FC, 0xEEEAD8C2, 0xBABECCCF, 0xB9A1A3AA, 0xA6A2B0DB, 0xF0E9D8CE, 0xC6BFBDAE, 0x9292ACCC, 0xE0E4E3EB, 0xCFD5CFBF, 0xB3AEB1B6, 0xA68D8A95, 0x9A99A1C2, 0xE3DBC6BA, 0xB4ACA292, 0x757299C0, 0xD7D8CBC6, 0xA5B3BAB0, 0xA59A9293, 0x8C7A757E, 0x889198AE, 0xCACAB7A7, 0xA09C9480, 0x63597696, 0xAEC0BEA8, 0x8C959F97, 0x89807772, 0x6752536B, 0x79808896, 0xAEB8A894, 0x827E796B, 0x59556374, 0x849EB6A5, 0x918F8D7B, 0x6A676A66, 0x53363453, 0x6A6D6E76, 0x8A9D9E90, 0x73625D58, 0x5157605F, 0x5E749CA7, 0x96898163, 0x4E506064, 0x4A2A1E36, 0x565D5B5F, 0x697D8D8C, 0x714E4240, 0x44525E59, 0x5161869C, 0x81776D54, 0x3D3A4D5A, 0x46281B22, 0x363E424A, 0x545D6E7B, 0x714F3630, 0x313E4E4C, 0x44537384, 0x625B4E3E, 0x2E293646, 0x37201C20, 0x1E1D1F2D, 0x3E454A59, 0x5F4D2D20, 0x2229363E, 0x3B4A6A70, 0x453C3329, 0x211F2835, 0x2A1A1B20, 0x1307050F, 0x242C2933, 0x43442C18, 0x15151C2A, 0x3140655C, 0x251B1F1B, 0x15161F27, 0x261D1C20, 0x15040005, 0x141E1516, 0x26312716, 0x0E0C0D19, 0x28385556, 0x170D1511, 0x0A0B141E, 0x2222201F, 0x170B0403, 0x0D190F0B, 0x151F1B10, 0x0B08050C, 0x17264546, 0x130C140C, 0x03030C12, 0x13181F1C, 0x16100A07, 0x090E0F09, 0x11160F08, 0x0C0F0A09, 0x0F1B2E32, 0x12171D11, 0x0301070D, 0x0B0D1414, 0x110F110F, 0x0A07070A, 0x11150B04, 0x0C15130F, 0x0E0E1B23, 0x10172113, 0x0401050C, 0x0E09090B, 0x09090E13, 0x10090505, 0x0D120C04, 0x07141911, 0x0C0A1016, 0x09101811, 0x05020308, 0x0D090606, 0x0504060C, 0x110F0903, 0x060B0804, 0x030A100D, 0x0A090B0C, 0x05060A06, 0x01010204, 0x07080403, 0x02010307, 0x0A0D0B04, 0x02020302, 0x02030606, 0x04040708, 0x02020200, 0x00000201, 0x02030200, 0x00000102, 0x05060704, 0x01000001, 0x01020201, 0x00010406, 0x01000201, 0x00000000, 0x00000000, 0x00000001, 0x02020202, 0x01000000, 0x00000101, 0x00000102, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_8086B6B0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_8086B8B0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_8086B960 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_8086A6B0 -.word 0xF5900000, 0x0705BC5D, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC5D, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_8086AEB0 -.word 0xF5900100, 0x0705B85E, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x0105B85E, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CE37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_8086BA10 - .word 0x01020040 -.word D_8086B6B0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_8086B8B0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Light_InitVars - .word 0x010C0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowLight_Init -.word ArrowLight_Destroy -.word ArrowLight_Update -.word ArrowLight_Draw -glabel D_8086BAF0 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_light.reloc.s b/data/overlays/actors/z_arrow_light.reloc.s deleted file mode 100644 index 419c81664f..0000000000 --- a/data/overlays/actors/z_arrow_light.reloc.s +++ /dev/null @@ -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_8086BBA0 - -.incbin "baserom/ovl_Arrow_Light", 0x1EF0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_light.rodata.s b/data/overlays/actors/z_arrow_light.rodata.s deleted file mode 100644 index a06d95d41e..0000000000 --- a/data/overlays/actors/z_arrow_light.rodata.s +++ /dev/null @@ -1,57 +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_8086BB00 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB14 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_8086BB24 - .word 0xBEC3CCC7, 0x00000000 -glabel D_8086BB2C - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB40 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB54 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB68 - .word 0x446D8000 -glabel D_8086BB6C - .word 0x3EAAAAAB -glabel D_8086BB70 - .word 0x3D2AAAAB -glabel D_8086BB74 - .word 0x3DCCCCCD -glabel D_8086BB78 - .word 0x3D2AAAAB -glabel D_8086BB7C - .word 0x38C90FDB -glabel D_8086BB80 - .word 0x38C90FDB -glabel D_8086BB84 - .word 0x38C90FDB -glabel D_8086BB88 - .word 0x3C23D70A -glabel D_8086BB8C - .word 0x44BB8000 -glabel D_8086BB90 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/spec b/spec index ac905f09f1..2ecf8d0436 100644 --- a/spec +++ b/spec @@ -689,9 +689,7 @@ endseg beginseg name "ovl_Arrow_Light" include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o" - include "build/data/overlays/actors/z_arrow_light.data.o" - include "build/data/overlays/actors/z_arrow_light.rodata.o" - include "build/data/overlays/actors/z_arrow_light.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 37762df1f4..8715739ef3 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -46,7 +46,7 @@ void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, initChain); this->radius = 0; this->unk_158 = 1.0f; - ArrowFire_SetupAction(this, ArrowFire_Charge); + ArrowFire_SetupAction(&this->actor, ArrowFire_Charge); Actor_SetScale(this, 0.01); this->alpha = 0xA0; this->timer = 0; @@ -118,7 +118,7 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_158 += ((2.0f - this->unk_158) * 0.1f); - if (this->timer < 0x10) { + if (this->timer < 16) { if (1){} this->alpha = ((this->timer * 0x23) - 0x118); } @@ -140,7 +140,7 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { } if (this->timer == 0) { - this->timer = 0xFF; + this->timer = 255; Actor_Kill(&this->actor); } } @@ -200,7 +200,7 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ arrow = this->actor.attachedA; if (1) {} - if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c index 532768c86f..8c125d1d3c 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c @@ -1,5 +1,4 @@ -#include -#include +#include "z_arrow_fire.h" static UNK_TYPE texture1[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 1691a8719d..8e43a2fcf0 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -47,7 +47,7 @@ void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx) { this->radius = 0; this->unk_160 = 1.0f; ArrowIce_SetupAction(this, ArrowIce_Charge); - Actor_SetScale(this, 0.01); + Actor_SetScale(&this->actor, 0.01); this->alpha = 0x64; this->timer = 0; this->unk_164 = 0.0f; @@ -118,7 +118,7 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_160 += ((2.0f - this->unk_160) * 0.1f); - if (this->timer < 0x10) { + if (this->timer < 16) { if (1){} this->alpha = ((this->timer * 0x23) - 0x118); } @@ -140,7 +140,7 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { } if (this->timer == 0) { - this->timer = 0xFF; + this->timer = 255; Actor_Kill(&this->actor); } } @@ -200,7 +200,7 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ arrow = this->actor.attachedA; if (1) {} - if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) { + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c index 6027a72fa5..664e9d3e4b 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c @@ -1,5 +1,4 @@ -#include -#include +#include "z_arrow_ice.h" static UNK_TYPE texture1[] = { 0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A, diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 508ac29251..124fa9a236 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -1,4 +1,11 @@ +/* + * File: z_arrow_light.c + * Overlay: ovl_Arrow_Light + * Description: Light Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_light.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,7 +15,12 @@ void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx); void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx); void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx); -/* +void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx); +void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx); +void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx); + +#include "z_arrow_light_gfx.c" + const ActorInit Arrow_Light_InitVars = { ACTOR_ARROW_LIGHT, ACTORTYPE_ITEMACTION, @@ -21,21 +33,212 @@ const ActorInit Arrow_Light_InitVars = { (ActorFunc)ArrowLight_Update, (ActorFunc)ArrowLight_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s") +static InitChainEntry initChain[] = { + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s") +void ArrowLight_SetupAction(ArrowLight* this, ActorFunc* actionFunc) { + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s") +void ArrowLight_Init(ArrowLight* this, GlobalContext* globalCtx) { + Actor_ProcessInitChain(&this->actor, initChain); + this->radius = 0; + this->unk_160 = 1.0f; + ArrowLight_SetupAction(this, ArrowLight_Charge); + Actor_SetScale(&this->actor, 0.01); + this->alpha = 0x82; + this->timer = 0; + this->unk_164 = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s") +void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx) { + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_light.c", 403); + // Translates to: ""Disappearance" = Disappearance" + osSyncPrintf("\"消滅\" = %s\n", "消滅"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s") +void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx) { + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s") + if (this->radius < 10) { + this->radius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s") + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_LIGHT); + + // If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) { + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowLight_SetupAction(this, ArrowLight_Fly); + this->alpha = 0xFF; + } +} + +void func_80869E6C(Vec3f* unkPos, Vec3f* lightPos, f32 scale) { + unkPos->x += ((lightPos->x - unkPos->x) * scale); + unkPos->y += ((lightPos->y - unkPos->y) * scale); + unkPos->z += ((lightPos->z - unkPos->z) * scale); +} + +void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { + f32 scale; + f32 offset; + u16 timer; + + if (this->actor.unk_F0 < 50.0f) { + scale = 10.0f; + } else { + if (950.0f < this->actor.unk_F0) { + scale = 310.0f; + } else { + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; + } + } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8){ + offset = ((this->timer - 8) * 0.041666668f); + offset = SQ(offset); + this->radius = (((1.0f - offset) * scale) + 10.0f); + this->unk_160 += ((2.0f - this->unk_160) * 0.1f); + if (this->timer < 16) { + if (1){} + this->alpha = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_164 < 1.0f) { + this->unk_164 += 0.25f; + } + } else { + if (this->unk_164 > 0.0f) { + this->unk_164 -= 0.125f; + } + } + + if (this->timer < 8) { + this->alpha = 0; + } + + if (this->timer == 0) { + this->timer = 255; + Actor_Kill(&this->actor); + } +} + +void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) { + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; + this->unk_160 = distanceScaled; + if (distanceScaled < 1.0f) { + this->unk_160 = 1.0f; + } + func_80869E6C(&this->unkPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_LIGHT); + ArrowLight_SetupAction(this, &ArrowLight_Hit); + this->timer = 32; + this->alpha = 0xFF; + } else if (arrow->timer < 0x22) { + if (this->alpha < 0x23) { + Actor_Kill(&this->actor); + } else { + this->alpha -= 0x19; + } + } +} + +void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx) { + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) { + Actor_Kill(&this->actor); + } else { + this->actionFunc(this, globalCtx); + } +} + +void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { + s32 pad1; + s32 pad2; + u32 stateFrames; + GraphicsContext* gfxCtx; + Actor* tranform; + EnArrow* arrow; + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} + + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); + Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + + // Draw yellow effect over the screen when arrow hits + if (this->unk_164 > 0) { + gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF, + (s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF); + gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); + gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); + gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); + } + + // Draw light on the arrow + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xFF, 0xAA, this->alpha); + gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0xFF, 0x00, 0x80); + Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY); + if (this->timer != 0) { + Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } else { + Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); + } + Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); + Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648), G_MTX_NOPUSH | + G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); + gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, + 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, 511 - (stateFrames * 10) % 512, + 511 - (stateFrames * 30) % 512, 8, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664); + } +} diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h index 8f4e5946b4..11b0b7ac1f 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h @@ -6,7 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ s16 radius; + /* 0x014E */ u16 timer; + /* 0x0150 */ u8 alpha; + /* 0x0154 */ Vec3f unkPos; + /* 0x0160 */ f32 unk_160; + /* 0x0164 */ f32 unk_164; + /* 0x0168 */ ActorFunc actionFunc; } ArrowLight; // size = 0x016C extern const ActorInit Arrow_Light_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c new file mode 100644 index 0000000000..57612a4530 --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c @@ -0,0 +1,192 @@ +#include "z_arrow_light.h" + +static UNK_TYPE texture1[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, + 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, + 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, + 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, + 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, + 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, + 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, + 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, + 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, + 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, + 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, + 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, + 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, + 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, + 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, + 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, + 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, + 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, + 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, + 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, + 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, + 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, + 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, + 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, + 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, + 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, + 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, + 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, + 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, + 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, + 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, + 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, + 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, + 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, + 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, + 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, + 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, + 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, + 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, + 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, + 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, + 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, + 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, + 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, + 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, + 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE texture2[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000102, 0x02010000, 0x00000001, 0x01010202, + 0x00000000, 0x00000000, 0x00000202, 0x02000000, 0x01010205, 0x07050200, 0x00000001, 0x01010304, 0x02010000, + 0x00000000, 0x00000305, 0x04010001, 0x05030307, 0x0A090401, 0x00000101, 0x01020206, 0x05030200, 0x00000000, + 0x01010408, 0x08030003, 0x08080607, 0x09090602, 0x01000001, 0x01010104, 0x05060603, 0x02010002, 0x0505060A, + 0x0C080404, 0x07090707, 0x06050709, 0x07010000, 0x01010101, 0x05080B0A, 0x06020205, 0x090A0A0C, 0x0F0E0A05, + 0x05080905, 0x05040810, 0x10060000, 0x00010102, 0x050A1113, 0x0E080608, 0x0A0C0D10, 0x1514120D, 0x0E0C0D0B, + 0x09080B15, 0x190F0402, 0x01000308, 0x0A0F161A, 0x180F0A0A, 0x0A0B0B12, 0x191B2A20, 0x221B1F1B, 0x1815141C, + 0x22170806, 0x03030611, 0x1A1F201E, 0x1C140E0E, 0x0D0E0F11, 0x181D2F3D, 0x3F333532, 0x2C261F24, 0x2E230F0D, + 0x0A090E18, 0x242E2D24, 0x1B141010, 0x11161813, 0x1618274A, 0x4E464948, 0x42383030, 0x39311712, 0x16151F24, + 0x2331362A, 0x1B111013, 0x191D201C, 0x1E273145, 0x4F51565B, 0x584C4140, 0x4A3F1C14, 0x1E202D32, 0x242B3631, + 0x22140F14, 0x1D23221D, 0x273C4A4E, 0x675F636D, 0x70645452, 0x564C2616, 0x2D363842, 0x38333F3F, 0x35241817, + 0x242C2A25, 0x2F4F656C, 0x948A7E81, 0x887D6A63, 0x60583B2F, 0x4454575F, 0x5B555C5E, 0x56493E34, 0x39414644, + 0x49627089, 0xBBBAA89B, 0x9B917A70, 0x67595152, 0x677A8184, 0x857F7A7C, 0x756D6A63, 0x5C5D626E, 0x767F8795, + 0xC4D1CABB, 0xB5A68C82, 0x7D706B76, 0x8B969DA7, 0xAEA69592, 0x928C8B8A, 0x857D8094, 0xA5AAA8A5, 0xC4CEC9C7, + 0xC2B69E94, 0x948F8991, 0x9EA4A9B7, 0xBEBDAFA2, 0xA2A49F9A, 0x99959BB7, 0xC9CECAC4, 0xD7CDC8C8, 0xCBC8B6AB, + 0xAAAAA7A0, 0xA0A2ACBD, 0xC6CCC9BD, 0xB4BAB6A8, 0xA3A3AECF, 0xE3E4E0DE, 0xE6DBD4CE, 0xD0D0C6BA, 0xB6B6B3A7, + 0x9FA7B4C7, 0xD5D7D8D3, 0xC9C9CDBF, 0xB1B2BED9, 0xF2ECE3E5, 0xECEAE1DA, 0xDBDDD7CB, 0xC2BFBCB4, 0xADB4C4D7, + 0xE4E7E4DD, 0xD6D6E0DC, 0xC7BABFD4, 0xE9E8DFE2, 0xF0F4EDE8, 0xE6E7E7DD, 0xCFC9CAC9, 0xC8CEDCEA, 0xF3F6F1E7, + 0xE0DEE3E7, 0xDAC2C3D6, 0xE4E8E3E5, 0xF7FBF8F1, 0xECEAEFEB, 0xDFDCDDE0, 0xE2E4E7EF, 0xF7FCFAF4, 0xEFE9E5E7, + 0xE2CDC8D7, 0xE5E9EAEE, 0xFDFEFCF7, 0xF1EBEDF0, 0xE9E8EDF1, 0xF3F0EEF0, 0xF5FBFBF8, 0xF7F3E9E2, 0xDDD6D3E1, + 0xEBEBEBF4, 0xFCFEFEFC, 0xF6F0F1F4, 0xEDEAF3FA, 0xFCF5EBEA, 0xF0F8F8F6, 0xF7F6EEE6, 0xE2E0E4ED, 0xEDE9E1EE, + 0xFAFFFDFD, 0xFAF7F7F7, 0xF2EFF6FB, 0xFBF2E1DF, 0xEEF8F6F2, 0xF4F6F2EE, 0xEAE7ECF2, 0xEEE6E0E5, 0xF6FCFCFD, + 0xFDFCFCF9, 0xF2F0F5FA, 0xFAF3DED8, 0xE8F7F7F3, 0xF4F8F7F6, 0xF2EEEEF0, 0xECE5E2E5, 0xF8FBF5F7, 0xFAFBFAF5, + 0xEBE7F4FC, 0xFAF6E8DD, 0xE8F8FCF8, 0xF8F9FAFA, 0xF9F4EEE9, 0xE4DFE0E9, 0xF9FAF1EE, 0xF2F5F7F5, 0xEBE1EDFB, + 0xFBFAF5EF, 0xF4FCFEFD, 0xFBF8F8FB, 0xFBF7F2EA, 0xE4DCD8E5, 0xF6FBF0EA, 0xECEFF3F2, 0xEDE5EAF9, 0xFDFCFDFC, + 0xFCFDFDFC, 0xF9F5F7FA, 0xFCF9F6F2, 0xEBE0D6E1, 0xEDF9F5EE, 0xEDEEF0F0, 0xEEEBEFFA, 0xFEFEFFFC, 0xF9F6F8FB, + 0xFAF7F6FA, 0xFDFDFBFA, 0xF7E8DCDB, 0xECF7F9F4, 0xF3F1F0EF, 0xECECF3FC, 0xFEFEFEF9, 0xF1EDEEF7, 0xFBFAF9FC, + 0xFEFEFDFC, 0xFBF3DFE0, 0xF0F5FBFA, 0xF7F3F3F4, 0xF1EFF2F8, 0xFAFCFEFA, 0xF1EAE7F0, 0xFAFEFDFE, 0xFFFEFEFD, + 0xFDFBE7E9, 0xF6FBFDFB, 0xF8F3F2F7, 0xF9F4EFF0, 0xF3F6FBFB, 0xF5EEEDF0, 0xFAFFFFFF, 0xFEFDFDFE, 0xFEFDF7F0, + 0xF9FDFCFA, 0xF5ECEAF4, 0xFCF8ECE8, 0xEBEFF7FC, 0xF8F6F7F6, 0xF9FCFEFD, 0xFBFAF8FB, 0xFEFFFEF7, 0xF3FAFCF7, + 0xEFE4E1EA, 0xF7F8EBE1, 0xE4EAEDF5, 0xF6F3F7F8, 0xF7F9FAF9, 0xF5F3F1F0, 0xF4FBFFFA, 0xECEEF6F4, 0xECE1DBE1, + 0xEFF5EDE0, 0xE0E2E0E6, 0xEDEBEFF2, 0xF3F6F6F5, 0xEEECEDE6, 0xE2EEFEFA, 0xEAE3E6E6, 0xE5E2DEDF, 0xE7EDE7DD, + 0xDBDDD8DA, 0xE5E6E8ED, 0xEEF2F4EF, 0xE3D9DFE4, 0xDDE2F7FB, 0xF2E5D8D2, 0xD4DDE3DB, 0xD7DCDCD4, 0xCFD1D5DC, + 0xE6E7E8E8, 0xE5E9EBE3, 0xD1C5CEE0, 0xE2E2F3FD, 0xF8EAD6C2, 0xC1CDDCD7, 0xC5BFC4C1, 0xB7B9CCE7, 0xF0EDE2DD, + 0xD8D4D7CA, 0xB4AFBFD6, 0xE4EBF2FC, 0xEEEAD8C2, 0xBABECCCF, 0xB9A1A3AA, 0xA6A2B0DB, 0xF0E9D8CE, 0xC6BFBDAE, + 0x9292ACCC, 0xE0E4E3EB, 0xCFD5CFBF, 0xB3AEB1B6, 0xA68D8A95, 0x9A99A1C2, 0xE3DBC6BA, 0xB4ACA292, 0x757299C0, + 0xD7D8CBC6, 0xA5B3BAB0, 0xA59A9293, 0x8C7A757E, 0x889198AE, 0xCACAB7A7, 0xA09C9480, 0x63597696, 0xAEC0BEA8, + 0x8C959F97, 0x89807772, 0x6752536B, 0x79808896, 0xAEB8A894, 0x827E796B, 0x59556374, 0x849EB6A5, 0x918F8D7B, + 0x6A676A66, 0x53363453, 0x6A6D6E76, 0x8A9D9E90, 0x73625D58, 0x5157605F, 0x5E749CA7, 0x96898163, 0x4E506064, + 0x4A2A1E36, 0x565D5B5F, 0x697D8D8C, 0x714E4240, 0x44525E59, 0x5161869C, 0x81776D54, 0x3D3A4D5A, 0x46281B22, + 0x363E424A, 0x545D6E7B, 0x714F3630, 0x313E4E4C, 0x44537384, 0x625B4E3E, 0x2E293646, 0x37201C20, 0x1E1D1F2D, + 0x3E454A59, 0x5F4D2D20, 0x2229363E, 0x3B4A6A70, 0x453C3329, 0x211F2835, 0x2A1A1B20, 0x1307050F, 0x242C2933, + 0x43442C18, 0x15151C2A, 0x3140655C, 0x251B1F1B, 0x15161F27, 0x261D1C20, 0x15040005, 0x141E1516, 0x26312716, + 0x0E0C0D19, 0x28385556, 0x170D1511, 0x0A0B141E, 0x2222201F, 0x170B0403, 0x0D190F0B, 0x151F1B10, 0x0B08050C, + 0x17264546, 0x130C140C, 0x03030C12, 0x13181F1C, 0x16100A07, 0x090E0F09, 0x11160F08, 0x0C0F0A09, 0x0F1B2E32, + 0x12171D11, 0x0301070D, 0x0B0D1414, 0x110F110F, 0x0A07070A, 0x11150B04, 0x0C15130F, 0x0E0E1B23, 0x10172113, + 0x0401050C, 0x0E09090B, 0x09090E13, 0x10090505, 0x0D120C04, 0x07141911, 0x0C0A1016, 0x09101811, 0x05020308, + 0x0D090606, 0x0504060C, 0x110F0903, 0x060B0804, 0x030A100D, 0x0A090B0C, 0x05060A06, 0x01010204, 0x07080403, + 0x02010307, 0x0A0D0B04, 0x02020302, 0x02030606, 0x04040708, 0x02020200, 0x00000201, 0x02030200, 0x00000102, + 0x05060704, 0x01000001, 0x01020201, 0x00010406, 0x01000201, 0x00000000, 0x00000000, 0x00000001, 0x02020202, + 0x01000000, 0x00000101, 0x00000102, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 15), + gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 14, 14), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; From d8cd8450c47c9bbccb784188d4e8854b22761f92 Mon Sep 17 00:00:00 2001 From: fig02 Date: Mon, 30 Mar 2020 05:31:08 -0400 Subject: [PATCH 06/10] clang --- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 39 ++++++++++--------- .../actors/ovl_Arrow_Ice/z_arrow_ice.c | 39 ++++++++++--------- .../actors/ovl_Arrow_Light/z_arrow_light.c | 35 +++++++++-------- 3 files changed, 58 insertions(+), 55 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 8715739ef3..97856ff9e2 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -97,7 +97,7 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { f32 scale; f32 offset; u16 timer; - + if (this->actor.unk_F0 < 50.0f) { scale = 10.0f; } else { @@ -108,23 +108,23 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; } } - + timer = this->timer; if (timer != 0) { this->timer -= 1; - - if (this->timer >= 8){ + + if (this->timer >= 8) { offset = ((this->timer - 8) * 0.041666668f); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_158 += ((2.0f - this->unk_158) * 0.1f); if (this->timer < 16) { - if (1){} + if (1) {} this->alpha = ((this->timer * 0x23) - 0x118); } } } - + if (this->timer >= 9) { if (this->unk_15C < 1.0f) { this->unk_15C += 0.25f; @@ -134,11 +134,11 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { this->unk_15C -= 0.125f; } } - - if (this->timer < 8) { + + if (this->timer < 8) { this->alpha = 0; } - + if (this->timer == 0) { this->timer = 255; Actor_Kill(&this->actor); @@ -187,15 +187,15 @@ void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) { } } -void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ +void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) { s32 pad1; s32 pad2; u32 stateFrames; GraphicsContext* gfxCtx; - Actor* tranform; + Actor* tranform; EnArrow* arrow; Gfx* gfxArr[4]; - + stateFrames = globalCtx->state.frames; arrow = this->actor.attachedA; if (1) {} @@ -203,7 +203,8 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + gfxCtx = globalCtx->state.gfxCtx; + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); @@ -213,7 +214,7 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ // Draw red effect over the screen when arrow hits if (this->unk_15C > 0) { gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); - gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0x00, 0x00, + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0x00, 0x00, (s32)(150.0f * this->unk_15C) & 0xFF); gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); @@ -232,12 +233,12 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){ } Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), G_MTX_NOPUSH | - G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); - gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, - 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, 255 - stateFrames % 256, - 511 - (stateFrames * 10) % 512, 64, 64)); + gSPDisplayList(gfxCtx->polyXlu.p++, + Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, + 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682); } diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 8e43a2fcf0..0451e801dd 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -97,7 +97,7 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { f32 scale; f32 offset; u16 timer; - + if (this->actor.unk_F0 < 50.0f) { scale = 10.0f; } else { @@ -108,23 +108,23 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; } } - + timer = this->timer; if (timer != 0) { this->timer -= 1; - - if (this->timer >= 8){ + + if (this->timer >= 8) { offset = ((this->timer - 8) * 0.041666668f); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_160 += ((2.0f - this->unk_160) * 0.1f); if (this->timer < 16) { - if (1){} + if (1) {} this->alpha = ((this->timer * 0x23) - 0x118); } } } - + if (this->timer >= 9) { if (this->unk_164 < 1.0f) { this->unk_164 += 0.25f; @@ -134,11 +134,11 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { this->unk_164 -= 0.125f; } } - - if (this->timer < 8) { + + if (this->timer < 8) { this->alpha = 0; } - + if (this->timer == 0) { this->timer = 255; Actor_Kill(&this->actor); @@ -187,10 +187,10 @@ void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx) { } } -void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ +void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) { s32 pad1; s32 pad2; - Actor* tranform; + Actor* tranform; u32 stateFrames; GraphicsContext* gfxCtx; EnArrow* arrow; @@ -203,7 +203,8 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); + gfxCtx = globalCtx->state.gfxCtx; + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); @@ -213,8 +214,8 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ // Draw blue effect over the screen when arrow hits if (this->unk_164 > 0) { gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); - gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF, - (s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF, + (s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF); gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); @@ -232,12 +233,12 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx){ } Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660), G_MTX_NOPUSH | - G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); - gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, - 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, 511 - (stateFrames * 10) % 512, - 511 - (stateFrames * 10) % 512, 4, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, + Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676); } diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 124fa9a236..cf99768efa 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -97,7 +97,7 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { f32 scale; f32 offset; u16 timer; - + if (this->actor.unk_F0 < 50.0f) { scale = 10.0f; } else { @@ -108,23 +108,23 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; } } - + timer = this->timer; if (timer != 0) { this->timer -= 1; - - if (this->timer >= 8){ + + if (this->timer >= 8) { offset = ((this->timer - 8) * 0.041666668f); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_160 += ((2.0f - this->unk_160) * 0.1f); if (this->timer < 16) { - if (1){} + if (1) {} this->alpha = ((this->timer * 0x23) - 0x118); } } } - + if (this->timer >= 9) { if (this->unk_164 < 1.0f) { this->unk_164 += 0.25f; @@ -134,11 +134,11 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { this->unk_164 -= 0.125f; } } - - if (this->timer < 8) { + + if (this->timer < 8) { this->alpha = 0; } - + if (this->timer == 0) { this->timer = 255; Actor_Kill(&this->actor); @@ -192,7 +192,7 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { s32 pad2; u32 stateFrames; GraphicsContext* gfxCtx; - Actor* tranform; + Actor* tranform; EnArrow* arrow; Gfx* gfxArr[4]; @@ -203,7 +203,8 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); + gfxCtx = globalCtx->state.gfxCtx; + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); @@ -213,7 +214,7 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { // Draw yellow effect over the screen when arrow hits if (this->unk_164 > 0) { gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); - gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF, + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF, (s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF); gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); @@ -232,12 +233,12 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { } Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648), G_MTX_NOPUSH | - G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); - gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, - 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, 511 - (stateFrames * 10) % 512, - 511 - (stateFrames * 30) % 512, 8, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, + Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664); } From 9cb03972afebe5870f530ca1f1cc335d699fd75a Mon Sep 17 00:00:00 2001 From: fig02 Date: Mon, 30 Mar 2020 06:04:36 -0400 Subject: [PATCH 07/10] fix clang formatting change --- src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c | 5 +++-- src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c | 5 +++-- src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 97856ff9e2..28a2f963f7 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -203,8 +203,9 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; - func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + // clang-format on Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 0451e801dd..475e5b1352 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -203,8 +203,9 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; - func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); + // clang-format on Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index cf99768efa..621d90e1c0 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -203,8 +203,9 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { if (1) {} tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; - gfxCtx = globalCtx->state.gfxCtx; - func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); + // clang-format on Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); From daa7877c96bf1df0e080de2d4af138772963fe9b Mon Sep 17 00:00:00 2001 From: fig02 Date: Mon, 30 Mar 2020 14:52:06 -0400 Subject: [PATCH 08/10] pr changes --- src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c | 2 +- src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c | 2 +- src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c | 2 +- src/overlays/actors/ovl_En_Arrow/z_en_arrow.h | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 28a2f963f7..fe21fd9292 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -170,7 +170,7 @@ void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) { ArrowFire_SetupAction(this, ArrowFire_Hit); this->timer = 32; this->alpha = 0xFF; - } else if (arrow->timer < 0x22) { + } else if (arrow->timer < 34) { if (this->alpha < 0x23) { Actor_Kill(&this->actor); } else { diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 475e5b1352..2835ad6cf5 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -170,7 +170,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) { ArrowIce_SetupAction(this, &ArrowIce_Hit); this->timer = 32; this->alpha = 0xFF; - } else if (arrow->timer < 0x22) { + } else if (arrow->timer < 34) { if (this->alpha < 0x23) { Actor_Kill(&this->actor); } else { diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 621d90e1c0..a91c2fce9e 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -170,7 +170,7 @@ void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) { ArrowLight_SetupAction(this, &ArrowLight_Hit); this->timer = 32; this->alpha = 0xFF; - } else if (arrow->timer < 0x22) { + } else if (arrow->timer < 34) { if (this->alpha < 0x23) { Actor_Kill(&this->actor); } else { diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h index cf9bf95599..3ac1e13ac5 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h @@ -9,6 +9,7 @@ typedef struct { /* 0x014C */ char unk_14C[0xFC]; /* 0x0248 */ u8 timer; // used for dissapearing when flying or hitting a wall /* 0x0249 */ u8 hitWall; + /* 0x024A */ char unk_24A[0x16]; } EnArrow; // size = 0x0260 extern const ActorInit En_Arrow_InitVars; From 340fbd5a409519d6a00584b93a08da05ff376ef1 Mon Sep 17 00:00:00 2001 From: fig02 Date: Tue, 31 Mar 2020 05:00:04 -0400 Subject: [PATCH 09/10] adjusting sub98 init structs across actors --- include/functions.h | 4 ++-- include/z64actor.h | 22 +++++++++++++------ .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 8 +++---- .../actors/ovl_Arrow_Ice/z_arrow_ice.c | 10 ++++----- .../actors/ovl_Arrow_Light/z_arrow_light.c | 10 ++++----- .../actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c | 4 ++-- src/overlays/actors/ovl_En_Dog/z_en_dog.c | 12 +--------- src/overlays/actors/ovl_En_Tk/z_en_tk.c | 19 ++++++---------- .../actors/ovl_En_Wallmas/z_en_wallmas.c | 9 ++++++-- 9 files changed, 48 insertions(+), 50 deletions(-) diff --git a/include/functions.h b/include/functions.h index 51d6d9c54b..ce8b5ac1a2 100644 --- a/include/functions.h +++ b/include/functions.h @@ -756,8 +756,8 @@ s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* // ? func_80061C98(?); // ? func_80061E48(?); // ? func_80061E8C(?); -void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init); -void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init); +void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init); +void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init); // ? func_80061F64(?); // ? func_800622E4(?); // ? func_80062530(?); diff --git a/include/z64actor.h b/include/z64actor.h index 91a1f9f716..bee0433109 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -80,13 +80,6 @@ typedef struct { } attack[32]; } ActorDamageChart; -typedef struct { - /* 0x00 */ u8 health; - /* 0x02 */ s16 unk_02; - /* 0x04 */ s16 unk_04; - /* 0x06 */ u8 mass; -} SubActor98Init; - typedef struct { /* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)... /* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body @@ -182,6 +175,21 @@ typedef struct Actor { /* From here on, the structure and size varies for each actor */ } Actor; // size = 0x14C +typedef struct { + /* 0x00 */ u8 health; + /* 0x02 */ s16 unk_02; + /* 0x04 */ s16 unk_04; + /* 0x06 */ u8 mass; +} Sub98Init4; + +typedef struct { + /* 0x00 */ u8 health; + /* 0x02 */ s16 unk_10; + /* 0x04 */ s16 unk_12; + /* 0x06 */ u16 unk_14; + /* 0x08 */ u8 mass; +} Sub98Init5; + typedef enum { COLTYPE_CYLINDER = 1, COLTYPE_CYLINDER_GROUP = 0, diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index fe21fd9292..edd2247267 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -47,7 +47,7 @@ void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { this->radius = 0; this->unk_158 = 1.0f; ArrowFire_SetupAction(&this->actor, ArrowFire_Charge); - Actor_SetScale(this, 0.01); + Actor_SetScale(this, 0.01f); this->alpha = 0xA0; this->timer = 0; this->unk_15C = 0.0f; @@ -105,7 +105,7 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { scale = 310.0f; } else { scale = this->actor.unk_F0; - scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; } } @@ -114,7 +114,7 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { this->timer -= 1; if (this->timer >= 8) { - offset = ((this->timer - 8) * 0.041666668f); + offset = ((this->timer - 8) * (1.0f / 24.0f)); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_158 += ((2.0f - this->unk_158) * 0.1f); @@ -158,7 +158,7 @@ void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) { // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; this->actor.shape.rot = arrow->actor.shape.rot; - distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); this->unk_158 = distanceScaled; if (distanceScaled < 1.0f) { this->unk_158 = 1.0f; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 2835ad6cf5..76dde2184c 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -47,7 +47,7 @@ void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx) { this->radius = 0; this->unk_160 = 1.0f; ArrowIce_SetupAction(this, ArrowIce_Charge); - Actor_SetScale(&this->actor, 0.01); + Actor_SetScale(&this->actor, 0.01f); this->alpha = 0x64; this->timer = 0; this->unk_164 = 0.0f; @@ -105,7 +105,7 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { scale = 310.0f; } else { scale = this->actor.unk_F0; - scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; } } @@ -114,7 +114,7 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { this->timer -= 1; if (this->timer >= 8) { - offset = ((this->timer - 8) * 0.041666668f); + offset = ((this->timer - 8) * (1.0f / 24.0f)); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_160 += ((2.0f - this->unk_160) * 0.1f); @@ -158,7 +158,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) { // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; this->actor.shape.rot = arrow->actor.shape.rot; - distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); this->unk_160 = distanceScaled; if (distanceScaled < 1.0f) { this->unk_160 = 1.0f; @@ -167,7 +167,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) { if (arrow->hitWall & 1) { Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE); - ArrowIce_SetupAction(this, &ArrowIce_Hit); + ArrowIce_SetupAction(this, ArrowIce_Hit); this->timer = 32; this->alpha = 0xFF; } else if (arrow->timer < 34) { diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index a91c2fce9e..555c7f276a 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -47,7 +47,7 @@ void ArrowLight_Init(ArrowLight* this, GlobalContext* globalCtx) { this->radius = 0; this->unk_160 = 1.0f; ArrowLight_SetupAction(this, ArrowLight_Charge); - Actor_SetScale(&this->actor, 0.01); + Actor_SetScale(&this->actor, 0.01f); this->alpha = 0x82; this->timer = 0; this->unk_164 = 0.0f; @@ -105,7 +105,7 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { scale = 310.0f; } else { scale = this->actor.unk_F0; - scale = ((scale - 50.0f) * 0.33333334f) + 10.0f; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; } } @@ -114,7 +114,7 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { this->timer -= 1; if (this->timer >= 8) { - offset = ((this->timer - 8) * 0.041666668f); + offset = ((this->timer - 8) * (1.0f / 24.0f)); offset = SQ(offset); this->radius = (((1.0f - offset) * scale) + 10.0f); this->unk_160 += ((2.0f - this->unk_160) * 0.1f); @@ -158,7 +158,7 @@ void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) { // copy position and rotation from the attached arrow this->actor.posRot.pos = arrow->actor.posRot.pos; this->actor.shape.rot = arrow->actor.shape.rot; - distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * 0.041666668f; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); this->unk_160 = distanceScaled; if (distanceScaled < 1.0f) { this->unk_160 = 1.0f; @@ -167,7 +167,7 @@ void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) { if (arrow->hitWall & 1) { Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_LIGHT); - ArrowLight_SetupAction(this, &ArrowLight_Hit); + ArrowLight_SetupAction(this, ArrowLight_Hit); this->timer = 32; this->alpha = 0xFF; } else if (arrow->timer < 34) { diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c index d87c2f1362..47f061eba0 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c @@ -168,7 +168,7 @@ static ColliderCylinderInit colliderInit = { 0x00, 0x00, 0xFFCFFFFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000, 0x0001, 0x0000, 0x000A, 0x0046, 0x0000, }; -static SubActor98Init subActor98Init = { +static Sub98Init4 sub98Init = { 0x0A, 0x0023, 0x0064, @@ -202,7 +202,7 @@ static void BgTokiSwd_Init(BgTokiSwd* this, GlobalContext* globalCtx) { ActorCollider_AllocCylinder(globalCtx, collision); ActorCollider_InitCylinder(globalCtx, collision, thisx, &colliderInit); ActorCollider_Cylinder_Update(thisx, collision); - func_80061ED4(&thisx->sub_98, 0, &subActor98Init); + func_80061ED4(&thisx->sub_98, 0, &sub98Init); } static void BgTokiSwd_Destroy(BgTokiSwd* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index d625fc2f86..073ef77f38 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -41,17 +41,7 @@ static ColliderCylinderInit cylinderInit = { 0x0010, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, }; -// There are multiple versions of sub98 init structs -// Keeping these local until z_collision_check is decompiled -typedef struct { - /* 0x00 */ u8 health; - /* 0x02 */ s16 unk_10; - /* 0x04 */ s16 unk_12; - /* 0x06 */ u16 unk_14; - /* 0x08 */ u8 mass; -} sub98Init; - -static sub98Init sub98Data = { +static Sub98Init5 sub98Data = { 0x00, // health 0x0000, // unk_10 0x0000, // unk_12 diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index 818b254344..04dc225182 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -1,15 +1,10 @@ -#include -#include -#include "z_en_tk.h" +/* + * File: z_en_tk.c + * Overlay: ovl_En_Tk + * Description: Dampe NPC from "Dampe's Heart-Pounding Gravedigging Tour" + */ -typedef struct { - /* 0x0000 */ u8 health; /* SubActorStruct98.health */ - /* 0x0002 */ s16 h_2; /* SubActorStruct98.unk_10 */ - /* 0x0004 */ s16 h_4; /* SubActorStruct98.unk_12 */ - /* 0x0006 */ s16 h_6; /* SubActorStruct98.unk_14 */ - /* 0x0008 */ u8 mass; /* SubActorStruct98.mass */ - /* 0x000A */ -} EnTk_SubActorStruct98Init; +#include "z_en_tk.h" #define ROOM 0x00 #define FLAGS 0x00000009 @@ -181,7 +176,7 @@ static ColliderCylinderInit D_80B1D508 = { 0x00, 0x00, 0x01, 0x00, 0x001E, 0x0034, 0x0000, 0x0000, 0x0000, 0x0000, }; -static EnTk_SubActorStruct98Init D_80B1D534 = { +static Sub98Init5 D_80B1D534 = { 0x00, 0x0000, 0x0000, 0x0000, 0xFF, }; diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index 48f1cae778..d106c9cd02 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -57,7 +57,12 @@ static ColliderCylinderInit colCylinderInit = { 0x00, 0x01, 0x01, 0x00, 0x001E, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, }; -static SubActor98Init subActor98Init = { 0x04, 0x001E, 0x0028, 0x96 }; +static Sub98Init4 sub98Init = { + 0x04, + 0x001E, + 0x0028, + 0x96, +}; static ActorDamageChart damageChart = { { { 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x1 }, { 0x0, 0x2 }, { 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x2 }, { 0x1, 0x0 }, @@ -96,7 +101,7 @@ static void EnWallmas_Init(EnWallmas* this, GlobalContext* globalCtx) { ActorCollider_AllocCylinder(globalCtx, &this->colCylinder); ActorCollider_InitCylinder(globalCtx, &this->colCylinder, &this->actor, &colCylinderInit); - func_80061ED4(&this->actor.sub_98, &damageChart, &subActor98Init); + func_80061ED4(&this->actor.sub_98, &damageChart, &sub98Init); this2->switchFlag = (u8)(this2->actor.params >> 0x8); this->actor.params = this->actor.params & 0xFF; From 6ec73a5f1cda6d955e863124363ed816376e46ad Mon Sep 17 00:00:00 2001 From: fig02 Date: Tue, 31 Mar 2020 05:07:23 -0400 Subject: [PATCH 10/10] fix merge issues --- src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c | 2 +- src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c | 2 +- src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index edd2247267..af0fb9ca23 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -238,7 +238,7 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) { G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, - Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682); diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 76dde2184c..5b70457f49 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -238,7 +238,7 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) { G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, - Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676); diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 555c7f276a..4522c4c84d 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -238,7 +238,7 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, - Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664);