mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-09 22:15:03 +00:00
void EffDust_Init(Actor *thisx, GlobalContext *globalCtx)
Signed-off-by: angie <angheloalf95@gmail.com>
This commit is contained in:
parent
ef7ca54add
commit
c57b9e2946
4 changed files with 76 additions and 37 deletions
|
@ -1,20 +0,0 @@
|
||||||
.include "macro.inc"
|
|
||||||
|
|
||||||
# assembler directives
|
|
||||||
.set noat # allow manual use of $at
|
|
||||||
.set noreorder # don't insert nops after branches
|
|
||||||
.set gp=64 # allow use of 64-bit general purpose registers
|
|
||||||
|
|
||||||
.section .data
|
|
||||||
|
|
||||||
.balign 16
|
|
||||||
|
|
||||||
glabel Eff_Dust_InitVars
|
|
||||||
.word 0x01010400, 0x00000030, 0x00010000, 0x00000568
|
|
||||||
.word EffDust_Init
|
|
||||||
.word EffDust_Destroy
|
|
||||||
.word EffDust_Update
|
|
||||||
.word EffDust_Draw
|
|
||||||
glabel D_8099EB60
|
|
||||||
.word 0xDF000000, 0x00000000, 0x00000000, 0x00000000
|
|
||||||
|
|
1
spec
1
spec
|
@ -1612,7 +1612,6 @@ endseg
|
||||||
beginseg
|
beginseg
|
||||||
name "ovl_Eff_Dust"
|
name "ovl_Eff_Dust"
|
||||||
include "build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o"
|
include "build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o"
|
||||||
include "build/data/overlays/actors/z_eff_dust.data.o"
|
|
||||||
include "build/data/overlays/actors/z_eff_dust.reloc.o"
|
include "build/data/overlays/actors/z_eff_dust.reloc.o"
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,16 @@ void EffDust_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void EffDust_Update(Actor* thisx, GlobalContext* globalCtx);
|
void EffDust_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||||
void EffDust_Draw(Actor* thisx, GlobalContext* globalCtx);
|
void EffDust_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||||
|
|
||||||
|
s32 func_8099D8E0(EffDust* this);
|
||||||
|
|
||||||
|
f32 func_8099DB28(EffDust* this, GlobalContext* globalCtx);
|
||||||
|
f32 func_8099DD74(EffDust* this, GlobalContext* globalCtx);
|
||||||
|
f32 func_8099DFC0(EffDust* this, GlobalContext* globalCtx);
|
||||||
|
f32 func_8099E4F4(EffDust* this, GlobalContext* globalCtx);
|
||||||
|
f32 func_8099E784(EffDust* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
extern UNK_TYPE D_04037880;
|
extern UNK_TYPE D_04037880;
|
||||||
|
|
||||||
/*
|
|
||||||
const ActorInit Eff_Dust_InitVars = {
|
const ActorInit Eff_Dust_InitVars = {
|
||||||
ACTOR_EFF_DUST,
|
ACTOR_EFF_DUST,
|
||||||
ACTORTYPE_NPC,
|
ACTORTYPE_NPC,
|
||||||
|
@ -23,9 +30,10 @@ const ActorInit Eff_Dust_InitVars = {
|
||||||
(ActorFunc)EffDust_Update,
|
(ActorFunc)EffDust_Update,
|
||||||
(ActorFunc)EffDust_Draw,
|
(ActorFunc)EffDust_Draw,
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
|
|
||||||
extern Gfx D_8099EB60[];
|
static Gfx *D_8099EB60[] = {
|
||||||
|
0xDF000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
};
|
||||||
|
|
||||||
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8D0.s")
|
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8D0.s")
|
||||||
|
|
||||||
|
@ -43,9 +51,65 @@ void func_8099D8D8(EffDust* this, EffDustActionFunc callback) {
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8E0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8E0.s")
|
||||||
|
|
||||||
s32 func_8099D8E0(EffDust* this);
|
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Init.s")
|
||||||
|
|
||||||
|
void EffDust_Init(Actor *thisx, GlobalContext *globalCtx) {
|
||||||
|
EffDust *this = THIS;
|
||||||
|
u32 sp20;
|
||||||
|
|
||||||
|
sp20 = this->actor.params;
|
||||||
|
func_8099D8E0(this);
|
||||||
|
|
||||||
|
switch(sp20){
|
||||||
|
case 0:
|
||||||
|
func_8099D8D0(this, func_8099DB28);
|
||||||
|
func_8099D8D8(this, func_8099E4F4);
|
||||||
|
this->unk_0554 = 0.8f;
|
||||||
|
this->unk_0558 = 0.8f;
|
||||||
|
this->unk_0550 = 1.0f;
|
||||||
|
this->unk_055C = 0.1f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
func_8099D8D0(this, func_8099DD74);
|
||||||
|
func_8099D8D8(this, func_8099E4F4);
|
||||||
|
this->unk_0550 = 0.8f;
|
||||||
|
this->unk_0558 = 0.8f;
|
||||||
|
this->unk_0554 = 1.0f;
|
||||||
|
this->unk_055C = 0.5f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
func_8099D8D0(this, func_8099DFC0);
|
||||||
|
func_8099D8D8(this, func_8099E784);
|
||||||
|
this->unk_0550 = 0.5f;
|
||||||
|
this->unk_055C = 15.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
func_8099D8D0(this, func_8099DFC0);
|
||||||
|
func_8099D8D8(this, func_8099E784);
|
||||||
|
this->unk_0550 = 0.5f;
|
||||||
|
this->unk_055C = 10.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
func_8099D8D0(this, func_8099DFC0);
|
||||||
|
func_8099D8D8(this, func_8099E784);
|
||||||
|
this->actor.room = -1;
|
||||||
|
this->unk_0550 = 0.5f;
|
||||||
|
this->unk_055C = 20.0f;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
SystemArena_FreeDebug(this, "../z_eff_dust.c", 0xCA);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this->unk_054D = 0xA;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Init.s")
|
|
||||||
|
|
||||||
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Destroy.s")
|
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Destroy.s")
|
||||||
|
|
||||||
|
@ -56,24 +120,14 @@ void EffDust_Destroy(Actor *thisx, GlobalContext *globalCtx) {
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DB28.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DB28.s")
|
||||||
|
|
||||||
f32 func_8099DB28(EffDust* this, GlobalContext* globalCtx);
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DD74.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DD74.s")
|
||||||
|
|
||||||
f32 func_8099DD74(EffDust* this, GlobalContext* globalCtx);
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DFC0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DFC0.s")
|
||||||
|
|
||||||
f32 func_8099DFC0(EffDust* this, GlobalContext* globalCtx);
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Update.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Update.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E4F4.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E4F4.s")
|
||||||
|
|
||||||
f32 func_8099E4F4(EffDust* this, GlobalContext* globalCtx);
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E784.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E784.s")
|
||||||
|
|
||||||
f32 func_8099E784(EffDust* this, GlobalContext* globalCtx);
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Draw.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Draw.s")
|
||||||
|
|
|
@ -10,7 +10,13 @@ typedef f32 (*EffDustActionFunc)(struct EffDust *, GlobalContext *);
|
||||||
|
|
||||||
typedef struct EffDust {
|
typedef struct EffDust {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ char unk_14C[0x414];
|
/* 0x014C */ char unk_14C[0x401];
|
||||||
|
/* 0x054D */ u8 unk_054D;
|
||||||
|
/* 0x054E */ char unk_54E[0x02];
|
||||||
|
/* 0x0550 */ f32 unk_0550;
|
||||||
|
/* 0x0554 */ f32 unk_0554;
|
||||||
|
/* 0x0558 */ f32 unk_0558;
|
||||||
|
/* 0x055C */ f32 unk_055C;
|
||||||
/* 0x0560 */ EffDustActionFunc unk_0560;
|
/* 0x0560 */ EffDustActionFunc unk_0560;
|
||||||
/* 0x0560 */ EffDustActionFunc unk_0564;
|
/* 0x0560 */ EffDustActionFunc unk_0564;
|
||||||
} EffDust; // size = 0x0568
|
} EffDust; // size = 0x0568
|
||||||
|
|
Loading…
Add table
Reference in a new issue