mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-09 05:44:26 +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
|
||||
name "ovl_Eff_Dust"
|
||||
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"
|
||||
endseg
|
||||
|
||||
|
|
|
@ -9,9 +9,16 @@ void EffDust_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EffDust_Update(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;
|
||||
|
||||
/*
|
||||
const ActorInit Eff_Dust_InitVars = {
|
||||
ACTOR_EFF_DUST,
|
||||
ACTORTYPE_NPC,
|
||||
|
@ -23,9 +30,10 @@ const ActorInit Eff_Dust_InitVars = {
|
|||
(ActorFunc)EffDust_Update,
|
||||
(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")
|
||||
|
||||
|
@ -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")
|
||||
|
||||
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")
|
||||
|
||||
|
@ -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")
|
||||
|
||||
f32 func_8099DB28(EffDust* this, GlobalContext* globalCtx);
|
||||
|
||||
#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")
|
||||
|
||||
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/func_8099E4F4.s")
|
||||
|
||||
f32 func_8099E4F4(EffDust* this, GlobalContext* globalCtx);
|
||||
|
||||
#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")
|
||||
|
|
|
@ -10,7 +10,13 @@ typedef f32 (*EffDustActionFunc)(struct EffDust *, GlobalContext *);
|
|||
|
||||
typedef struct EffDust {
|
||||
/* 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_0564;
|
||||
} EffDust; // size = 0x0568
|
||||
|
|
Loading…
Add table
Reference in a new issue