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_1 (1 << 1) // 0x2
#define ACTOR_FLAG_UNKNOWN_2 (1 << 2) // 0x4 #define ACTOR_FLAG_UNKNOWN_2 (1 << 2) // 0x4
#define ACTOR_FLAG_UNKNOWN_3 (1 << 3) // 0x8 #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_5 (1 << 5) // 0x20
#define ACTOR_FLAG_UNKNOWN_6 (1 << 6) // 0x40 #define ACTOR_FLAG_UNKNOWN_6 (1 << 6) // 0x40
#define ACTOR_FLAG_UNKNOWN_7 (1 << 7) // 0x80 #define ACTOR_FLAG_UNKNOWN_7 (1 << 7) // 0x80
@@ -20,11 +20,11 @@
#define ACTOR_FLAG_UNKNOWN_15 (1 << 15) // 0x8000 #define ACTOR_FLAG_UNKNOWN_15 (1 << 15) // 0x8000
#define ACTOR_FLAG_UNKNOWN_16 (1 << 16) // 0x10000 #define ACTOR_FLAG_UNKNOWN_16 (1 << 16) // 0x10000
#define ACTOR_FLAG_UNKNOWN_17 (1 << 17) // 0x20000 #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_19 (1 << 19) // 0x80000
#define ACTOR_FLAG_UNKNOWN_20 (1 << 20) // 0x100000 #define ACTOR_FLAG_UNKNOWN_20 (1 << 20) // 0x100000
#define ACTOR_FLAG_UNKNOWN_21 (1 << 21) // 0x200000 #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_23 (1 << 23) // 0x800000
#define ACTOR_FLAG_UNKNOWN_24 (1 << 24) // 0x1000000 #define ACTOR_FLAG_UNKNOWN_24 (1 << 24) // 0x1000000
#define ACTOR_FLAG_UNKNOWN_25 (1 << 25) // 0x2000000 #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 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_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 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 #endif

View File

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

View File

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

View File

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

View File

@@ -626,7 +626,7 @@ void chvilegame_update(Actor *this) {
local = (ActorLocal_BGS_3420 *)&this->local; local = (ActorLocal_BGS_3420 *)&this->local;
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; 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->game_pieces = vector_new(sizeof(struct vilegame_piece), 0x20);
local->grumblie_model_bin = assetcache_get(0x3F7); local->grumblie_model_bin = assetcache_get(0x3F7);
local->unkC = 0; local->unkC = 0;

View File

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

View File

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

View File

@@ -136,7 +136,7 @@ void chGobiCCW_update(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->marker->unk30 = chGobiCCW_free; this->marker->actorFreeFunc = chGobiCCW_free;
this->unk138_24 = FALSE; this->unk138_24 = FALSE;
local->unk4 = skeletalAnim_new(); local->unk4 = skeletalAnim_new();
local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT); 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; local = (ActorLocal_CCW_950 *)&this->local;
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->unk30 = func_8038717C; this->marker->actorFreeFunc = func_8038717C;
local->unk0 = func_8030D90C(); local->unk0 = func_8030D90C();
local->unk4 = 0; local->unk4 = 0;
local->unk14 = 1000.0f; local->unk14 = 1000.0f;

View File

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

View File

@@ -173,7 +173,7 @@ void chGobi2_update(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
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->actorFreeFunc = __chGobi2_80387EFC;
local->unk4 = skeletalAnim_new(); 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;

View File

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

View File

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

View File

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

View File

@@ -13,6 +13,7 @@ ActorAnimationInfo D_80391340[] ={
{0xF0, 1.6f}, {0xF0, 1.6f},
}; };
// 0x121 - Big Jinxy Head, 0x3E6 - GV Jinxy Head 2
ActorInfo D_80391358 = { 0xAE, 0x121, 0x3E6, ActorInfo D_80391358 = { 0xAE, 0x121, 0x3E6,
0x1, D_80391340, 0x1, D_80391340,
func_8038E1A0, func_8038E1A8, actor_draw, 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_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_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_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(&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(&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); 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){ if(!this->unk16C_4){
actor_collisionOff(this); actor_collisionOff(this);
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = func_80388BE8; this->marker->actorFreeFunc = func_80388BE8;
this->unk16C_4 = 1; this->unk16C_4 = 1;
if(this->modelCacheIndex == 0x17B){ if(this->modelCacheIndex == 0x17B){
local->sfxsource_index = func_8030D90C(); 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; ActorLocal_RBB_3CB0 *local = (ActorLocal_RBB_3CB0 *)&this->local;
if(!this->unk16C_4){ if(!this->unk16C_4){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = chPropellorSwitch_free; this->marker->actorFreeFunc = chPropellorSwitch_free;
this->unk16C_4 = 1; this->unk16C_4 = 1;
local->unk0 = &D_80390720[((this->unk78_13 == 2) ? 0:1)]; local->unk0 = &D_80390720[((this->unk78_13 == 2) ? 0:1)];
if(local->unk0->unk6 == 0) if(local->unk0->unk6 == 0)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -384,9 +384,9 @@ void func_80325FE8(Actor *this) {
func_8032BB88(this, -1, 8000); func_8032BB88(this, -1, 8000);
this->unk138_7 = 0; this->unk138_7 = 0;
} }
if (marker->unk30 != NULL) { if (marker->actorFreeFunc != NULL) {
marker->unk30(this); marker->actorFreeFunc(this);
marker->unk30 = NULL; marker->actorFreeFunc = NULL;
} }
if ((s32)marker->unk44 < 0) { if ((s32)marker->unk44 < 0) {
func_8033E7CC(marker); func_8033E7CC(marker);
@@ -544,13 +544,13 @@ void func_803268B4(void) {
} }
if (!actor->despawn_flag) { if (!actor->despawn_flag) {
if (marker->unk2C_2) { if (marker->unk2C_2) {
((void (*)(Actor *)) marker->unk34)(actor); marker->actorUpdate2Func(actor);
if (anim_ctrl != NULL) { if (anim_ctrl != NULL) {
actor->sound_timer = animctrl_getAnimTimer(anim_ctrl); actor->sound_timer = animctrl_getAnimTimer(anim_ctrl);
} }
} else if (!temp_s1 || (temp_s1 && func_803296D8(actor, temp_s1))) { } else if (!temp_s1 || (temp_s1 && func_803296D8(actor, temp_s1))) {
if ( marker->unk24 != NULL) { if ( marker->actorUpdateFunc != NULL) {
marker->unk24(actor); marker->actorUpdateFunc(actor);
if (anim_ctrl != NULL) { if (anim_ctrl != NULL) {
actor->sound_timer = animctrl_getAnimTimer(anim_ctrl); 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; suLastBaddie->sound_timer = 0.0f;
func_8032FFD4(suLastBaddie->marker, suBaddieActorArray->cnt - 1); func_8032FFD4(suLastBaddie->marker, suBaddieActorArray->cnt - 1);
marker_setModelId(suLastBaddie->marker, actorInfo->modelId); marker_setModelId(suLastBaddie->marker, actorInfo->modelId);
func_803300C8(suLastBaddie->marker, actorInfo->update_func); marker_setActorUpdateFunc(suLastBaddie->marker, actorInfo->update_func);
func_803300D0(suLastBaddie->marker, actorInfo->unk10); marker_setActorUpdate2Func(suLastBaddie->marker, actorInfo->unk10);
ml_vec3f_clear(suLastBaddie->unk1C); ml_vec3f_clear(suLastBaddie->unk1C);
ml_vec3f_clear(suLastBaddie->velocity); ml_vec3f_clear(suLastBaddie->velocity);
ml_vec3f_clear(suLastBaddie->spawn_position); ml_vec3f_clear(suLastBaddie->spawn_position);
@@ -1650,12 +1650,12 @@ void func_803299B4(Actor *arg0) {
s32 position[3]; s32 position[3];
s32 rotation[3]; s32 rotation[3];
arg0->marker->unkC = arg0->unk108; arg0->marker->collisionFunc = arg0->unk108;
arg0->marker->unk10 = arg0->unk10C; arg0->marker->collision2Func = arg0->unk10C;
arg0->marker->unk1C = arg0->unk134; arg0->marker->dieFunc = arg0->unk134;
arg0->marker->unk54 = arg0->unk160; arg0->marker->unk54 = arg0->unk160;
arg0->marker->unk58 = arg0->unk168; arg0->marker->unk58 = arg0->unk168;
arg0->marker->unk30 = arg0->unk13C; arg0->marker->actorFreeFunc = arg0->backupFreeFunc;
arg0->marker->unk5C = arg0->unk16C_31; arg0->marker->unk5C = arg0->unk16C_31;
arg0->marker->propPtr->unk8_3 = arg0->unkF4_28; arg0->marker->propPtr->unk8_3 = arg0->unkF4_28;
arg0->marker->propPtr->unk8_2 = arg0->unkF4_27; 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[0] = NULL;
s0->unk158[1] = NULL; s0->unk158[1] = NULL;
s0->unk138_19 = s1->marker->id; s0->unk138_19 = s1->marker->id;
s0->unk108 = s1->marker->unkC; s0->unk108 = s1->marker->collisionFunc;
s0->unk10C = s1->marker->unk10; s0->unk10C = s1->marker->collision2Func;
s0->unk134 = s1->marker->unk1C; s0->unk134 = s1->marker->dieFunc;
s0->unk160 = s1->marker->unk54; s0->unk160 = s1->marker->unk54;
s0->unk168 = s1->marker->unk58; s0->unk168 = s1->marker->unk58;
s0->unk13C = s1->marker->unk30; s0->backupFreeFunc = s1->marker->actorFreeFunc;
s0->unk16C_31 = s1->marker->unk5C; s0->unk16C_31 = s1->marker->unk5C;
s0->unkF4_26 = s1->marker->unk2C_1; s0->unkF4_26 = s1->marker->unk2C_1;
s0->stored_marker_collidable = s1->marker->collidable; s0->stored_marker_collidable = s1->marker->collidable;
@@ -1868,6 +1868,7 @@ void func_8032A09C(s32 arg0, ActorListSaveState *arg1) {
spawnQueue_unlock(); spawnQueue_unlock();
} }
// only used for GV Jinxy Head 2
void func_8032A5F8(void) { void func_8032A5F8(void) {
Actor *var_s0; Actor *var_s0;
@@ -1881,6 +1882,7 @@ void func_8032A5F8(void) {
} }
} }
// only used by GV Jinxy Head 2
void func_8032A6A8(Actor *arg0) { void func_8032A6A8(Actor *arg0) {
f32 var_f0; f32 var_f0;
f32 var_f2; 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 *func_8032A7AC(Actor *arg0) {
Actor *var_a0; 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) { void func_8032A95C(Actor *arg0, s32 arg1, s32 arg2) {
func_80343F00(arg1, arg0->position); func_80343F00(arg1, arg0->position);
arg0->unk44_14 = arg1; 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_22 = 0;
marker->unk40_19 = 0; marker->unk40_19 = 0;
marker->unk40_21 = 0; marker->unk40_21 = 0;
marker->unkC = NULL; marker->collisionFunc = NULL;
marker->unk10 = NULL; marker->collision2Func = NULL;
marker->unk1C = NULL; marker->dieFunc = NULL;
marker->unk54 = NULL; marker->unk54 = NULL;
marker->unk58 = 0; marker->unk58 = 0;
marker->unk18 = 0; marker->unk18 = 0;
marker->unk24 = 0; marker->actorUpdateFunc = NULL;
marker->unk30 = NULL; marker->actorFreeFunc = NULL;
marker->unk28 = 0; marker->unk28 = 0;
marker->unk34 = 0; marker->actorUpdate2Func = NULL;
marker->unk38[0] = 0; marker->unk38[0] = 0;
marker->unk38[1] = 0; marker->unk38[1] = 0;
marker->unk38[2] = 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){ void func_8032FFF4(ActorMarker *this, ActorMarker *other, s32 type){
switch(type){ switch(type){
case 0: //ow case 0: //ow
if(this->unkC) if(this->collisionFunc)
this->unkC(this, other); this->collisionFunc(this, other);
break; break;
case 1: case 1:
if(this->unk10) if(this->collision2Func)
this->unk10(this, other); this->collision2Func(this, other);
break; break;
case 2: //die case 2: //die
if(this->unk1C) if(this->dieFunc)
this->unk1C(this, other); this->dieFunc(this, other);
break; break;
} }
} }
@@ -1244,9 +1244,9 @@ void func_80330078(ActorMarker *marker, ActorMarker *other_marker, s16 *arg2){
//marker_setCollisionMethods //marker_setCollisionMethods
void marker_setCollisionScripts(ActorMarker *this, MarkerCollisionFunc ow_func, MarkerCollisionFunc arg2, MarkerCollisionFunc die_func){ void marker_setCollisionScripts(ActorMarker *this, MarkerCollisionFunc ow_func, MarkerCollisionFunc arg2, MarkerCollisionFunc die_func){
this->unkC = ow_func; this->collisionFunc = ow_func;
this->unk10 = arg2; this->collision2Func = arg2;
this->unk1C = die_func; this->dieFunc = die_func;
} }
void func_803300B8(ActorMarker *marker, MarkerCollisionFunc method){ void func_803300B8(ActorMarker *marker, MarkerCollisionFunc method){
@@ -1257,16 +1257,16 @@ void func_803300C0(ActorMarker *marker, bool (*method)(ActorMarker *, ActorMarke
marker->unk58 = method; marker->unk58 = method;
} }
void func_803300C8(ActorMarker *marker, ActorUpdateFunc method){ void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc method){
marker->unk24 = method; marker->actorUpdateFunc = method;
} }
void func_803300D0(ActorMarker *marker, s32 arg1){ void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method){
marker->unk34 = arg1; marker->actorUpdate2Func = method;
} }
void marker_setFreeMethod(ActorMarker *marker, ActorFreeFunc method){ void marker_setFreeMethod(ActorMarker *marker, ActorFreeFunc method){
marker->unk30 = method; marker->actorFreeFunc = method;
} }
void func_803300E0(ActorMarker *marker, Struct6Cs *arg1){ void func_803300E0(ActorMarker *marker, Struct6Cs *arg1){

View File

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