animation struct documentation

This commit is contained in:
Banjo Kazooie
2023-03-12 23:11:39 -05:00
parent 7dd7a0b60c
commit af75d8b32d
293 changed files with 2031 additions and 1986 deletions

View File

@@ -502,7 +502,7 @@ segments:
subsegments: subsegments:
- [0xF55960, c, animctrl] #DONE - [0xF55960, c, animctrl] #DONE
- [0xF56430, c, code_AD0] #DONE - [0xF56430, c, code_AD0] #DONE
- [0xF56A40, c, code_10E0] #DONE - [0xF56A40, c, animcache] #DONE
- [0xF56EB0, c, code_1550] #DONE - [0xF56EB0, c, code_1550] #DONE
- [0xF57290, c, code_1930] #DONE - [0xF57290, c, code_1930] #DONE
- [0xF57BA0, c, code_2240] #DONE - [0xF57BA0, c, code_2240] #DONE
@@ -806,7 +806,7 @@ segments:
- [0x1002A70, c, code_AD110] #DONE - [0x1002A70, c, code_AD110] #DONE
- [0x1002F10, c, code_AD5B0] #DONE - [0x1002F10, c, code_AD5B0] #DONE
- [0x1003BF0, c, code_AE290] #DONE - [0x1003BF0, c, code_AE290] #DONE
- [0x1003F30, c, code_AE5D0] #DONE - [0x1003F30, c, skeletalanim] #DONE
- [0x1004700, c, code_AEDA0] - [0x1004700, c, code_AEDA0]
- [0x1006D60, c, modelRender] - [0x1006D60, c, modelRender]
- [0x1008EE0, c, code_B3580] #DONE - [0x1008EE0, c, code_B3580] #DONE
@@ -1306,7 +1306,7 @@ segments:
- [0x1047840, .rodata, code_A4D00] - [0x1047840, .rodata, code_A4D00]
- [0x1047870, .rodata, code_A5BC0] - [0x1047870, .rodata, code_A5BC0]
- [0x1047890, .rodata, code_AD110] - [0x1047890, .rodata, code_AD110]
- [0x10478B0, .rodata, code_AE5D0] - [0x10478B0, .rodata, skeletalanim]
- [0x10478C0, .rodata, code_AEDA0] - [0x10478C0, .rodata, code_AEDA0]
- [0x1047910, .rodata, modelRender] - [0x1047910, .rodata, modelRender]
- [0x1047920, .rodata, code_B3A80] - [0x1047920, .rodata, code_B3A80]
@@ -1367,7 +1367,7 @@ segments:
- [0x1048460, .rodata, code_DA760] - [0x1048460, .rodata, code_DA760]
- [0x1048480, .rodata, code_DB010] - [0x1048480, .rodata, code_DB010]
- [0x1048560, .bss, code_AD0] - [0x1048560, .bss, code_AD0]
- [0x1048560, .bss, code_10E0] - [0x1048560, .bss, animcache]
- [0x1048560, .bss, code_1550] - [0x1048560, .bss, code_1550]
- [0x1048560, .bss, code_1930] - [0x1048560, .bss, code_1930]
- [0x1048560, .bss, ba/anim] - [0x1048560, .bss, ba/anim]

View File

@@ -2,26 +2,18 @@
#define ANIMATION_H #define ANIMATION_H
#include "prop.h" #include "prop.h"
s32 func_80289680(void); size_t anim_getSize(void);
enum asset_e anim_getIndex(Animation *this); enum asset_e anim_getIndex(Animation *this);
f32 anim_getTimer(Animation *this); f32 anim_getTimer(Animation *this);
f32 anim_getDuration(Animation *this); f32 anim_getDuration(Animation *this);
void func_802896EC(Animation *this, s32 arg1); void anim_new(Animation *this, bool arg1);
void anim_setTimer(Animation *this, f32 arg1); void anim_setTimer(Animation *this, f32 arg1);
void anim_80289790(Animation* this, void (*arg1)(s32, s32)); void anim_80289790(Animation* this, void (*arg1)(s32, s32));
void anim_80289798(Animation *this, s32 arg1); void anim_80289798(Animation *this, s32 arg1);
void anim_setDuration(Animation *this, f32 arg1); void anim_setDuration(Animation *this, f32 arg1);
typedef struct { //represents the transformation on a given model bone
f32 unk0[4];
f32 unk10[3];
f32 unk1C[3];
}Struct_B1400;
typedef struct struct_B1400_1_s{
Struct_B1400 *unk0;
s32 unk4;
}Struct_B1400_1;
typedef union typedef union
{ {
@@ -48,11 +40,11 @@ typedef struct animation_file_s{
u8 pad6[2]; u8 pad6[2];
} AnimationFile; } AnimationFile;
typedef struct animation_cache_s{ typedef struct animation_file_cache_s{
AnimationFile *unk0; AnimationFile *unk0;
u16 unk4_15:15; u16 unk4_15:15;
u16 unk4_0:1; u16 unk4_0:1;
u8 pad6[2]; u8 pad6[2];
}AnimationCache; }AnimationFileCache;
#endif #endif

View File

@@ -2,6 +2,7 @@
#define __ANIM_CTRL_H__ #define __ANIM_CTRL_H__
#include <ultra64.h> #include <ultra64.h>
#include "generic.h"
#ifndef NONMATCHING #ifndef NONMATCHING
#define animctrl_start(this, file, line) _animctrl_start(this, file, line) #define animctrl_start(this, file, line) _animctrl_start(this, file, line)
@@ -16,18 +17,24 @@ enum animctrl_playback_e{
ANIMCTRL_SUBRANGE_LOOP = 4 ANIMCTRL_SUBRANGE_LOOP = 4
}; };
typedef struct{
Mtx mtx_0;
s32 size_40;
s32 capacity_44;
Mtx data[];
}AnimMtxList;
typedef struct animation_s{ typedef struct animation_s{
void (* matrices)(s32, s32); GenFunction_2 matrices;
s32 unk4; s32 unk4;
u8 unk8; u8 unk8;
u8 unk9; u8 unk9;
s16 unkA[3]; s16 animcache_index[3];
u32 index; u32 index;
f32 timer; f32 timer;
f32 duration; f32 duration;
u8 unk1C; u8 reset;
u8 unk1D; u8 triple_buffer;
u8 unk1E; u8 unk1E;
u8 unk1F; u8 unk1F;
} Animation; } Animation;
@@ -85,8 +92,8 @@ f32 animctrl_getTransistionDuration(AnimCtrl *this);
f32 animctrl_getAnimTimer(AnimCtrl *this); f32 animctrl_getAnimTimer(AnimCtrl *this);
f32 animctrl_getTimer(AnimCtrl *this); f32 animctrl_getTimer(AnimCtrl *this);
void animctrl_setTimer(AnimCtrl *this, f32 arg1); void animctrl_setTimer(AnimCtrl *this, f32 arg1);
s32 animctrl_8028780C(AnimCtrl *this, s32 arg1); s32 animctrl_8028780C(f32 position[3], s32 arg1);
s32 func_8028781C(AnimCtrl *this, f32 *arg1, s32 arg2); void animctrl_drawSetup(AnimCtrl *this, f32 *arg1, s32 arg2);
s32 animctrl_isStopped(AnimCtrl *this); s32 animctrl_isStopped(AnimCtrl *this);
int animctrl_isAt(AnimCtrl *this, f32 arg1); int animctrl_isAt(AnimCtrl *this, f32 arg1);
s32 animctrl_isContiguous(AnimCtrl *this); s32 animctrl_isContiguous(AnimCtrl *this);

View File

@@ -0,0 +1,15 @@
#ifndef _BONE_TRANSFORMATION_H_
#define _BONE_TRANSFORMATION_H_
#include <ultratypes.h>
typedef struct {
f32 unk0[4];
f32 scale[3];
f32 unk1C[3];
}BoneTransform;
typedef struct bone_transform_list_s{
BoneTransform *ptr;
s32 count;
}BoneTransformList;
#endif

View File

@@ -17,14 +17,14 @@ BKTextureList *model_getTextureList(BKModelBin *arg0);
void modelRender_reset(void); void modelRender_reset(void);
BKModelBin *modelRender_draw(Gfx **gfx, Mtx **mtx, f32 position[3], f32 rotation[3], f32 scale, f32*arg5, BKModelBin* model_bin); BKModelBin *modelRender_draw(Gfx **gfx, Mtx **mtx, f32 position[3], f32 rotation[3], f32 scale, f32*arg5, BKModelBin* model_bin);
void modelRender_preDraw(GenMethod_1 func, s32 arg); void modelRender_preDraw(GenFunction_1 func, s32 arg);
void modelRender_postDraw(GenMethod_1 func, s32 arg); void modelRender_postDraw(GenFunction_1 func, s32 arg);
void modelRender_setDisplayList(BKGfxList *gfx_list); void modelRender_setDisplayList(BKGfxList *gfx_list);
void func_8033A308(f32 arg0[3]); void func_8033A308(f32 arg0[3]);
void modelRender_setPrimAndEnvColors(s32 env[4], s32 prim[4]); void modelRender_setPrimAndEnvColors(s32 env[4], s32 prim[4]);
void modelRender_setEnvColor(s32 r, s32 g, s32 b, s32 a); void modelRender_setEnvColor(s32 r, s32 g, s32 b, s32 a);
void modelRender_setAlpha(s32 a); void modelRender_setAlpha(s32 a);
void func_8033A444(struct58s *arg0); void func_8033A444(AnimMtxList *arg0);
void func_8033A450(struct5Bs *arg0); void func_8033A450(struct5Bs *arg0);
void func_8033A45C(s32 arg0, s32 arg1); void func_8033A45C(s32 arg0, s32 arg1);
void func_8033A470(s32 arg0, s32 arg1); void func_8033A470(s32 arg0, s32 arg1);

View File

@@ -0,0 +1,58 @@
#ifndef _SKELETAL_ANIMATION_H_
#define _SKELETAL_ANIMATION_H_
#include "core2/vla.h"
#include "generic.h"
#include "bonetransform.h"
enum skeletal_anim_e {
SKELETAL_ANIM_1_LOOP = 1,
SKELETAL_ANIM_2_ONCE,
SKELETAL_ANIM_3_BACKWARDS,
SKELETAL_ANIM_4_STOPPED
};
typedef struct {
f32 when;
u8 arg_count;
//u8 pad5[0x3];
void * callback_fn;
s32 arg;
}SkeletalAnimationCallback;
typedef struct {
BoneTransformList *bone_transform;
struct animation_file_s *animation_bin;
f32 progress;
f32 duration;
vector(SkeletalAnimationCallback) *callback_list;
u8 unk14;
u8 behavior;
s16 animation_id;
s32 loop_count;
f32 prev_progress;
f32 transition_progress;
BoneTransformList *transition_start;
BoneTransformList *transition_target;
f32 transition_duration;
u8 unk30;
// u8 pad31[3];
}SkeletalAnimation;
void skeletalAnim_clearCallbacks(SkeletalAnimation *self);
enum asset_e skeletalAnim_getAnimId(SkeletalAnimation *self);
f32 skeletalAnim_getProgress(SkeletalAnimation *self);
void skeletalAnim_getProgressRange(SkeletalAnimation *self, f32 *prev_progress, f32 *progress);
BoneTransformList *skeletalAnim_getBoneTransformList(SkeletalAnimation *self);
s32 skeletalAnim_getLoopCount(SkeletalAnimation *self);
void skeletalAnim_setCallback_0(SkeletalAnimation *self, f32 when, GenFunction_0 fn);
void skeletalAnim_setCallback_1(SkeletalAnimation *self, f32 when, GenFunction_1 fn, s32 arg);
void skeletalAnim_free(SkeletalAnimation *self);
SkeletalAnimation *skeletalAnim_new(void);
void skeletalAnim_func_80335918(SkeletalAnimation *self);
void skeletalAnim_set(SkeletalAnimation *self, enum asset_e anim_id, f32 transistion_duration, f32 duration);
void skeletalAnim_swap(SkeletalAnimation *self, enum asset_e anim_id, f32 transistion_duration, f32 duration);
void skeletalAnim_setProgress(SkeletalAnimation *self, f32 progress);
void skeletalAnim_setDuration(SkeletalAnimation *self, f32 duration);
void skeletalAnim_setBehavior(SkeletalAnimation *self, enum skeletal_anim_e behavior);
void skeletalAnim_update(SkeletalAnimation *self, f32 dt, s32 arg2);
#endif

View File

@@ -7,13 +7,13 @@
#define reinterpret_cast(type, var) (*((type *)&var)) #define reinterpret_cast(type, var) (*((type *)&var))
void timedFunc_set_0(f32 time, GenMethod_0 funcPtr); void timedFunc_set_0(f32 time, GenFunction_0 funcPtr);
void timedFunc_set_1(f32 time, GenMethod_1 funcPtr, s32 arg0); void timedFunc_set_1(f32 time, GenFunction_1 funcPtr, s32 arg0);
void timedFunc_set_2(f32 time, GenMethod_2 funcPtr, s32 arg0, s32 arg1); void timedFunc_set_2(f32 time, GenFunction_2 funcPtr, s32 arg0, s32 arg1);
void timedFunc_set_3(f32 time, GenMethod_3 funcPtr, s32 arg0, s32 arg1, s32 arg2); void timedFunc_set_3(f32 time, GenFunction_3 funcPtr, s32 arg0, s32 arg1, s32 arg2);
void timedFunc_set_4(f32 time, GenMethod_4 funcPtr, s32 arg0, s32 arg1, s32 arg2, s32 arg3); void timedFunc_set_4(f32 time, GenFunction_4 funcPtr, s32 arg0, s32 arg1, s32 arg2, s32 arg3);
void timedFunc_set_5(f32 time, GenMethod_5 funcPtr, s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); void timedFunc_set_5(f32 time, GenFunction_5 funcPtr, s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void timedFunc_set_6(f32 time, GenMethod_6 funcPtr, void* argPtr ); void timedFunc_set_6(f32 time, GenFunction_6 funcPtr, void* argPtr );
void timedJiggySpawn(f32 time, s32 jiggyId, f32 *position); void timedJiggySpawn(f32 time, s32 jiggyId, f32 *position);
#endif #endif

17
include/core2/vla.h Normal file
View File

@@ -0,0 +1,17 @@
#ifndef _STATIC_LENGTH_ARRAY_H_
#define _STATIC_LENGTH_ARRAY_H_
#include<ultratypes.h>
typedef struct variable_length_array{
s32 elem_size;
void * begin;
void * end;
void * mem_end;
u8 data[];
}VLA;
#define vector(T) struct variable_length_array
//^defined to keep element type with vla
#endif

View File

@@ -225,7 +225,7 @@ void particleEmitter_setSprite(ParticleEmitter *, enum asset_e);
void particleEmitter_setPosition(ParticleEmitter *, f32[3]); void particleEmitter_setPosition(ParticleEmitter *, f32[3]);
ParticleEmitter *partEmitMgr_newEmitter(u32); ParticleEmitter *partEmitMgr_newEmitter(u32);
void func_802BB3DC(s32, f32, f32); void func_802BB3DC(s32, f32, f32);
void __spawnQueue_add_4(GenMethod_4, s32, s32, s32, s32); void __spawnQueue_add_4(GenFunction_4, s32, s32, s32, s32);
Actor *func_802C4140(enum actor_e actor_id, s32 x, s32 y, s32 z); Actor *func_802C4140(enum actor_e actor_id, s32 x, s32 y, s32 z);
void func_8030DA44(u8); void func_8030DA44(u8);
@@ -446,7 +446,7 @@ u8 func_8030ED2C(enum sfx_e uid, s32 arg1);
void fileProgressFlag_setN(s32, s32, s32); void fileProgressFlag_setN(s32, s32, s32);
Actor *marker_getActorAndRotation(ActorMarker *marker, f32 rotation[3]); Actor *marker_getActorAndRotation(ActorMarker *marker, f32 rotation[3]);
Actor *func_80325934(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_80325934(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
Actor *func_80325E78(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *actor_drawFullDepth(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80326244(Actor *); void func_80326244(Actor *);
@@ -477,13 +477,6 @@ void marker_setCollisionScripts(ActorMarker *this, MarkerCollisionFunc ow_func,
BKModelBin * func_80330B1C(ActorMarker *marker); BKModelBin * func_80330B1C(ActorMarker *marker);
BKVertexList *func_80330C74(Actor *actor); BKVertexList *func_80330C74(Actor *actor);
BKModelBin * func_80330DE4(ActorMarker *marker); BKModelBin * func_80330DE4(ActorMarker *marker);
f32 func_80335684(Struct80s *);
void func_8033568C(Struct80s *, f32 *, f32*);
void func_80335800(Struct80s *, f32, void (*)(ActorMarker *), ActorMarker *);
Struct80s *func_803358B4(void);
void func_80335924(Struct80s *, enum asset_e anim_id, f32, f32);
void func_80335A74(Struct80s *self, f32 arg1);
void func_80335A94(Struct80s *, f32, s32);
BKModelBin *modelRender_draw(Gfx**, Mtx**, f32 [3], f32[3], f32, f32*, BKModelBin*); BKModelBin *modelRender_draw(Gfx**, Mtx**, f32 [3], f32[3], f32, f32*, BKModelBin*);
void func_8033A280(f32); void func_8033A280(f32);
@@ -519,7 +512,7 @@ Actor *subaddie_getLinkedActor(Actor *);
/* used in RBB */ /* used in RBB */
void ml_vec3f_pitch_rotate_copy(f32 dst[3], f32 src[3], f32 pitch); void ml_vec3f_pitch_rotate_copy(f32 dst[3], f32 src[3], f32 pitch);
int ml_timer_update(f32 *arg0, f32 arg1); int ml_timer_update(f32 *arg0, f32 arg1);
Actor *func_80325888(ActorMarker *, Gfx**, Mtx**, Vtx **); Actor *actor_draw(ActorMarker *, Gfx**, Mtx**, Vtx **);
Actor *func_80325340(ActorMarker *, Gfx **, Mtx **, Vtx **); Actor *func_80325340(ActorMarker *, Gfx **, Mtx **, Vtx **);
void func_8032AA58(Actor *, f32); void func_8032AA58(Actor *, f32);
@@ -550,7 +543,7 @@ void func_802E4078(enum map_e map, s32 exit, s32 transition);
void levelSpecificFlags_set(s32, s32); void levelSpecificFlags_set(s32, s32);
void func_803228D8(void); void func_803228D8(void);
void func_803253A0(Actor *); void actor_predrawMethod(Actor *);
void mapSpecificFlags_set(s32, s32); void mapSpecificFlags_set(s32, s32);
struct0 *func_8031B9D8(void); struct0 *func_8031B9D8(void);
@@ -572,8 +565,8 @@ void func_802596AC(f32 a0[3], f32 a1[3], f32 a2[3], f32 a3[3]);
void func_8024E55C(s32, s32 [6]); void func_8024E55C(s32, s32 [6]);
void __spawnQueue_add_1(GenMethod_1, s32); void __spawnQueue_add_1(GenFunction_1, s32);
#define SPAWNQUEUE_ADD_1(method, arg0) __spawnQueue_add_1((GenMethod_1) (method), reinterpret_cast(s32, (arg0))) #define SPAWNQUEUE_ADD_1(method, arg0) __spawnQueue_add_1((GenFunction_1) (method), reinterpret_cast(s32, (arg0)))
void func_802FAD64(enum item_e); void func_802FAD64(enum item_e);
void nodeprop_getPosition(NodeProp *, f32[3]); void nodeprop_getPosition(NodeProp *, f32[3]);

View File

@@ -1,12 +1,12 @@
#ifndef _GENERIC_METHODS_H_ #ifndef _GENERIC_METHODS_H_
#define _GENERIC_METHODS_H_ #define _GENERIC_METHODS_H_
typedef void (* GenMethod_0)(void); typedef void (* GenFunction_0)(void);
typedef void (* GenMethod_1)(s32); typedef void (* GenFunction_1)(s32);
typedef void (* GenMethod_2)(s32, s32); typedef void (* GenFunction_2)(s32, s32);
typedef void (* GenMethod_3)(s32, s32, s32); typedef void (* GenFunction_3)(s32, s32, s32);
typedef void (* GenMethod_4)(s32, s32, s32, s32); typedef void (* GenFunction_4)(s32, s32, s32, s32);
typedef void (* GenMethod_5)(s32, s32, s32, s32, s32); typedef void (* GenFunction_5)(s32, s32, s32, s32, s32);
typedef void (* GenMethod_6)(void *); typedef void (* GenFunction_6)(void *);
#endif #endif

View File

@@ -72,8 +72,8 @@ typedef struct {
typedef struct { typedef struct {
f32 unk0[3]; f32 unk0[3];
s16 unkC; s16 bone_id;
s16 unkE; s16 mtx_id;
}BKAnimation; }BKAnimation;
typedef struct { typedef struct {
@@ -155,8 +155,8 @@ typedef struct{
}BKModelUnk20List; }BKModelUnk20List;
typedef struct{ typedef struct{
s16 unk0[3]; s16 coord[3];
s8 unk6; s8 anim_index;
u8 vtx_count; u8 vtx_count;
s16 vtx_list[1]; s16 vtx_list[1];
}BKModelUnk28; }BKModelUnk28;

View File

@@ -6,6 +6,7 @@
#include "structs.h" #include "structs.h"
#include "core2/animctrl.h" #include "core2/animctrl.h"
#include "core2/modelRender.h" #include "core2/modelRender.h"
#include "core2/skeletalanim.h"
typedef struct sprite_prop_s{ typedef struct sprite_prop_s{
u32 unk0_31:0xC; u32 unk0_31:0xC;
@@ -267,7 +268,7 @@ typedef struct actor_s{
void (*unk13C)(struct actorMarker_s *);//saved marker->unk30 void (*unk13C)(struct actorMarker_s *);//saved marker->unk30
f32 unk140; f32 unk140;
f32 unk144; f32 unk144;
Struct80s *unk148; SkeletalAnimation *unk148;
void *unk14C[2]; void *unk14C[2];
// void *unk150; // void *unk150;
u32 unk154; u32 unk154;

View File

@@ -3,6 +3,7 @@
#include <ultra64.h> #include <ultra64.h>
#include "model.h" #include "model.h"
#include "core2/vla.h"
#define MERGE(a, b) a ## b #define MERGE(a, b) a ## b
#define UNK_TYPE(t) t #define UNK_TYPE(t) t
@@ -37,17 +38,6 @@ typedef struct{
#define KEY_VALUE_PAIR(T1, T2) struct { T1 key; T2 value; } #define KEY_VALUE_PAIR(T1, T2) struct { T1 key; T2 value; }
typedef struct variable_length_array{
s32 elem_size;
void * begin;
void * end;
void * mem_end;
u8 data[];
}VLA;
#define vector(T) struct variable_length_array
//^defined to keep element type with vla
typedef struct freelist_s{ typedef struct freelist_s{
s16 elem_size; s16 elem_size;
s16 elem_cnt; s16 elem_cnt;
@@ -538,12 +528,7 @@ typedef struct{
f32 unk8[0][3]; f32 unk8[0][3];
} struct56s; } struct56s;
typedef struct{
Mtx mtx_0;
s32 size_40;
s32 capacity_44;
Mtx data[];
}struct58s;
typedef struct { typedef struct {
f32 (*unk0)[3]; f32 (*unk0)[3];
@@ -801,32 +786,9 @@ typedef struct {
Struct70s unkC; Struct70s unkC;
}Struct6Es; }Struct6Es;
typedef struct {
f32 unk0;
u8 unk4;
u8 pad5[0x3];
void (* unk8)(struct actorMarker_s *);
s32 unkC;
}Struct7Fs;
typedef struct {
struct struct_B1400_1_s *unk0;
struct animation_file_s *unk4;
f32 unk8;
f32 unkC;
vector(Struct7Fs) *unk10;
u8 unk14;
u8 unk15;
s16 unk16;
s32 unk18;
f32 unk1C;
f32 unk20;
s32 unk24;
struct struct_B1400_1_s *unk28;
f32 unk2C;
u8 unk30;
// u8 pad31[3];
}Struct80s;
typedef struct { typedef struct {

View File

@@ -10,7 +10,7 @@ void func_8038FCB0(Actor *);
/* .data */ /* .data */
ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL, ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL,
func_8038FCB0, func_80326224, func_80325888, func_8038FCB0, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -20,12 +20,12 @@ typedef struct ch_bgs_2270_s{
} ActorLocal_BGS_2270; } ActorLocal_BGS_2270;
void func_80389080(Actor *this); void func_80389080(Actor *this);
Actor *func_80325888(ActorMarker *, Gfx **, Mtx **, Vtx **); Actor *actor_draw(ActorMarker *, Gfx **, Mtx **, Vtx **);
ActorInfo D_80390830 = { ActorInfo D_80390830 = {
MARKER_19A_TIPTUP, ACTOR_27A_TIPTUP, ASSET_3F8_MODEL_TIPTUP, MARKER_19A_TIPTUP, ACTOR_27A_TIPTUP, ASSET_3F8_MODEL_TIPTUP,
0, NULL, 0, NULL,
func_80389080, NULL, func_80325888, func_80389080, NULL, actor_draw,
0, 0, 2.5f, 0 0, 0, 2.5f, 0
}; };
s16 D_80390854[] = {0, 0xC78, 0xC7A, 0xC7C}; //see again texts s16 D_80390854[] = {0, 0xC78, 0xC7A, 0xC7C}; //see again texts
@@ -136,11 +136,11 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
this->state = arg1; this->state = arg1;
unqPtr->unkC = 0.0f; unqPtr->unkC = 0.0f;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f); skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f); unqPtr->unkC = randf2(5.0f, 15.0f);
} }
if(this->state == 2){ if(this->state == 2){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f); skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f); unqPtr->unkC = randf2(5.0f, 15.0f);
if(!this->unk138_24){ if(!this->unk138_24){
this->unk138_24 = 1; this->unk138_24 = 1;
@@ -167,8 +167,8 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
for(; i < D_80390864[unqPtr->unkA]; i++){ for(; i < D_80390864[unqPtr->unkA]; i++){
tmpf += randf2(1.0f, 1.5f); tmpf += randf2(1.0f, 1.5f);
while((rand2 = randi2(1,7)) == prev_member); while((rand2 = randi2(1,7)) == prev_member);
timedFunc_set_2(tmpf, (GenMethod_2) func_803886B4, reinterpret_cast(s32, this->marker), rand2); timedFunc_set_2(tmpf, (GenFunction_2) func_803886B4, reinterpret_cast(s32, this->marker), rand2);
timedFunc_set_2(tmpf + 0.1, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), 0); timedFunc_set_2(tmpf + 0.1, (GenFunction_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
prev_member = rand2; prev_member = rand2;
}//L80388B7C }//L80388B7C
@@ -179,7 +179,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
} }
func_80324E38(sp54 = tmpf + 0.6, 0); func_80324E38(sp54 = tmpf + 0.6, 0);
if(func_803203FC(2)){ if(func_803203FC(2)){
timedFunc_set_1(sp54, (GenMethod_1)func_803886F4, reinterpret_cast(s32, this->marker)); timedFunc_set_1(sp54, (GenFunction_1)func_803886F4, reinterpret_cast(s32, this->marker));
}else{ }else{
this->state = 0x05; this->state = 0x05;
} }
@@ -194,8 +194,8 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
for(j = 0; j < vector_size(unqPtr->unk4); j++){ for(j = 0; j < vector_size(unqPtr->unk4); j++){
s1 = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4,j); s1 = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4,j);
tmpf += randf2(1.0f, 1.5f); tmpf += randf2(1.0f, 1.5f);
timedFunc_set_2(tmpf, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), s1->unk0); timedFunc_set_2(tmpf, (GenFunction_2)func_803886B4, reinterpret_cast(s32, this->marker), s1->unk0);
timedFunc_set_2(tmpf + 0.1, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), 0); timedFunc_set_2(tmpf + 0.1, (GenFunction_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
} }
timed_exitStaticCamera(tmpf += 2.5); timed_exitStaticCamera(tmpf += 2.5);
func_80324E38(tmpf + 0.6,0); func_80324E38(tmpf + 0.6,0);
@@ -238,7 +238,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){
}else{ }else{
tmp = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4, unqPtr->unk0); tmp = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4, unqPtr->unk0);
if(arg1 == tmp->unk0){ if(arg1 == tmp->unk0){
timedFunc_set_1(0.5f, (GenMethod_1)func_80388848, reinterpret_cast(s32, thisActor->marker)); timedFunc_set_1(0.5f, (GenFunction_1)func_80388848, reinterpret_cast(s32, thisActor->marker));
} }
else{ else{
func_8028F55C(1, thisActor->marker); func_8028F55C(1, thisActor->marker);
@@ -302,12 +302,12 @@ void func_80389080(Actor *this){
} }
else{ else{
player_getPosition(player_position); player_getPosition(player_position);
if(func_8033567C(this->unk148) == ASSET_12C_ANIM_TIPTUP_TAPPING && func_80335794(this->unk148) > 0){ if(skeletalAnim_getAnimId(this->unk148) == ASSET_12C_ANIM_TIPTUP_TAPPING && skeletalAnim_getLoopCount(this->unk148) > 0){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f); skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f); unqPtr->unkC = randf2(5.0f, 15.0f);
} }
if(ml_timer_update(&unqPtr->unkC, sp3C)){ if(ml_timer_update(&unqPtr->unkC, sp3C)){
func_80335924(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f); skeletalAnim_set(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f);
} }
func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30); func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30);
this->yaw = this->yaw + 5.0f*sp30; this->yaw = this->yaw + 5.0f*sp30;

View File

@@ -18,15 +18,15 @@ ActorAnimationInfo D_80390B90[] = {
{ASSET_D5_ANIM_SWITCH_UP, 0.5f}, {ASSET_D5_ANIM_SWITCH_UP, 0.5f},
{ASSET_D5_ANIM_SWITCH_UP, 1e+8f} {ASSET_D5_ANIM_SWITCH_UP, 1e+8f}
}; };
ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, actor_draw, 0, 0, 0.0f, 0};
void func_8038EE50(void){ void func_8038EE50(void){
f32 sp24[3]; f32 sp24[3];
if(nodeProp_findPositionFromActorId(0x14d, sp24)){ if(nodeProp_findPositionFromActorId(0x14d, sp24)){
jiggySpawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24); jiggySpawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2]) reinterpret_cast(s32, sp24[2])
@@ -69,7 +69,7 @@ void func_8038F018(void){
if(nodeProp_findPositionFromActorId(0x1fc, sp24)){ if(nodeProp_findPositionFromActorId(0x1fc, sp24)){
jiggySpawn(JIGGY_25_BGS_MAZE, sp24); jiggySpawn(JIGGY_25_BGS_MAZE, sp24);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2]) reinterpret_cast(s32, sp24[2])

View File

@@ -74,7 +74,7 @@ void func_80387E00(s32 arg0){
Actor * this = marker_getActor(marker); Actor * this = marker_getActor(marker);
func_803262E4(this); func_803262E4(this);
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, marker), 0x1E); __spawnQueue_add_2((GenFunction_2)func_80387D18, reinterpret_cast(s32, marker), 0x1E);
} }
void func_80387E40(ActorMarker * arg0){ void func_80387E40(ActorMarker * arg0){
@@ -95,10 +95,10 @@ void func_80387E68(ActorMarker *caller, enum asset_e text_id, s32 arg2){
func_80328B8C(this, 5, 0.79f, 1); func_80328B8C(this, 5, 0.79f, 1);
func_80326310(this); func_80326310(this);
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE; bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8])); timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
timed_setStaticCameraToNode(0.8f, 9); timed_setStaticCameraToNode(0.8f, 9);
func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL); func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL);
__spawnQueue_add_2((GenMethod_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46); __spawnQueue_add_2((GenFunction_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
} }
else{ else{
timed_exitStaticCamera(0.0f); timed_exitStaticCamera(0.0f);
@@ -152,18 +152,18 @@ void func_80387FD4(Actor *this){
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER); func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
func_80328B8C(this, 5, 0.79f, 1); func_80328B8C(this, 5, 0.79f, 1);
if (this->unkF4_8 == 5) { if (this->unkF4_8 == 5) {
timedFunc_set_1(0.9f, (GenMethod_1) func_80387E40, (s32) this->marker); timedFunc_set_1(0.9f, (GenFunction_1) func_80387E40, (s32) this->marker);
} else { } else {
func_80326310(this); func_80326310(this);
} }
if (this->unkF4_8 < 5) { if (this->unkF4_8 < 5) {
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE; bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8])); timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
func_802BAFE4(D_803907B0[this->unkF4_8-1]); func_802BAFE4(D_803907B0[this->unkF4_8-1]);
} else { } else {
timedFunc_set_1(0.8f, (GenMethod_1)func_80387D90, (s32) this->marker); timedFunc_set_1(0.8f, (GenFunction_1)func_80387D90, (s32) this->marker);
} }
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, this->marker), 0x46); __spawnQueue_add_2((GenFunction_2)func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
} }
} }
}//L80388348 }//L80388348
@@ -228,5 +228,5 @@ Actor *func_8038860C(ActorMarker *this, Gfx** gdl, Mtx ** mptr, Vtx **vtx){
Actor *thisActor; Actor *thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
func_8033A45C(1, thisActor->unkF4_8); func_8033A45C(1, thisActor->unkF4_8);
return func_80325888(this, gdl, mptr, vtx); return actor_draw(this, gdl, mptr, vtx);
} }

View File

@@ -47,8 +47,8 @@ bool BGS_func_803863F0(Actor *this, f32 arg1[3], s32 arg2){
local->unk8[2] = arg1[2]; local->unk8[2] = arg1[2];
local->unk8[1] = func_80309724(arg1); local->unk8[1] = func_80309724(arg1);
func_80335924(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f)); skeletalAnim_set(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f));
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, 0x3f2, randf2(0.7f, 1.3f), randi2(0x61A8, 0x6978), this->position, 500.0f, 2500.0f); func_80324D54(0.2f, 0x3f2, randf2(0.7f, 1.3f), randi2(0x61A8, 0x6978), this->position, 500.0f, 2500.0f);
return TRUE; return TRUE;
} }
@@ -181,9 +181,9 @@ void func_80386AEC(Actor *this, s32 next_state) {
local->unk24 = 0.0f; local->unk24 = 0.0f;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[0] = (f32) local->unkE[0]; this->position[0] = (f32) local->unkE[0];
this->position[1] = (f32) local->unkE[1]; this->position[1] = (f32) local->unkE[1];
this->position[2] = (f32) local->unkE[2]; this->position[2] = (f32) local->unkE[2];
@@ -201,38 +201,38 @@ void func_80386AEC(Actor *this, s32 next_state) {
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f); skeletalAnim_set(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
func_80335A74(this->unk148, randf2(0.0f, 1.0f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 1.0f));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
local->unk24 = randf2(1.0f, 3.0f); local->unk24 = randf2(1.0f, 3.0f);
} }
if (next_state == 4) { if (next_state == 4) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position); this->position[1] = func_80309724(this->position);
local->unk18 = 1.0f; local->unk18 = 1.0f;
} }
if (next_state == 5) { if (next_state == 5) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
func_80335924(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f); skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position); this->position[1] = func_80309724(this->position);
local->unk18 = 1.0f; local->unk18 = 1.0f;
} }
if (next_state == 6) { if (next_state == 6) {
func_80335924(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f); skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
this->marker->collidable = FALSE; this->marker->collidable = FALSE;
this->unk10_1 = FALSE; this->unk10_1 = FALSE;
local->unk14 = 1000.0f; local->unk14 = 1000.0f;
} }
if (next_state == 7) { if (next_state == 7) {
func_80335924(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f); skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
} }
if (next_state == 8) { if (next_state == 8) {
@@ -275,7 +275,7 @@ Actor *chflibbit_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
local = (ActorLocal_Flibbit *)&this->local; local = (ActorLocal_Flibbit *)&this->local;
if (local->unk0){ if (local->unk0){
if(((this->state == 1)) || (this->state == 3)) { if(((this->state == 1)) || (this->state == 3)) {
temp_a0 = func_803356A0(this->unk148); temp_a0 = skeletalAnim_getBoneTransformList(this->unk148);
for(i = 0; i < 2; i++){ for(i = 0; i < 2; i++){
if (0.1 <= local->unk1C[i]) { if (0.1 <= local->unk1C[i]) {
@@ -290,11 +290,11 @@ Actor *chflibbit_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
sp7C[2] = 1.0f; sp7C[2] = 1.0f;
sp7C[1] = (f32) (((f64) phi_f2 * 0.99) + 0.01); sp7C[1] = (f32) (((f64) phi_f2 * 0.99) + 0.01);
func_8033A928(temp_a0, (i != 0)?0x2D :0x2E, sp7C); boneTransformList_setBoneScale(temp_a0, (i != 0)?0x2D :0x2E, sp7C);
} }
} }
} }
func_80325888(marker, gfx, mtx, vtx); actor_draw(marker, gfx, mtx, vtx);
local->unk0 = marker->unk14_21; local->unk0 = marker->unk14_21;
return this; return this;
@@ -309,8 +309,8 @@ void chflibbit_update(Actor *this){
f32 spA0; f32 spA0;
f32 sp9C; f32 sp9C;
f32 sp98; f32 sp98;
f32 sp94; f32 skel_anim_prev_prog;
f32 sp90; f32 skel_anim_progress;
f32 sp84[3]; f32 sp84[3];
f32 temp_f12; f32 temp_f12;
f32 sp7C; f32 sp7C;
@@ -367,11 +367,11 @@ void chflibbit_update(Actor *this){
}//L803873D0 }//L803873D0
if(this->state == 2){ if(this->state == 2){
func_8033568C(this->unk148, &sp94, &sp90); skeletalAnim_getProgressRange(this->unk148, &skel_anim_prev_prog, &skel_anim_progress);
if(sp94 < 0.8 && 0.8 <= sp90){ if(skel_anim_prev_prog < 0.8 && 0.8 <= skel_anim_progress){
func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(25000, 27000), this->position, 100.0f, 1500.0f); func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(25000, 27000), this->position, 100.0f, 1500.0f);
}//L8038747C }//L8038747C
if(func_80335794(this->unk148) > 0){ if(skeletalAnim_getLoopCount(this->unk148) > 0){
sp84[0] = (f32)local->unkE[0]; sp84[0] = (f32)local->unkE[0];
sp84[1] = (f32)local->unkE[1]; sp84[1] = (f32)local->unkE[1];
sp84[2] = (f32)local->unkE[2]; sp84[2] = (f32)local->unkE[2];
@@ -384,17 +384,17 @@ void chflibbit_update(Actor *this){
} }
} }
else{//L80387514 else{//L80387514
if(0.2 <= sp90 && sp90 <= 0.8){ if(0.2 <= skel_anim_progress && skel_anim_progress <= 0.8){
temp_f12 = ((sp90 - 0.2) / 0.60000000000000009); temp_f12 = ((skel_anim_progress - 0.2) / 0.60000000000000009);
this->position_x = local->unk2[0] + (local->unk8[0] - local->unk2[0])*temp_f12; this->position_x = local->unk2[0] + (local->unk8[0] - local->unk2[0])*temp_f12;
this->position_y = local->unk2[1] + (local->unk8[1] - local->unk2[1])*temp_f12; this->position_y = local->unk2[1] + (local->unk8[1] - local->unk2[1])*temp_f12;
this->position_z = local->unk2[2] + (local->unk8[2] - local->unk2[2])*temp_f12; this->position_z = local->unk2[2] + (local->unk8[2] - local->unk2[2])*temp_f12;
if(local->unk1){ if(local->unk1){
if(sp90 <= 0.5){ if(skel_anim_progress <= 0.5){
phi_f2 = ((sp90 - 0.2)/0.3) * 70.0; phi_f2 = ((skel_anim_progress - 0.2)/0.3) * 70.0;
} }
else{ else{
phi_f2 = (1.0 - (sp90 - 0.5)/ 0.30000000000000004) *70.0; phi_f2 = (1.0 - (skel_anim_progress - 0.5)/ 0.30000000000000004) *70.0;
} }
this->position_y += phi_f2; this->position_y += phi_f2;
}//L80387684 }//L80387684
@@ -446,7 +446,7 @@ void chflibbit_update(Actor *this){
} }
if(this->state == 7){ if(this->state == 7){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
func_80386AEC(this, 8); func_80386AEC(this, 8);
} }
} }

View File

@@ -35,7 +35,7 @@ Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
if((thisActor->unk1C_x != 0.0f) && (0x80 < thisActor->alpha_124_19)){ if((thisActor->unk1C_x != 0.0f) && (0x80 < thisActor->alpha_124_19)){
thisActor = func_80325888(this, gdl, mtx, vtx); thisActor = actor_draw(this, gdl, mtx, vtx);
} }
return thisActor; return thisActor;
} }

View File

@@ -5,11 +5,9 @@
#include "prop.h" #include "prop.h"
#include "core2/modelRender.h" #include "core2/modelRender.h"
void func_80335A24(void *, u32, f32, f32);
Actor *chvile_draw(ActorMarker*, Gfx **, Mtx **, Vtx **); Actor *chvile_draw(ActorMarker*, Gfx **, Mtx **, Vtx **);
void chvile_update(Actor *); void chvile_update(Actor *);
void func_8038BB40(ActorMarker *); void func_8038BB40(ActorMarker *);
extern void func_80335A80(void *, f32);
extern bool func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32); extern bool func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32);
extern bool chvilegame_find_closest_piece(ActorMarker *, f32[3], f32, f32[3]); extern bool chvilegame_find_closest_piece(ActorMarker *, f32[3], f32, f32[3]);
@@ -97,19 +95,19 @@ void BGS_func_8038BBA0(Actor *this, s32 arg1){
if(arg1 == 101){ if(arg1 == 101){
local->unk24 = 0.0f; local->unk24 = 0.0f;
local->unk28[0] = local->unk28[1] = local->unk28[2] = 0.0f; local->unk28[0] = local->unk28[1] = local->unk28[2] = 0.0f;
func_80335924(this->unk148, 0xe1, 0.10000000149f, 1.0f); //0xe1 = croc_idle skeletalAnim_set(this->unk148, 0xe1, 0.10000000149f, 1.0f); //0xe1 = croc_idle
} }
if(arg1 == 102){ if(arg1 == 102){
if(local->unk24 < 100.0f){ if(local->unk24 < 100.0f){
local->unk24 = 100.0f; local->unk24 = 100.0f;
}; };
func_80335A24(this->unk148, 0xe0, 0.1f, 0.5f); //0xe1 = croc_walk skeletalAnim_swap(this->unk148, 0xe0, 0.1f, 0.5f); //0xe1 = croc_walk
} }
if(arg1 == 103){ if(arg1 == 103){
func_80335A24(this->unk148, 0x124, 0.1f, 0.5f); //0x124 = croc_munch skeletalAnim_swap(this->unk148, 0x124, 0.1f, 0.5f); //0x124 = croc_munch
if(this->state == 4){ if(this->state == 4){
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000); timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000);
timedFunc_set_1(0.31f, (GenMethod_1)func_8038BB40, reinterpret_cast(s32, this->marker)); timedFunc_set_1(0.31f, (GenFunction_1)func_8038BB40, reinterpret_cast(s32, this->marker));
} }
else{ else{
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000); timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000);
@@ -179,7 +177,7 @@ void func_8038BDD4(Actor *this) {
local->unk24 = (local->unk24 < 10.0f) ? 10.0f local->unk24 = (local->unk24 < 10.0f) ? 10.0f
: (local->unk10 < local->unk24) ? local->unk10 : (local->unk10 < local->unk24) ? local->unk10
: local->unk24; : local->unk24;
func_80335A80(this->unk148, (200.0f / local->unk24) * 0.5); skeletalAnim_setDuration(this->unk148, (200.0f / local->unk24) * 0.5);
local->unk28[1] = sp50 * 200.0f; local->unk28[1] = sp50 * 200.0f;
temp_f0_3 = func_80309724(this->position); temp_f0_3 = func_80309724(this->position);
if (temp_f0_3 > 125.0f) { if (temp_f0_3 > 125.0f) {
@@ -231,7 +229,7 @@ Actor *chvile_draw(ActorMarker *marker, Gfx **gfx, Mtx** mtx, Vtx **vtx){
f32 position[3]; f32 position[3];
this = func_80325888(marker, gfx, mtx, vtx); this = actor_draw(marker, gfx, mtx, vtx);
local = (ActorLocal_MrVile *)&this->local; local = (ActorLocal_MrVile *)&this->local;
if ( if (
(local->unkC == 104) && (local->unkC == 104) &&
@@ -401,11 +399,11 @@ void chvile_update(Actor *this) {
} else { } else {
BGS_func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} else if (func_80335794(this->unk148) >= 3) { } else if (skeletalAnim_getLoopCount(this->unk148) >= 3) {
BGS_func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} }
if ((local->unkC == 104) && (func_80335794(this->unk148) >= 3)) { if ((local->unkC == 104) && (skeletalAnim_getLoopCount(this->unk148) >= 3)) {
BGS_func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} }
@@ -416,7 +414,7 @@ void chvile_update(Actor *this) {
if ((local->unkC == 102) && (ml_distance_vec3f(this->position, local->target_position) < 200.0f)) { if ((local->unkC == 102) && (ml_distance_vec3f(this->position, local->target_position) < 200.0f)) {
BGS_func_8038BBA0(this, 103); BGS_func_8038BBA0(this, 103);
} }
if ((local->unkC == 103) && (func_80335794(this->unk148) >= 2)) { if ((local->unkC == 103) && (skeletalAnim_getLoopCount(this->unk148) >= 2)) {
func_8038C0C8(this, 1); func_8038C0C8(this, 1);
} }
} }

View File

@@ -54,7 +54,7 @@ Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
if(thisActor->state == 3) if(thisActor->state == 3)
return thisActor; return thisActor;
return func_80325888(this, gdl, mtx, vtx); return actor_draw(this, gdl, mtx, vtx);
} }
void func_8038EB4C(ActorMarker *this){ void func_8038EB4C(ActorMarker *this){
@@ -103,9 +103,9 @@ void chmudhut_update(Actor *this){
if(tmp == 5){ if(tmp == 5){
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
} }
__spawnQueue_add_1((GenMethod_1)func_8038EB4C, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_8038EB4C, reinterpret_cast(s32, this->marker));
if(tmp < 5){ if(tmp < 5){
__spawnQueue_add_4((GenMethod_4)func_802C4218, D_80390B50[tmp], __spawnQueue_add_4((GenFunction_4)func_802C4218, D_80390B50[tmp],
reinterpret_cast(s32, diffPos[0]), reinterpret_cast(s32, diffPos[0]),
reinterpret_cast(s32, diffPos[1]), reinterpret_cast(s32, diffPos[1]),
reinterpret_cast(s32, diffPos[2]) reinterpret_cast(s32, diffPos[2])

View File

@@ -74,7 +74,7 @@ Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){
t7 = marker_getActor(this)->state == 3; t7 = marker_getActor(this)->state == 3;
func_8033A45C(1, NOT(sp18 = t7)); func_8033A45C(1, NOT(sp18 = t7));
func_8033A45C(2, sp18); func_8033A45C(2, sp18);
return func_80325888(this, gdl, mptr, arg3); return actor_draw(this, gdl, mptr, arg3);
} }

View File

@@ -9,7 +9,7 @@ void timed_exitStaticCamera(f32);
void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32); void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32);
void func_8028E668(f32[3], f32, f32, f32); void func_8028E668(f32[3], f32, f32, f32);
extern void __spawnQueue_add_3(GenMethod_3, s32, s32, s32); extern void __spawnQueue_add_3(GenFunction_3, s32, s32, s32);
void func_8038F6A4(Actor *); void func_8038F6A4(Actor *);
@@ -29,7 +29,7 @@ ActorAnimationInfo BGS_D_80390C20[] = {
}; };
ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20, ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20,
func_8038F6A4, func_80326224, func_80325888, func_8038F6A4, func_80326224, actor_draw,
0, 0x80, 0.0f, 0 0, 0x80, 0.0f, 0
}; };
@@ -124,7 +124,7 @@ void func_8038F6A4(Actor *this)
{ {
if (local->unk0[sp44] == 0) if (local->unk0[sp44] == 0)
{ {
__spawnQueue_add_3((GenMethod_3)func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44); __spawnQueue_add_3((GenFunction_3)func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44);
} }
} }

View File

@@ -61,8 +61,8 @@ s32 func_8038D2F4(Actor *this, f32 *arg1, bool arg2) {
local->unkA[1] = (s16) arg1[1]; local->unkA[1] = (s16) arg1[1];
local->unkA[2] = (s16) arg1[2]; local->unkA[2] = (s16) arg1[2];
local->unkA[1] = (s16) (s32) func_80309724(arg1); local->unkA[1] = (s16) (s32) func_80309724(arg1);
func_80335924(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f)); skeletalAnim_set(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f));
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f); func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f);
return TRUE; return TRUE;
} }
@@ -204,9 +204,9 @@ void func_8038D9D0(Actor *this, s32 next_state) {
local->unk1C = 0.5f; local->unk1C = 0.5f;
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
actor_collisionOn(this); actor_collisionOn(this);
this->position[0] = (f32) local->unk10[0]; this->position[0] = (f32) local->unk10[0];
this->position[1] = (f32) local->unk10[1]; this->position[1] = (f32) local->unk10[1];
@@ -226,27 +226,27 @@ void func_8038D9D0(Actor *this, s32 next_state) {
} }
} }
if (next_state == 6) { if (next_state == 6) {
func_80335924(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f); skeletalAnim_set(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
func_80335A74(this->unk148, randf2(0.0f, 1.0f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 1.0f));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
local->unk28 = randf2(1.0f, 3.0f); local->unk28 = randf2(1.0f, 3.0f);
} }
if (next_state == 7) { if (next_state == 7) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position); this->position[1] = func_80309724(this->position);
local->unk1C = 1.0f; local->unk1C = 1.0f;
} }
if (next_state == 8) { if (next_state == 8) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
func_80335924(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f); skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position); this->position[1] = func_80309724(this->position);
local->unk1C = 1.0f; local->unk1C = 1.0f;
} }
if (next_state == 9) { if (next_state == 9) {
func_80335924(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f); skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
this->marker->collidable = FALSE; this->marker->collidable = FALSE;
this->unk10_1 = FALSE; this->unk10_1 = FALSE;
@@ -254,8 +254,8 @@ void func_8038D9D0(Actor *this, s32 next_state) {
local->unk18 = 1000.0f; local->unk18 = 1000.0f;
} }
if (next_state == 0xA) { if (next_state == 0xA) {
func_80335924(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f); skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
} }
if (next_state == 0xB) { if (next_state == 0xB) {
@@ -305,7 +305,7 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return this; return this;
} }
if (local->unk0 && ((this->state == 3) || (this->state == 6))) { if (local->unk0 && ((this->state == 3) || (this->state == 6))) {
temp_a0_2 = func_803356A0(this->unk148); temp_a0_2 = skeletalAnim_getBoneTransformList(this->unk148);
for(var_s0 = 0; var_s0 < 2; var_s0++){ for(var_s0 = 0; var_s0 < 2; var_s0++){
if (0.1 <= local->unk20[var_s0]) { if (0.1 <= local->unk20[var_s0]) {
var_f2 = (f32) ((local->unk20[var_s0] - 0.1) / 0.1); var_f2 = (f32) ((local->unk20[var_s0] - 0.1) / 0.1);
@@ -317,10 +317,10 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
sp7C[0] = 1.0f; sp7C[0] = 1.0f;
sp7C[1] = var_f2 * 0.99 + 0.01; sp7C[1] = var_f2 * 0.99 + 0.01;
sp7C[2] = 1.0f; sp7C[2] = 1.0f;
func_8033A928(temp_a0_2, (var_s0 != 0) ? 0x2D : 0x2E, sp7C); boneTransformList_setBoneScale(temp_a0_2, (var_s0 != 0) ? 0x2D : 0x2E, sp7C);
}; };
} }
func_80325888(marker, gfx, mtx, vtx); actor_draw(marker, gfx, mtx, vtx);
local->unk0 = marker->unk14_21; local->unk0 = marker->unk14_21;
return this; return this;
} }
@@ -415,11 +415,11 @@ void BGS_func_8038E034(Actor *this) {
} }
if (this->state == 5) { if (this->state == 5) {
func_8033568C(this->unk148, &sp8C, &sp88); skeletalAnim_getProgressRange(this->unk148, &sp8C, &sp88);
if (sp8C < 0.8 && 0.8 <= sp88) { if (sp8C < 0.8 && 0.8 <= sp88) {
func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(0x61A8, 0x6978), this->position, 100.0f, 1500.0f); func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(0x61A8, 0x6978), this->position, 100.0f, 1500.0f);
} }
if (func_80335794(this->unk148) > 0) { if (skeletalAnim_getLoopCount(this->unk148) > 0) {
sp7C[0] = (f32) local->unk10[0]; sp7C[0] = (f32) local->unk10[0];
sp7C[1] = (f32) local->unk10[1]; sp7C[1] = (f32) local->unk10[1];
sp7C[2] = (f32) local->unk10[2]; sp7C[2] = (f32) local->unk10[2];
@@ -489,7 +489,7 @@ void BGS_func_8038E034(Actor *this) {
} }
if(this->state == 10){ if(this->state == 10){
if(func_80335794(this->unk148) > 0){ if(skeletalAnim_getLoopCount(this->unk148) > 0){
func_8038D9D0(this, 11); func_8038D9D0(this, 11);
} }
} }

View File

@@ -3,8 +3,8 @@
#include "variables.h" #include "variables.h"
#include "prop.h" #include "prop.h"
extern void func_803253A0(Actor *); extern void actor_predrawMethod(Actor *);
extern void func_80325794(ActorMarker *); extern void actor_postdrawMethod(ActorMarker *);
extern f32 randf (void); extern f32 randf (void);
extern BKModelBin *chvilegame_get_grumblie_model(ActorMarker *marker); extern BKModelBin *chvilegame_get_grumblie_model(ActorMarker *marker);
@@ -63,13 +63,13 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
this->yaw = randf2(0.0f, 360.0f); this->yaw = randf2(0.0f, 360.0f);
s0->unk4 = func_8038B160(this); s0->unk4 = func_8038B160(this);
chvilegame_new_piece(s0->game_marker, this->marker, this->position, s0->unk4); chvilegame_new_piece(s0->game_marker, this->marker, this->position, s0->unk4);
func_80335924(this->unk148, (s0->unk4)? ASSET_128_ANIM_GRUMBLIE_APPEAR : ASSET_125_ANIM_YUMBLIE_APPEAR, 0.0f, 1.5f); skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_128_ANIM_GRUMBLIE_APPEAR : ASSET_125_ANIM_YUMBLIE_APPEAR, 0.0f, 1.5f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if(next_state == 3){ if(next_state == 3){
s0->unk8 = randf2(5.0f, 10.0f); s0->unk8 = randf2(5.0f, 10.0f);
func_80335924(this->unk148, (s0->unk4)? ASSET_12A_ANIM_GRUMBLIE_IDLE : ASSET_127_ANIM_YUMBLIE_IDLE, 0.1f, randf2(0.5f, 1.0f)); skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_12A_ANIM_GRUMBLIE_IDLE : ASSET_127_ANIM_YUMBLIE_IDLE, 0.1f, randf2(0.5f, 1.0f));
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
if(s0->unk4){ if(s0->unk4){
func_8030E6A4(SFX_C4_TWINKLY_MUNCHER_GRR,randf2(1.0f, 1.2), 30000); func_8030E6A4(SFX_C4_TWINKLY_MUNCHER_GRR,randf2(1.0f, 1.2), 30000);
}else{ }else{
@@ -79,8 +79,8 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
if(next_state == 4){ if(next_state == 4){
chvilegame_remove_piece(s0->game_marker, this->marker); chvilegame_remove_piece(s0->game_marker, this->marker);
func_80335924(this->unk148, (s0->unk4)? ASSET_129_ANIM_GRUMBLIE_HIDE : ASSET_126_ANIM_YUMBLIE_HIDE, 0.1f, 0.5f); skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_129_ANIM_GRUMBLIE_HIDE : ASSET_126_ANIM_YUMBLIE_HIDE, 0.1f, 0.5f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if(next_state == 5){ if(next_state == 5){
s0->unk8 = randf2(10.0f, 20.0f); s0->unk8 = randf2(10.0f, 20.0f);
@@ -110,8 +110,8 @@ Actor *chyumblie_draw(ActorMarker *this, Gfx **gfx, Mtx** mtx, Vtx **vtx){
return thisActor; return thisActor;
} }
modelRender_preDraw((GenMethod_1) func_803253A0, (s32)thisActor); modelRender_preDraw((GenFunction_1) actor_predrawMethod, (s32)thisActor);
modelRender_postDraw((GenMethod_1) func_80325794, (s32)this); modelRender_postDraw((GenFunction_1) actor_postdrawMethod, (s32)this);
sp44[0] = thisActor->position_x; sp44[0] = thisActor->position_x;
sp44[1] = thisActor->position_y + sp40->unk0*75.0f; sp44[1] = thisActor->position_y + sp40->unk0*75.0f;
sp44[2] = thisActor->position_z; sp44[2] = thisActor->position_z;
@@ -160,7 +160,7 @@ void chyumblie_update(Actor *this){
if(s0->game_marker == NULL){ if(s0->game_marker == NULL){
s0->game_marker = actorArray_findClosestActorFromActorId(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker; s0->game_marker = actorArray_findClosestActorFromActorId(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker;
} }
sp50 = func_80335684(this->unk148); sp50 = skeletalAnim_getProgress(this->unk148);
if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){ if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){
if(ml_timer_update(&s0->unk8, sp4C)){ if(ml_timer_update(&s0->unk8, sp4C)){
if(mapSpecificFlags_get(6) && (12 > chvilegame_get_piece_count(s0->game_marker))){ if(mapSpecificFlags_get(6) && (12 > chvilegame_get_piece_count(s0->game_marker))){
@@ -187,7 +187,7 @@ void chyumblie_update(Actor *this){
func_8030E878(SFX_C5_TWINKLY_POP, randf2(1.0f, 1.2f), 30000, this->position, 500.0f, 3000.0f); func_8030E878(SFX_C5_TWINKLY_POP, randf2(1.0f, 1.2f), 30000, this->position, 500.0f, 3000.0f);
} }
if( 0 < func_80335794(this->unk148)){ if( 0 < skeletalAnim_getLoopCount(this->unk148)){
s0->unk0 = 1.0f; s0->unk0 = 1.0f;
chyumblie_set_state(this,YUMBLIE_STATE_3_ABOVE_GROUND); chyumblie_set_state(this,YUMBLIE_STATE_3_ABOVE_GROUND);
} }

View File

@@ -33,17 +33,17 @@ void func_80389488(Actor *this, s32 next_state) {
local = (ActorLocal_BGS_3030 *)&this->local; local = (ActorLocal_BGS_3030 *)&this->local;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, ASSET_12D_ANIM_CHOIR_TURTLE_IDLE, 0.2f, randf2(2.0f, 2.5f)); skeletalAnim_set(this->unk148, ASSET_12D_ANIM_CHOIR_TURTLE_IDLE, 0.2f, randf2(2.0f, 2.5f));
func_80335A74(this->unk148, randf2(0.0f, 1.0f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 1.0f));
} }
if (next_state == 2) { if (next_state == 2) {
func_80335924(this->unk148, ASSET_12E_ANIM_CHOIR_TURTLE_SING, 0.1f, 1.6666666f); skeletalAnim_set(this->unk148, ASSET_12E_ANIM_CHOIR_TURTLE_SING, 0.1f, 1.6666666f);
timed_playSfx(0.8333333, SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF); timed_playSfx(0.8333333, SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
} }
if (next_state == 3) { if (next_state == 3) {
func_8030E6A4(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF); func_8030E6A4(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
func_80335924(this->unk148, ASSET_12F_ANIM_CHOIR_TURTLE_HURT, 0.1f, 1.75f); skeletalAnim_set(this->unk148, ASSET_12F_ANIM_CHOIR_TURTLE_HURT, 0.1f, 1.75f);
func_80335800(this->unk148, 0.9f, func_80389420, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.9f, func_80389420, this->marker);
if (local->tiptup_marker != NULL) { if (local->tiptup_marker != NULL) {
func_80388E94(local->tiptup_marker, local->unk0); func_80388E94(local->tiptup_marker, local->unk0);
} }
@@ -62,7 +62,7 @@ void func_803895D0(ActorMarker *marker, ActorMarker *other_marker){
Actor *BGS_func_80389610(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *BGS_func_80389610(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
func_8033A45C(4, marker->unk14_20 - 0x19A); func_8033A45C(4, marker->unk14_20 - 0x19A);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_80389668(Actor *this) { void func_80389668(Actor *this) {
@@ -99,7 +99,7 @@ void func_80389668(Actor *this) {
func_80389488(this, 2); func_80389488(this, 2);
} }
} }
if (((this->state == 2) || (this->state == 3)) && (func_80335794(this->unk148) > 0)) { if (((this->state == 2) || (this->state == 3)) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_80389488(this, 1); func_80389488(this, 1);
} }
} }

View File

@@ -305,7 +305,7 @@ void func_8038A068(Actor *this, s32 next_state) {
mapSpecificFlags_set(6, TRUE); mapSpecificFlags_set(6, TRUE);
func_8038C3DC(local->vile_marker); func_8038C3DC(local->vile_marker);
func_8025A58C(0, 4000); func_8025A58C(0, 4000);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_55_BGS_MR_VILE, 28000); timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_55_BGS_MR_VILE, 28000);
} }
} }
if (this->state == 5) { if (this->state == 5) {
@@ -321,29 +321,29 @@ void func_8038A068(Actor *this, s32 next_state) {
if (next_state == 6) { if (next_state == 6) {
func_8038C3B0(local->vile_marker); func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3C_MINIGAME_LOSS, 28000); timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3C_MINIGAME_LOSS, 28000);
timedFunc_set_0(4.0f, (GenMethod_0)func_8038A044); timedFunc_set_0(4.0f, (GenFunction_0)func_8038A044);
timedFunc_set_1(4.0f, (GenMethod_1)func_80389C58, (s32) this->marker); timedFunc_set_1(4.0f, (GenFunction_1)func_80389C58, (s32) this->marker);
} }
if (next_state == 8) { if (next_state == 8) {
func_8038C3B0(local->vile_marker); func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000); timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, (GenMethod_0)func_8038A044); timedFunc_set_0(3.0f, (GenFunction_0)func_8038A044);
timedFunc_set_1(3.0f, (GenMethod_1)func_80389D20, (s32) this->marker); timedFunc_set_1(3.0f, (GenFunction_1)func_80389D20, (s32) this->marker);
} }
if (next_state == 9) { if (next_state == 9) {
func_8038C3B0(local->vile_marker); func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000); timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, (GenMethod_0)func_8038A044); timedFunc_set_0(3.0f, (GenFunction_0)func_8038A044);
timedFunc_set_1(3.0f, (GenMethod_1)func_80389E40, (s32) this->marker); timedFunc_set_1(3.0f, (GenFunction_1)func_80389E40, (s32) this->marker);
} }
if (next_state == 0xA) { if (next_state == 0xA) {
func_8038C3B0(local->vile_marker); func_8038C3B0(local->vile_marker);
func_80324E38(0.5f, 3); func_80324E38(0.5f, 3);
timedFunc_set_2(1.0f, (GenMethod_2) func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000); timedFunc_set_2(1.0f, (GenFunction_2) func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_1(3.0f, (GenMethod_1) func_80389F08, (s32) this->marker); timedFunc_set_1(3.0f, (GenFunction_1) func_80389F08, (s32) this->marker);
} }
if (next_state == 7) { if (next_state == 7) {
func_8038C384(local->vile_marker); func_8038C384(local->vile_marker);
@@ -374,9 +374,9 @@ void chvilegame_player_consume_piece(Actor *this) {
item_inc(ITEM_16_LIFE); item_inc(ITEM_16_LIFE);
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8); func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
} }
timedFunc_set_1(0.0f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE); timedFunc_set_1(0.0f, (GenFunction_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
timedFunc_set_1(0.5f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE); timedFunc_set_1(0.5f, (GenFunction_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
timedFunc_set_1(1.0f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE); timedFunc_set_1(1.0f, (GenFunction_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
} }
func_8028F6B8(BS_INTR_17, (i_ptr->type != YUMBLIE) ? ASSET_3F7_MODEL_GRUMBLIE : ASSET_3F6_MODEL_YUMBLIE); func_8028F6B8(BS_INTR_17, (i_ptr->type != YUMBLIE) ? ASSET_3F7_MODEL_GRUMBLIE : ASSET_3F6_MODEL_YUMBLIE);
if (!is_correct_type) { if (!is_correct_type) {
@@ -406,9 +406,9 @@ bool chvilegame_cpu_consume_piece(ActorMarker *marker, f32 position[3]) {
for(i_ptr = begin; i_ptr < end; i_ptr++){ for(i_ptr = begin; i_ptr < end; i_ptr++){
if ((ml_distance_vec3f(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) { if ((ml_distance_vec3f(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) {
local->vile_score++; local->vile_score++;
timedFunc_set_1(0.0f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE); timedFunc_set_1(0.0f, (GenFunction_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
timedFunc_set_1(0.5f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE); timedFunc_set_1(0.5f, (GenFunction_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
timedFunc_set_1(1.0f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE); timedFunc_set_1(1.0f, (GenFunction_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
return TRUE; return TRUE;
} }
} }

View File

@@ -17,7 +17,7 @@ ActorAnimationInfo D_80390C70[3] = {
}; };
ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3EF_MODEL_TANKTUP_LEG_FL, 0x01, D_80390C70, ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3EF_MODEL_TANKTUP_LEG_FL, 0x01, D_80390C70,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, actor_draw,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
u8 pad_80390CCC[4] = {0}; u8 pad_80390CCC[4] = {0};
@@ -29,7 +29,7 @@ ActorAnimationInfo BGS_D_80390CB0[3] = {
}; };
ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, BGS_D_80390CB0, ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, BGS_D_80390CB0,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, actor_draw,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
u8 pad_80390CEC[4] = {0}; u8 pad_80390CEC[4] = {0};
@@ -41,7 +41,7 @@ ActorAnimationInfo BGS_D_80390CF0[3] = {
}; };
ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, BGS_D_80390CF0, ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, BGS_D_80390CF0,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, actor_draw,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
u8 pad_80390C2C[4] = {0}; u8 pad_80390C2C[4] = {0};
@@ -53,7 +53,7 @@ ActorAnimationInfo D_80390C30[3] = {
}; };
ActorInfo D_80390D48 = {MARKER_6D_TANKTUP_LEG, ACTOR_EC_TANKTUP_LEG_BR, ASSET_3F2_MODEL_TANKTUP_LEG_BR, 0x01, D_80390C30, ActorInfo D_80390D48 = {MARKER_6D_TANKTUP_LEG, ACTOR_EC_TANKTUP_LEG_BR, ASSET_3F2_MODEL_TANKTUP_LEG_BR, 0x01, D_80390C30,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, actor_draw,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
@@ -72,7 +72,7 @@ void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
FUNC_8030E8B4( SFX_87_TANKTUP_OOOHW, 1.0f, 32750, thisActor->position, 1000, 3000); FUNC_8030E8B4( SFX_87_TANKTUP_OOOHW, 1.0f, 32750, thisActor->position, 1000, 3000);
timedFunc_set_2(0.65f, (GenMethod_2) func_8038FB40, (s32) this, (s32) other_marker); timedFunc_set_2(0.65f, (GenFunction_2) func_8038FB40, (s32) this, (s32) other_marker);
func_8038F51C(thisActor); func_8038F51C(thisActor);
this->collidable = 0; this->collidable = 0;
} }

View File

@@ -33,84 +33,84 @@ Struct_CC_3130_0 D_80389C30[] = {
ActorInfo D_80389C90 = { ActorInfo D_80389C90 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_3D_CLANKER_SAWBLADE_PROPELLOR_1, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_3D_CLANKER_SAWBLADE_PROPELLOR_1, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389CB4 = { ActorInfo D_80389CB4 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_3E_CLANKER_SAWBLADE_PROPELLOR_2, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_3E_CLANKER_SAWBLADE_PROPELLOR_2, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389CD8 = { ActorInfo D_80389CD8 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_3F_CLANKER_SAWBLADE_PROPELLOR_3, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_3F_CLANKER_SAWBLADE_PROPELLOR_3, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389CFC = { ActorInfo D_80389CFC = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_40_CLANKER_SAWBLADE_PROPELLOR_4, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_40_CLANKER_SAWBLADE_PROPELLOR_4, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389D20 = { ActorInfo D_80389D20 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_41_CLANKER_SAWBLADE_PROPELLOR_5, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_41_CLANKER_SAWBLADE_PROPELLOR_5, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389D44 = { ActorInfo D_80389D44 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_42_CLANKER_SAWBLADE_PROPELLOR_6, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_42_CLANKER_SAWBLADE_PROPELLOR_6, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389D68 = { ActorInfo D_80389D68 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_290_CLANKER_SAWBLADE_PROPELLOR_7, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_290_CLANKER_SAWBLADE_PROPELLOR_7, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389D8C = { ActorInfo D_80389D8C = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_291_CLANKER_SAWBLADE_PROPELLOR_8, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_291_CLANKER_SAWBLADE_PROPELLOR_8, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389DB0 = { ActorInfo D_80389DB0 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_292_CLANKER_SAWBLADE_PROPELLOR_9, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_292_CLANKER_SAWBLADE_PROPELLOR_9, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389DD4 = { ActorInfo D_80389DD4 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_293_CLANKER_SAWBLADE_PROPELLOR_10, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_293_CLANKER_SAWBLADE_PROPELLOR_10, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389DF8 = { ActorInfo D_80389DF8 = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_294_CLANKER_SAWBLADE_PROPELLOR_11, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_294_CLANKER_SAWBLADE_PROPELLOR_11, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389E1C = { ActorInfo D_80389E1C = {
MARKER_28_CLANKER_SAWBLADE, ACTOR_295_CLANKER_SAWBLADE_PROPELLOR_12, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR, MARKER_28_CLANKER_SAWBLADE, ACTOR_295_CLANKER_SAWBLADE_PROPELLOR_12, ASSET_43A_MODEL_CLANKER_SAWBLADE_PROPELLOR,
0, NULL, 0, NULL,
chSawblade_update, NULL, func_80325888, chSawblade_update, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -29,14 +29,14 @@ Struct_CC_1120_0 D_80389B50[] = {
ActorInfo D_80389B90 = { ActorInfo D_80389B90 = {
0x4E, ACTOR_101_CLANKER_TOKEN_TOOTH, ASSET_891_MODEL_CLANKER_TOKEN_TOOTH_OPEN, 0x4E, ACTOR_101_CLANKER_TOKEN_TOOTH, ASSET_891_MODEL_CLANKER_TOKEN_TOOTH_OPEN,
0, NULL, 0, NULL,
chTooth_update, func_80326224, func_80325888, chTooth_update, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389BB4 = { ActorInfo D_80389BB4 = {
0x4F, ACTOR_102_CLANKER_JIGGY_TOOTH, ASSET_893_MODEL_CLANKER_JIGGY_TOOTH_OPEN, 0x4F, ACTOR_102_CLANKER_JIGGY_TOOTH, ASSET_893_MODEL_CLANKER_JIGGY_TOOTH_OPEN,
0, NULL, 0, NULL,
chTooth_update, func_80326224, func_80325888, chTooth_update, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -15,7 +15,7 @@ void func_803864D4(Actor *this);
/* .data */ /* .data */
ActorInfo D_80389AA0 = { ActorInfo D_80389AA0 = {
MARKER_4B_CC_SCREW, ACTOR_43_CLACKER_SCREW, ASSET_890_MODEL_SCREW, 0, NULL, MARKER_4B_CC_SCREW, ACTOR_43_CLACKER_SCREW, ASSET_890_MODEL_SCREW, 0, NULL,
func_803864D4, func_80326224 , func_80325888, func_803864D4, func_80326224 , actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -15,13 +15,13 @@ extern void func_802E9118(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s
extern void func_802E9DD8(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, f32, s32, s32); extern void func_802E9DD8(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, f32, s32, s32);
extern int func_80340020(s32, f32[3], s32, f32, s32, BKVertexList *, f32[3], f32[3]); extern int func_80340020(s32, f32[3], s32, f32, s32, BKVertexList *, f32[3], f32[3]);
extern void func_8033A670(s32, s32, f32[3]); extern void boneTransformList_getBoneScale(s32, s32, f32[3]);
extern void func_8033A928(s32, s32, f32[3]); extern void boneTransformList_setBoneScale(s32, s32, f32[3]);
extern void func_8033A9A8(s32, s32, f32[3]); extern void func_8033A9A8(s32, s32, f32[3]);
extern void viewport_getPosition(f32[3]); extern void viewport_getPosition(f32[3]);
extern void ml_vec3f_normalize(f32[3]); extern void ml_vec3f_normalize(f32[3]);
extern void func_8033A45C(s32, s32); extern void func_8033A45C(s32, s32);
extern void func_8033A238(s32); extern void modelRender_setBoneTransformList(s32);
extern void func_8028FAB0(f32[3]); extern void func_8028FAB0(f32[3]);
extern void baModel_802921D4(f32[3]); extern void baModel_802921D4(f32[3]);
@@ -90,7 +90,7 @@ void func_80388518(s32 arg0){
D_80389FA0.unk21 = arg0; D_80389FA0.unk21 = arg0;
D_80389FA0.unk38 = 0.0f; D_80389FA0.unk38 = 0.0f;
if(D_80389FA0.unk21 == 1){ if(D_80389FA0.unk21 == 1){
func_80335924(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 0.0f, 10.0f); skeletalAnim_set(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 0.0f, 10.0f);
} }
if(D_80389FA0.unk21 == 2){ if(D_80389FA0.unk21 == 2){
func_8030DD90(D_80389FA0.unk4, 0); func_8030DD90(D_80389FA0.unk4, 0);
@@ -103,7 +103,7 @@ void func_80388518(s32 arg0){
if(D_80389FA0.unk21 == 3){ if(D_80389FA0.unk21 == 3){
if(sp24 != 2){ if(sp24 != 2){
func_80335924(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 0.0f, 10.0f); skeletalAnim_set(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 0.0f, 10.0f);
} }
D_80389FA0.unk28[1] = 1100.0f; D_80389FA0.unk28[1] = 1100.0f;
} }
@@ -151,13 +151,13 @@ void CC_func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(sp98[0] < -2600.0f || 11600.0f < sp98[0]) if(sp98[0] < -2600.0f || 11600.0f < sp98[0])
return; return;
s1 = func_803356A0(D_80389FA0.unk0); s1 = skeletalAnim_getBoneTransformList(D_80389FA0.unk0);
func_8033A670(s1, 0x40, sp84); boneTransformList_getBoneScale(s1, 0x40, sp84);
for( i = 0; i < 3; i++){ for( i = 0; i < 3; i++){
sp84[i] = sp84[i] + (1.3 - sp84[i])*D_80389FA0.unk8; sp84[i] = sp84[i] + (1.3 - sp84[i])*D_80389FA0.unk8;
} }
func_8033A928(s1, 0x40, sp84); boneTransformList_setBoneScale(s1, 0x40, sp84);
if(D_80389FA0.unk21 == 1){ if(D_80389FA0.unk21 == 1){
func_8033A9A8(s1, 0x44, D_80389C0C); func_8033A9A8(s1, 0x44, D_80389C0C);
@@ -201,7 +201,7 @@ void CC_func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(2, tmp_s0); func_8033A45C(2, tmp_s0);
func_8033A45C(3, tmp_s0); func_8033A45C(3, tmp_s0);
} }
func_8033A238(s1); modelRender_setBoneTransformList(s1);
func_8033A450(D_80389FA0.unk34); func_8033A450(D_80389FA0.unk34);
modelRender_setVertexList(D_80389FA0.unk40); modelRender_setVertexList(D_80389FA0.unk40);
modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL);
@@ -248,7 +248,7 @@ int CC_func_80388CA0(void){
void func_80388CB4(void){ void func_80388CB4(void){
if(D_80389FA0.unk21){ if(D_80389FA0.unk21){
func_80335874(D_80389FA0.unk0); skeletalAnim_free(D_80389FA0.unk0);
func_8030DA44(D_80389FA0.unk4); func_8030DA44(D_80389FA0.unk4);
func_80340690(D_80389FA0.unk18); func_80340690(D_80389FA0.unk18);
func_8034A2A8(D_80389FA0.unk34); func_8034A2A8(D_80389FA0.unk34);
@@ -266,7 +266,7 @@ void func_80388CB4(void){
void func_80388D54(void){ void func_80388D54(void){
D_80389FA0.unk21 = 0; D_80389FA0.unk21 = 0;
if(map_get() == MAP_B_CC_CLANKERS_CAVERN){ if(map_get() == MAP_B_CC_CLANKERS_CAVERN){
D_80389FA0.unk0 = func_803358B4(); D_80389FA0.unk0 = skeletalAnim_new();
D_80389FA0.unk4 = func_8030D90C(); D_80389FA0.unk4 = func_8030D90C();
D_80389FA0.unk8 = 1.0f; D_80389FA0.unk8 = 1.0f;
D_80389FA0.unk18 = func_803406B0(); D_80389FA0.unk18 = func_803406B0();
@@ -334,9 +334,9 @@ void CC_func_80388F4C(void){
D_80389FA0.unk20 = (ml_distance_vec3f(sp6C, D_80389FA0.unkC) < 200.0f); D_80389FA0.unk20 = (ml_distance_vec3f(sp6C, D_80389FA0.unkC) < 200.0f);
D_80389FA0.unk38 += sp68; D_80389FA0.unk38 += sp68;
sp64 = func_80335684(D_80389FA0.unk0); sp64 = skeletalAnim_getProgress(D_80389FA0.unk0);
func_80335A94(D_80389FA0.unk0, sp68, 1); skeletalAnim_update(D_80389FA0.unk0, sp68, 1);
sp60 = func_80335684(D_80389FA0.unk0); sp60 = skeletalAnim_getProgress(D_80389FA0.unk0);
if(D_80389FA0.unk21 == 3){ if(D_80389FA0.unk21 == 3){
func_8034A174(D_80389FA0.unk34, 5, sp54); func_8034A174(D_80389FA0.unk34, 5, sp54);
if(sp60 < sp64){ if(sp60 < sp64){
@@ -359,16 +359,16 @@ void CC_func_80388F4C(void){
} }
if(D_80389FA0.unk21 == 1){ if(D_80389FA0.unk21 == 1){
if(D_80389FA0.unk20 && func_8033567C(D_80389FA0.unk0) != ASSET_C4_ANIM_CLANKER_BITE){ if(D_80389FA0.unk20 && skeletalAnim_getAnimId(D_80389FA0.unk0) != ASSET_C4_ANIM_CLANKER_BITE){
func_80335924(D_80389FA0.unk0, ASSET_C4_ANIM_CLANKER_BITE, 1.0f, 10.0f); skeletalAnim_set(D_80389FA0.unk0, ASSET_C4_ANIM_CLANKER_BITE, 1.0f, 10.0f);
if(!D_80389FA0.unk48){ if(!D_80389FA0.unk48){
func_80311480(0xd2b, 0xE, D_80389FA0.unk28, NULL, NULL, NULL); func_80311480(0xd2b, 0xE, D_80389FA0.unk28, NULL, NULL, NULL);
D_80389FA0.unk48 = TRUE; D_80389FA0.unk48 = TRUE;
} }
}//L8038918C }//L8038918C
if(!D_80389FA0.unk20 && func_8033567C(D_80389FA0.unk0) == ASSET_C4_ANIM_CLANKER_BITE){ if(!D_80389FA0.unk20 && skeletalAnim_getAnimId(D_80389FA0.unk0) == ASSET_C4_ANIM_CLANKER_BITE){
func_80335924(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 1.0f, 10.0f); skeletalAnim_set(D_80389FA0.unk0, ASSET_C3_ANIM_CLANKER_IDLE, 1.0f, 10.0f);
} }
}//L803891BC }//L803891BC

View File

@@ -15,21 +15,21 @@ u8 D_80389E40[] = {3, 3, 2, 0};
ActorInfo D_80389E44 = { ActorInfo D_80389E44 = {
0x1A9, 0x28C, 0x435, 0x1A9, 0x28C, 0x435,
0, NULL, 0, NULL,
func_80389900, NULL, func_80325888, func_80389900, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389E68 = { ActorInfo D_80389E68 = {
0x1A9, 0x28D, 0x436, 0x1A9, 0x28D, 0x436,
0, NULL, 0, NULL,
func_80389900, NULL, func_80325888, func_80389900, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80389E8C = { ActorInfo D_80389E8C = {
0x1A9, 0x28E, 0x437, 0x1A9, 0x28E, 0x437,
0, NULL, 0, NULL,
func_80389900, NULL, func_80325888, func_80389900, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -23,7 +23,7 @@ void func_80386B28(Actor* this);
/* .data */ /* .data */
ActorInfo D_80389AD0 = { ActorInfo D_80389AD0 = {
MARKER_4A_CC_KEY, ACTOR_3C_CC_KEY, ASSET_429_MODEL_CC_KEY, 0, NULL, MARKER_4A_CC_KEY, ACTOR_3C_CC_KEY, ASSET_429_MODEL_CC_KEY, 0, NULL,
func_80386B28, func_80326224, func_80325888, func_80386B28, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -14,14 +14,14 @@ void func_803870F8(Actor *this);
extern ActorInfo D_80389B00 = { extern ActorInfo D_80389B00 = {
MARKER_4C_CLANKER_TOKEN_TOOTH_EXT, ACTOR_44_CLANKER_TOKEN_TOOTH_EXTERIOR, ASSET_309_MODEL_CLANKER_TOKEN_TOOTH_EXTERIOR, MARKER_4C_CLANKER_TOKEN_TOOTH_EXT, ACTOR_44_CLANKER_TOKEN_TOOTH_EXTERIOR, ASSET_309_MODEL_CLANKER_TOKEN_TOOTH_EXTERIOR,
0, NULL, 0, NULL,
func_803870F8, func_80326224, func_80325888, func_803870F8, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
extern ActorInfo D_80389B24 = { extern ActorInfo D_80389B24 = {
MARKER_4D_CLANKER_JIGGY_TOOTH_EXT, ACTOR_45_CLANKER_JIGGY_TOOTH_EXTERIOR, ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR, MARKER_4D_CLANKER_JIGGY_TOOTH_EXT, ACTOR_45_CLANKER_JIGGY_TOOTH_EXTERIOR, ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR,
0, NULL, 0, NULL,
func_803870F8, func_80326224, func_80325888, func_803870F8, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -4,8 +4,8 @@
void func_803864B8(Actor *this); void func_803864B8(Actor *this);
ActorInfo D_8038EB50 = { 0x1AC, 0x298, 0x444, 0x0, NULL, func_803864B8, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EB50 = { 0x1AC, 0x298, 0x444, 0x0, NULL, func_803864B8, NULL, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, actor_draw, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void CCW_func_803863F0(Actor *this, s32 next_state){ void CCW_func_803863F0(Actor *this, s32 next_state){

View File

@@ -30,7 +30,7 @@ Struct_CCW_14B0_0 D_8038EC00[] = {
0 0
}; };
ActorInfo D_8038EC14 = { 0x1AF, 0x29C, 0x446, 0x0, NULL, CCW_func_80387A40, NULL, func_80325888, 0, 0, 1.0f, 0}; ActorInfo D_8038EC14 = { 0x1AF, 0x29C, 0x446, 0x0, NULL, CCW_func_80387A40, NULL, actor_draw, 0, 0, 1.0f, 0};
/* .code */ /* .code */
void func_803878A0(Actor *this, s32 next_state) { void func_803878A0(Actor *this, s32 next_state) {
@@ -38,8 +38,8 @@ void func_803878A0(Actor *this, s32 next_state) {
int i; int i;
if (next_state == 1) { if (next_state == 1) {
if (func_8033567C(this->unk148) != 0x16F) { if (skeletalAnim_getAnimId(this->unk148) != 0x16F) {
func_80335924(this->unk148, 0x16F, 0.1f, 0.65f); skeletalAnim_set(this->unk148, 0x16F, 0.1f, 0.65f);
} }
for(i = 0; i < 10; i++){ for(i = 0; i < 10; i++){
local->unkC[0] = randf2(-500.0f, 500.0f); local->unkC[0] = randf2(-500.0f, 500.0f);

View File

@@ -13,7 +13,7 @@ void func_803865F4(Actor *this, s32 next_state);
void func_8038687C(Actor *this); void func_8038687C(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038EBA0 = { 0x1AD, 0x299, 0x443, 0x0, NULL, func_8038687C, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EBA0 = { 0x1AD, 0x299, 0x443, 0x0, NULL, func_8038687C, NULL, actor_draw, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void CCW_func_80386550(ActorMarker *marker){ void CCW_func_80386550(ActorMarker *marker){
@@ -69,7 +69,7 @@ void func_803865F4(Actor *this, s32 next_state) {
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(2.0f, 4); timed_setStaticCameraToNode(2.0f, 4);
timedFunc_set_1(2.0f, (GenMethod_1)CCW_func_80386550, (s32) this->marker); timedFunc_set_1(2.0f, (GenFunction_1)CCW_func_80386550, (s32) this->marker);
timed_exitStaticCamera(4.0f); timed_exitStaticCamera(4.0f);
func_80324E38(4.0f, 0); func_80324E38(4.0f, 0);
} }
@@ -192,7 +192,7 @@ void func_8038687C(Actor *this) {
break; break;
} }
__spawnQueue_add_4((GenMethod_4)func_802C4140, 0x29B, reinterpret_cast(s32, sp4C[0]), reinterpret_cast(s32, sp4C[1]), reinterpret_cast(s32, sp4C[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x29B, reinterpret_cast(s32, sp4C[0]), reinterpret_cast(s32, sp4C[1]), reinterpret_cast(s32, sp4C[2]));
local->unk4++; local->unk4++;
} }
local->unkC = randf2(0.5 - ((local->unk8 / 10) * 0.4), 1.0 - ((local->unk8 / 10) * 0.8)); local->unkC = randf2(0.5 - ((local->unk8 / 10) * 0.4), 1.0 - ((local->unk8 / 10) * 0.8));

View File

@@ -48,16 +48,16 @@ void func_80387F64(Actor *this, s32 next_state){
if (next_state == 1) { if (next_state == 1) {
this->marker->propPtr->unk8_3 = local->unk0->unk3; this->marker->propPtr->unk8_3 = local->unk0->unk3;
func_80335924(this->unk148, local->unk0->unk0, 0.0f, 5.0f); skeletalAnim_set(this->unk148, local->unk0->unk0, 0.0f, 5.0f);
func_80335A8C(this->unk148, local->unk0->unk2); skeletalAnim_setBehavior(this->unk148, local->unk0->unk2);
} }
if (next_state == 2) { if (next_state == 2) {
if (map_get() == MAP_43_CCW_SPRING) { if (map_get() == MAP_43_CCW_SPRING) {
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
} }
fileProgressFlag_set(local->unk0->unk8, TRUE); fileProgressFlag_set(local->unk0->unk8, TRUE);
func_80335924(this->unk148, local->unk0->unk4, 0.0f, 6.0f); skeletalAnim_set(this->unk148, local->unk0->unk4, 0.0f, 6.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
if (map_get() == MAP_43_CCW_SPRING) { if (map_get() == MAP_43_CCW_SPRING) {
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
} }
@@ -80,8 +80,8 @@ void func_80387F64(Actor *this, s32 next_state){
if (next_state == 3) { if (next_state == 3) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
func_80335924(this->unk148, local->unk0->unk6, 0.1f, 5.0f); skeletalAnim_set(this->unk148, local->unk0->unk6, 0.1f, 5.0f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
this->state = next_state; this->state = next_state;
} }
@@ -111,15 +111,15 @@ Actor *CCW_func_803882F4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return func_80325340(marker, gfx, mtx, vtx); return func_80325340(marker, gfx, mtx, vtx);
} }
if ((func_8033567C(this->unk148) == 0x175) && (0.49 <= func_80335684(this->unk148))) { if ((skeletalAnim_getAnimId(this->unk148) == 0x175) && (0.49 <= skeletalAnim_getProgress(this->unk148))) {
sp18 = 1; sp18 = 1;
} else { } else {
sp18 = 0; sp18 = 0;
} }
sp18 = (func_8033567C(this->unk148) == 0x183)? 1 : sp18; sp18 = (skeletalAnim_getAnimId(this->unk148) == 0x183)? 1 : sp18;
func_8033A45C(3, sp18); func_8033A45C(3, sp18);
func_8033A45C(4, sp18); func_8033A45C(4, sp18);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_803883F4() { void func_803883F4() {

View File

@@ -8,15 +8,15 @@ void func_803885F8(Actor *this);
ActorInfo D_8038ECA0 = { ActorInfo D_8038ECA0 = {
0x1C2, 0x30B, 0x4E3, 0x1C2, 0x30B, 0x4E3,
0x0, NULL, 0x0, NULL,
func_803885F8, NULL, func_80325888, func_803885F8, NULL, actor_draw,
0, 0, 1.0f, 0 0, 0, 1.0f, 0
}; };
/* .code */ /* .code */
void func_80388590(Actor *this, s32 next_state){ void func_80388590(Actor *this, s32 next_state){
if(next_state == 1){ if(next_state == 1){
func_80335924(this->unk148, 0x219, 0.0f, 1.0f); skeletalAnim_set(this->unk148, 0x219, 0.0f, 1.0f);
func_80335A8C(this->unk148, 4); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_4_STOPPED);
} }
this->state = next_state; this->state = next_state;
} }

View File

@@ -11,7 +11,7 @@ typedef struct{
typedef struct{ typedef struct{
Struct_CCW_2270_0 *unk0; Struct_CCW_2270_0 *unk0;
Struct80s *unk4; SkeletalAnimation *unk4;
BKModelBin *spit_model; BKModelBin *spit_model;
}ActorLocal_chGobiCCW; }ActorLocal_chGobiCCW;
@@ -44,30 +44,30 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
local = (ActorLocal_chGobiCCW*)&this->local; local = (ActorLocal_chGobiCCW*)&this->local;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f); skeletalAnim_set(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f);
} }
if (next_state == 2) { if (next_state == 2) {
if (local->unk0->unk4 != 0) { if (local->unk0->unk4 != 0) {
func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL); func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
} }
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 3.0f); skeletalAnim_set(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 3.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80335924(local->unk4, ASSET_100_ANIM_GOBI_SPIT, 0.0f, 3.0f); skeletalAnim_set(local->unk4, ASSET_100_ANIM_GOBI_SPIT, 0.0f, 3.0f);
func_80335A8C(local->unk4, 2); skeletalAnim_setBehavior(local->unk4, 2);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, (map_get() == MAP_44_CCW_SUMMER) ? 1 : 2); timed_setStaticCameraToNode(0.0f, (map_get() == MAP_44_CCW_SUMMER) ? 1 : 2);
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000); timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
timed_playSfx(2.0f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(2.0f, SFX_4B_GULPING, 0.8f, 28000);
timedFunc_set_2(3.2f, (GenMethod_2) CCW_func_80388660, (s32) this->marker, 3); timedFunc_set_2(3.2f, (GenFunction_2) CCW_func_80388660, (s32) this->marker, 3);
} }
if (next_state == 3) { if (next_state == 3) {
func_803883F4(); func_803883F4();
} }
if (next_state == 4) { if (next_state == 4) {
func_80335924(this->unk148, ASSET_176_ANIM_GOBI_YAWN, 0.5f, 4.0f); skeletalAnim_set(this->unk148, ASSET_176_ANIM_GOBI_YAWN, 0.5f, 4.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
timed_exitStaticCamera(0.0f); timed_exitStaticCamera(0.0f);
func_80324E38(0.0f, 0); func_80324E38(0.0f, 0);
} }
@@ -75,12 +75,12 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
if (local->unk0->unk6 != 0) { if (local->unk0->unk6 != 0) {
func_80311480((s32) local->unk0->unk6, 4, NULL, NULL, NULL, NULL); func_80311480((s32) local->unk0->unk6, 4, NULL, NULL, NULL, NULL);
} }
func_80335924(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.23f, 0.5f); skeletalAnim_set(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.23f, 0.5f);
timed_setStaticCameraToNode(0.0f, 3); timed_setStaticCameraToNode(0.0f, 3);
} }
if (next_state == 6) { if (next_state == 6) {
func_80335924(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.1f, 0.71f); skeletalAnim_set(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.1f, 0.71f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
if (next_state == 7) { if (next_state == 7) {
timed_exitStaticCamera(0.0f); timed_exitStaticCamera(0.0f);
@@ -95,7 +95,7 @@ void func_8038894C(ActorMarker* marker, ActorMarker *other_marker) {
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
if (actor->state == 1) { if (actor->state == 1) {
actor_collisionOff(actor); actor_collisionOff(actor);
timedFunc_set_2(0.5f, (GenMethod_2)CCW_func_80388660, (s32)actor->marker, 2); timedFunc_set_2(0.5f, (GenFunction_2)CCW_func_80388660, (s32)actor->marker, 2);
} }
} }
@@ -112,17 +112,17 @@ Actor *chGobiCCW_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
sp2C[1] = this->yaw; sp2C[1] = this->yaw;
sp2C[2] = this->roll; sp2C[2] = this->roll;
func_8033A238(func_803356A0(local->unk4, local)); modelRender_setBoneTransformList(skeletalAnim_getBoneTransformList(local->unk4));
modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE); modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE);
modelRender_draw(gfx, mtx, this->position, sp2C, 1.0f, NULL, local->spit_model); modelRender_draw(gfx, mtx, this->position, sp2C, 1.0f, NULL, local->spit_model);
} }
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void chGobiCCW_free(Actor *this){ void chGobiCCW_free(Actor *this){
ActorLocal_chGobiCCW *local = (ActorLocal_chGobiCCW*)&this->local; ActorLocal_chGobiCCW *local = (ActorLocal_chGobiCCW*)&this->local;
func_80335874(local->unk4); skeletalAnim_free(local->unk4);
assetcache_release(local->spit_model); assetcache_release(local->spit_model);
} }
@@ -138,7 +138,7 @@ void chGobiCCW_update(Actor *this) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->marker->unk30 = chGobiCCW_free; this->marker->unk30 = chGobiCCW_free;
this->unk138_24 = FALSE; this->unk138_24 = FALSE;
local->unk4 = func_803358B4(); local->unk4 = skeletalAnim_new();
local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT); local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT);
marker_setCollisionScripts(this->marker, 0, func_8038894C, 0); marker_setCollisionScripts(this->marker, 0, func_8038894C, 0);
if(!jiggyscore_isSpawned(JIGGY_4D_CCW_FLOWER)) { if(!jiggyscore_isSpawned(JIGGY_4D_CCW_FLOWER)) {
@@ -171,7 +171,7 @@ void chGobiCCW_update(Actor *this) {
} }
if (this->state == 2) { if (this->state == 2) {
func_80335A94(local->unk4, time_getDelta(), 1); skeletalAnim_update(local->unk4, time_getDelta(), 1);
} }
if(this->state == 3){ if(this->state == 3){
@@ -185,12 +185,12 @@ void chGobiCCW_update(Actor *this) {
} }
if (this->state == 4) { if (this->state == 4) {
if ((func_8033567C(this->unk148) == ASSET_176_ANIM_GOBI_YAWN) && (func_80335794(this->unk148) > 0)) { if ((skeletalAnim_getAnimId(this->unk148) == ASSET_176_ANIM_GOBI_YAWN) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_80335924(this->unk148, ASSET_177_ANIM_GOBI_SLEEP, 0.1f, 4.0f); skeletalAnim_set(this->unk148, ASSET_177_ANIM_GOBI_SLEEP, 0.1f, 4.0f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
if (func_8033567C(this->unk148) == ASSET_177_ANIM_GOBI_SLEEP) { if (skeletalAnim_getAnimId(this->unk148) == ASSET_177_ANIM_GOBI_SLEEP) {
func_8033568C(this->unk148, &sp44, &sp40); skeletalAnim_getProgressRange(this->unk148, &sp44, &sp40);
if ((sp44 < 0.1) && (0.1 <= (f64) sp40)) { if ((sp44 < 0.1) && (0.1 <= (f64) sp40)) {
FUNC_8030E8B4(SFX_5E_BANJO_PHEWWW, 0.8f, 15000, this->position, 500, 1500); FUNC_8030E8B4(SFX_5E_BANJO_PHEWWW, 0.8f, 15000, this->position, 500, 1500);
} }
@@ -202,7 +202,7 @@ void chGobiCCW_update(Actor *this) {
} }
if (this->state == 5){ if (this->state == 5){
if(func_80335794(this->unk148) > 0) { if(skeletalAnim_getLoopCount(this->unk148) > 0) {
CCW_func_8038868C(this, 6); CCW_func_8038868C(this, 6);
} }
} }

View File

@@ -29,14 +29,14 @@ ActorAnimationInfo D_8038ED20[] = {
{ASSET_D4_ANIM_SWITCH_DOWN, 100000000.0f} {ASSET_D4_ANIM_SWITCH_DOWN, 100000000.0f}
}; };
ActorInfo D_8038ED50 = { 0x133, 0x1E3, 0x52E, 0x1, NULL, func_80389268, func_80326224, func_80325E78, 0, 0x4000, 0.0f, 0}; ActorInfo D_8038ED50 = { 0x133, 0x1E3, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0};
ActorInfo D_8038ED74 = { 0x132, 0x1E2, 0x4F5, 0x5, D_8038ED20, func_80388FD4, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038ED74 = { 0x132, 0x1E2, 0x4F5, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038ED98 = { 0x131, 0x16D, 0x52E, 0x1, NULL, func_80389268, func_80326224, func_80325E78, 0, 0x4000, 0.0f, 0}; ActorInfo D_8038ED98 = { 0x131, 0x16D, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0};
ActorInfo D_8038EDBC = { 0x130, 0x16C, 0x4F6, 0x5, D_8038ED20, func_80388FD4, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EDBC = { 0x130, 0x16C, 0x4F6, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038EDE0 = { 0x12F, 0x16B, 0x52E, 0x1, NULL, func_80389268, func_80326224, func_80325E78, 0, 0x4000, 0.0f, 0}; ActorInfo D_8038EDE0 = { 0x12F, 0x16B, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0};
ActorInfo D_8038EE04 = { 0x12E, 0x16A, 0x4F7, 0x5, D_8038ED20, func_80388FD4, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EE04 = { 0x12E, 0x16A, 0x4F7, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038EE28 = { 0x12D, 0x169, 0x52E, 0x1, NULL, func_80389268, func_80326224, func_80325E78, 0, 0x4000, 0.0f, 0}; ActorInfo D_8038EE28 = { 0x12D, 0x169, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0};
ActorInfo D_8038EE4C = { 0x12C, 0x168, 0x4F8, 0x5, D_8038ED20, func_80388FD4, func_80326224, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EE4C = { 0x12C, 0x168, 0x4F8, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
/* .code */ /* .code */
s32 func_80388EF0(Actor *this){ s32 func_80388EF0(Actor *this){

View File

@@ -16,8 +16,8 @@ void func_80389440(Actor *this, s32 next_state) {
func_8030E510(SFX_AA_BGS_EGG_BREAKING_1, 28000); func_8030E510(SFX_AA_BGS_EGG_BREAKING_1, 28000);
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
fileProgressFlag_set(FILEPROG_E6_SPRING_EYRIE_HATCHED, TRUE); fileProgressFlag_set(FILEPROG_E6_SPRING_EYRIE_HATCHED, TRUE);
func_80335924(this->unk148, 0x187, 0.0f, 2.0f); skeletalAnim_set(this->unk148, 0x187, 0.0f, 2.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 2); timed_setStaticCameraToNode(0.0f, 2);
timed_exitStaticCamera(8.0f); timed_exitStaticCamera(8.0f);
@@ -42,7 +42,7 @@ Actor *CCW_func_8038954C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
func_8033A45C(3, (this->state < 2) ? 1 : 0); func_8033A45C(3, (this->state < 2) ? 1 : 0);
func_8033A45C(4, (this->state < 2) ? 0 : 1); func_8033A45C(4, (this->state < 2) ? 0 : 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_803895F4(Actor *this) { void func_803895F4(Actor *this) {
@@ -61,7 +61,7 @@ void func_803895F4(Actor *this) {
} }
if (this->state == 2) { if (this->state == 2) {
func_8033568C(this->unk148, &sp2C, &sp28); skeletalAnim_getProgressRange(this->unk148, &sp2C, &sp28);
if ((sp2C < 0.5) && (sp28 >= 0.5)) { if ((sp2C < 0.5) && (sp28 >= 0.5)) {
func_80326310(this); func_80326310(this);
} }

View File

@@ -2,7 +2,6 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
typedef struct { typedef struct {
f32 unk0; f32 unk0;
s16 unk4; s16 unk4;
@@ -110,7 +109,7 @@ void func_80389700(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
void func_80389740(ActorMarker *marker) { void func_80389740(ActorMarker *marker) {
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if (this->marker->unk14_21) { if (this->marker->unk14_21) {
__spawnQueue_add_4((GenMethod_4)func_802C4140, 0x30C, reinterpret_cast(s32, D_8038FDE0[0]), reinterpret_cast(s32, D_8038FDE0[1]), reinterpret_cast(s32, D_8038FDE0[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x30C, reinterpret_cast(s32, D_8038FDE0[0]), reinterpret_cast(s32, D_8038FDE0[1]), reinterpret_cast(s32, D_8038FDE0[2]));
} }
} }
@@ -125,8 +124,8 @@ void func_803897B8(Actor *this, s32 next_state) {
local->unk8 = NULL; local->unk8 = NULL;
if (next_state == 1) { if (next_state == 1) {
if (local->unk0->unk6 != 0) { if (local->unk0->unk6 != 0) {
func_80335924(this->unk148, local->unk0->unk6, 0.2f, 6.0f); skeletalAnim_set(this->unk148, local->unk0->unk6, 0.2f, 6.0f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
local->unk8 = local->unk0->unk8; local->unk8 = local->unk0->unk8;
} }
@@ -135,14 +134,14 @@ void func_803897B8(Actor *this, s32 next_state) {
} }
if (next_state == 5) { if (next_state == 5) {
func_8028F784(1); func_8028F784(1);
func_80335924(this->unk148, local->unk0->unk26, 0.2f, 2.0f); skeletalAnim_set(this->unk148, local->unk0->unk26, 0.2f, 2.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
local->unk8 = &D_8038F060[0]; local->unk8 = &D_8038F060[0];
} }
if (next_state == 2) { if (next_state == 2) {
func_80335924(this->unk148, local->unk0->unkE, 0.2f, 8.0f); skeletalAnim_set(this->unk148, local->unk0->unkE, 0.2f, 8.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324E38(0.5f, 3); func_80324E38(0.5f, 3);
timed_setStaticCameraToNode(0.5f, local->unk0->unk24); timed_setStaticCameraToNode(0.5f, local->unk0->unk24);
timed_exitStaticCamera(16.5f); timed_exitStaticCamera(16.5f);
@@ -151,11 +150,11 @@ void func_803897B8(Actor *this, s32 next_state) {
} }
if (next_state == 3) { if (next_state == 3) {
actor_collisionOff(this); actor_collisionOff(this);
func_80335924(this->unk148, local->unk0->unk14, 0.5f, 8.5f); skeletalAnim_set(this->unk148, local->unk0->unk14, 0.5f, 8.5f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
if (local->unk0->map_id == MAP_43_CCW_SPRING) { if (local->unk0->map_id == MAP_43_CCW_SPRING) {
func_80311480(0xCD6, 4, NULL, NULL, NULL, NULL); func_80311480(0xCD6, 4, NULL, NULL, NULL, NULL);
func_8033579C(this->unk148, 0x3F266666, &func_80389798); skeletalAnim_setCallback_0(this->unk148, 0.65f, &func_80389798);
} }
if (local->unk0->map_id == MAP_44_CCW_SUMMER) { if (local->unk0->map_id == MAP_44_CCW_SUMMER) {
func_80311480(0xCD9, 4, NULL, NULL, NULL, NULL); func_80311480(0xCD9, 4, NULL, NULL, NULL, NULL);
@@ -167,14 +166,14 @@ void func_803897B8(Actor *this, s32 next_state) {
} }
if (next_state == 4) { if (next_state == 4) {
func_8028F784(0); func_8028F784(0);
func_80335924(this->unk148, local->unk0->unk1C, 0.2f, 6.0f); skeletalAnim_set(this->unk148, local->unk0->unk1C, 0.2f, 6.0f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
func_80335800(this->unk148, 0.2f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.2f, func_80389740, this->marker);
func_80335800(this->unk148, 0.3f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.3f, func_80389740, this->marker);
func_80335800(this->unk148, 0.4f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.4f, func_80389740, this->marker);
func_80335800(this->unk148, 0.72f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.72f, func_80389740, this->marker);
func_80335800(this->unk148, 0.82f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.82f, func_80389740, this->marker);
func_80335800(this->unk148, 0.92f, func_80389740, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.92f, func_80389740, this->marker);
local->unk8 = local->unk0->unk20; local->unk8 = local->unk0->unk20;
} }
this->state = next_state; this->state = next_state;
@@ -192,7 +191,7 @@ Actor *func_80389B24(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
return this; return this;
} }
func_8033A45C(3, (this->state == 4) ? 2 : 1); func_8033A45C(3, (this->state == 4) ? 2 : 1);
func_80325888(marker, gfx, mtx, vtx); actor_draw(marker, gfx, mtx, vtx);
func_8034A174(func_80329934(), 5, D_8038FDE0); func_8034A174(func_80329934(), 5, D_8038FDE0);
return this; return this;
} }
@@ -245,7 +244,7 @@ void CCW_func_80389BFC(Actor *this) {
} }
if (local->unk8) { if (local->unk8) {
func_8033568C(this->unk148, &sp5C, &sp58); skeletalAnim_getProgressRange(this->unk148, &sp5C, &sp58);
for(iPtr = local->unk8; iPtr->unk0 > 0.0f; iPtr ++){ for(iPtr = local->unk8; iPtr->unk0 > 0.0f; iPtr ++){
if ((sp5C < iPtr->unk0) && (iPtr->unk0 <= sp58)) { if ((sp5C < iPtr->unk0) && (iPtr->unk0 <= sp58)) {
func_8030E878((s32) iPtr->unk4, randf2(iPtr->unk8 - 0.05, iPtr->unk8 + 0.05), iPtr->unkC, this->position, 500.0f, 2500.0f); func_8030E878((s32) iPtr->unk4, randf2(iPtr->unk8 - 0.05, iPtr->unk8 + 0.05), iPtr->unkC, this->position, 500.0f, 2500.0f);
@@ -289,13 +288,13 @@ void CCW_func_80389BFC(Actor *this) {
func_803897B8(this, local->unk0->unkC); func_803897B8(this, local->unk0->unkC);
} }
} }
if ((this->state == 2) && (func_80335794(this->unk148) > 0)) { if ((this->state == 2) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_803897B8(this, 3); func_803897B8(this, 3);
} }
if ((this->state == 3) && (func_80335794(this->unk148) > 0)) { if ((this->state == 3) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_803897B8(this, 4); func_803897B8(this, 4);
} }
if ((this->state == 5) && (func_80335794(this->unk148) > 0)) { if ((this->state == 5) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_803897B8(this, 1); func_803897B8(this, 1);
} }
} }

View File

@@ -40,14 +40,14 @@ void chcaterpillar_setState(Actor *this, s32 next_state) {
ActorLocal_Caterpillar *local = (ActorLocal_Caterpillar *)&this->local; ActorLocal_Caterpillar *local = (ActorLocal_Caterpillar *)&this->local;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x18D, 0.0f, randf2(1.9f, 2.1f)); skeletalAnim_set(this->unk148, 0x18D, 0.0f, randf2(1.9f, 2.1f));
} }
if (next_state == 2) { if (next_state == 2) {
func_8028F7D4(-25.0f, 90.0f); func_8028F7D4(-25.0f, 90.0f);
func_80335924(this->unk148, 0x18E, 0.2f, 2.0f); skeletalAnim_set(this->unk148, 0x18E, 0.2f, 2.0f);
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, 0x18E, 0.2f, 2.0f); skeletalAnim_set(this->unk148, 0x18E, 0.2f, 2.0f);
local->unkC[0] = this->position[0]; local->unkC[0] = this->position[0];
local->unkC[1] = this->position[1]; local->unkC[1] = this->position[1];
local->unkC[2] = this->position[2]; local->unkC[2] = this->position[2];
@@ -68,7 +68,7 @@ Actor* chcaterpillar_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx)
if(this->state == 5){ if(this->state == 5){
return func_80325340(marker, gfx, mtx, vtx); return func_80325340(marker, gfx, mtx, vtx);
} }
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void chcaterpillar_update(Actor *this){ void chcaterpillar_update(Actor *this){
@@ -109,7 +109,7 @@ void chcaterpillar_update(Actor *this){
}//L8038A45C }//L8038A45C
if(this->state == 1){ if(this->state == 1){
func_8033568C(this->unk148, &sp64, &sp60); skeletalAnim_getProgressRange(this->unk148, &sp64, &sp60);
player_getPosition(sp74); player_getPosition(sp74);
if(ml_distance_vec3f(this->position, local->unk0) < 10.0f){ if(ml_distance_vec3f(this->position, local->unk0) < 10.0f){
for(i = 0; i < 10; i++){ for(i = 0; i < 10; i++){

View File

@@ -41,14 +41,14 @@ void func_8038A920(ActorMarker* marker, enum asset_e text_id, s32 arg2) {
void func_8038A950(Actor *this, s32 next_state) { void func_8038A950(Actor *this, s32 next_state) {
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x199, 0.0f, 6.5f); skeletalAnim_set(this->unk148, 0x199, 0.0f, 6.5f);
} }
if (next_state == 2) { if (next_state == 2) {
func_80311480(0xCDC, 0xA, this->position, this->marker, func_8038A920, NULL); func_80311480(0xCDC, 0xA, this->position, this->marker, func_8038A920, NULL);
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, 0x19A, 0.0f, 7.0f); skeletalAnim_set(this->unk148, 0x19A, 0.0f, 7.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 0); timed_setStaticCameraToNode(0.0f, 0);
} }
@@ -65,7 +65,7 @@ Actor *func_8038AA38(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
this = marker_getActor(marker); this = marker_getActor(marker);
if(this->state == 0) if(this->state == 0)
return this; return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038AA8C(Actor *this) { void func_8038AA8C(Actor *this) {
@@ -91,7 +91,7 @@ void func_8038AA8C(Actor *this) {
} }
if (this->state == 1) { if (this->state == 1) {
func_8033568C(this->unk148, &sp50, &sp4C); skeletalAnim_getProgressRange(this->unk148, &sp50, &sp4C);
if ((sp50 < 0.21) && (0.21 <= sp4C)) { if ((sp50 < 0.21) && (0.21 <= sp4C)) {
func_8030E878(0xA5, randf2(0.9f, 1.1f), 32000, this->position, 500.0f, 2500.0f); func_8030E878(0xA5, randf2(0.9f, 1.1f), 32000, this->position, 500.0f, 2500.0f);
} }
@@ -106,13 +106,13 @@ void func_8038AA8C(Actor *this) {
} }
} }
if (this->state == 3) { if (this->state == 3) {
func_8033568C(this->unk148, &sp44, &sp40); skeletalAnim_getProgressRange(this->unk148, &sp44, &sp40);
for(iPtr = &D_8038F1B4[0]; iPtr->unk0 > 0.0f; iPtr++){ for(iPtr = &D_8038F1B4[0]; iPtr->unk0 > 0.0f; iPtr++){
if ((sp44 < iPtr->unk0) && (iPtr->unk0 <= sp40)) { if ((sp44 < iPtr->unk0) && (iPtr->unk0 <= sp40)) {
func_8030E878(iPtr->unk8, iPtr->unk4, iPtr->unkA, this->position, 500.0f, 2500.0f); func_8030E878(iPtr->unk8, iPtr->unk4, iPtr->unkA, this->position, 500.0f, 2500.0f);
} }
} }
if (func_80335794(this->unk148) > 0) { if (skeletalAnim_getLoopCount(this->unk148) > 0) {
func_8038A950(this, 4); func_8038A950(this, 4);
} }
} }

View File

@@ -33,12 +33,12 @@ void func_8038AD50(Actor *this, s32 next_state) {
mapSpecificFlags_set(6, 0); mapSpecificFlags_set(6, 0);
timed_setStaticCameraToNode(0.0f, 1); timed_setStaticCameraToNode(0.0f, 1);
} }
func_80335924(this->unk148, 0x21D, 0.2f, 0.5f); skeletalAnim_set(this->unk148, 0x21D, 0.2f, 0.5f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, 0x21E, 0.2f, 2.0f); skeletalAnim_set(this->unk148, 0x21E, 0.2f, 2.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if (next_state == 4) { if (next_state == 4) {
timed_exitStaticCamera(0.0f); timed_exitStaticCamera(0.0f);
@@ -54,7 +54,7 @@ Actor *func_8038AE64(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
this = marker_getActor(marker); this = marker_getActor(marker);
if(this->state < 2) if(this->state < 2)
return this; return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038AEBC(Actor *this) { void func_8038AEBC(Actor *this) {
@@ -77,7 +77,7 @@ void func_8038AEBC(Actor *this) {
} }
if (this->state == 2) { if (this->state == 2) {
func_80326224(this); func_80326224(this);
func_8033568C(this->unk148, &sp38, &sp34); skeletalAnim_getProgressRange(this->unk148, &sp38, &sp34);
for(iPtr = &D_8038F254[0]; iPtr->unk0 > 0.0f; iPtr++){ for(iPtr = &D_8038F254[0]; iPtr->unk0 > 0.0f; iPtr++){
if ((sp38 < iPtr->unk0) && (iPtr->unk0 <= sp34)) { if ((sp38 < iPtr->unk0) && (iPtr->unk0 <= sp34)) {
func_8030E878((s32) iPtr->unk8, iPtr->unk4, iPtr->unkA, this->position, 1500.0f, 4500.0f); func_8030E878((s32) iPtr->unk8, iPtr->unk4, iPtr->unkA, this->position, 1500.0f, 4500.0f);
@@ -93,11 +93,11 @@ void func_8038AEBC(Actor *this) {
} }
if (this->state == 3) { if (this->state == 3) {
func_80326224(this); func_80326224(this);
func_8033568C(this->unk148, &sp30, &sp2C); skeletalAnim_getProgressRange(this->unk148, &sp30, &sp2C);
if ((sp30 <= 0.5) && (sp2C >= 0.5)) { if ((sp30 <= 0.5) && (sp2C >= 0.5)) {
jiggySpawn(JIGGY_49_CCW_EYRIE, this->position); jiggySpawn(JIGGY_49_CCW_EYRIE, this->position);
} }
if (func_80335794(this->unk148) > 0) { if (skeletalAnim_getLoopCount(this->unk148) > 0) {
func_8038AD50(this, 2); func_8038AD50(this, 2);
} }
} }

View File

@@ -2,8 +2,6 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern void func_80335A24(void *, s32, f32, f32);
typedef struct { typedef struct {
f32 unk0; f32 unk0;
}ActorLocal_CCW_4D00; }ActorLocal_CCW_4D00;
@@ -21,7 +19,7 @@ void func_8038B19C(Actor *this);
ActorInfo D_8038F270 = { ActorInfo D_8038F270 = {
0x1B9, 0x2A6, 0x502, 0x1B9, 0x2A6, 0x502,
0x0, NULL, 0x0, NULL,
func_8038B19C, NULL, func_80325888, func_8038B19C, NULL, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -42,11 +40,11 @@ void func_8038B0F0(Actor *this, s32 next_state) {
local->unk0 = 0.0f; local->unk0 = 0.0f;
if (next_state == 1) { if (next_state == 1) {
func_80335A24(this->unk148, 0x1A3, 0.2f, 11.0f); skeletalAnim_swap(this->unk148, 0x1A3, 0.2f, 11.0f);
local->unk0 = randf2(3.0f, 10.0f); local->unk0 = randf2(3.0f, 10.0f);
} }
if (next_state == 2) { if (next_state == 2) {
func_80335924(this->unk148, 0x1A4, 0.2f, 3.0f); skeletalAnim_set(this->unk148, 0x1A4, 0.2f, 3.0f);
} }
this->state = next_state; this->state = next_state;
} }
@@ -72,7 +70,7 @@ void func_8038B19C(Actor *this) {
} }
if (this->state == 2) { if (this->state == 2) {
func_8033568C(this->unk148, &sp50, &sp4C); skeletalAnim_getProgressRange(this->unk148, &sp50, &sp4C);
for(iPtr = &D_8038F294[0]; iPtr->unk0 > 0.0f; iPtr++){ for(iPtr = &D_8038F294[0]; iPtr->unk0 > 0.0f; iPtr++){
if ((sp50 < iPtr->unk0) && (iPtr->unk0 <= sp4C)) { if ((sp50 < iPtr->unk0) && (iPtr->unk0 <= sp4C)) {
func_8030E878(iPtr->unk8, randf2(iPtr->unk4 - 0.05, iPtr->unk4 + 0.05), randi2(iPtr->unkA - 0x1F4, iPtr->unkA + 0x1F4), this->position, 500.0f, 2500.0f); func_8030E878(iPtr->unk8, randf2(iPtr->unk4 - 0.05, iPtr->unk4 + 0.05), randi2(iPtr->unkA - 0x1F4, iPtr->unkA + 0x1F4), this->position, 500.0f, 2500.0f);
@@ -86,7 +84,7 @@ void func_8038B19C(Actor *this) {
func_8030E878(SFX_4B_GULPING, randf2(1.4f, 1.45f), randi2(24000, 26000), this->position, 500.0f, 2500.0f); func_8030E878(SFX_4B_GULPING, randf2(1.4f, 1.45f), randi2(24000, 26000), this->position, 500.0f, 2500.0f);
} }
} }
if (func_80335794(this->unk148) > 0) { if (skeletalAnim_getLoopCount(this->unk148) > 0) {
func_8038B0F0(this, 1); func_8038B0F0(this, 1);
} }
} }

View File

@@ -8,7 +8,7 @@ void func_8038B87C(Actor *this);
ActorInfo D_8038F300 = { ActorInfo D_8038F300 = {
0x1BA, 0x2A7, 0x503, 0x1BA, 0x2A7, 0x503,
0x0, NULL, 0x0, NULL,
func_8038B87C, NULL, func_80325888, func_8038B87C, NULL, actor_draw,
0, 0, 2.0f, 0 0, 0, 2.0f, 0
}; };
@@ -63,22 +63,22 @@ void func_8038B6DC(ActorMarker *marker) {
int i; int i;
this = marker_getActor(marker); this = marker_getActor(marker);
func_80335650(this->unk148); skeletalAnim_clearCallbacks(this->unk148);
phi_f20 = randf2(0.1f, 0.3f); phi_f20 = randf2(0.1f, 0.3f);
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
func_80335800(this->unk148, phi_f20, func_8038B610, this->marker); skeletalAnim_setCallback_1(this->unk148, phi_f20, func_8038B610, this->marker);
phi_f20 += randf2(0.15f, 0.3f); phi_f20 += randf2(0.15f, 0.3f);
if(0.85 < phi_f20) if(0.85 < phi_f20)
break; break;
} }
func_80335800(this->unk148, 0.35f, func_8038B4C0, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.35f, func_8038B4C0, this->marker);
func_80335800(this->unk148, 0.63f, func_8038B58C, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.63f, func_8038B58C, this->marker);
func_80335800(this->unk148, 0.9f, func_8038B6DC, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.9f, func_8038B6DC, this->marker);
} }
void func_8038B814(Actor *this, s32 next_state) { void func_8038B814(Actor *this, s32 next_state) {
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x22B, 0.2f, 11.0f); skeletalAnim_set(this->unk148, 0x22B, 0.2f, 11.0f);
func_8038B6DC(this->marker); func_8038B6DC(this->marker);
} }
this->state = next_state; this->state = next_state;

View File

@@ -36,31 +36,31 @@ void __chnabnut_setState_method(ActorMarker* marker, s32 next_state) {
void chnabnut_setState(Actor *this, s32 next_state) { void chnabnut_setState(Actor *this, s32 next_state) {
if (next_state == NABNUT_STATE_1_SAD) { if (next_state == NABNUT_STATE_1_SAD) {
func_80335924(this->unk148, ASSET_22C_ANIM_NABNUT_CRY, 0.2f, 10.6f); skeletalAnim_set(this->unk148, ASSET_22C_ANIM_NABNUT_CRY, 0.2f, 10.6f);
} }
if (next_state == NABNUT_STATE_2_WAIT) { if (next_state == NABNUT_STATE_2_WAIT) {
timedFunc_set_2(1.0f, (GenMethod_2)__chnabnut_setState_method, (s32)this->marker, NABNUT_STATE_3_BACKFLIP); timedFunc_set_2(1.0f, (GenFunction_2)__chnabnut_setState_method, (s32)this->marker, NABNUT_STATE_3_BACKFLIP);
} }
if (next_state == NABNUT_STATE_3_BACKFLIP) { if (next_state == NABNUT_STATE_3_BACKFLIP) {
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
func_80335924(this->unk148, ASSET_22D_ANIM_NABNUT_BACKFLIP, 0.2f, 3.13f); skeletalAnim_set(this->unk148, ASSET_22D_ANIM_NABNUT_BACKFLIP, 0.2f, 3.13f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 0xB); timed_setStaticCameraToNode(0.0f, 0xB);
func_80311480(0xCCC, 0x20, this->position, NULL, NULL, NULL); func_80311480(0xCCC, 0x20, this->position, NULL, NULL, NULL);
} }
if (next_state == NABNUT_STATE_4_THANK_PLAYER) { if (next_state == NABNUT_STATE_4_THANK_PLAYER) {
func_80335924(this->unk148, ASSET_22E_ANIM_NABNUT_STAND, 0.2f, 3.53f); skeletalAnim_set(this->unk148, ASSET_22E_ANIM_NABNUT_STAND, 0.2f, 3.53f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
func_802C8F70(this->yaw - 40.0f); func_802C8F70(this->yaw - 40.0f);
jiggySpawn(JIGGY_4A_CCW_NABNUT, this->position); jiggySpawn(JIGGY_4A_CCW_NABNUT, this->position);
} }
if (next_state == NABNUT_STATE_5_EXIT) { if (next_state == NABNUT_STATE_5_EXIT) {
func_80335924(this->unk148, ASSET_22F_ANIM_NABNUT_RUN, 0.2f, 0.34f); skeletalAnim_set(this->unk148, ASSET_22F_ANIM_NABNUT_RUN, 0.2f, 0.34f);
} }
if (next_state == NABNUT_STATE_6_DESPAWN) { if (next_state == NABNUT_STATE_6_DESPAWN) {
@@ -88,17 +88,17 @@ Actor *chnabnut_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
func_8033A45C(9, 0); func_8033A45C(9, 0);
func_8033A45C(0xA, 1); func_8033A45C(0xA, 1);
if (this->state == 1) { if (this->state == 1) {
temp_f2 = func_80335684(this->unk148); temp_f2 = skeletalAnim_getProgress(this->unk148);
if ((0.116 <= temp_f2) && (temp_f2 <= 0.32)) { if ((0.116 <= temp_f2) && (temp_f2 <= 0.32)) {
sp24 = this->unk130; sp24 = this->unk130;
this->unk130 = NULL; this->unk130 = NULL;
func_8033A45C(1, 4); func_8033A45C(1, 4);
out = func_80325888(marker, gfx, mtx, vtx); out = actor_draw(marker, gfx, mtx, vtx);
out->unk130 = sp24; out->unk130 = sp24;
return out; return out;
} }
} }
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038BC50(f32 dst[3]){ void func_8038BC50(f32 dst[3]){
@@ -154,10 +154,10 @@ void chnabnut_update(Actor *this) {
} }
} }
} }
if ((this->state == NABNUT_STATE_3_BACKFLIP) && (func_80335794(this->unk148) > 0)) { if ((this->state == NABNUT_STATE_3_BACKFLIP) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
chnabnut_setState(this, NABNUT_STATE_4_THANK_PLAYER); chnabnut_setState(this, NABNUT_STATE_4_THANK_PLAYER);
} }
if ((this->state == NABNUT_STATE_4_THANK_PLAYER) && (func_80335794(this->unk148) > 0)) { if ((this->state == NABNUT_STATE_4_THANK_PLAYER) && (skeletalAnim_getLoopCount(this->unk148) > 0)) {
chnabnut_setState(this, NABNUT_STATE_5_EXIT); chnabnut_setState(this, NABNUT_STATE_5_EXIT);
} }
if (this->state == NABNUT_STATE_5_EXIT) { if (this->state == NABNUT_STATE_5_EXIT) {

View File

@@ -8,11 +8,11 @@ Actor *func_8038C380(ActorMarker* marker, Gfx** gfx, Mtx** mtx, Vtx** vtx);
void func_8038C41C(Actor *this); void func_8038C41C(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038F380 = { 0x1C6, 0x310, 0x501, 0x0, NULL, func_8038C41C, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038F380 = { 0x1C6, 0x310, 0x501, 0x0, NULL, func_8038C41C, NULL, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038F3A4 = { 0x1C7, 0x311, 0x462, 0x0, NULL, func_8038C41C, NULL, func_8038C380, 0, 0, 0.0f, 0}; ActorInfo D_8038F3A4 = { 0x1C7, 0x311, 0x462, 0x0, NULL, func_8038C41C, NULL, func_8038C380, 0, 0, 0.0f, 0};
ActorInfo D_8038F3C8 = { 0x1C8, 0x312, 0x463, 0x0, NULL, func_8038C41C, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038F3C8 = { 0x1C8, 0x312, 0x463, 0x0, NULL, func_8038C41C, NULL, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038F3EC = { 0x1C9, 0x313, 0x464, 0x0, NULL, func_8038C41C, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038F3EC = { 0x1C9, 0x313, 0x464, 0x0, NULL, func_8038C41C, NULL, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_8038F410 = { 0x1CA, 0x314, 0x502, 0x0, NULL, func_8038C41C, NULL, func_80325888, 0, 0, 2.0f, 0}; ActorInfo D_8038F410 = { 0x1CA, 0x314, 0x502, 0x0, NULL, func_8038C41C, NULL, actor_draw, 0, 0, 2.0f, 0};
ActorInfo D_8038F434 = { 0x1CB, 0x315, 0x48D, 0x0, NULL, func_8038C41C, NULL, func_8038C380, 0, 0, 0.0f, 0}; ActorInfo D_8038F434 = { 0x1CB, 0x315, 0x48D, 0x0, NULL, func_8038C41C, NULL, func_8038C380, 0, 0, 0.0f, 0};
/* .code */ /* .code */
@@ -46,19 +46,19 @@ void CCW_func_8038C16C(Actor *this, s32 next_state) {
if (next_state == 2) { if (next_state == 2) {
if (this->marker->unk14_20 == 0x1CA) { if (this->marker->unk14_20 == 0x1CA) {
func_80335924(this->unk148, 0x22E, 0.2f, 3.53f); skeletalAnim_set(this->unk148, 0x22E, 0.2f, 3.53f);
func_80335800(this->unk148, 0.1f, func_8038C0E8, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.1f, func_8038C0E8, this->marker);
} }
if (this->marker->unk14_20 == 0x1C7) { if (this->marker->unk14_20 == 0x1C7) {
func_80335924(this->unk148, 0x230, 0.2f, 4.0f); skeletalAnim_set(this->unk148, 0x230, 0.2f, 4.0f);
} }
if (this->marker->unk14_20 == 0x1CB) { if (this->marker->unk14_20 == 0x1CB) {
func_80335924(this->unk148, 0x1A2, 0.2f, 4.0f); skeletalAnim_set(this->unk148, 0x1A2, 0.2f, 4.0f);
func_80335800(this->unk148, 0.3f, func_8038BFE0, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.3f, func_8038BFE0, this->marker);
func_80335800(this->unk148, 0.65f, func_8038C064, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.65f, func_8038C064, this->marker);
} }
if (this->marker->unk14_20 == 0x1C8) { if (this->marker->unk14_20 == 0x1C8) {
func_80335924(this->unk148, 0x231, 0.2f, 4.0f); skeletalAnim_set(this->unk148, 0x231, 0.2f, 4.0f);
} }
if ((this->marker->unk14_20 == 0x1C7) || (this->marker->unk14_20 == 0x1CB) || (this->marker->unk14_20 == 0x1C8)) { if ((this->marker->unk14_20 == 0x1C7) || (this->marker->unk14_20 == 0x1CB) || (this->marker->unk14_20 == 0x1C8)) {
other = actorArray_findActorFromActorId(0x313); other = actorArray_findActorFromActorId(0x313);
@@ -84,7 +84,7 @@ Actor *func_8038C380(ActorMarker* marker, Gfx** gfx, Mtx** mtx, Vtx** vtx) {
func_8033A45C(8, 0); func_8033A45C(8, 0);
func_8033A45C(9, 0); func_8033A45C(9, 0);
func_8033A45C(0xA, 1); func_8033A45C(0xA, 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038C41C(Actor *this) { void func_8038C41C(Actor *this) {

View File

@@ -13,7 +13,7 @@ typedef struct {
void func_8038C7A8(Actor *this); void func_8038C7A8(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038F460 = { 0x1BC, 0x2A9, 0x48E, 0x0, NULL, func_8038C7A8, NULL, func_80325888, 0, 0, 0.8f, 0}; ActorInfo D_8038F460 = { 0x1BC, 0x2A9, 0x48E, 0x0, NULL, func_8038C7A8, NULL, actor_draw, 0, 0, 0.8f, 0};
/* .code */ /* .code */
void CCW_func_8038C5D0(ActorMarker* marker) { void CCW_func_8038C5D0(ActorMarker* marker) {
@@ -31,9 +31,9 @@ void CCW_func_8038C6A0(Actor *this, s32 next_state) {
local = (ActorLocal_CCW_61E0 *)&this->local; local = (ActorLocal_CCW_61E0 *)&this->local;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x25B, 0.0f, 1.0f); skeletalAnim_set(this->unk148, 0x25B, 0.0f, 1.0f);
func_80335800(this->unk148, 0.5f, CCW_func_8038C5D0, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.5f, CCW_func_8038C5D0, this->marker);
func_80335800(this->unk148, 0.7f, CCW_func_8038C638, this->marker); skeletalAnim_setCallback_1(this->unk148, 0.7f, CCW_func_8038C638, this->marker);
} }
if (next_state == 3) { if (next_state == 3) {
local->unk0[0] = this->position[0]; local->unk0[0] = this->position[0];

View File

@@ -58,9 +58,9 @@ void func_8038CB40(Actor *this, s32 next_state) {
int i; int i;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x289, 0.2f, 1.1f); skeletalAnim_set(this->unk148, 0x289, 0.2f, 1.1f);
for(i = 0; i < 10; i++){ for(i = 0; i < 10; i++){
func_80335800(this->unk148, randf(), func_8038CA10, this->marker); skeletalAnim_setCallback_1(this->unk148, randf(), func_8038CA10, (s32)this->marker);
} }
} }
this->state = next_state; this->state = next_state;
@@ -71,7 +71,7 @@ Actor *CCW_func_8038CBF0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
Actor *this; Actor *this;
ActorLocal_CCW_6620 *local; ActorLocal_CCW_6620 *local;
this = func_80325888(marker, gfx, mtx, vtx); this = actor_draw(marker, gfx, mtx, vtx);
local = (ActorLocal_CCW_6620 *)&this->local; local = (ActorLocal_CCW_6620 *)&this->local;
if (this->marker->unk14_21) { if (this->marker->unk14_21) {
func_8034A174(func_80329934(), 5, local->unk4); func_8034A174(func_80329934(), 5, local->unk4);

View File

@@ -15,7 +15,7 @@ void func_8038CFB4(Actor *this);
ActorInfo D_8038F4D0 = { ActorInfo D_8038F4D0 = {
0x1BE, 0x2AB, 0x48F, 0x1BE, 0x2AB, 0x48F,
0x0, NULL, 0x0, NULL,
func_8038CFB4, func_8038CFB4, func_80325888, func_8038CFB4, func_8038CFB4, actor_draw,
0, 0, 2.2f, 0 0, 0, 2.2f, 0
}; };
@@ -55,17 +55,17 @@ void func_8038CEB0(Actor *this, s32 next_state) {
ActorProp *temp_v0; ActorProp *temp_v0;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x1A6, 0.2f, 4.5f); skeletalAnim_set(this->unk148, 0x1A6, 0.2f, 4.5f);
} }
if (next_state == 2) { if (next_state == 2) {
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
func_80335924(this->unk148, 0x1A7, 0.2f, 3.0f); skeletalAnim_set(this->unk148, 0x1A7, 0.2f, 3.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80311480(0xCD0, 0x24, NULL, NULL, NULL, NULL); func_80311480(0xCD0, 0x24, NULL, NULL, NULL, NULL);
} }
if (next_state == 3) { if (next_state == 3) {
func_80335924(this->unk148, 0x1A8, 0.2f, 0.5f); skeletalAnim_set(this->unk148, 0x1A8, 0.2f, 0.5f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
if (next_state == 4) { if (next_state == 4) {
marker_despawn(this->marker); marker_despawn(this->marker);
@@ -104,7 +104,7 @@ void func_8038CFB4(Actor *this) {
} }
if (phi_s0 != NULL) { if (phi_s0 != NULL) {
func_8033568C(this->unk148, &sp70, &sp6C); skeletalAnim_getProgressRange(this->unk148, &sp70, &sp6C);
while(phi_s0->unk0 > 0.0f){ while(phi_s0->unk0 > 0.0f){
if (((sp70 < phi_s0->unk0) || (sp6C < sp70)) && (phi_s0->unk0 <= sp6C)) { if (((sp70 < phi_s0->unk0) || (sp6C < sp70)) && (phi_s0->unk0 <= sp6C)) {
func_8030E878(phi_s0->unk8, randf2(phi_s0->unk4 - 0.05, phi_s0->unk4 + 0.05), randi2(phi_s0->unkA - 200, phi_s0->unkA + 100), this->position, 500.0f, 1500.0f); func_8030E878(phi_s0->unk8, randf2(phi_s0->unk4 - 0.05, phi_s0->unk4 + 0.05), randi2(phi_s0->unkA - 200, phi_s0->unkA + 100), this->position, 500.0f, 1500.0f);
@@ -127,7 +127,7 @@ void func_8038CFB4(Actor *this) {
} }
if (this->state == 2){ if (this->state == 2){
if((func_80335794(this->unk148) > 0)) { if((skeletalAnim_getLoopCount(this->unk148) > 0)) {
func_8038CEB0(this, 3); func_8038CEB0(this, 3);
} }
} }

View File

@@ -32,7 +32,7 @@ ActorInfo D_8038F614 = {
/* .code */ /* .code */
void func_8038D2B0(Actor *this, s32 next_state) { void func_8038D2B0(Actor *this, s32 next_state) {
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x1A6, 0.2f, 5.5f); skeletalAnim_set(this->unk148, 0x1A6, 0.2f, 5.5f);
} }
this->state = next_state; this->state = next_state;
@@ -42,7 +42,7 @@ Actor *func_8038D30C(ActorMarker* marker, Gfx** gfx, Mtx** mtx, Vtx** vtx) {
if (levelSpecificFlags_get(0x25) == 0) { if (levelSpecificFlags_get(0x25) == 0) {
return func_80325340(marker, gfx, mtx, vtx); return func_80325340(marker, gfx, mtx, vtx);
} }
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038D368(Actor *this) { void func_8038D368(Actor *this) {

View File

@@ -12,7 +12,7 @@ void func_8038D85C(Actor *this);
ActorInfo D_8038F640 = { ActorInfo D_8038F640 = {
0x1BF, 0x2AC, 0x490, 0x1BF, 0x2AC, 0x490,
0x0, NULL, 0x0, NULL,
func_8038D85C, NULL, func_80325888, func_8038D85C, NULL, actor_draw,
0, 0, 2.2f, 0 0, 0, 2.2f, 0
}; };

View File

@@ -5,13 +5,13 @@
void func_8038D9E0(Actor *this); void func_8038D9E0(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038F6F0 = { 0x1C3, 0x30C, 0x4E4, 0x0, NULL, func_8038D9E0, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038F6F0 = { 0x1C3, 0x30C, 0x4E4, 0x0, NULL, func_8038D9E0, NULL, actor_draw, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void func_8038D960(Actor *this, s32 next_state) { void func_8038D960(Actor *this, s32 next_state) {
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x21C, 0.0f, 6.0f); skeletalAnim_set(this->unk148, 0x21C, 0.0f, 6.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if (next_state == 2) { if (next_state == 2) {
func_80326310(this); func_80326310(this);
@@ -32,7 +32,7 @@ void func_8038D9E0(Actor *this) {
} }
if (this->state == 1) { if (this->state == 1) {
this = this; this = this;
func_8033568C(this->unk148, &sp24, &sp20); skeletalAnim_getProgressRange(this->unk148, &sp24, &sp20);
if ((sp24 < 0.25f) && (sp20 >= 0.25f)) { if ((sp24 < 0.25f) && (sp20 >= 0.25f)) {
func_8038D960(this, 2); func_8038D960(this, 2);
} }

View File

@@ -65,16 +65,16 @@ void CCW_func_8038DB0C(Actor *this);
void func_8038DAB0(Actor *this); void func_8038DAB0(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038F720 = { 0x239, 0x25F, 0x4FC, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F720 = { 0x239, 0x25F, 0x4FC, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F744 = { 0x236, 0x260, 0x4F9, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F744 = { 0x236, 0x260, 0x4F9, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F768 = { 0x237, 0x261, 0x4FA, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F768 = { 0x237, 0x261, 0x4FA, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F78C = { 0x238, 0x262, 0x4FB, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F78C = { 0x238, 0x262, 0x4FB, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_8038F888 = { 0x1CC, 0x318, 0x0, 0x0, NULL, func_80325F84, NULL, func_80325340, 0, 0, 0.0f, 0}; ActorInfo D_8038F888 = { 0x1CC, 0x318, 0x0, 0x0, NULL, func_80325F84, NULL, func_80325340, 0, 0, 0.0f, 0};

View File

@@ -12,7 +12,7 @@ ActorAnimationInfo D_8038F8B0[] = {
ActorInfo D_8038F8C0 = { 0x251, 0x37E, 0x506, ActorInfo D_8038F8C0 = { 0x251, 0x37E, 0x506,
0x1, D_8038F8B0, 0x1, D_8038F8B0,
func_8038DFB0, func_80326224, func_80325888, func_8038DFB0, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -15,7 +15,7 @@ ActorAnimationInfo D_8038F8F0[] = {
ActorInfo D_8038F908 = { ActorInfo D_8038F908 = {
MARKER_1F9_SNARE_BEAR, ACTOR_1E9_SNARE_BEAR, ASSET_440_MODEL_SNAREBEAR, MARKER_1F9_SNARE_BEAR, ACTOR_1E9_SNARE_BEAR, ASSET_440_MODEL_SNAREBEAR,
0x1, D_8038F8F0, 0x1, D_8038F8F0,
func_8038E0C8, func_80326224, func_80325888, func_8038E0C8, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -44,7 +44,7 @@ void func_8038E060(s32 arg0, ActorMarker *marker){
func_80345C78(sp18, sp28); func_80345C78(sp18, sp28);
func_8033A8F0(arg0, 1, sp18); func_8033A8F0(arg0, 1, sp18);
func_8033A238(arg0); modelRender_setBoneTransformList(arg0);
} }
} }

View File

@@ -87,7 +87,7 @@ void func_8038E4C0(ActorMarker* marker, s32 arg1) {
FUNC_8030E8B4(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actor->position, 1250, 2500); FUNC_8030E8B4(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actor->position, 1250, 2500);
pCtrl = partEmitMgr_newEmitter(1); pCtrl = partEmitMgr_newEmitter(1);
func_8038E440(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT); func_8038E440(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z)); __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z));
actor_collisionOff(actor); actor_collisionOff(actor);
actor->unk138_24 = 1; actor->unk138_24 = 1;
} }
@@ -110,7 +110,7 @@ Actor *func_8038E56C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(12, (local->season == WINTER) ? 2 : 1); func_8033A45C(12, (local->season == WINTER) ? 2 : 1);
func_8033A45C(13, (local->season == WINTER) ? 1 : 0); func_8033A45C(13, (local->season == WINTER) ? 1 : 0);
func_8033A45C(14, (this->unk138_24)? 0 : 1); func_8033A45C(14, (this->unk138_24)? 0 : 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038E868(Actor *this){ void func_8038E868(Actor *this){

View File

@@ -16,7 +16,7 @@ typedef struct{
void chwasp_update(Actor *this); void chwasp_update(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038EBD0 = { MARKER_1AE_ZUBBA, ACTOR_29B_ZUBBA, ASSET_446_MODEL_ZUBBA, 0x0, NULL, chwasp_update, NULL, func_80325888, 0, 0, 1.0f, 0}; ActorInfo D_8038EBD0 = { MARKER_1AE_ZUBBA, ACTOR_29B_ZUBBA, ASSET_446_MODEL_ZUBBA, 0x0, NULL, chwasp_update, NULL, actor_draw, 0, 0, 1.0f, 0};
/* .code */ /* .code */
void chwasp_setState(Actor *this, s32 next_state) { void chwasp_setState(Actor *this, s32 next_state) {
@@ -28,10 +28,10 @@ void chwasp_setState(Actor *this, s32 next_state) {
local->unk18 = 0.0f; local->unk18 = 0.0f;
if (next_state == 1) { if (next_state == 1) {
local->unk18 = 800.0f; local->unk18 = 800.0f;
func_80335924(this->unk148, ASSET_16F_ANIM_ZUBBA_FLY_MOVE, 0.0f, 0.65f); skeletalAnim_set(this->unk148, ASSET_16F_ANIM_ZUBBA_FLY_MOVE, 0.0f, 0.65f);
} }
if (next_state == 2) { if (next_state == 2) {
func_80335924(this->unk148, ASSET_170_ANIM_ZUBBA_FLY_IDLE, 0.1f, 0.65f); skeletalAnim_set(this->unk148, ASSET_170_ANIM_ZUBBA_FLY_IDLE, 0.1f, 0.65f);
player_getPosition(sp50); player_getPosition(sp50);
sp50[1] += 50.0f; sp50[1] += 50.0f;
local->unk8[0] = sp50[0] - this->position[0]; local->unk8[0] = sp50[0] - this->position[0];
@@ -48,7 +48,7 @@ void chwasp_setState(Actor *this, s32 next_state) {
actor_collisionOff(this); actor_collisionOff(this);
} }
if (next_state == 4) { if (next_state == 4) {
func_80335924(this->unk148, ASSET_171_ANIM_ZUBBA_DIE, 0.1f, 0.2f); skeletalAnim_set(this->unk148, ASSET_171_ANIM_ZUBBA_DIE, 0.1f, 0.2f);
FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000); FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000);
func_80324D54(0.1f, 0x66, randf2(1.6f, 1.7f), 32000, this->position, 500.0f, 3000.0f); func_80324D54(0.1f, 0x66, randf2(1.6f, 1.7f), 32000, this->position, 500.0f, 3000.0f);
func_803867C8(local->unk4); func_803867C8(local->unk4);
@@ -65,8 +65,8 @@ void chwasp_setState(Actor *this, s32 next_state) {
} }
if (next_state == 5) { if (next_state == 5) {
func_8030E878(SFX_A_BANJO_LANDING_05, randf2(0.85f, 0.95f), 18000, this->position, 500.0f, 3000.0f); func_8030E878(SFX_A_BANJO_LANDING_05, randf2(0.85f, 0.95f), 18000, this->position, 500.0f, 3000.0f);
func_80335924(this->unk148, ASSET_172_ANIM_ZUBBA_LAND, 0.0f, 1.0f); skeletalAnim_set(this->unk148, ASSET_172_ANIM_ZUBBA_LAND, 0.0f, 1.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if (next_state == 6) { if (next_state == 6) {
marker_despawn(this->marker); marker_despawn(this->marker);

View File

@@ -23,19 +23,19 @@ ActorAnimationInfo D_80391DF0[] = {
ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CUB_BLUE, ASSET_44C_MODEL_POLAR_BEAR_CUB_BLUE, ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CUB_BLUE, ASSET_44C_MODEL_POLAR_BEAR_CUB_BLUE,
0x1, D_80391DF0, 0x1, D_80391DF0,
func_8038A384, func_80326224, func_80325888, func_8038A384, func_80326224, actor_draw,
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
}; };
ActorInfo FP_D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN, ActorInfo FP_D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN,
0x1, D_80391DF0, 0x1, D_80391DF0,
func_8038A384, func_80326224, func_80325888, func_8038A384, func_80326224, actor_draw,
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
}; };
ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB_RED, ASSET_44E_MODEL_POLAR_BEAR_CUB_RED, ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB_RED, ASSET_44E_MODEL_POLAR_BEAR_CUB_RED,
0x1, D_80391DF0, 0x1, D_80391DF0,
func_8038A384, func_80326224, func_80325888, func_8038A384, func_80326224, actor_draw,
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
}; };

View File

@@ -39,7 +39,7 @@ Actor *func_803875E0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(1, 0); func_8033A45C(1, 0);
func_8033A45C(3, 1); func_8033A45C(3, 1);
this = func_80325888(marker, gfx, mtx, vtx); this = actor_draw(marker, gfx, mtx, vtx);
if(marker->unk14_21){ if(marker->unk14_21){
func_8034A174(func_80329934(), 5, this->velocity); func_8034A174(func_80329934(), 5, this->velocity);
} }
@@ -125,7 +125,7 @@ void func_8038794C(Actor *this){
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){ if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
if(!jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){ if(!jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){
__spawnQueue_add_1((GenMethod_1)func_80387760, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_80387760, reinterpret_cast(s32, this->marker));
} }
this->unk38_31 = 0; this->unk38_31 = 0;
actor_collisionOff(this); actor_collisionOff(this);
@@ -151,7 +151,7 @@ void func_8038794C(Actor *this){
if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){ if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){
if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){ if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){
for(i = 0; i <5; i++ ){ for(i = 0; i <5; i++ ){
timedFunc_set_1(D_80391BEC[i], (GenMethod_1)func_8038787C, (s32)this->marker); timedFunc_set_1(D_80391BEC[i], (GenFunction_1)func_8038787C, (s32)this->marker);
} }
this->unk138_24 = TRUE; this->unk138_24 = TRUE;
} }
@@ -195,7 +195,7 @@ void func_8038794C(Actor *this){
case 5://L80387D90 case 5://L80387D90
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){ if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
this->unk38_31 = 0; this->unk38_31 = 0;
__spawnQueue_add_1((GenMethod_1)func_80387760, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_80387760, reinterpret_cast(s32, this->marker));
} }
break; break;
} }

View File

@@ -62,7 +62,7 @@ Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(1, 1); func_8033A45C(1, 1);
func_8033A45C(3, 1); func_8033A45C(3, 1);
this = func_80325888(marker, gfx, mtx, vtx); this = actor_draw(marker, gfx, mtx, vtx);
if(this->unk16C_4 && marker->unk14_21){ if(this->unk16C_4 && marker->unk14_21){
if( this->state == 4 if( this->state == 4
|| this->state == 5 || this->state == 5
@@ -581,7 +581,7 @@ void func_803896FC(Actor *this){
case 1: //L80389F78 case 1: //L80389F78
if(this->unk38_31 == 2){ if(this->unk38_31 == 2){
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){ if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
__spawnQueue_add_1((GenMethod_1)func_80388F54, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_80388F54, reinterpret_cast(s32, this->marker));
func_8038B9BC(); func_8038B9BC();
marker_despawn(this->marker); marker_despawn(this->marker);
} }

View File

@@ -31,7 +31,7 @@ Actor *func_80390290(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
func_8033A45C(1, 0); func_8033A45C(1, 0);
func_8033A45C(3, sp18); func_8033A45C(3, sp18);
func_80325888(marker, gfx, mtx, vtx); actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -14,7 +14,7 @@ extern ActorAnimationInfo D_803926F0[]= {
extern ActorInfo D_80392700 = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAVE, ASSET_494_MODEL_WOZZA, extern ActorInfo D_80392700 = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAVE, ASSET_494_MODEL_WOZZA,
0x1, D_803926F0, 0x1, D_803926F0,
func_80390630, func_80326224, func_80325888, func_80390630, func_80326224, actor_draw,
2500, 0, 1.6f, 0 2500, 0, 1.6f, 0
}; };

View File

@@ -34,7 +34,7 @@ Actor *func_8038F0F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(this->unk38_31) if(this->unk38_31)
return this; return this;
else else
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -24,7 +24,7 @@ ActorInfo chRaceSled = {
Actor *chRaceSled_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *chRaceSled_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if(this->unk10_12 == FALSE){ if(this->unk10_12 == FALSE){
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
return this; return this;
} }

View File

@@ -15,7 +15,7 @@ ActorAnimationInfo chScarfSledAnimations[] ={
ActorInfo chScarfSled = { ActorInfo chScarfSled = {
MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED, MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED,
0, chScarfSledAnimations, 0, chScarfSledAnimations,
NULL, chScarfSled_update, func_80325888, NULL, chScarfSled_update, actor_draw,
1000, 0, 0.0f, 0 1000, 0, 0.0f, 0
}; };

View File

@@ -41,7 +41,7 @@ Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
func_8033A45C(1, this->state == 3); func_8033A45C(1, this->state == 3);
func_8033A45C(2, func_8033A0F0(1) ^ 1); func_8033A45C(2, func_8033A0F0(1) ^ 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -73,7 +73,7 @@ Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE
sp40[1] = this->unk60; sp40[1] = this->unk60;
sp40[2] = (f32)marker->roll; sp40[2] = (f32)marker->roll;
sp3C = this->scale; sp3C = this->scale;
if(func_802EA190(marker->unk20)){ if(animMtxList_len(marker->unk20)){
return func_802EBAE0(sp5C, sp4C, sp40, sp3C, NULL, marker->unk20, arg1, arg2, arg3); return func_802EBAE0(sp5C, sp4C, sp40, sp3C, NULL, marker->unk20, arg1, arg2, arg3);
} }
else{ else{
@@ -85,7 +85,7 @@ Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
func_8033A45C(2, this->unk38_31); func_8033A45C(2, this->unk38_31);
func_8033A45C(1, func_8033A0F0(2) ^ 1); func_8033A45C(1, func_8033A0F0(2) ^ 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){
@@ -243,7 +243,7 @@ void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
Actor *this = marker_getActor(caller); Actor *this = marker_getActor(caller);
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
func_80328A84(this, 6); func_80328A84(this, 6);
__spawnQueue_add_1((GenMethod_1)func_8038C8F0, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_8038C8F0, reinterpret_cast(s32, this->marker));
} }
} }

View File

@@ -30,7 +30,7 @@ Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(0.0f == this->velocity[1]) if(0.0f == this->velocity[1])
return this; return this;
} }
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){
@@ -246,7 +246,7 @@ void func_8038D51C(ActorMarker *marker){
this->unk1C[1] = 1.0f; this->unk1C[1] = 1.0f;
timed_exitStaticCamera(1.7f); timed_exitStaticCamera(1.7f);
func_80324E38(1.7f, 0); func_80324E38(1.7f, 0);
timedFunc_set_1(2.3f, (GenMethod_1)func_8038D294, (s32)this->marker); timedFunc_set_1(2.3f, (GenFunction_1)func_8038D294, (s32)this->marker);
this->velocity[1] = 1.0f; this->velocity[1] = 1.0f;
} }
@@ -355,7 +355,7 @@ void func_8038D6C8(Actor *this){
func_8038D324(this); func_8038D324(this);
if(actor_animationIsAt(this, 0.999f)) if(actor_animationIsAt(this, 0.999f))
__spawnQueue_add_1((GenMethod_1)func_8038D474, (s32)this->marker); __spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker);
if(this->velocity[0] != 0.0f) if(this->velocity[0] != 0.0f)
break; break;
@@ -368,7 +368,7 @@ void func_8038D6C8(Actor *this){
item_set(ITEM_6_HOURGLASS, TRUE); item_set(ITEM_6_HOURGLASS, TRUE);
this->unk38_31 = 0xA; this->unk38_31 = 0xA;
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
__spawnQueue_add_1((GenMethod_1)func_8038D41C, (s32)this->marker); __spawnQueue_add_1((GenFunction_1)func_8038D41C, (s32)this->marker);
this->unk60 = 0.0f; this->unk60 = 0.0f;
func_80347A14(0); func_80347A14(0);
func_802FAD64(ITEM_14_HEALTH); func_802FAD64(ITEM_14_HEALTH);
@@ -385,7 +385,7 @@ void func_8038D6C8(Actor *this){
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
func_8038D3D8(); func_8038D3D8();
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_1(1.3f, (GenMethod_1)func_8038D51C, (s32)this->marker); timedFunc_set_1(1.3f, (GenFunction_1)func_8038D51C, (s32)this->marker);
timed_setStaticCameraToNode(0.9f, 0xC); timed_setStaticCameraToNode(0.9f, 0xC);
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
func_80347A14(1); func_80347A14(1);
@@ -408,7 +408,7 @@ void func_8038D6C8(Actor *this){
if(0.96 < animctrl_getAnimTimer(this->animctrl)){ if(0.96 < animctrl_getAnimTimer(this->animctrl)){
if(this->unk60 <= 0.0){ if(this->unk60 <= 0.0){
__spawnQueue_add_1((GenMethod_1)func_8038D474, (s32)this->marker); __spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker);
this->unk60 = 2.9f; this->unk60 = 2.9f;
} }
else{ else{

View File

@@ -30,7 +30,7 @@ Actor *func_8038DD70(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if(this->state == 1) if(this->state == 1)
return this; return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038DDC8(Actor *this){ void func_8038DDC8(Actor *this){

View File

@@ -44,7 +44,7 @@ Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(func_8038BFA0() || this->unk38_31) if(func_8038BFA0() || this->unk38_31)
return this; return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
@@ -107,7 +107,7 @@ void func_8038F454(Actor *this){
actor_loopAnimation(this); actor_loopAnimation(this);
timed_setStaticCameraToNode(0.0f, 0x2e); timed_setStaticCameraToNode(0.0f, 0x2e);
func_80324DBC(0.0f, 0xc1b, 0x2a, this->position, this->marker, func_8038F330, NULL); func_80324DBC(0.0f, 0xc1b, 0x2a, this->position, this->marker, func_8038F330, NULL);
timedFunc_set_1(2.5f, (GenMethod_1)func_8038F3F4, (s32)this->marker); timedFunc_set_1(2.5f, (GenFunction_1)func_8038F3F4, (s32)this->marker);
} }
else{ else{
func_8038F2B8(this); func_8038F2B8(this);
@@ -204,7 +204,7 @@ void FP_func_8038F7AC(Actor *this){
this->position[0] = local->unkC[0];\ this->position[0] = local->unkC[0];\
this->position[1] = local->unkC[1];\ this->position[1] = local->unkC[1];\
this->position[2] = local->unkC[2]; this->position[2] = local->unkC[2];
__spawnQueue_add_1((GenMethod_1)FP_func_8038F758, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)FP_func_8038F758, reinterpret_cast(s32, this->marker));
local->unk30 = FALSE; local->unk30 = FALSE;
} }
}//L8038F910 }//L8038F910

View File

@@ -33,7 +33,7 @@ Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if(func_8038BFA0()) return this; if(func_8038BFA0()) return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038FF54(Actor *this){ void func_8038FF54(Actor *this){

View File

@@ -19,7 +19,7 @@ Actor *chXmasTree_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
func_8033A45C(5, this->unk38_31); func_8033A45C(5, this->unk38_31);
func_8033A45C(6, fileProgressFlag_get(0x13) && !func_8033A0F0(5)); func_8033A45C(6, fileProgressFlag_get(0x13) && !func_8033A0F0(5));
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void __chXmasTree_free(Actor *this){ void __chXmasTree_free(Actor *this){
@@ -99,7 +99,7 @@ void chXmasTree_update(Actor *this){
sfxsource_setSampleRate(this->unk44_31, 28000); sfxsource_setSampleRate(this->unk44_31, 28000);
} }
__spawnQueue_add_0(__chXmasTree_spawnSwitch); __spawnQueue_add_0(__chXmasTree_spawnSwitch);
__spawnQueue_add_1((GenMethod_1)__chXmasTree_spawnStar, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)__chXmasTree_spawnStar, reinterpret_cast(s32, this->marker));
if(fileProgressFlag_get(0x13)){ if(fileProgressFlag_get(0x13)){
__chXmasTree_80386F84(this); __chXmasTree_80386F84(this);
mapSpecificFlags_set(2, FALSE); mapSpecificFlags_set(2, FALSE);

View File

@@ -17,7 +17,7 @@ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if(this->unk38_31 != 0) return this; if(this->unk38_31 != 0) return this;
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){
@@ -79,8 +79,8 @@ void func_80390B2C(ActorMarker *marker){
void func_80390B70(Actor *this){ void func_80390B70(Actor *this){
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 0); timed_setStaticCameraToNode(0.0f, 0);
timedFunc_set_1(0.6f, (GenMethod_1)func_80390ABC, reinterpret_cast(s32, this->marker)); timedFunc_set_1(0.6f, (GenFunction_1)func_80390ABC, reinterpret_cast(s32, this->marker));
timedFunc_set_1(2.5f, (GenMethod_1)func_80390B2C, reinterpret_cast(s32, this->marker)); timedFunc_set_1(2.5f, (GenFunction_1)func_80390B2C, reinterpret_cast(s32, this->marker));
} }
void func_80390BDC(Actor *this){ void func_80390BDC(Actor *this){

View File

@@ -28,7 +28,7 @@ f32 D_803935D0[3];
Actor *func_8038EBD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *func_8038EBD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C( 2, mapSpecificFlags_get(0)); func_8033A45C( 2, mapSpecificFlags_get(0));
func_8033A45C( 1, mapSpecificFlags_get(0) ^ 1); func_8033A45C( 1, mapSpecificFlags_get(0) ^ 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
void func_8038EC34(ActorMarker *this_marker, ActorMarker *other_marker){ void func_8038EC34(ActorMarker *this_marker, ActorMarker *other_marker){

View File

@@ -23,7 +23,7 @@ ActorInfo D_80392420 = { 0x206, 0x338, 0x486,
Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(1, 0); func_8033A45C(1, 0);
func_8033A45C(2, 1); func_8033A45C(2, 1);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -36,7 +36,7 @@ Actor *func_80387DD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(2, this->velocity[0] == 1.0f ? 1 : 0); func_8033A45C(2, this->velocity[0] == 1.0f ? 1 : 0);
func_8033A45C(3, this->velocity[0] == 3.0f ? 1 : 0); func_8033A45C(3, this->velocity[0] == 3.0f ? 1 : 0);
func_8033A45C(4, this->velocity[0] == 2.0f ? 1 : 0); func_8033A45C(4, this->velocity[0] == 2.0f ? 1 : 0);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
bool func_80387EE4(Actor *this) { bool func_80387EE4(Actor *this) {

View File

@@ -31,7 +31,7 @@ Actor *func_803883E0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(2, this->velocity[0] == 1.0f ? 1 : 0); func_8033A45C(2, this->velocity[0] == 1.0f ? 1 : 0);
func_8033A45C(3, this->velocity[0] == 3.0f ? 1 : 0); func_8033A45C(3, this->velocity[0] == 3.0f ? 1 : 0);
func_8033A45C(4, this->velocity[0] == 2.0f ? 1 : 0); func_8033A45C(4, this->velocity[0] == 2.0f ? 1 : 0);
return func_80325888(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -45,24 +45,24 @@ void func_8039180C(Actor *this);
void func_80391894(Actor *this); void func_80391894(Actor *this);
/* .data */ /* .data */
ActorInfo FP_D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo FP_D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0};
ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0};
ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0};
ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0};
ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392A90 = { 0x24E, 0x360, 0x4EB, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A90 = { 0x24E, 0x360, 0x4EB, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392AB4 = { 0x23D, 0x253, 0x512, 0x1, NULL, func_8039180C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392AB4 = { 0x23D, 0x253, 0x512, 0x1, NULL, func_8039180C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392AD8 = { 0x23E, 0x254, 0x513, 0x1, NULL, func_80391894, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392AD8 = { 0x23E, 0x254, 0x513, 0x1, NULL, func_80391894, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392AFC = { 0x286, 0x3AE, 0x55B, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392AFC = { 0x286, 0x3AE, 0x55B, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392B20 = { 0x21D, 0x229, 0x4C3, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392B20 = { 0x21D, 0x229, 0x4C3, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
ActorInfo D_80392B44 = { 0x289, 0x3B0, 0x56A, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392B44 = { 0x289, 0x3B0, 0x56A, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
/* .code */ /* .code */
int func_80390FC0(void){ int func_80390FC0(void){

View File

@@ -117,7 +117,7 @@ void func_8038AC90(s32 indx, s32 arg1){
} }
void func_8038ADE4(s32 indx, s32 arg1){ void func_8038ADE4(s32 indx, s32 arg1){
__spawnQueue_add_2((GenMethod_2)func_8038AC90, indx, arg1); __spawnQueue_add_2((GenFunction_2)func_8038AC90, indx, arg1);
} }
void func_8038AE14(s32 indx){ void func_8038AE14(s32 indx){
@@ -166,7 +166,7 @@ void func_8038AEE0(s32 indx){
} }
void func_8038B00C(s32 indx){ void func_8038B00C(s32 indx){
__spawnQueue_add_1((GenMethod_1)func_8038AEE0, indx); __spawnQueue_add_1((GenFunction_1)func_8038AEE0, indx);
} }
void func_8038B034(void){ void func_8038B034(void){
@@ -218,7 +218,7 @@ void func_8038B1D0(enum jiggy_e jiggy_id){
timed_setStaticCameraToNode(0.0f, 3); timed_setStaticCameraToNode(0.0f, 3);
timedFunc_set_0(0.0f, func_8038AEA0); timedFunc_set_0(0.0f, func_8038AEA0);
timedFunc_set_0(0.0f, FP_func_8038B0B8); timedFunc_set_0(0.0f, FP_func_8038B0B8);
timedFunc_set_1(0.1f, (GenMethod_1) func_8038B130, jiggy_id); timedFunc_set_1(0.1f, (GenFunction_1) func_8038B130, jiggy_id);
timedFunc_set_0(5.0f, func_8038B190); timedFunc_set_0(5.0f, func_8038B190);
timedFunc_set_0(5.0f, func_8038B1C4); timedFunc_set_0(5.0f, func_8038B1C4);
timed_exitStaticCamera(5.0f); timed_exitStaticCamera(5.0f);

View File

@@ -54,7 +54,7 @@ void fp_sirslushgame_update(void){
if(D_80392F30.unk1C){ if(D_80392F30.unk1C){
func_802BAFE4(0x12); func_802BAFE4(0x12);
jiggySpawn(JIGGY_31_FP_SIR_SLUSH, D_80392F30.spawn_pos); jiggySpawn(JIGGY_31_FP_SIR_SLUSH, D_80392F30.spawn_pos);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, D_80392F30.spawn_pos[0]), reinterpret_cast(s32, D_80392F30.spawn_pos[0]),
reinterpret_cast(s32, D_80392F30.spawn_pos[1]), reinterpret_cast(s32, D_80392F30.spawn_pos[1]),
reinterpret_cast(s32, D_80392F30.spawn_pos[2]) reinterpret_cast(s32, D_80392F30.spawn_pos[2])

View File

@@ -52,7 +52,7 @@ void fp_snowmanButtonGame_update(void){
if(D_80392F50.unk18){ if(D_80392F50.unk18){
func_802BAFE4(0x11); func_802BAFE4(0x11);
jiggySpawn(JIGGY_2D_FP_SNOWMAN_BUTTONS, D_80392F50.spawn_pos); jiggySpawn(JIGGY_2D_FP_SNOWMAN_BUTTONS, D_80392F50.spawn_pos);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, D_80392F50.spawn_pos[0]), reinterpret_cast(s32, D_80392F50.spawn_pos[0]),
reinterpret_cast(s32, D_80392F50.spawn_pos[1]), reinterpret_cast(s32, D_80392F50.spawn_pos[1]),
reinterpret_cast(s32, D_80392F50.spawn_pos[2]) reinterpret_cast(s32, D_80392F50.spawn_pos[2])

View File

@@ -89,7 +89,7 @@ void func_803867F4(void){
func_802BAFE4(4); func_802BAFE4(4);
if(nodeProp_findPositionFromActorId(0x148, sp24)){ if(nodeProp_findPositionFromActorId(0x148, sp24)){
jiggySpawn(JIGGY_46_GV_ANCIENT_ONES, sp24); jiggySpawn(JIGGY_46_GV_ANCIENT_ONES, sp24);
__spawnQueue_add_4((GenMethod_4)func_802C4140, 0x4C, reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x4C, reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[2]));
} }
} }
@@ -183,10 +183,10 @@ void chAncientOne_update(Actor *this){
this->position_z += (sp38 & 2) ? 0xC : -0xC; this->position_z += (sp38 & 2) ? 0xC : -0xC;
if(this->unkF4_8 != 1){ if(this->unkF4_8 != 1){
if(sp38 == 6){ if(sp38 == 6){
__spawnQueue_add_4((GenMethod_4)func_802C4140, 0x4C, reinterpret_cast(s32, this->position_x), reinterpret_cast(s32, sp34), reinterpret_cast(s32, this->position_z)); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x4C, reinterpret_cast(s32, this->position_x), reinterpret_cast(s32, sp34), reinterpret_cast(s32, this->position_z));
} }
if(sp38 == 4 && this->position_y < LOCAL_CH_ANCIENT_ONE(this)->unk1C - 600.0f){ if(sp38 == 4 && this->position_y < LOCAL_CH_ANCIENT_ONE(this)->unk1C - 600.0f){
__spawnQueue_add_4((GenMethod_4)func_802C4140, 0x11f, reinterpret_cast(s32, this->position_x), reinterpret_cast(s32, sp34), reinterpret_cast(s32, this->position_z)); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x11f, reinterpret_cast(s32, this->position_x), reinterpret_cast(s32, sp34), reinterpret_cast(s32, this->position_z));
}//L80386D80 }//L80386D80
} }
if(LOCAL_CH_ANCIENT_ONE(this)->unk1C <= this->position_y){ if(LOCAL_CH_ANCIENT_ONE(this)->unk1C <= this->position_y){
@@ -226,7 +226,7 @@ Actor *chAncientOne_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **v
sp58 = (this->state == 3) ? 0 : 1; sp58 = (this->state == 3) ? 0 : 1;
func_8033A45C(3, sp58); func_8033A45C(3, sp58);
func_8033A45C(4, sp58); func_8033A45C(4, sp58);
func_80325888(this_marker, gfx, mtx, vtx); actor_draw(this_marker, gfx, mtx, vtx);
if( !this->initialized && this_marker->unk14_21){ if( !this->initialized && this_marker->unk14_21){
func_8034A1B4(func_80329934(), 5, sp4C); func_8034A1B4(func_80329934(), 5, sp4C);
func_8034A1B4(func_80329934(), 6, sp40); func_8034A1B4(func_80329934(), 6, sp40);

View File

@@ -38,7 +38,7 @@ Actor *chBuriedPyramid_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx
return func_80325340(this_marker, gfx, mtx, vtx); return func_80325340(this_marker, gfx, mtx, vtx);
} }
else{ else{
return func_80325888(this_marker, gfx, mtx, vtx); return actor_draw(this_marker, gfx, mtx, vtx);
} }
} }

View File

@@ -41,30 +41,30 @@ void chGobi1_setState(Actor *this, s32 next_state){
GV_D_80391A40.unk1 = FALSE; GV_D_80391A40.unk1 = FALSE;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, 0xd9, 0.5f, 4.0f); skeletalAnim_set(this->unk148, 0xd9, 0.5f, 4.0f);
local->unk4 = randf2(2.0f, 10.0f); local->unk4 = randf2(2.0f, 10.0f);
} }
if(this->state == 2){ if(this->state == 2){
func_80335924(this->unk148, 0xda, 1.0f, 5.0f); skeletalAnim_set(this->unk148, 0xda, 1.0f, 5.0f);
local->unkC = 0.9f; local->unkC = 0.9f;
GV_D_80391A40.unk0 = TRUE; GV_D_80391A40.unk0 = TRUE;
} }
if(this->state == 3){ if(this->state == 3){
func_8028F918(2); func_8028F918(2);
func_80335924(this->unk148, 0xf7, 1.0f, 5.33f); skeletalAnim_set(this->unk148, 0xf7, 1.0f, 5.33f);
local->unk14 = 0.01f; local->unk14 = 0.01f;
GV_D_80391A40.unk1 = TRUE; GV_D_80391A40.unk1 = TRUE;
} }
if(this->state == 4){ if(this->state == 4){
func_80335924(this->unk148, 0xf8, 0.7f, 0.71f); skeletalAnim_set(this->unk148, 0xf8, 0.7f, 0.71f);
} }
if(this->state == 6){ if(this->state == 6){
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500); FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
func_80335924(this->unk148, 0x241, 0.2f, 0.5f); skeletalAnim_set(this->unk148, 0x241, 0.2f, 0.5f);
} }
} }
@@ -74,7 +74,7 @@ Actor *chgobi1_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
return this; return this;
} }
else{ else{
return func_80325888(this_marker, gfx, mtx, vtx); return actor_draw(this_marker, gfx, mtx, vtx);
} }
} }
@@ -171,7 +171,7 @@ void chGobi1_update(Actor *this){
} }
if(this->state == 2){ if(this->state == 2){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
sp6C = 1; sp6C = 1;
} }
@@ -197,7 +197,7 @@ void chGobi1_update(Actor *this){
}//L80387808 }//L80387808
if(this->state == 3){ if(this->state == 3){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
sp6C = 4; sp6C = 4;
}//L80387830 }//L80387830
@@ -221,7 +221,7 @@ void chGobi1_update(Actor *this){
} }
if(this->state == 6){ if(this->state == 6){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
sp6C = 1; sp6C = 1;
} }

View File

@@ -4,7 +4,7 @@
typedef struct { typedef struct {
u8 pad0[4]; u8 pad0[4];
Struct80s *unk4; SkeletalAnimation *unk4;
BKModelBin *unk8; BKModelBin *unk8;
}ActorLocal_Gobi2; }ActorLocal_Gobi2;
@@ -49,14 +49,14 @@ void GV_func_80387A00(ActorMarker *this_marker){
void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){ void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
timed_setStaticCameraToNode(0.0f, 0xC); timed_setStaticCameraToNode(0.0f, 0xC);
timedFunc_set_1(0.5f, (GenMethod_1) func_80387984, reinterpret_cast(s32, caller)); timedFunc_set_1(0.5f, (GenFunction_1) func_80387984, reinterpret_cast(s32, caller));
timed_playSfx(0.5f, SFX_2C_PULLING_NOISE, 0.9f, 32000); timed_playSfx(0.5f, SFX_2C_PULLING_NOISE, 0.9f, 32000);
timed_playSfx(1.8f, SFX_2C_PULLING_NOISE, 1.0f, 32000); timed_playSfx(1.8f, SFX_2C_PULLING_NOISE, 1.0f, 32000);
timed_playSfx(2.5f, SFX_2C_PULLING_NOISE, 1.1f, 32000); timed_playSfx(2.5f, SFX_2C_PULLING_NOISE, 1.1f, 32000);
timed_setStaticCameraToNode(3.0f, 0xd); timed_setStaticCameraToNode(3.0f, 0xd);
timedFunc_set_0(3.5f, __chGobi2_spawnJIggy); timedFunc_set_0(3.5f, __chGobi2_spawnJIggy);
timed_exitStaticCamera(6.0f); timed_exitStaticCamera(6.0f);
timedFunc_set_1(6.0f, (GenMethod_1) GV_func_80387A00, reinterpret_cast(s32, caller)); timedFunc_set_1(6.0f, (GenFunction_1) GV_func_80387A00, reinterpret_cast(s32, caller));
func_80324E38(6.0f, 0); func_80324E38(6.0f, 0);
} }
@@ -73,14 +73,14 @@ void chGobi2_setState(Actor *this, s32 next_state){
if(next_state == 2){ if(next_state == 2){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
func_80335924(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f); skeletalAnim_set(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f);
} }
if(next_state == 3){ if(next_state == 3){
timedFunc_set_0(0.05f, GV_func_80387960); timedFunc_set_0(0.05f, GV_func_80387960);
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000); timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
func_80324E38(0.051f, 1); func_80324E38(0.051f, 1);
timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker)); timedFunc_set_1(0.06f, (GenFunction_1)func_803879D4, reinterpret_cast(s32, this->marker));
timed_setStaticCameraToNode(0.86f, 0xb); timed_setStaticCameraToNode(0.86f, 0xb);
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
@@ -89,18 +89,18 @@ void chGobi2_setState(Actor *this, s32 next_state){
}//L80387C94 }//L80387C94
if(next_state == 4){ if(next_state == 4){
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 3.0f); skeletalAnim_set(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 3.0f);
func_80335924(local->unk4, ASSET_100_ANIM_GOBI_SPIT, 0.0f, 3.0f); skeletalAnim_set(local->unk4, ASSET_100_ANIM_GOBI_SPIT, 0.0f, 3.0f);
} }
if(next_state == 5){ if(next_state == 5){
func_80335924(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.43f, 0.5f); skeletalAnim_set(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.43f, 0.5f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if(next_state == 6){ if(next_state == 6){
func_80335924(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.4f, 0.71f); skeletalAnim_set(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.4f, 0.71f);
func_80335A8C(this->unk148, 1); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
} }
if(next_state == 7){ if(next_state == 7){
@@ -109,7 +109,7 @@ void chGobi2_setState(Actor *this, s32 next_state){
if(next_state == 8){ if(next_state == 8){
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500); FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
func_80335924(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f); skeletalAnim_set(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f);
} }
this->state = next_state; this->state = next_state;
@@ -130,12 +130,12 @@ Actor *chGobi2_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
sp3C[0] = this->pitch; sp3C[0] = this->pitch;
sp3C[1] = this->yaw; sp3C[1] = this->yaw;
sp3C[2] = this->roll; sp3C[2] = this->roll;
func_8033A238(func_803356A0(this->unk148)); modelRender_setBoneTransformList(skeletalAnim_getBoneTransformList(this->unk148));
modelRender_preDraw((GenMethod_1)func_803253A0, (s32)this); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this);
modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, func_80330B1C(this_marker)); modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, func_80330B1C(this_marker));
if(this->state == 4){ if(this->state == 4){
func_8033A238(func_803356A0(local->unk4)); modelRender_setBoneTransformList(skeletalAnim_getBoneTransformList(local->unk4));
modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE); modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE);
modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, local->unk8); modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, local->unk8);
} }
@@ -147,7 +147,7 @@ void __chGobi2_80387EFC(Actor *this){
ActorLocal_Gobi2 *local = (ActorLocal_Gobi2 *)&this->local; ActorLocal_Gobi2 *local = (ActorLocal_Gobi2 *)&this->local;
chGobi2_setState(this, 0); chGobi2_setState(this, 0);
func_80335874(local->unk4); skeletalAnim_free(local->unk4);
assetcache_release(local->unk8); assetcache_release(local->unk8);
} }
@@ -174,7 +174,7 @@ void chGobi2_update(Actor *this){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
marker_setCollisionScripts(this->marker, __chGobi2_ow, NULL, NULL); marker_setCollisionScripts(this->marker, __chGobi2_ow, NULL, NULL);
sp34->unk30 = __chGobi2_80387EFC; sp34->unk30 = __chGobi2_80387EFC;
local->unk4 = func_803358B4(); local->unk4 = skeletalAnim_new();
local->unk8 = (BKModelBin*) assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT); local->unk8 = (BKModelBin*) assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT);
D_80391A50 = 0; D_80391A50 = 0;
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
@@ -211,14 +211,14 @@ void chGobi2_update(Actor *this){
}//L80388194 }//L80388194
if(this->state == 4){ if(this->state == 4){
func_80335A94(local->unk4, sp2C, 1); skeletalAnim_update(local->unk4, sp2C, 1);
if(func_80335794(this->unk148) > 0){ if(skeletalAnim_getLoopCount(this->unk148) > 0){
chGobi2_setState(this, 5); chGobi2_setState(this, 5);
} }
} }
if(this->state == 5){ if(this->state == 5){
if(func_80335794(this->unk148) > 0){ if(skeletalAnim_getLoopCount(this->unk148) > 0){
chGobi2_setState(this, 6); chGobi2_setState(this, 6);
} }
} }
@@ -228,7 +228,7 @@ void chGobi2_update(Actor *this){
} }
if(this->state == 8){ if(this->state == 8){
if(func_80335794(this->unk148) > 0){ if(skeletalAnim_getLoopCount(this->unk148) > 0){
chGobi2_setState(this, 2); chGobi2_setState(this, 2);
} }
} }

View File

@@ -58,26 +58,26 @@ void chGobi3_setState(Actor *this, s32 next_state){
if(next_state == 2){ if(next_state == 2){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
func_80335924(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f); skeletalAnim_set(this->unk148, ASSET_F4_ANIM_GOBI_IDLE, 0.5f, 12.0f);
} }
if(next_state == 3){ if(next_state == 3){
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_1(0.02f, (GenMethod_1)__chGobi3_func_80388270, (s32)this); timedFunc_set_1(0.02f, (GenFunction_1)__chGobi3_func_80388270, (s32)this);
timed_setStaticCameraToNode(0.1f, 0x12); timed_setStaticCameraToNode(0.1f, 0x12);
timed_playSfx(0.2f, SFX_4C_LIP_SMACK, 1.0f, 32000); timed_playSfx(0.2f, SFX_4C_LIP_SMACK, 1.0f, 32000);
timedFunc_set_1(0.2f, (GenMethod_1)__chGobi3_spawnHoneyComb, (s32)this); timedFunc_set_1(0.2f, (GenFunction_1)__chGobi3_spawnHoneyComb, (s32)this);
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 1.0f); skeletalAnim_set(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 1.0f);
} }
if(next_state == 5){ if(next_state == 5){
func_80335924(this->unk148, 0xd9, 0.5f, 4.0f); skeletalAnim_set(this->unk148, 0xd9, 0.5f, 4.0f);
func_80311480(ASSET_A77_TEXT_GOBI3_DONE, 0xe, this->position, this->marker, __chGobi3_runaway, NULL); func_80311480(ASSET_A77_TEXT_GOBI3_DONE, 0xe, this->position, this->marker, __chGobi3_runaway, NULL);
} }
if(next_state == 4){ if(next_state == 4){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
func_80335924(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.3f, 0.71f); skeletalAnim_set(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.3f, 0.71f);
} }
if(next_state == 6){ if(next_state == 6){
@@ -86,7 +86,7 @@ void chGobi3_setState(Actor *this, s32 next_state){
if(next_state == 7){ if(next_state == 7){
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500); FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
func_80335924(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f); skeletalAnim_set(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f);
} }
this->state = next_state; this->state = next_state;
@@ -97,7 +97,7 @@ Actor *chGobi3_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(this->state == 0 || this->state == 1) return this; if(this->state == 0 || this->state == 1) return this;
return func_80325888(this_marker, gfx, mtx, vtx); return actor_draw(this_marker, gfx, mtx, vtx);
} }
void chGobi3_ow(ActorMarker *this_marker, ActorMarker *other_marker){ void chGobi3_ow(ActorMarker *this_marker, ActorMarker *other_marker){
@@ -138,7 +138,7 @@ void chGobi3_update(Actor *this){
} }
if(this->state == 3){ if(this->state == 3){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
chGobi3_setState(this, 5); chGobi3_setState(this, 5);
} }
@@ -149,7 +149,7 @@ void chGobi3_update(Actor *this){
} }
if(this->state == 7){ if(this->state == 7){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
chGobi3_setState(this, 2); chGobi3_setState(this, 2);
} }

View File

@@ -69,7 +69,7 @@ Actor *chGobiRock_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx
sp3C[0] = this->pitch; sp3C[0] = this->pitch;
sp3C[1] = this->yaw; sp3C[1] = this->yaw;
sp3C[2] = this->roll; sp3C[2] = this->roll;
modelRender_preDraw((GenMethod_1)func_803253A0, (s32) this); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32) this);
func_8033A450(func_80329934()); func_8033A450(func_80329934());
modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL,func_80330B1C(this_marker)); modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL,func_80330B1C(this_marker));
func_8034A174(func_80329934(), 5, local->unk0); func_8034A174(func_80329934(), 5, local->unk0);

View File

@@ -8,7 +8,7 @@ void chGobiRope_update(Actor *this);
/* .data */ /* .data */
ActorInfo chGobiRope = { MARKER_BD_GOBI_ROPE, ACTOR_12F_GOBI_ROPE, ASSET_3E3_MODEL_GOBI_ROPE, ActorInfo chGobiRope = { MARKER_BD_GOBI_ROPE, ACTOR_12F_GOBI_ROPE, ASSET_3E3_MODEL_GOBI_ROPE,
0, NULL, 0, NULL,
chGobiRope_update, func_80326224, func_80325888, chGobiRope_update, func_80326224, actor_draw,
0, 0x533, 0.0f, 0 0, 0x533, 0.0f, 0
}; };
@@ -17,16 +17,16 @@ void chGobiRope_setState(Actor *this, s32 next_state){
this->state = next_state; this->state = next_state;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, ASSET_DD_ANIM_GOBI_ROPE, 0.5f, 4.0f); skeletalAnim_set(this->unk148, ASSET_DD_ANIM_GOBI_ROPE, 0.5f, 4.0f);
} }
if(this->state == 2){ if(this->state == 2){
func_80335924(this->unk148, ASSET_DC_ANIM_GOBI_ROPE_PULLING, 1.0f, 5.0f); skeletalAnim_set(this->unk148, ASSET_DC_ANIM_GOBI_ROPE_PULLING, 1.0f, 5.0f);
} }
if(this->state == 3){ if(this->state == 3){
func_80335924(this->unk148, 0xF5, 0.1f, 1.0f); skeletalAnim_set(this->unk148, 0xF5, 0.1f, 1.0f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if(this->state == 4){ if(this->state == 4){
@@ -65,11 +65,11 @@ void chGobiRope_update(Actor *this){
} }
}//L80388AB4 }//L80388AB4
if(this->state == 2){ if(this->state == 2){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
chGobiRope_setState(this, 1); chGobiRope_setState(this, 1);
} }
if(this->state == 3){ if(this->state == 3){
if(func_80335794(this->unk148) > 0) if(skeletalAnim_getLoopCount(this->unk148) > 0)
chGobiRope_setState(this, 4); chGobiRope_setState(this, 4);
} }
} }

View File

@@ -50,7 +50,7 @@ Actor *func_8038DA18(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
f32 sp38[3]; f32 sp38[3];
f32 sp2C[3]; f32 sp2C[3];
this = func_80325888(this_marker, gfx, mtx, vtx); this = actor_draw(this_marker, gfx, mtx, vtx);
if(!this_marker->unk14_21) return this; if(!this_marker->unk14_21) return this;

View File

@@ -98,9 +98,9 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
if(next_state == 3){ if(next_state == 3){
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_2(0.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3E_SANDYBUTT_FAILURE, 0x7FFF); timedFunc_set_2(0.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3E_SANDYBUTT_FAILURE, 0x7FFF);
timedFunc_set_2(1.0f, (GenMethod_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 6); timedFunc_set_2(1.0f, (GenFunction_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 6);
timedFunc_set_2(2.0f, (GenMethod_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 4); timedFunc_set_2(2.0f, (GenFunction_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 4);
}//L8038F850 }//L8038F850
if(next_state == 4){ if(next_state == 4){

View File

@@ -20,13 +20,13 @@ ActorAnimationInfo chSarcophagusAnimations[] = {
ActorInfo chSarcophagus = { MARKER_A8_GV_MAZE_SARCOPHAGUS, ACTOR_11A_GV_MAZE_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS, ActorInfo chSarcophagus = { MARKER_A8_GV_MAZE_SARCOPHAGUS, ACTOR_11A_GV_MAZE_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS,
0x1, chSarcophagusAnimations, 0x1, chSarcophagusAnimations,
chSarcophagus_update, func_80326224, func_80325888, chSarcophagus_update, func_80326224, actor_draw,
2500, 0, 0.0f, 0 2500, 0, 0.0f, 0
}; };
ActorInfo chSNSSarcophagus = { MARKER_23B_GV_SNS_SARCOPHAGUS, ACTOR_244_GV_SNS_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS, ActorInfo chSNSSarcophagus = { MARKER_23B_GV_SNS_SARCOPHAGUS, ACTOR_244_GV_SNS_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS,
0x1, chSarcophagusAnimations, 0x1, chSarcophagusAnimations,
chSarcophagus_updateSNS, func_80326224, func_80325888, chSarcophagus_updateSNS, func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };

View File

@@ -14,7 +14,7 @@ ActorAnimationInfo chTootsAnimations[] = {
ActorInfo chToots = { MARKER_1F4_TOOTS, ACTOR_1E4_TOOTS, ASSET_434_MODEL_TOOTS, ActorInfo chToots = { MARKER_1F4_TOOTS, ACTOR_1E4_TOOTS, ASSET_434_MODEL_TOOTS,
0x1, chTootsAnimations, 0x1, chTootsAnimations,
chtoots_update, func_80326224, func_80325888, chtoots_update, func_80326224, actor_draw,
2000, 0, 0.5f, 0 2000, 0, 0.5f, 0
}; };

View File

@@ -18,18 +18,18 @@ ActorInfo chTrunker = {
void __chTrucker_setState(Actor *this, s32 next_state){ void __chTrucker_setState(Actor *this, s32 next_state){
this->state = next_state; this->state = next_state;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, ASSET_FE_ANIM_TRUCKER_SHORT, 0.1f, 2.5f); skeletalAnim_set(this->unk148, ASSET_FE_ANIM_TRUCKER_SHORT, 0.1f, 2.5f);
} }
if(this->state == 2){ if(this->state == 2){
func_80335924(this->unk148, ASSET_FF_ANIM_TRUCKER_GROW, 0.1f, 2.5f); skeletalAnim_set(this->unk148, ASSET_FF_ANIM_TRUCKER_GROW, 0.1f, 2.5f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
if(this->state == 3){ if(this->state == 3){
func_80335924(this->unk148, ASSET_FF_ANIM_TRUCKER_GROW, 0.0f, 2.5f); skeletalAnim_set(this->unk148, ASSET_FF_ANIM_TRUCKER_GROW, 0.0f, 2.5f);
func_80335A74(this->unk148, 0.999f); skeletalAnim_setProgress(this->unk148, 0.999f);
func_80335A8C(this->unk148, 2); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
} }
} }
@@ -40,7 +40,7 @@ Actor *chTrucker_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx)
if(this->state == 0) return this; if(this->state == 0) return this;
this = func_80325888(this_marker, gfx, mtx, vtx); this = actor_draw(this_marker, gfx, mtx, vtx);
sp38[0] = this->position_x - 150.0f; sp38[0] = this->position_x - 150.0f;
sp38[1] = this->position_y + 2.0f; sp38[1] = this->position_y + 2.0f;
sp38[2] = this->position_z - 170.0f; sp38[2] = this->position_z - 170.0f;
@@ -82,7 +82,7 @@ void chTrucker_update(Actor *this){
sp28 = 2; sp28 = 2;
} }
if(this->state == 2 && func_80335794(this->unk148) > 0){ if(this->state == 2 && skeletalAnim_getLoopCount(this->unk148) > 0){
sp28 = 3; sp28 = 3;
} }

View File

@@ -29,7 +29,7 @@ Actor *func_803892D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
position[1] = this->position_y; position[1] = this->position_y;
position[2] = this->position_z; position[2] = this->position_z;
position[1] += 8.0f; position[1] += 8.0f;
modelRender_preDraw((GenMethod_1)func_803253A0, (s32)this); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this);
modelRender_draw(gfx, mtx, position, rotation, this->unk1C[0], NULL, func_80330B1C(this_marker)); modelRender_draw(gfx, mtx, position, rotation, this->unk1C[0], NULL, func_80330B1C(this_marker));
} }
return this; return this;

View File

@@ -16,7 +16,7 @@ ActorAnimationInfo D_80390EA0[] = {
ActorInfo D_80390ED0 = { MARKER_A9_RUBEE, ACTOR_11B_RUBEE, ASSET_3DD_MODEL_RUBEE, ActorInfo D_80390ED0 = { MARKER_A9_RUBEE, ACTOR_11B_RUBEE, ASSET_3DD_MODEL_RUBEE,
0x2, D_80390EA0, 0x2, D_80390EA0,
func_80389B1C, func_80326224, func_80325888, func_80389B1C, func_80326224, actor_draw,
2500, 0, 1.6f, 0 2500, 0, 1.6f, 0
}; };

Some files were not shown because too many files have changed in this diff Show More