From fd208f77ca80cc07a7adbeb205a3c40dd8fa4539 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Sun, 3 Nov 2024 17:58:52 -0600 Subject: [PATCH] resolve various core2 warnings --- include/core1/pfsmanager.h | 2 +- include/structs.h | 6 +- src/CC/code_1F70.c | 2 +- src/core1/code_5650.c | 2 +- src/core1/pfsmanager.c | 4 +- src/core2/anseq.c | 2 +- src/core2/bakey.c | 12 ++- src/core2/ch/bottlesbonus.c | 27 +++--- src/core2/ch/code_CFA60.c | 2 +- src/core2/ch/overlaypressstart.c | 2 +- src/core2/code_63690.c | 2 +- src/core2/code_66D90.c | 1 + src/core2/code_6CD20.c | 1 + src/core2/code_6CEC0.c | 2 + src/core2/code_851D0.c | 2 +- src/core2/code_85800.c | 4 +- src/core2/code_AC520.c | 11 ++- src/core2/code_AE290.c | 3 + src/core2/code_B6EA0.h | 19 ---- src/core2/code_C9F00.c | 36 +++---- src/core2/code_CD6E0.c | 162 +++++++++++++++---------------- src/core2/code_DAAA0.c | 1 + 22 files changed, 151 insertions(+), 154 deletions(-) diff --git a/include/core1/pfsmanager.h b/include/core1/pfsmanager.h index 2c82f32a..09ff9e02 100644 --- a/include/core1/pfsmanager.h +++ b/include/core1/pfsmanager.h @@ -41,7 +41,7 @@ s32 func_8024E640(s32 controller_index, s32 dst[3]); f32 func_8024E668(s32 controller_index); s32 controller_getStartButton(s32 controller_index); s32 func_8024E698(s32 controller_index); -void func_8024E6E0(s32 controller_index, s32 *dst[4]); +void func_8024E6E0(s32 controller_index, s32 dst[4]); void controller_getJoystick(s32 controller_index, f32 dst[2]); void pfsManager_update(void); void pfsManager_readData(); diff --git a/include/structs.h b/include/structs.h index 9e3af8a7..b0a2d953 100644 --- a/include/structs.h +++ b/include/structs.h @@ -615,9 +615,9 @@ typedef struct { } Struct6Bs; typedef struct{ - s32 (* unk0)(struct actorMarker_s *, f32[3], f32[3], f32[3], s32); - s32 (* unk4)(struct actorMarker_s *, f32[3], f32[3], f32, f32[3], s32, u32); - s32 (* unk8)(struct actorMarker_s *, f32[3], f32, f32[3], s32); + BKCollisionTri * (* unk0)(struct actorMarker_s *, f32[3], f32[3], f32[3], s32); + BKCollisionTri *(* unk4)(struct actorMarker_s *, f32[3], f32[3], f32, f32[3], s32, u32); + BKCollisionTri *(* unk8)(struct actorMarker_s *, f32[3], f32, f32[3], s32); s32 (* unkC)(struct actorMarker_s *, f32[3], f32, f32[3], s32); } Struct6Cs; diff --git a/src/CC/code_1F70.c b/src/CC/code_1F70.c index 7e4a7650..8ae8ca4e 100644 --- a/src/CC/code_1F70.c +++ b/src/CC/code_1F70.c @@ -13,7 +13,7 @@ void timed_exitStaticCamera(f32); extern BKCollisionTri *func_802E805C(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, s32, s32, s32); extern void func_80340200(s32, f32[3], s32, f32, s32, s32, BKVertexList *, s32); extern void func_802E9118(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, s32, f32, s32, s32, s32); -extern void func_802E9DD8(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, f32, s32, s32); +extern BKCollisionTri *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 void boneTransformList_getBoneScale(s32, s32, f32[3]); diff --git a/src/core1/code_5650.c b/src/core1/code_5650.c index bb2eea59..be653e23 100644 --- a/src/core1/code_5650.c +++ b/src/core1/code_5650.c @@ -368,7 +368,7 @@ void func_80243FE4(N_AL_Struct81s *arg0) { alEvtqPostEvent(&D_802758CC->evtq, &evt, 33333); } -void func_80244050(ALEventQueue *arg0, struct struct_81_s *arg1, u16 arg2) { +void func_80244050(ALEventQueue *arg0, N_AL_Struct81s *arg1, u16 arg2) { s32 pad[5]; u32 mask; ALEventListItem *next_event_list; diff --git a/src/core1/pfsmanager.c b/src/core1/pfsmanager.c index e0498e21..bf828f18 100644 --- a/src/core1/pfsmanager.c +++ b/src/core1/pfsmanager.c @@ -2,9 +2,11 @@ #include "core1/core1.h" #include "functions.h" #include "variables.h" +#include "core1/pfsmanager.h" #include "version.h" + #define PFSMANAGER_THREAD_STACK_SIZE 0x200 extern struct { @@ -120,7 +122,7 @@ s32 func_8024E698(s32 controller_index){ return D_80281138[controller_index].start_button; } -void func_8024E6E0(s32 controller_index, s32 *dst[4]){ +void func_8024E6E0(s32 controller_index, s32 dst[4]){ dst[0] = D_80281138[controller_index].unk24[0]; dst[1] = D_80281138[controller_index].unk24[1]; dst[2] = D_80281138[controller_index].unk24[2]; diff --git a/src/core2/anseq.c b/src/core2/anseq.c index 45c20b99..76c25f71 100644 --- a/src/core2/anseq.c +++ b/src/core2/anseq.c @@ -201,7 +201,7 @@ void anSeq_free(vector(AnSeqElement)** ppAnSeq){ free(ppAnSeq); } -vector(AnSeqElement) **anSeq_new(void){ +vector(AnSeqElement) **anSeq_new(void) { vector(AnSeqElement) **ptr = (vector(AnSeqElement) **)malloc(sizeof(vector(AnSeqElement) **)); *ptr = vector_new(sizeof(AnSeqElement), 2); anSeq_clear(ptr); diff --git a/src/core2/bakey.c b/src/core2/bakey.c index 1372933f..2c3d6e94 100644 --- a/src/core2/bakey.c +++ b/src/core2/bakey.c @@ -2,10 +2,12 @@ #include "functions.h" #include "variables.h" +#include "core1/pfsmanager.h" + /* .bss */ struct { - u32 pressed_count[0xE]; - u32 released_count[0xE]; + s32 pressed_count[0xE]; + s32 released_count[0xE]; u8 state[0xE]; u8 prev_state[0xE]; } bakey; @@ -25,9 +27,9 @@ void bakey_update(void){ s32 i; bakey.pressed_count[0] = controller_getStartButton(0); - func_8024E60C(0, &bakey.pressed_count[1]); - func_8024E6E0(0, &bakey.pressed_count[4]); - controller_copyFaceButtons(0, &bakey.pressed_count[8]); + func_8024E60C(0, &bakey.pressed_count[BUTTON_Z]); + func_8024E6E0(0, &bakey.pressed_count[BUTTON_D_UP]); + controller_copyFaceButtons(0, &bakey.pressed_count[BUTTON_A]); for(i=0; i<0xE; i++){//L802954A8 bakey.prev_state[i] = bakey.state[i]; if(bakey.state[i]){ diff --git a/src/core2/ch/bottlesbonus.c b/src/core2/ch/bottlesbonus.c index c3df8493..e24d714d 100644 --- a/src/core2/ch/bottlesbonus.c +++ b/src/core2/ch/bottlesbonus.c @@ -7,11 +7,13 @@ extern void func_8025A6CC(enum comusic_e arg0, s32 arg1); extern void chBottlesBonusCursor_func_802DF99C(void); extern f32 *chBottlesBonusCursor_func_802E05AC(s32); extern f32 func_802E4B38(void); -extern void func_8033A8F0(s32, s32, f32[4]); +extern void func_8033A8F0(BoneTransformList *, s32, f32[4]); extern f32 time_func_8033DDB8(void); BKAnimationList *model_getAnimationList(BKModelBin *arg0); extern void func_8034BB08(s32); extern void func_803458E4(f32[4], f32[4], f32[4], f32); +extern BKModel *func_8033F5F8(BKMeshList *, BKVertexList *); +extern BKMeshList *func_8033A0B0(BKModelBin *); #define CH_BOTTLES_BONUS_PUZZLE_HEIGHT (4) #define CH_BOTTLES_BONUS_PUZZLE_WIDTH (5) @@ -51,6 +53,7 @@ typedef struct{ extern void item_set(enum item_e, s32); extern void actor_postdrawMethod(ActorMarker *); extern void viewport_setNearAndFar(f32, f32); +extern s16 *func_8030C704(void); Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void chBottlesBonus_update(Actor *this); @@ -230,7 +233,7 @@ f32 *chBottlesBonus_func_802DD584(s32 arg0){ D_8037DF70[0] = temp_v1[5 + arg0].unk0[0] * 0.01; D_8037DF70[1] = temp_v1[5 + arg0].unk0[1] * 0.01; D_8037DF70[2] = temp_v1[5 + arg0].unk0[2] * 0.01; - return &D_8037DF70; + return D_8037DF70; } f32 *chBottlesBonus_func_802DD60C(s32 arg0) { @@ -246,10 +249,10 @@ f32 *chBottlesBonus_func_802DD60C(s32 arg0) { D_8037DF80[1] = 0.0f; D_8037DF80[2] = 0.0f; } - return &D_8037DF80; + return D_8037DF80; } -void chBottlesBonus_func_802DD6E0(s32 arg0, s32 arg1, f32 arg2[3]) { +void chBottlesBonus_func_802DD6E0(BoneTransformList *arg0, s32 arg1, f32 arg2[3]) { f32 sp1C[3]; sp1C[0] = arg2[0] - chBottlesBonus_func_802DD584(arg1)[0]; @@ -259,7 +262,7 @@ void chBottlesBonus_func_802DD6E0(s32 arg0, s32 arg1, f32 arg2[3]) { func_8033A968(arg0, D_80368254[arg1], sp1C); } -void chBottlesBonus_func_802DD778(s32 arg0, s32 arg1, f32 arg2[3]) { +void chBottlesBonus_func_802DD778(BoneTransformList *arg0, s32 arg1, f32 arg2[3]) { f32 sp1C[3]; func_8033A6B0(arg0, D_80368254[arg1], sp1C); @@ -431,20 +434,20 @@ s32 chBottlesBonus_getPuzzleIndex(void){ return chBottleBonusPuzzleIndex; } -void chBottlesBonus_startTimer(s32 arg0, s32 arg1, s32 arg2) { +void chBottlesBonus_startTimer(ActorMarker *arg0, enum asset_e arg1, s32 arg2) { Actor *actor; actor = marker_getActor(chBottlesBonusMarker); actor->state = 4; actor->lifetime_value = 0.0f; - timedFunc_set_2(0.25f, item_set, ITEM_6_HOURGLASS, TRUE); - timedFunc_set_2(0.25f, item_set, ITEM_0_HOURGLASS_TIMER, D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60 - 1); + timedFunc_set_2(0.25f, (GenFunction_2)item_set, ITEM_6_HOURGLASS, TRUE); + timedFunc_set_2(0.25f, (GenFunction_2)item_set, ITEM_0_HOURGLASS_TIMER, D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60 - 1); } void chBottlesBonus_update(Actor *this) { ActorLocal_core2_560F0 *local; f32 sp50; - s32 temp_v0_2; + Struct6Ds *temp_v0_2; s32 sp48; s32 cursor_state; s32 sp40; @@ -469,9 +472,9 @@ void chBottlesBonus_update(Actor *this) { D_8037DEAC = func_8033F5F8(func_8033A0B0(chBottleBonusBookselfModelBin), model_getVtxList(chBottleBonusBookselfModelBin)); func_8034CF74(local, 0, D_8037DEAC, 0xF0); } - func_8028746C(this->anctrl, chBottlesBonus_func_802DD8AC); + func_8028746C(this->anctrl, (GenFunction_2)chBottlesBonus_func_802DD8AC); for(phi_s0 = 0; phi_s0 < CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT; phi_s0++){ - func_8034DFB0(func_8034C2C4(this->marker, phi_s0 + 0x190), D_803682B4, D_803682A4, 0.0f); + func_8034DFB0(&func_8034C2C4(this->marker, phi_s0 + 0x190)->type_6D, D_803682B4, D_803682A4, 0.0f); } D_8037DEB8 = (Struct_core2_560F0_1 *) malloc(CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT*sizeof(Struct_core2_560F0_1)); D_8037DEBC = (Struct_core2_560F0_1 *) malloc(CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT*sizeof(Struct_core2_560F0_1)); @@ -483,7 +486,7 @@ void chBottlesBonus_update(Actor *this) { cursor_state = chBottlesBonusCursor_getState(); for(phi_s0_2 = 0; phi_s0_2 < CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT; phi_s0_2++){ sp40 = D_8037DF90[phi_s0_2]; - temp_v0_2 = func_8034C2C4(this->marker, phi_s0_2 + 0x190); + temp_v0_2 = &func_8034C2C4(this->marker, phi_s0_2 + 0x190)->type_6D; if ((phi_s0_2 == sp48) && (cursor_state == 1) && !chBottlesBonusCursor_func_802E0538(phi_s0_2)) { D_8037DF90[phi_s0_2] = TRUE; } else { diff --git a/src/core2/ch/code_CFA60.c b/src/core2/ch/code_CFA60.c index bac2a31d..6c34dcec 100644 --- a/src/core2/ch/code_CFA60.c +++ b/src/core2/ch/code_CFA60.c @@ -116,7 +116,7 @@ void func_80356CCC(Actor *this){ } }//L80356E88 if(this->state == 3){ - if(ml_timer_update(&this->local, sp50)){ + if(ml_timer_update(&local->unk0, sp50)){ func_803569F0(this, 4); } }//L80356EAC diff --git a/src/core2/ch/overlaypressstart.c b/src/core2/ch/overlaypressstart.c index 1df63c43..47106434 100644 --- a/src/core2/ch/overlaypressstart.c +++ b/src/core2/ch/overlaypressstart.c @@ -65,7 +65,7 @@ Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx return actor; } -void chOverlayPressStart_func_802DCC78(ActorMarker *this){ +void chOverlayPressStart_func_802DCC78(Actor *this){ D_8037DE80 = 0; D_8037DE84 = 0; } diff --git a/src/core2/code_63690.c b/src/core2/code_63690.c index 549c0f56..923df594 100644 --- a/src/core2/code_63690.c +++ b/src/core2/code_63690.c @@ -5,7 +5,7 @@ //textureList_getDataPtr u8 *func_802EA620(BKTextureList *this){ - return (s32)this + this->cnt_4*sizeof(BKTextureHeader) + sizeof(BKTextureList); + return (u8*)this + this->cnt_4*sizeof(BKTextureHeader) + sizeof(BKTextureList); } s32 texture_getPixelBitSize(BKTextureHeader *this){ diff --git a/src/core2/code_66D90.c b/src/core2/code_66D90.c index a3aca744..cb226868 100644 --- a/src/core2/code_66D90.c +++ b/src/core2/code_66D90.c @@ -6,6 +6,7 @@ extern void func_802EFA34(ParticleEmitter *, f32); extern void func_802EFF5C(ParticleEmitter *, f32, f32, f32); extern void func_802EFF7C(ParticleEmitter *, f32, f32, f32); extern void func_802EFF9C(ParticleEmitter *, f32); +extern ParticleEmitter *func_802F0EF0(u8); /* .data */ s32 D_80368850[3] = {0xFF, 0xFF, 0xFE}; diff --git a/src/core2/code_6CD20.c b/src/core2/code_6CD20.c index aaa72775..d9a13b0b 100644 --- a/src/core2/code_6CD20.c +++ b/src/core2/code_6CD20.c @@ -3,6 +3,7 @@ #include "variables.h" #include "core2/particle.h" +extern ParticleEmitter *func_802F0EF0(u8); /* .data */ s16 D_80368D80[] = { diff --git a/src/core2/code_6CEC0.c b/src/core2/code_6CEC0.c index 151106e6..4c30827b 100644 --- a/src/core2/code_6CEC0.c +++ b/src/core2/code_6CEC0.c @@ -2,6 +2,8 @@ #include "functions.h" #include "variables.h" +extern ParticleEmitter *func_802F0EF0(u8); + /* .bss */ u8 D_80380A80; diff --git a/src/core2/code_851D0.c b/src/core2/code_851D0.c index 7dd2bc94..5a59723f 100644 --- a/src/core2/code_851D0.c +++ b/src/core2/code_851D0.c @@ -123,7 +123,7 @@ void func_8030C33C(Gfx **gfx, Mtx **mtx, Vtx **vtx) { } -s32 func_8030C704(void){ +s16 *func_8030C704(void){ return D_80382450; } diff --git a/src/core2/code_85800.c b/src/core2/code_85800.c index c37a8eaf..68290cb7 100644 --- a/src/core2/code_85800.c +++ b/src/core2/code_85800.c @@ -4,7 +4,7 @@ #include "variables.h" #include "n_libaudio.h" -extern void func_80335394(s32, f32); +extern void func_80335394(N_AL_Struct81s *, f32); extern f32 sfx_randf2(f32, f32); #define SFX_SRC_FLAG_0_UNKOWN (1 << 0) @@ -114,7 +114,7 @@ struct46s *func_8030C8DC(s32 indx){ return D_80382470 + indx - 1; } -Struct81s *func_8030C8F4(s32 indx){ +N_AL_Struct81s *func_8030C8F4(s32 indx){ return D_80382470[indx - 1].unk0; } diff --git a/src/core2/code_AC520.c b/src/core2/code_AC520.c index c1d91b7d..6ffa4411 100644 --- a/src/core2/code_AC520.c +++ b/src/core2/code_AC520.c @@ -10,11 +10,12 @@ static void __lighting_init(f32 position[3], f32 rotation[3], f32 scale, f32[3], void lighting_free(); void lighting_init(); +#define NUM_LIGHTING_ELEM 0x10 /* .bss */ struct { vector(Lighting) *vector_ptr; - Lighting *unk4[0x10]; + Lighting *unk4[NUM_LIGHTING_ELEM]; Lighting **unk44; Lighting **unk48; // copy of unk44 } sLightingVectorList; @@ -127,7 +128,7 @@ void lighting_free() { void lighting_init() { sLightingVectorList.vector_ptr = vector_new(sizeof(Lighting), 0x10); - sLightingVectorList.unk48 = &sLightingVectorList.unk44; + sLightingVectorList.unk48 = &sLightingVectorList.unk4[NUM_LIGHTING_ELEM]; } void func_80333974(s32 index) { @@ -188,7 +189,7 @@ void lightingVectorList_fromFile(File *file_ptr) { } } -s32 __codeAC520_pad_func_80333C78(s32 arg0) { +s32 __codeAC520_pad_func_80333C78(File *arg0) { Lighting *beginPtr = vector_getBegin(sLightingVectorList.vector_ptr); Lighting *endPtr = vector_getEnd(sLightingVectorList.vector_ptr); Lighting *iPtr; @@ -196,9 +197,9 @@ s32 __codeAC520_pad_func_80333C78(s32 arg0) { for(iPtr = beginPtr; iPtr < endPtr; iPtr++) { if(iPtr->unk34) { file_isNextByteExpected(arg0, 1); - file_getNFloats_ifExpected(arg0, 2, &iPtr->position, 3); + file_getNFloats_ifExpected(arg0, 2, iPtr->position, 3); file_getNFloats_ifExpected(arg0, 3, &iPtr->unk18, 2); - file_getNWords_ifExpected(arg0, 4, &iPtr->rgb, 3); + file_getNWords_ifExpected(arg0, 4, iPtr->rgb, 3); } } diff --git a/src/core2/code_AE290.c b/src/core2/code_AE290.c index 620d6b12..b313c5dd 100644 --- a/src/core2/code_AE290.c +++ b/src/core2/code_AE290.c @@ -4,6 +4,9 @@ #include "n_libaudio.h" extern ALBank *music_get_sound_bank(void); +extern OSIoMesg *func_802405D0(void); +extern OSMesgQueue *func_802405C4(void); +extern ALHeap *func_802405B8(void); extern u8 soundfont1ctl_ROM_START[]; extern u8 soundfont1ctl_ROM_END[]; diff --git a/src/core2/code_B6EA0.h b/src/core2/code_B6EA0.h index 98f04270..c082cd9b 100644 --- a/src/core2/code_B6EA0.h +++ b/src/core2/code_B6EA0.h @@ -8,25 +8,6 @@ typedef s32 (*FuncUnk40)(ActorMarker *, s32, f32[3]); -typedef struct particle_struct_1_s{ - f32 unk0[3]; - f32 unkC[3]; - u8 pad18[8]; - s32 unk20; - s32 unk24; - s32 unk28; - u8 pad24[0x4]; - ActorMarker *marker_30; - AnimSprite *unk34; - ActorMarker *unk38; - s32 unk3C; - FuncUnk40 unk40; - u8 unk44; - u8 unk45; - u8 unk46; - u8 unk47; -} ParticleStruct1s; - typedef struct particle_struct_0_s{ f32 unk0; f32 unk4; diff --git a/src/core2/code_C9F00.c b/src/core2/code_C9F00.c index fec101a2..5b5734d3 100644 --- a/src/core2/code_C9F00.c +++ b/src/core2/code_C9F00.c @@ -2,15 +2,15 @@ #include "functions.h" #include "variables.h" -extern BKCollisionTri *func_802E805C(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8); -extern int func_802E9118(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, s32 arg5, s32 arg6, f32 arg7, s32 arg8, s32 arg9, s32 arg10); -extern int func_802E9DD8(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, s32 arg5, f32 arg6, s32 arg7, s32 arg8); +extern BKCollisionTri *func_802E805C(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, f32 arg5[3], f32 arg6[3], f32 arg7[3], s32 arg8); +extern BKCollisionTri *func_802E9118(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, f32 arg5[3], f32 arg6[3], f32 arg7, f32 arg8[3], s32 arg9, s32 arg10); +extern BKCollisionTri *func_802E9DD8(BKCollisionList *arg0, BKVertexList *vtxList, f32 arg2[3], f32 arg3[3], f32 arg4, f32 arg5[3], f32 arg6, f32 arg7[3], s32 arg8); extern s32 func_802EA760(BKModelUnk14List *, s32, f32[3], f32[3], f32, s32, f32*, f32*); extern bool func_80309DBC(f32[3], f32[3], f32, f32 sp54[3], s32, s32); - +extern BKCollisionList *model_getCollisionList(BKModelBin *); +extern BKModelUnk14List *func_8033A12C(BKModelBin *); void func_80351954(Struct68s *arg); void func_80351AD0(Struct68s *arg0, enum asset_e model_id); - typedef struct { s16 unk0; u8 unk2; @@ -59,7 +59,7 @@ extern void func_80352114(void *, Struct68s *, f32); Struct_Core2_C9F00_0 D_803725F4[] = { { NULL, NULL}, - {func_80351DE0, func_80351E60}, + {(void (*)(void *, Struct68s *))func_80351DE0, (void (*)(void *, Struct68s *, f32))func_80351E60}, {chTumblar_init, chTumblar_update}, { NULL, NULL}, { NULL, func_8038B790}, @@ -115,8 +115,8 @@ Actor *func_80350E90(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { return NULL; } -s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4) { - s32 sp4C; +BKCollisionTri * func_80350F7C(ActorMarker *marker, f32 arg1[3], f32 arg2[3], f32 arg3[3], s32 arg4) { + BKCollisionTri * sp4C; Struct68s *temp_s0; BKVertexList *vtx_list; BKCollisionList *colision_list; @@ -140,7 +140,7 @@ s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4 return sp4C; } -s32 func_803510B4(ActorMarker *marker, s32 arg1, f32 arg2[3], f32 arg3, s32 arg4, s32 arg5, s32 flagFliter) { +BKCollisionTri *func_803510B4(ActorMarker *marker, f32 arg1[3], f32 arg2[3], f32 arg3, f32 arg4[3], s32 arg5, u32 flagFliter) { s32 pad44; Struct68s *sp40; BKVertexList *vertex_list; @@ -155,7 +155,7 @@ s32 func_803510B4(ActorMarker *marker, s32 arg1, f32 arg2[3], f32 arg3, s32 arg4 return func_802E9118(collision_list, vertex_list, sp40->position, sp40->unk20, sp40->unk2C, arg1, arg2, arg3, arg4, arg5, flagFliter); } -s32 func_80351198(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3, s32 arg4) { +BKCollisionTri *func_80351198(ActorMarker *marker, f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4) { s32 pad3C; Struct68s *sp38; BKVertexList *vtx_list; @@ -317,7 +317,7 @@ s32 func_80351838(f32 position[3], s32 key_flag, s32 arg2) { Struct68s *sp28; rotation[0] = rotation[1] = rotation[2] = 0.0f; - sp28 = func_8035126C(position, &rotation, 1.0f, 4, key_flag + 0x884); + sp28 = func_8035126C(position, rotation, 1.0f, 4, key_flag + 0x884); func_80351538(sp28); func_8038B5D8(&sp28->local, sp28, key_flag, arg2); return sp28 - D_803861B0.unk4; @@ -413,9 +413,9 @@ void func_80351B28(Struct68s *arg0, f32 arg1[3]) { if(arg0->unkC != NULL){ sp34 = func_8033A12C(arg0->unkC); if(sp34 != NULL){ - if(func_802EA760(sp34, 0, arg0->position, arg0->unk20, arg0->unk2C, 0, &sp48, &sp38)){ - func_802EA760(sp34, 0, arg1, arg0->unk20, arg0->unk2C, 0, &sp3C, &sp38); - if(func_80309DBC(&sp48, &sp3C, sp38, &sp54, 3, 0)){ + if(func_802EA760(sp34, 0, arg0->position, arg0->unk20, arg0->unk2C, 0, sp48, &sp38)){ + func_802EA760(sp34, 0, arg1, arg0->unk20, arg0->unk2C, 0, sp3C, &sp38); + if(func_80309DBC(sp48, sp3C, sp38, sp54, 3, 0)){ return; } } @@ -463,8 +463,8 @@ void func_80351C48(void) { if (D_80386180.unk2C != NULL) { mlMtxIdent(); func_80252C08(D_80386180.unk2C->position, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL); - mlMtx_apply_vec3f(&sp4C, &D_80386180.unk14); - func_8028FAB0(&sp4C); + mlMtx_apply_vec3f(sp4C, D_80386180.unk14); + func_8028FAB0(sp4C); } D_80386180.unk2C = NULL; } @@ -487,8 +487,8 @@ void func_80351E60(Struct6Bs *arg0, Struct68s *arg1, f32 arg2) { arg0->unk4[1] = sinf(((arg0->unk34 * arg0->unk0) / 180.0) * BAD_PI) * 3.0f; TUPLE_ADD_COPY(sp24, arg0->unk1C, arg0->unk10) - func_80351B28(arg1, &sp24); + func_80351B28(arg1, sp24); TUPLE_ADD_COPY(sp24, arg0->unk28, arg0->unk4) - func_80351C2C(arg1, &sp24); + func_80351C2C(arg1, sp24); } diff --git a/src/core2/code_CD6E0.c b/src/core2/code_CD6E0.c index f7122ce9..cccc4b3e 100644 --- a/src/core2/code_CD6E0.c +++ b/src/core2/code_CD6E0.c @@ -8,7 +8,7 @@ extern f32 player_getYaw(void); extern void projectile_getPosition(u8 arg0, f32 arg1[3]); extern void func_8033FC98(u8 arg0, s32 arg1); - +extern f32 *bundle_getVelocity(Actor *actor); /* .data */ u8 D_803726C0[] = { 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1}; @@ -25,7 +25,7 @@ void func_803546E8(void) { u8 projectile_indx; AnimSprite* sp48; u8 sp47; - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; f32 plyr_pos[3]; f32 sp28[3]; @@ -35,14 +35,14 @@ void func_803546E8(void) { temp_s0 = func_8033E960(); player_getPosition(plyr_pos); - temp_s0->unk0[0] = randf2(-10.0f, 10.0f); - temp_s0->unk0[1] = (randf() * 35.0f) + 50.0f; - temp_s0->unk0[2] = randf2(-10.0f, 10.0f); + temp_s0->unk0 = randf2(-10.0f, 10.0f); + temp_s0->unk4 = (randf() * 35.0f) + 50.0f; + temp_s0->unk8 = randf2(-10.0f, 10.0f); func_802589E4(sp28, player_getYaw(), 48.0f); sp28[1] = 0.0f; - temp_s0->unk0[0] += sp28[0]; - temp_s0->unk0[1] += sp28[1]; - temp_s0->unk0[2] += sp28[2]; + temp_s0->unk0 += sp28[0]; + temp_s0->unk4 += sp28[1]; + temp_s0->unk8 += sp28[2]; projectile_setSprite(projectile_indx, ASSET_713_SPRITE_SPARKLE_YELLOW); projectile_setPosition(projectile_indx, plyr_pos); func_8033FCD8(projectile_indx, 0xC); @@ -60,7 +60,7 @@ void func_803546E8(void) { } void func_8035489C(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; u8 projectile_indx; f32 playerVelocity[3]; f32 playerPosition[3]; @@ -80,9 +80,9 @@ void func_8035489C(void) { playerVelocity[1] = 0.0f; playerPosition[0] += playerVelocity[0] * time_getDelta(); playerPosition[2] += playerVelocity[2] * time_getDelta(); - playerPosition[0] += temp_s0->unk0[0]; - playerPosition[1] += temp_s0->unk0[1]; - playerPosition[2] += temp_s0->unk0[2]; + playerPosition[0] += temp_s0->unk0; + playerPosition[1] += temp_s0->unk4; + playerPosition[2] += temp_s0->unk8; projectile_setPosition(projectile_indx, playerPosition); } } @@ -94,7 +94,7 @@ void func_80354998(void) { ActorMarker *sp50; AnimSprite *sp4C; u8 sp4B; - ParticleStruct1s *temp_s0; + ParticleStruct0s *temp_s0; f32 sp38[3]; f32 sp2C[3]; s32 sp28; @@ -105,13 +105,13 @@ void func_80354998(void) { sp4B = func_8033E93C(); temp_s0 = func_8033E960(); ml_vec3f_clear(sp38); - temp_s0->unk0[0] = randf2(-2.0f, 2.0f); - temp_s0->unk0[1] = 0.0f; + (&temp_s0->unk0)[0] = randf2(-2.0f, 2.0f); + (&temp_s0->unk0)[1] = 0.0f; randf2(-10.0f, 10.0f); - temp_s0->unk0[2] = randf2(-2.0f, 2.0f); - temp_s0->unkC[0] = 0.0f; - temp_s0->unkC[1] = -0.05f; - temp_s0->unkC[2] = 0.0f; + (&temp_s0->unk0)[2] = randf2(-2.0f, 2.0f); + (&temp_s0->unkC)[0] = 0.0f; + (&temp_s0->unkC)[1] = -0.05f; + (&temp_s0->unkC)[2] = 0.0f; animsprite_default(sp4C); animsprite_set_speed(sp4C, 3.0f); animsprite_set_state(sp4C, ANIM_SPRITE_STATE_STOPPED); @@ -134,23 +134,23 @@ void func_80354998(void) { break; case 0x548: sp28 = 5; - ml_vec3f_clear(temp_s0->unk0); - ml_vec3f_clear(temp_s0->unkC); + ml_vec3f_clear(&temp_s0->unk0); + ml_vec3f_clear(&temp_s0->unkC); break; case 0x549: sp28 = 3; - ml_vec3f_clear(temp_s0->unk0); - ml_vec3f_clear(temp_s0->unkC); + ml_vec3f_clear(&temp_s0->unk0); + ml_vec3f_clear(&temp_s0->unkC); break; case 0x547: sp28 = 1; - ml_vec3f_clear(temp_s0->unk0); - ml_vec3f_clear(temp_s0->unkC); + ml_vec3f_clear(&temp_s0->unk0); + ml_vec3f_clear(&temp_s0->unkC); break; default: sp28 = 3; - ml_vec3f_clear(temp_s0->unk0); - ml_vec3f_clear(temp_s0->unkC); + ml_vec3f_clear(&temp_s0->unk0); + ml_vec3f_clear(&temp_s0->unkC); break; } projectile_setSprite(sp57, sp28 + 0x710); @@ -166,7 +166,7 @@ void func_80354998(void) { } void func_80354C18(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; s32 pad; ActorMarker *sp4C; u8 sp4B; @@ -198,16 +198,16 @@ void func_80354C18(void) { projectile_getPosition(projectile_indx, sp34); } func_80344E7C(sp4B, sp28); - sp28[0] += temp_s0->unkC[0]; - sp28[1] += temp_s0->unkC[1]; - sp28[2] += temp_s0->unkC[2]; + sp28[0] += (&temp_s0->unkC)[0]; + sp28[1] += (&temp_s0->unkC)[1]; + sp28[2] += (&temp_s0->unkC)[2]; func_80344E3C(sp4B, sp28); - temp_s0->unk0[0] += sp28[0]; - temp_s0->unk0[1] += sp28[1]; - temp_s0->unk0[2] += sp28[2]; - sp34[0] += temp_s0->unk0[0]; - sp34[1] += temp_s0->unk0[1]; - sp34[2] += temp_s0->unk0[2]; + (&temp_s0->unk0)[0] += sp28[0]; + (&temp_s0->unk0)[1] += sp28[1]; + (&temp_s0->unk0)[2] += sp28[2]; + sp34[0] += (&temp_s0->unk0)[0]; + sp34[1] += (&temp_s0->unk0)[1]; + sp34[2] += (&temp_s0->unk0)[2]; projectile_setPosition(projectile_indx, sp34); } func_8033FC34(projectile_indx, 0xB4); @@ -217,7 +217,7 @@ void func_80354C18(void) { void func_80354DC8(void){} void func_80354DD0(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; AnimSprite* sp40; u8 sp3F; u8 pad3C[3]; @@ -230,9 +230,9 @@ void func_80354DD0(void) { sp3F = func_8033E93C(); temp_s0 = func_8033E960(); ml_vec3f_clear(sp2C); - temp_s0->unk0[0] = randf2(-50.0f, 50.0f); - temp_s0->unk0[1] = randf2(-65.0f, -65.0f); - temp_s0->unk0[2] = randf2(-50.0f, 50.0f); + (&temp_s0->unk0)[0] = randf2(-50.0f, 50.0f); + (&temp_s0->unk0)[1] = randf2(-65.0f, -65.0f); + (&temp_s0->unk0)[2] = randf2(-50.0f, 50.0f); projectile_setSprite(projectile_indx, ASSET_710_SPRITE_SPARKLE_PURPLE); projectile_setColor(projectile_indx, 0xE1, 0xFF, 0); projectile_setPosition(projectile_indx, sp2C); @@ -249,7 +249,7 @@ void func_80354DD0(void) { } void func_80354EEC(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; s32 pad; ActorMarker *sp3C; FuncUnk40 sp38; @@ -273,9 +273,9 @@ void func_80354EEC(void) { } else { func_8033FC98(temp_s1, 1); } - sp28[0] += temp_s0->unk0[0]; - sp28[1] += temp_s0->unk0[1]; - sp28[2] += temp_s0->unk0[2]; + sp28[0] += (&temp_s0->unk0)[0]; + sp28[1] += (&temp_s0->unk0)[1]; + sp28[2] += (&temp_s0->unk0)[2]; projectile_setPosition(temp_s1, sp28); } } @@ -289,7 +289,7 @@ void func_8035500C(void) { u8 projectile_indx; AnimSprite* sp40; u8 sp3F; - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; f32 sp2C[3]; f32 sp20[3]; @@ -298,9 +298,9 @@ void func_8035500C(void) { sp3F = func_8033E93C(); temp_s0 = func_8033E960(); ml_vec3f_clear(sp2C); - temp_s0->unk0[0] = randf2(-40.0f, 40.0f); - temp_s0->unk0[1] = randf2(-40.0f, 40.0f); - temp_s0->unk0[2] = randf2(-40.0f, 40.0f); + (&temp_s0->unk0)[0] = randf2(-40.0f, 40.0f); + (&temp_s0->unk0)[1] = randf2(-40.0f, 40.0f); + (&temp_s0->unk0)[2] = randf2(-40.0f, 40.0f); projectile_setSprite(projectile_indx, 0x70F); projectile_setColor(projectile_indx, 0xFF, 0xE6, 0xF5); projectile_setPosition(projectile_indx, sp2C); @@ -318,7 +318,7 @@ void func_8035500C(void) { } void func_80355134(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; u8 temp_s1; ActorMarker *sp3C; FuncUnk40 sp38; @@ -339,10 +339,10 @@ void func_80355134(void) { func_80354670(temp_s1, temp_s0->unk20); if (temp_s0->unk20 >= 0x13) { sp38(sp3C, sp34, sp28); - temp_s0->unk0[1] -= time_getDelta() * 200.0f; - sp28[0] += temp_s0->unk0[0]; - sp28[1] += temp_s0->unk0[1]; - sp28[2] += temp_s0->unk0[2]; + (&temp_s0->unk0)[1] -= time_getDelta() * 200.0f; + sp28[0] += (&temp_s0->unk0)[0]; + sp28[1] += (&temp_s0->unk0)[1]; + sp28[2] += (&temp_s0->unk0)[2]; projectile_setPosition(temp_s1, sp28); } else { projectile_getPosition(temp_s1, sp28); @@ -360,7 +360,7 @@ void func_8035529C(void) { u8 projectile_indx; AnimSprite* sp48; u8 sp47; - ParticleStruct1s* sp40; + ParticleStruct0s* sp40; f32 sp34[3]; f32 sp28[3]; @@ -369,9 +369,9 @@ void func_8035529C(void) { sp47 = func_8033E93C(); sp40 = func_8033E960(); ml_vec3f_clear(sp34); - sp40->unk0[0] = randf2(-40.0f, 40.0f); - sp40->unk0[1] = 0.0f; - sp40->unk0[2] = randf2(-40.0f, 40.0f); + (&sp40->unk0)[0] = randf2(-40.0f, 40.0f); + (&sp40->unk0)[1] = 0.0f; + (&sp40->unk0)[2] = randf2(-40.0f, 40.0f); projectile_setSprite(projectile_indx, 0x70F); projectile_setColor(projectile_indx, randi2(0xD2, 0xFF), randi2(0xBE, 0xFF), randi2(0xC8, 0xFF)); projectile_setPosition(projectile_indx, sp34); @@ -389,7 +389,7 @@ void func_8035529C(void) { } void func_803553E8(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; u8 temp_s1; ActorMarker *sp3C; FuncUnk40 sp38; @@ -410,10 +410,10 @@ void func_803553E8(void) { func_80354670(temp_s1, temp_s0->unk20); if (temp_s0->unk20 >= 0xD) { sp38(sp3C, sp34, sp28); - temp_s0->unk0[1] -= time_getDelta() * 40.0f; - sp28[0] += temp_s0->unk0[0]; - sp28[1] += temp_s0->unk0[1]; - sp28[2] += temp_s0->unk0[2]; + (&temp_s0->unk0)[1] -= time_getDelta() * 40.0f; + sp28[0] += (&temp_s0->unk0)[0]; + sp28[1] += (&temp_s0->unk0)[1]; + sp28[2] += (&temp_s0->unk0)[2]; projectile_setPosition(temp_s1, sp28); } else { projectile_getPosition(temp_s1, sp28); @@ -432,7 +432,7 @@ void func_80355550(void) { u8 projectile_indx; AnimSprite *sp38; u8 sp37; - ParticleStruct1s *sp30; + ParticleStruct0s *sp30; f32 sp24[3]; f32 sp18[3]; @@ -441,9 +441,9 @@ void func_80355550(void) { sp37 = func_8033E93C(); sp30 = func_8033E960(); ml_vec3f_clear(sp24); - sp30->unk0[0] = randf2(-30.0f, 30.0f); - sp30->unk0[1] = randf2(-30.0f, 30.0f); - sp30->unk0[2] = randf2(-30.0f, 30.0f); + (&sp30->unk0)[0] = randf2(-30.0f, 30.0f); + (&sp30->unk0)[1] = randf2(-30.0f, 30.0f); + (&sp30->unk0)[2] = randf2(-30.0f, 30.0f); if ((f64) randf() < 0.25) { projectile_setSprite(projectile_indx, ASSET_711_SPRITE_SPARKLE_DARK_BLUE); } else if ((f64) randf() < 0.5) { @@ -470,7 +470,7 @@ void func_80355550(void) { } void func_8035570C(void) { - ParticleStruct1s* temp_s0; + ParticleStruct0s* temp_s0; u8 temp_s1; ActorMarker *sp3C; FuncUnk40 sp38; @@ -489,10 +489,10 @@ void func_8035570C(void) { func_80354670(temp_s1, temp_s0->unk20); if (temp_s0->unk20 >= 0x13) { sp38(sp3C, sp34, sp28); - temp_s0->unk0[1] -= time_getDelta() * 80.0f; - sp28[0] += temp_s0->unk0[0]; - sp28[1] += temp_s0->unk0[1]; - sp28[2] += temp_s0->unk0[2]; + (&temp_s0->unk0)[1] -= time_getDelta() * 80.0f; + sp28[0] += (&temp_s0->unk0)[0]; + sp28[1] += (&temp_s0->unk0)[1]; + sp28[2] += (&temp_s0->unk0)[2]; projectile_setPosition(temp_s1, sp28); } else { projectile_getPosition(temp_s1, sp28); @@ -513,7 +513,7 @@ void func_80355864(void) { static s32 D_803863E4; f32 var_f2; Actor *sp4C; - ParticleStruct1s *sp48; + ParticleStruct0s *sp48; s32 sp44; f32 sp38[3]; f32 sp2C[3]; @@ -529,11 +529,11 @@ void func_80355864(void) { sp38[0] = sp4C->position[0]; sp38[1] = sp4C->position[1]; sp38[2] = sp4C->position[2]; - sp48->unk0[0] = randf2(-10.0f, 10.0f); - sp48->unk0[1] = (f32) ((randf() * 45.0f) + 10.0f); - sp48->unk0[2] = randf2(-10.0f, 10.0f); + (&sp48->unk0)[0] = randf2(-10.0f, 10.0f); + (&sp48->unk0)[1] = (f32) ((randf() * 45.0f) + 10.0f); + (&sp48->unk0)[2] = randf2(-10.0f, 10.0f); projectile_setSprite(sp5F, 0x713); - projectile_setPosition(sp5F, &sp38); + projectile_setPosition(sp5F, sp38); func_8033FCD8(sp5F, 0xC); animsprite_default(sp58); animsprite_set_state(sp58, ANIM_SPRITE_STATE_STOPPED); @@ -555,7 +555,7 @@ void func_80355864(void) { } void func_80355B00(void) { - ParticleStruct1s *sp44; + ParticleStruct0s *sp44; u8 projectile_indx; ActorMarker *pad40; Actor *sp38; @@ -587,9 +587,9 @@ void func_80355B00(void) { sp28[0] += sp34[0] * time_getDelta(); sp28[2] += sp34[2] * time_getDelta(); - sp28[0] += sp44->unk0[0]; - sp28[1] += sp44->unk0[1]; - sp28[2] += sp44->unk0[2]; + sp28[0] += (&sp44->unk0)[0]; + sp28[1] += (&sp44->unk0)[1]; + sp28[2] += (&sp44->unk0)[2]; projectile_setPosition(projectile_indx, sp28); } } diff --git a/src/core2/code_DAAA0.c b/src/core2/code_DAAA0.c index c344bd5e..3dfc2c67 100644 --- a/src/core2/code_DAAA0.c +++ b/src/core2/code_DAAA0.c @@ -6,6 +6,7 @@ extern void anSeq_clear(VLA**); extern void anSeq_PushStep_2Arg(s32, f32, void (*)(s32,s32), s32, s32); extern void anSeq_PushStep_3Arg(s32 , f32, void (*)(s32, s32,s32), s32, s32, s32); +vector(AnSeqElement) **anSeq_new(void); //TODO import from cutscenes/code_0.h extern Struct63s D_8038D904[];