documentations:

- added comments
- documented marker struct functions
This commit is contained in:
mariob92
2024-09-08 00:55:04 +02:00
parent f1dea250de
commit b5c7accc37
31 changed files with 90 additions and 83 deletions

View File

@@ -6,7 +6,7 @@
#define ACTOR_FLAG_UNKNOWN_1 (1 << 1) // 0x2
#define ACTOR_FLAG_UNKNOWN_2 (1 << 2) // 0x4
#define ACTOR_FLAG_UNKNOWN_3 (1 << 3) // 0x8
#define ACTOR_FLAG_UNKNOWN_4 (1 << 4) // 0x10
#define ACTOR_FLAG_UNKNOWN_4 (1 << 4) // 0x10 - only used by GV Jinxy Head 2
#define ACTOR_FLAG_UNKNOWN_5 (1 << 5) // 0x20
#define ACTOR_FLAG_UNKNOWN_6 (1 << 6) // 0x40
#define ACTOR_FLAG_UNKNOWN_7 (1 << 7) // 0x80
@@ -20,11 +20,11 @@
#define ACTOR_FLAG_UNKNOWN_15 (1 << 15) // 0x8000
#define ACTOR_FLAG_UNKNOWN_16 (1 << 16) // 0x10000
#define ACTOR_FLAG_UNKNOWN_17 (1 << 17) // 0x20000
#define ACTOR_FLAG_UNKNOWN_18 (1 << 18) // 0x40000
#define ACTOR_FLAG_UNKNOWN_18 (1 << 18) // 0x40000 - never used?
#define ACTOR_FLAG_UNKNOWN_19 (1 << 19) // 0x80000
#define ACTOR_FLAG_UNKNOWN_20 (1 << 20) // 0x100000
#define ACTOR_FLAG_UNKNOWN_21 (1 << 21) // 0x200000
#define ACTOR_FLAG_UNKNOWN_22 (1 << 22) // 0x400000
#define ACTOR_FLAG_UNKNOWN_22 (1 << 22) // 0x400000 - used by overlay texts
#define ACTOR_FLAG_UNKNOWN_23 (1 << 23) // 0x800000
#define ACTOR_FLAG_UNKNOWN_24 (1 << 24) // 0x1000000
#define ACTOR_FLAG_UNKNOWN_25 (1 << 25) // 0x2000000

View File

@@ -559,5 +559,7 @@ extern ActorMarker *marker_init(s32 *pos, MarkerDrawFunc draw_func, int arg2, in
extern s32 asset_getFlag(enum asset_e arg0);
extern void spawnableActorList_add(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32, ActorInfo *, u32), u32 arg2);
extern void spawnableActorList_addIfMapVisited(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32, ActorInfo *, u32), u32 arg2, enum map_e arg3);
extern void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc method);
extern void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method);
#endif

View File

@@ -76,17 +76,17 @@ typedef struct actorMarker_s{
ActorProp* propPtr;
struct cude_s* cubePtr;
MarkerDrawFunc drawFunc;
MarkerCollisionFunc unkC; //ow_func
MarkerCollisionFunc unk10;
MarkerCollisionFunc collisionFunc; //ow_func
MarkerCollisionFunc collision2Func;
u32 yaw:9;
u32 unk14_22:1;
u32 unk14_21:1;
u32 id:10; // marker_id
u32 unk14_10:11; //used in ch/jiggy
Struct6Cs *unk18;
MarkerCollisionFunc unk1C; //die_func
MarkerCollisionFunc dieFunc;
s32 unk20;
ActorUpdateFunc unk24;
ActorUpdateFunc actorUpdateFunc;
s32 unk28;
u32 actrArrayIdx:11; //unk2C
u32 pitch:9;
@@ -94,8 +94,8 @@ typedef struct actorMarker_s{
u32 unk2C_2:1;
u32 unk2C_1:1;
u32 collidable:1;
ActorFreeFunc unk30; //actor free method
s32 unk34;
ActorFreeFunc actorFreeFunc;
ActorUpdateFunc actorUpdate2Func;
s16 unk38[3];
u16 pad3E_15:1;
u16 modelId:13;
@@ -179,9 +179,9 @@ typedef struct actor_s{
u32 modelCacheIndex:10; //modelCacheIndex
s32 unk44_14:10;
u32 despawn_flag:1;
u32 unk44_2:1;
u32 unk44_1:1;
u32 unk44_0:1;
u32 unk44_2:1; // is set, when actors created inside Cube?
u32 unk44_1:1; // only used by blubber?
u32 unk44_0:1; // unused
f32 unk48; //used in chlmonkey (chimpy)
f32 unk4C;
/* 0x50 */ f32 yaw; //0x50
@@ -236,12 +236,12 @@ typedef struct actor_s{
ActorMarker *unk100;
ActorMarker *unk104;
Struct62s *unk108;
// void ( *unk108)(struct actorMarker_s *, s32); //saved from marker->unkC
// void ( *unk108)(struct actorMarker_s *, s32); //saved from marker->collisionFunc
s32 unk10C; //saved marker->unk10
f32 roll;//110
f32 sound_timer;
TUPLE(f32, spawn_position); //0x118
u32 unk124_31:12;
u32 unk124_31:12; // only used by GV Jinxy Head 2
u32 alpha_124_19:8;
u32 unk124_11:2; //blend_mode?
u32 depth_mode:2; //render_mode (passed to modelRender_setDepthMode())
@@ -253,7 +253,7 @@ typedef struct actor_s{
f32 scale;
/* 0x12C */ struct actor_info_s *actor_info;
void (* unk130)(struct actor_s *);
vector(struct2s) **unk134; //vector<struct2s> //saved marker->unk1C
vector(struct2s) **unk134; //vector<struct2s> //saved marker->dieFunc
u32 unk138_31:1;
u32 unk138_30:1;
u32 unk138_29:1;
@@ -267,10 +267,10 @@ typedef struct actor_s{
u32 unk138_20:1;
u32 unk138_19:10; //saved maker->id
u32 unk138_9:1;
u32 unk138_8:1;
u32 unk138_8:1; // set to one by ACTOR_FLAG_UNKNOWN_18, which no actor seems to use
u32 unk138_7:4;
u32 unk138_3:4;
void (*unk13C)(struct actorMarker_s *);//saved marker->unk30
ActorFreeFunc backupFreeFunc; // saved marker->actorFreeFunc
f32 unk140;
f32 unk144;
SkeletalAnimation *unk148;

View File

@@ -282,7 +282,7 @@ void func_80389080(Actor *this){
sp3C = time_getDelta();
if(!this->unk16C_4){
this->unk16C_4 = 1;
this->marker->unk30 = func_80388FC0;
this->marker->actorFreeFunc = func_80388FC0;
marker_setCollisionScripts(this->marker, func_80388E44, NULL, NULL);
unqPtr->unk0 = 0;

View File

@@ -339,7 +339,7 @@ void chvile_update(Actor *this) {
local = (ActorLocal_MrVile *)&this->local;
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = chvile_free;
this->marker->actorFreeFunc = chvile_free;
local->unk0 = 0;
local->unk4 = assetcache_get(0x3F6);
local->game_marker = NULL;

View File

@@ -626,7 +626,7 @@ void chvilegame_update(Actor *this) {
local = (ActorLocal_BGS_3420 *)&this->local;
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = &chvilegame_free;
this->marker->actorFreeFunc = &chvilegame_free;
local->game_pieces = vector_new(sizeof(struct vilegame_piece), 0x20);
local->grumblie_model_bin = assetcache_get(0x3F7);
local->unkC = 0;

View File

@@ -101,7 +101,7 @@ void func_80386B28(Actor *this){
local->unk14 = 0.0f;
player_getPosition(&local->unk4);
local->unk3 = 3;
marker->unk30 = func_80386AF8;
marker->actorFreeFunc = func_80386AF8;
marker->propPtr->unk8_3 = 1;
this->position_x = 5700.0f;
this->position_y = -2620.0f;

View File

@@ -71,7 +71,7 @@ void CCW_func_80387A40(Actor *this) {
sp68 = time_getDelta();
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = CCW_func_80387A20;
this->marker->actorFreeFunc = CCW_func_80387A20;
local->unk4 = &D_8038EC00[0];
while((local->unk4->unk0 != 0) && (map_get() != local->unk4->unk0)) {
local->unk4++;

View File

@@ -136,7 +136,7 @@ void chGobiCCW_update(Actor *this) {
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE;
this->marker->unk30 = chGobiCCW_free;
this->marker->actorFreeFunc = chGobiCCW_free;
this->unk138_24 = FALSE;
local->unk4 = skeletalAnim_new();
local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT);

View File

@@ -112,7 +112,7 @@ void chwasp_update(Actor *this) {
local = (ActorLocal_CCW_950 *)&this->local;
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = func_8038717C;
this->marker->actorFreeFunc = func_8038717C;
local->unk0 = func_8030D90C();
local->unk4 = 0;
local->unk14 = 1000.0f;

View File

@@ -116,7 +116,7 @@ void chGobi1_update(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
marker_setCollisionScripts(this->marker, func_803873B0, NULL, NULL);
marker->unk30 = func_8038736C;
marker->actorFreeFunc = func_8038736C;
marker->propPtr->unk8_3 = TRUE;
marker->collidable = TRUE;
GV_D_80391A40.unk0 = 0;

View File

@@ -173,7 +173,7 @@ void chGobi2_update(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
marker_setCollisionScripts(this->marker, __chGobi2_ow, NULL, NULL);
sp34->unk30 = __chGobi2_80387EFC;
sp34->actorFreeFunc = __chGobi2_80387EFC;
local->unk4 = skeletalAnim_new();
local->unk8 = (BKModelBin*) assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT);
D_80391A50 = 0;

View File

@@ -99,7 +99,7 @@ void chGobiRock_update(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
sp34->unk30 = chGobiRock_free;
sp34->actorFreeFunc = chGobiRock_free;
sp34->propPtr->unk8_3 = TRUE;
marker_setCollisionScripts(this->marker, NULL, NULL, __chGobiRock_destroy);
local->unkC = particleEmitter_new(20);

View File

@@ -152,7 +152,7 @@ void chMazeCtrl_update(Actor *this){
sp34 = time_getDelta();
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
this->marker->unk30 = __chMazeCtrl_8038F5E4;
this->marker->actorFreeFunc = __chMazeCtrl_8038F5E4;
if(this->state == 2){
comusic_8025AB44(COMUSIC_26_GV_SANDYBUTT_DANGER, 30000, 30000);
item_set(ITEM_6_HOURGLASS, TRUE);

View File

@@ -160,7 +160,7 @@ void func_8038CC98(Actor *this){
if(!this->unk16C_4){
sp7C = fileProgressFlag_getN(FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, 2);
this->unk16C_4 = TRUE;
this->marker->unk30 = func_8038C880;
this->marker->actorFreeFunc = func_8038C880;
local->unk8 = &D_803911F0[this->modelCacheIndex - 0x285];
local->unk10 = 0;
local->unk14 = 0;

View File

@@ -13,6 +13,7 @@ ActorAnimationInfo D_80391340[] ={
{0xF0, 1.6f},
};
// 0x121 - Big Jinxy Head, 0x3E6 - GV Jinxy Head 2
ActorInfo D_80391358 = { 0xAE, 0x121, 0x3E6,
0x1, D_80391340,
func_8038E1A0, func_8038E1A8, actor_draw,

View File

@@ -490,7 +490,7 @@ void GV_func_8038F154(void)
spawnableActorList_add(&D_8039123C, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_19);
spawnableActorList_add(&D_80391260, actor_new, ACTOR_FLAG_UNKNOWN_7);
spawnableActorList_add(&D_80391318, actor_new, ACTOR_FLAG_UNKNOWN_1 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10);
spawnableActorList_add(&D_80391358, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_4 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_10);
spawnableActorList_add(&D_80391358, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_4 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_10); // Big Jinxy Head ?
spawnableActorList_add(&D_803912B8, actor_new, ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_10);
spawnableActorList_add(&GV_D_80391390, actor_new, ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_10);
spawnableActorList_add(&D_803913B4, actor_new, ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_10);

View File

@@ -48,7 +48,7 @@ void func_80388C20(Actor *this){
if(!this->unk16C_4){
actor_collisionOff(this);
this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = func_80388BE8;
this->marker->actorFreeFunc = func_80388BE8;
this->unk16C_4 = 1;
if(this->modelCacheIndex == 0x17B){
local->sfxsource_index = func_8030D90C();

View File

@@ -96,7 +96,7 @@ void chPropellorSwitch_update(Actor *this){
ActorLocal_RBB_3CB0 *local = (ActorLocal_RBB_3CB0 *)&this->local;
if(!this->unk16C_4){
this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = chPropellorSwitch_free;
this->marker->actorFreeFunc = chPropellorSwitch_free;
this->unk16C_4 = 1;
local->unk0 = &D_80390720[((this->unk78_13 == 2) ? 0:1)];
if(local->unk0->unk6 == 0)

View File

@@ -132,7 +132,7 @@ void func_8038AEB8(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = 1;
this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = func_8038AD7C;
this->marker->actorFreeFunc = func_8038AD7C;
marker_setCollisionScripts(this->marker, NULL, func_8038AD3C, NULL);
local->unk4 = RBB_func_8038ABC0(this);
mapSpecificFlags_set(local->unk4->unk10, FALSE);

View File

@@ -200,7 +200,7 @@ void func_80387890(Actor *this){
void func_803878B0(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = 1;
this->marker->unk30 = func_80387890;
this->marker->actorFreeFunc = func_80387890;
marker_setCollisionScripts(this->marker, 0, func_80387850, 0);
func_8032AA58(this, 1.1f);
func_8038756C(this, 1);

View File

@@ -118,9 +118,9 @@ void func_802C6240(Actor *this){
if(!this->initialized){
this->marker->unk1C = func_802C61C0;
this->marker->unkC = func_802C60AC;
this->marker->unk10 = func_802C6150;
this->marker->dieFunc = func_802C61C0;
this->marker->collisionFunc = func_802C60AC;
this->marker->collision2Func = func_802C6150;
this->unk138_24 = 0;
this->unk16C_0 = 1;
this->initialized = TRUE;

View File

@@ -259,7 +259,7 @@ void func_8035C8F4(Actor *this){
sp34 = time_getDelta();
if(this->state == 0){
this->marker->unk14_21 = FALSE;
this->marker->unk30 = func_8035C8C8;
this->marker->actorFreeFunc = func_8035C8C8;
marker_setCollisionScripts(this->marker, func_8035C6C4, func_8035C6C4, func_8035C6F0);
local->unk4 = func_80309724(this->position);
local->pCtrl_8 = NULL;

View File

@@ -108,7 +108,7 @@ void chJinjo_update(Actor * this){
local->unk0 = 1;
local->unk4 = 0;
local->unk8 = (this->position_y < func_80309B24(this->position));
this->marker->unkC = __chJinjo_802CDBA8;
this->marker->collisionFunc = __chJinjo_802CDBA8;
marker_setFreeMethod(this->marker, __chJinjo_802CDD3C);
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
marker_despawn(this->marker);

View File

@@ -80,7 +80,7 @@ void func_802D07C8(Actor *this){
f32 sp28;
if(!this->unk16C_4){
this->unk16C_4 = 1;
this->marker->unk30 = func_802D07A8;
this->marker->actorFreeFunc = func_802D07A8;
func_802D05A0(this, 1);
}
player_getPosition(sp2C);

View File

@@ -304,7 +304,7 @@ void func_802CCC5C(Actor *this) {
local = (ActorLocal_Core2_45310 * )&this->local;
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = func_802CCBC8;
this->marker->actorFreeFunc = func_802CCBC8;
local->unk38 = 0;
local->unk39 = 0;
local->unk3A = 0;

View File

@@ -195,7 +195,7 @@ void func_802D8030(Actor *this){
local = (s32*)&this->local;
*local = 1;
this->marker->unkC = __chLevelCollectible_collide;
this->marker->collisionFunc = __chLevelCollectible_collide;
subaddie_set_state(this, 2);
}

View File

@@ -121,7 +121,7 @@ void func_802E07E0(Actor *this) {
func_802C7318(this);
}
func_80361E10(this);
this->marker->unk30 = func_802E07C0;
this->marker->actorFreeFunc = func_802E07C0;
}
func_80326244(this);

View File

@@ -384,9 +384,9 @@ void func_80325FE8(Actor *this) {
func_8032BB88(this, -1, 8000);
this->unk138_7 = 0;
}
if (marker->unk30 != NULL) {
marker->unk30(this);
marker->unk30 = NULL;
if (marker->actorFreeFunc != NULL) {
marker->actorFreeFunc(this);
marker->actorFreeFunc = NULL;
}
if ((s32)marker->unk44 < 0) {
func_8033E7CC(marker);
@@ -544,13 +544,13 @@ void func_803268B4(void) {
}
if (!actor->despawn_flag) {
if (marker->unk2C_2) {
((void (*)(Actor *)) marker->unk34)(actor);
marker->actorUpdate2Func(actor);
if (anim_ctrl != NULL) {
actor->sound_timer = animctrl_getAnimTimer(anim_ctrl);
}
} else if (!temp_s1 || (temp_s1 && func_803296D8(actor, temp_s1))) {
if ( marker->unk24 != NULL) {
marker->unk24(actor);
if ( marker->actorUpdateFunc != NULL) {
marker->actorUpdateFunc(actor);
if (anim_ctrl != NULL) {
actor->sound_timer = animctrl_getAnimTimer(anim_ctrl);
}
@@ -848,8 +848,8 @@ Actor *actor_new(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
suLastBaddie->sound_timer = 0.0f;
func_8032FFD4(suLastBaddie->marker, suBaddieActorArray->cnt - 1);
marker_setModelId(suLastBaddie->marker, actorInfo->modelId);
func_803300C8(suLastBaddie->marker, actorInfo->update_func);
func_803300D0(suLastBaddie->marker, actorInfo->unk10);
marker_setActorUpdateFunc(suLastBaddie->marker, actorInfo->update_func);
marker_setActorUpdate2Func(suLastBaddie->marker, actorInfo->unk10);
ml_vec3f_clear(suLastBaddie->unk1C);
ml_vec3f_clear(suLastBaddie->velocity);
ml_vec3f_clear(suLastBaddie->spawn_position);
@@ -1650,12 +1650,12 @@ void func_803299B4(Actor *arg0) {
s32 position[3];
s32 rotation[3];
arg0->marker->unkC = arg0->unk108;
arg0->marker->unk10 = arg0->unk10C;
arg0->marker->unk1C = arg0->unk134;
arg0->marker->collisionFunc = arg0->unk108;
arg0->marker->collision2Func = arg0->unk10C;
arg0->marker->dieFunc = arg0->unk134;
arg0->marker->unk54 = arg0->unk160;
arg0->marker->unk58 = arg0->unk168;
arg0->marker->unk30 = arg0->unk13C;
arg0->marker->actorFreeFunc = arg0->backupFreeFunc;
arg0->marker->unk5C = arg0->unk16C_31;
arg0->marker->propPtr->unk8_3 = arg0->unkF4_28;
arg0->marker->propPtr->unk8_2 = arg0->unkF4_27;
@@ -1743,12 +1743,12 @@ void *actors_appendToSavestate(void * begin, u32 end){
s0->unk158[0] = NULL;
s0->unk158[1] = NULL;
s0->unk138_19 = s1->marker->id;
s0->unk108 = s1->marker->unkC;
s0->unk10C = s1->marker->unk10;
s0->unk134 = s1->marker->unk1C;
s0->unk108 = s1->marker->collisionFunc;
s0->unk10C = s1->marker->collision2Func;
s0->unk134 = s1->marker->dieFunc;
s0->unk160 = s1->marker->unk54;
s0->unk168 = s1->marker->unk58;
s0->unk13C = s1->marker->unk30;
s0->backupFreeFunc = s1->marker->actorFreeFunc;
s0->unk16C_31 = s1->marker->unk5C;
s0->unkF4_26 = s1->marker->unk2C_1;
s0->stored_marker_collidable = s1->marker->collidable;
@@ -1868,6 +1868,7 @@ void func_8032A09C(s32 arg0, ActorListSaveState *arg1) {
spawnQueue_unlock();
}
// only used for GV Jinxy Head 2
void func_8032A5F8(void) {
Actor *var_s0;
@@ -1881,6 +1882,7 @@ void func_8032A5F8(void) {
}
}
// only used by GV Jinxy Head 2
void func_8032A6A8(Actor *arg0) {
f32 var_f0;
f32 var_f2;
@@ -1903,6 +1905,7 @@ void func_8032A6A8(Actor *arg0) {
}
}
// only used by GV Jinxy Head 2
Actor *func_8032A7AC(Actor *arg0) {
Actor *var_a0;
@@ -1945,6 +1948,7 @@ void func_8032A88C(Actor *arg0) {
}
}
// only called by blubber
void func_8032A95C(Actor *arg0, s32 arg1, s32 arg2) {
func_80343F00(arg1, arg0->position);
arg0->unk44_14 = arg1;

View File

@@ -1159,16 +1159,16 @@ ActorMarker * marker_init(s32 *pos, MarkerDrawFunc draw_func, int arg2, int mark
marker->unk40_22 = 0;
marker->unk40_19 = 0;
marker->unk40_21 = 0;
marker->unkC = NULL;
marker->unk10 = NULL;
marker->unk1C = NULL;
marker->collisionFunc = NULL;
marker->collision2Func = NULL;
marker->dieFunc = NULL;
marker->unk54 = NULL;
marker->unk58 = 0;
marker->unk18 = 0;
marker->unk24 = 0;
marker->unk30 = NULL;
marker->actorUpdateFunc = NULL;
marker->actorFreeFunc = NULL;
marker->unk28 = 0;
marker->unk34 = 0;
marker->actorUpdate2Func = NULL;
marker->unk38[0] = 0;
marker->unk38[1] = 0;
marker->unk38[2] = 0;
@@ -1222,16 +1222,16 @@ void func_8032FFEC(ActorMarker *this, s32 arg1){
void func_8032FFF4(ActorMarker *this, ActorMarker *other, s32 type){
switch(type){
case 0: //ow
if(this->unkC)
this->unkC(this, other);
if(this->collisionFunc)
this->collisionFunc(this, other);
break;
case 1:
if(this->unk10)
this->unk10(this, other);
if(this->collision2Func)
this->collision2Func(this, other);
break;
case 2: //die
if(this->unk1C)
this->unk1C(this, other);
if(this->dieFunc)
this->dieFunc(this, other);
break;
}
}
@@ -1244,9 +1244,9 @@ void func_80330078(ActorMarker *marker, ActorMarker *other_marker, s16 *arg2){
//marker_setCollisionMethods
void marker_setCollisionScripts(ActorMarker *this, MarkerCollisionFunc ow_func, MarkerCollisionFunc arg2, MarkerCollisionFunc die_func){
this->unkC = ow_func;
this->unk10 = arg2;
this->unk1C = die_func;
this->collisionFunc = ow_func;
this->collision2Func = arg2;
this->dieFunc = die_func;
}
void func_803300B8(ActorMarker *marker, MarkerCollisionFunc method){
@@ -1257,16 +1257,16 @@ void func_803300C0(ActorMarker *marker, bool (*method)(ActorMarker *, ActorMarke
marker->unk58 = method;
}
void func_803300C8(ActorMarker *marker, ActorUpdateFunc method){
marker->unk24 = method;
void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc method){
marker->actorUpdateFunc = method;
}
void func_803300D0(ActorMarker *marker, s32 arg1){
marker->unk34 = arg1;
void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method){
marker->actorUpdate2Func = method;
}
void marker_setFreeMethod(ActorMarker *marker, ActorFreeFunc method){
marker->unk30 = method;
marker->actorFreeFunc = method;
}
void func_803300E0(ActorMarker *marker, Struct6Cs *arg1){

View File

@@ -292,7 +292,7 @@ void func_80358684(Actor *this) {
sp88 = time_getDelta();
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
this->marker->unk30 = func_80358490;
this->marker->actorFreeFunc = func_80358490;
local->unk38 = 0;
local->unk39 = 0;
local->unk28 = 0.0f;