resolve various core2 warnings

This commit is contained in:
Banjo Kazooie 2024-11-03 17:58:52 -06:00
parent c63b25153f
commit fd208f77ca
22 changed files with 151 additions and 154 deletions

View File

@ -41,7 +41,7 @@ s32 func_8024E640(s32 controller_index, s32 dst[3]);
f32 func_8024E668(s32 controller_index); f32 func_8024E668(s32 controller_index);
s32 controller_getStartButton(s32 controller_index); s32 controller_getStartButton(s32 controller_index);
s32 func_8024E698(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 controller_getJoystick(s32 controller_index, f32 dst[2]);
void pfsManager_update(void); void pfsManager_update(void);
void pfsManager_readData(); void pfsManager_readData();

View File

@ -615,9 +615,9 @@ typedef struct {
} Struct6Bs; } Struct6Bs;
typedef struct{ typedef struct{
s32 (* unk0)(struct actorMarker_s *, f32[3], f32[3], f32[3], s32); BKCollisionTri * (* 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); BKCollisionTri *(* 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 *(* unk8)(struct actorMarker_s *, f32[3], f32, f32[3], s32);
s32 (* unkC)(struct actorMarker_s *, f32[3], f32, f32[3], s32); s32 (* unkC)(struct actorMarker_s *, f32[3], f32, f32[3], s32);
} Struct6Cs; } Struct6Cs;

View File

@ -13,7 +13,7 @@ void timed_exitStaticCamera(f32);
extern BKCollisionTri *func_802E805C(BKCollisionList *, BKVertexList *, f32[3], s32, f32, s32, s32, s32, s32); 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_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_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 int func_80340020(s32, f32[3], s32, f32, s32, BKVertexList *, f32[3], f32[3]);
extern void boneTransformList_getBoneScale(s32, s32, f32[3]); extern void boneTransformList_getBoneScale(s32, s32, f32[3]);

View File

@ -368,7 +368,7 @@ void func_80243FE4(N_AL_Struct81s *arg0) {
alEvtqPostEvent(&D_802758CC->evtq, &evt, 33333); 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]; s32 pad[5];
u32 mask; u32 mask;
ALEventListItem *next_event_list; ALEventListItem *next_event_list;

View File

@ -2,9 +2,11 @@
#include "core1/core1.h" #include "core1/core1.h"
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
#include "core1/pfsmanager.h"
#include "version.h" #include "version.h"
#define PFSMANAGER_THREAD_STACK_SIZE 0x200 #define PFSMANAGER_THREAD_STACK_SIZE 0x200
extern struct { extern struct {
@ -120,7 +122,7 @@ s32 func_8024E698(s32 controller_index){
return D_80281138[controller_index].start_button; 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[0] = D_80281138[controller_index].unk24[0];
dst[1] = D_80281138[controller_index].unk24[1]; dst[1] = D_80281138[controller_index].unk24[1];
dst[2] = D_80281138[controller_index].unk24[2]; dst[2] = D_80281138[controller_index].unk24[2];

View File

@ -201,7 +201,7 @@ void anSeq_free(vector(AnSeqElement)** ppAnSeq){
free(ppAnSeq); free(ppAnSeq);
} }
vector(AnSeqElement) **anSeq_new(void){ vector(AnSeqElement) **anSeq_new(void) {
vector(AnSeqElement) **ptr = (vector(AnSeqElement) **)malloc(sizeof(vector(AnSeqElement) **)); vector(AnSeqElement) **ptr = (vector(AnSeqElement) **)malloc(sizeof(vector(AnSeqElement) **));
*ptr = vector_new(sizeof(AnSeqElement), 2); *ptr = vector_new(sizeof(AnSeqElement), 2);
anSeq_clear(ptr); anSeq_clear(ptr);

View File

@ -2,10 +2,12 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
#include "core1/pfsmanager.h"
/* .bss */ /* .bss */
struct { struct {
u32 pressed_count[0xE]; s32 pressed_count[0xE];
u32 released_count[0xE]; s32 released_count[0xE];
u8 state[0xE]; u8 state[0xE];
u8 prev_state[0xE]; u8 prev_state[0xE];
} bakey; } bakey;
@ -25,9 +27,9 @@ void bakey_update(void){
s32 i; s32 i;
bakey.pressed_count[0] = controller_getStartButton(0); bakey.pressed_count[0] = controller_getStartButton(0);
func_8024E60C(0, &bakey.pressed_count[1]); func_8024E60C(0, &bakey.pressed_count[BUTTON_Z]);
func_8024E6E0(0, &bakey.pressed_count[4]); func_8024E6E0(0, &bakey.pressed_count[BUTTON_D_UP]);
controller_copyFaceButtons(0, &bakey.pressed_count[8]); controller_copyFaceButtons(0, &bakey.pressed_count[BUTTON_A]);
for(i=0; i<0xE; i++){//L802954A8 for(i=0; i<0xE; i++){//L802954A8
bakey.prev_state[i] = bakey.state[i]; bakey.prev_state[i] = bakey.state[i];
if(bakey.state[i]){ if(bakey.state[i]){

View File

@ -7,11 +7,13 @@ extern void func_8025A6CC(enum comusic_e arg0, s32 arg1);
extern void chBottlesBonusCursor_func_802DF99C(void); extern void chBottlesBonusCursor_func_802DF99C(void);
extern f32 *chBottlesBonusCursor_func_802E05AC(s32); extern f32 *chBottlesBonusCursor_func_802E05AC(s32);
extern f32 func_802E4B38(void); 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); extern f32 time_func_8033DDB8(void);
BKAnimationList *model_getAnimationList(BKModelBin *arg0); BKAnimationList *model_getAnimationList(BKModelBin *arg0);
extern void func_8034BB08(s32); extern void func_8034BB08(s32);
extern void func_803458E4(f32[4], f32[4], f32[4], f32); 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_HEIGHT (4)
#define CH_BOTTLES_BONUS_PUZZLE_WIDTH (5) #define CH_BOTTLES_BONUS_PUZZLE_WIDTH (5)
@ -51,6 +53,7 @@ typedef struct{
extern void item_set(enum item_e, s32); extern void item_set(enum item_e, s32);
extern void actor_postdrawMethod(ActorMarker *); extern void actor_postdrawMethod(ActorMarker *);
extern void viewport_setNearAndFar(f32, f32); extern void viewport_setNearAndFar(f32, f32);
extern s16 *func_8030C704(void);
Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void chBottlesBonus_update(Actor *this); 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[0] = temp_v1[5 + arg0].unk0[0] * 0.01;
D_8037DF70[1] = temp_v1[5 + arg0].unk0[1] * 0.01; D_8037DF70[1] = temp_v1[5 + arg0].unk0[1] * 0.01;
D_8037DF70[2] = temp_v1[5 + arg0].unk0[2] * 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) { f32 *chBottlesBonus_func_802DD60C(s32 arg0) {
@ -246,10 +249,10 @@ f32 *chBottlesBonus_func_802DD60C(s32 arg0) {
D_8037DF80[1] = 0.0f; D_8037DF80[1] = 0.0f;
D_8037DF80[2] = 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]; f32 sp1C[3];
sp1C[0] = arg2[0] - chBottlesBonus_func_802DD584(arg1)[0]; 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); 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]; f32 sp1C[3];
func_8033A6B0(arg0, D_80368254[arg1], sp1C); func_8033A6B0(arg0, D_80368254[arg1], sp1C);
@ -431,20 +434,20 @@ s32 chBottlesBonus_getPuzzleIndex(void){
return chBottleBonusPuzzleIndex; 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 *actor;
actor = marker_getActor(chBottlesBonusMarker); actor = marker_getActor(chBottlesBonusMarker);
actor->state = 4; actor->state = 4;
actor->lifetime_value = 0.0f; actor->lifetime_value = 0.0f;
timedFunc_set_2(0.25f, item_set, ITEM_6_HOURGLASS, TRUE); timedFunc_set_2(0.25f, (GenFunction_2)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_0_HOURGLASS_TIMER, D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60 - 1);
} }
void chBottlesBonus_update(Actor *this) { void chBottlesBonus_update(Actor *this) {
ActorLocal_core2_560F0 *local; ActorLocal_core2_560F0 *local;
f32 sp50; f32 sp50;
s32 temp_v0_2; Struct6Ds *temp_v0_2;
s32 sp48; s32 sp48;
s32 cursor_state; s32 cursor_state;
s32 sp40; s32 sp40;
@ -469,9 +472,9 @@ void chBottlesBonus_update(Actor *this) {
D_8037DEAC = func_8033F5F8(func_8033A0B0(chBottleBonusBookselfModelBin), model_getVtxList(chBottleBonusBookselfModelBin)); D_8037DEAC = func_8033F5F8(func_8033A0B0(chBottleBonusBookselfModelBin), model_getVtxList(chBottleBonusBookselfModelBin));
func_8034CF74(local, 0, D_8037DEAC, 0xF0); 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++){ 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_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)); 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(); cursor_state = chBottlesBonusCursor_getState();
for(phi_s0_2 = 0; phi_s0_2 < CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT; phi_s0_2++){ for(phi_s0_2 = 0; phi_s0_2 < CH_BOTTLES_BONUS_PUZZLE_PIECE_COUNT; phi_s0_2++){
sp40 = D_8037DF90[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)) { if ((phi_s0_2 == sp48) && (cursor_state == 1) && !chBottlesBonusCursor_func_802E0538(phi_s0_2)) {
D_8037DF90[phi_s0_2] = TRUE; D_8037DF90[phi_s0_2] = TRUE;
} else { } else {

View File

@ -116,7 +116,7 @@ void func_80356CCC(Actor *this){
} }
}//L80356E88 }//L80356E88
if(this->state == 3){ if(this->state == 3){
if(ml_timer_update(&this->local, sp50)){ if(ml_timer_update(&local->unk0, sp50)){
func_803569F0(this, 4); func_803569F0(this, 4);
} }
}//L80356EAC }//L80356EAC

View File

@ -65,7 +65,7 @@ Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx
return actor; return actor;
} }
void chOverlayPressStart_func_802DCC78(ActorMarker *this){ void chOverlayPressStart_func_802DCC78(Actor *this){
D_8037DE80 = 0; D_8037DE80 = 0;
D_8037DE84 = 0; D_8037DE84 = 0;
} }

View File

@ -5,7 +5,7 @@
//textureList_getDataPtr //textureList_getDataPtr
u8 *func_802EA620(BKTextureList *this){ 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){ s32 texture_getPixelBitSize(BKTextureHeader *this){

View File

@ -6,6 +6,7 @@ extern void func_802EFA34(ParticleEmitter *, f32);
extern void func_802EFF5C(ParticleEmitter *, f32, f32, f32); extern void func_802EFF5C(ParticleEmitter *, f32, f32, f32);
extern void func_802EFF7C(ParticleEmitter *, f32, f32, f32); extern void func_802EFF7C(ParticleEmitter *, f32, f32, f32);
extern void func_802EFF9C(ParticleEmitter *, f32); extern void func_802EFF9C(ParticleEmitter *, f32);
extern ParticleEmitter *func_802F0EF0(u8);
/* .data */ /* .data */
s32 D_80368850[3] = {0xFF, 0xFF, 0xFE}; s32 D_80368850[3] = {0xFF, 0xFF, 0xFE};

View File

@ -3,6 +3,7 @@
#include "variables.h" #include "variables.h"
#include "core2/particle.h" #include "core2/particle.h"
extern ParticleEmitter *func_802F0EF0(u8);
/* .data */ /* .data */
s16 D_80368D80[] = { s16 D_80368D80[] = {

View File

@ -2,6 +2,8 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern ParticleEmitter *func_802F0EF0(u8);
/* .bss */ /* .bss */
u8 D_80380A80; u8 D_80380A80;

View File

@ -123,7 +123,7 @@ void func_8030C33C(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
} }
s32 func_8030C704(void){ s16 *func_8030C704(void){
return D_80382450; return D_80382450;
} }

View File

@ -4,7 +4,7 @@
#include "variables.h" #include "variables.h"
#include "n_libaudio.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); extern f32 sfx_randf2(f32, f32);
#define SFX_SRC_FLAG_0_UNKOWN (1 << 0) #define SFX_SRC_FLAG_0_UNKOWN (1 << 0)
@ -114,7 +114,7 @@ struct46s *func_8030C8DC(s32 indx){
return D_80382470 + indx - 1; return D_80382470 + indx - 1;
} }
Struct81s *func_8030C8F4(s32 indx){ N_AL_Struct81s *func_8030C8F4(s32 indx){
return D_80382470[indx - 1].unk0; return D_80382470[indx - 1].unk0;
} }

View File

@ -10,11 +10,12 @@ static void __lighting_init(f32 position[3], f32 rotation[3], f32 scale, f32[3],
void lighting_free(); void lighting_free();
void lighting_init(); void lighting_init();
#define NUM_LIGHTING_ELEM 0x10
/* .bss */ /* .bss */
struct { struct {
vector(Lighting) *vector_ptr; vector(Lighting) *vector_ptr;
Lighting *unk4[0x10]; Lighting *unk4[NUM_LIGHTING_ELEM];
Lighting **unk44; Lighting **unk44;
Lighting **unk48; // copy of unk44 Lighting **unk48; // copy of unk44
} sLightingVectorList; } sLightingVectorList;
@ -127,7 +128,7 @@ void lighting_free() {
void lighting_init() { void lighting_init() {
sLightingVectorList.vector_ptr = vector_new(sizeof(Lighting), 0x10); sLightingVectorList.vector_ptr = vector_new(sizeof(Lighting), 0x10);
sLightingVectorList.unk48 = &sLightingVectorList.unk44; sLightingVectorList.unk48 = &sLightingVectorList.unk4[NUM_LIGHTING_ELEM];
} }
void func_80333974(s32 index) { 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 *beginPtr = vector_getBegin(sLightingVectorList.vector_ptr);
Lighting *endPtr = vector_getEnd(sLightingVectorList.vector_ptr); Lighting *endPtr = vector_getEnd(sLightingVectorList.vector_ptr);
Lighting *iPtr; Lighting *iPtr;
@ -196,9 +197,9 @@ s32 __codeAC520_pad_func_80333C78(s32 arg0) {
for(iPtr = beginPtr; iPtr < endPtr; iPtr++) { for(iPtr = beginPtr; iPtr < endPtr; iPtr++) {
if(iPtr->unk34) { if(iPtr->unk34) {
file_isNextByteExpected(arg0, 1); 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_getNFloats_ifExpected(arg0, 3, &iPtr->unk18, 2);
file_getNWords_ifExpected(arg0, 4, &iPtr->rgb, 3); file_getNWords_ifExpected(arg0, 4, iPtr->rgb, 3);
} }
} }

View File

@ -4,6 +4,9 @@
#include "n_libaudio.h" #include "n_libaudio.h"
extern ALBank *music_get_sound_bank(void); 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_START[];
extern u8 soundfont1ctl_ROM_END[]; extern u8 soundfont1ctl_ROM_END[];

View File

@ -8,25 +8,6 @@
typedef s32 (*FuncUnk40)(ActorMarker *, s32, f32[3]); 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{ typedef struct particle_struct_0_s{
f32 unk0; f32 unk0;
f32 unk4; f32 unk4;

View File

@ -2,15 +2,15 @@
#include "functions.h" #include "functions.h"
#include "variables.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 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 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 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 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_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 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 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_80351954(Struct68s *arg);
void func_80351AD0(Struct68s *arg0, enum asset_e model_id); void func_80351AD0(Struct68s *arg0, enum asset_e model_id);
typedef struct { typedef struct {
s16 unk0; s16 unk0;
u8 unk2; u8 unk2;
@ -59,7 +59,7 @@ extern void func_80352114(void *, Struct68s *, f32);
Struct_Core2_C9F00_0 D_803725F4[] = { Struct_Core2_C9F00_0 D_803725F4[] = {
{ NULL, NULL}, { NULL, NULL},
{func_80351DE0, func_80351E60}, {(void (*)(void *, Struct68s *))func_80351DE0, (void (*)(void *, Struct68s *, f32))func_80351E60},
{chTumblar_init, chTumblar_update}, {chTumblar_init, chTumblar_update},
{ NULL, NULL}, { NULL, NULL},
{ NULL, func_8038B790}, { NULL, func_8038B790},
@ -115,8 +115,8 @@ Actor *func_80350E90(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return NULL; return NULL;
} }
s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4) { BKCollisionTri * func_80350F7C(ActorMarker *marker, f32 arg1[3], f32 arg2[3], f32 arg3[3], s32 arg4) {
s32 sp4C; BKCollisionTri * sp4C;
Struct68s *temp_s0; Struct68s *temp_s0;
BKVertexList *vtx_list; BKVertexList *vtx_list;
BKCollisionList *colision_list; BKCollisionList *colision_list;
@ -140,7 +140,7 @@ s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4
return sp4C; 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; s32 pad44;
Struct68s *sp40; Struct68s *sp40;
BKVertexList *vertex_list; 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); 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; s32 pad3C;
Struct68s *sp38; Struct68s *sp38;
BKVertexList *vtx_list; BKVertexList *vtx_list;
@ -317,7 +317,7 @@ s32 func_80351838(f32 position[3], s32 key_flag, s32 arg2) {
Struct68s *sp28; Struct68s *sp28;
rotation[0] = rotation[1] = rotation[2] = 0.0f; 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_80351538(sp28);
func_8038B5D8(&sp28->local, sp28, key_flag, arg2); func_8038B5D8(&sp28->local, sp28, key_flag, arg2);
return sp28 - D_803861B0.unk4; return sp28 - D_803861B0.unk4;
@ -413,9 +413,9 @@ void func_80351B28(Struct68s *arg0, f32 arg1[3]) {
if(arg0->unkC != NULL){ if(arg0->unkC != NULL){
sp34 = func_8033A12C(arg0->unkC); sp34 = func_8033A12C(arg0->unkC);
if(sp34 != NULL){ if(sp34 != NULL){
if(func_802EA760(sp34, 0, arg0->position, arg0->unk20, arg0->unk2C, 0, &sp48, &sp38)){ 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); func_802EA760(sp34, 0, arg1, arg0->unk20, arg0->unk2C, 0, sp3C, &sp38);
if(func_80309DBC(&sp48, &sp3C, sp38, &sp54, 3, 0)){ if(func_80309DBC(sp48, sp3C, sp38, sp54, 3, 0)){
return; return;
} }
} }
@ -463,8 +463,8 @@ void func_80351C48(void) {
if (D_80386180.unk2C != NULL) { if (D_80386180.unk2C != NULL) {
mlMtxIdent(); mlMtxIdent();
func_80252C08(D_80386180.unk2C->position, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL); func_80252C08(D_80386180.unk2C->position, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL);
mlMtx_apply_vec3f(&sp4C, &D_80386180.unk14); mlMtx_apply_vec3f(sp4C, D_80386180.unk14);
func_8028FAB0(&sp4C); func_8028FAB0(sp4C);
} }
D_80386180.unk2C = NULL; 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; arg0->unk4[1] = sinf(((arg0->unk34 * arg0->unk0) / 180.0) * BAD_PI) * 3.0f;
TUPLE_ADD_COPY(sp24, arg0->unk1C, arg0->unk10) TUPLE_ADD_COPY(sp24, arg0->unk1C, arg0->unk10)
func_80351B28(arg1, &sp24); func_80351B28(arg1, sp24);
TUPLE_ADD_COPY(sp24, arg0->unk28, arg0->unk4) TUPLE_ADD_COPY(sp24, arg0->unk28, arg0->unk4)
func_80351C2C(arg1, &sp24); func_80351C2C(arg1, sp24);
} }

View File

@ -8,7 +8,7 @@
extern f32 player_getYaw(void); extern f32 player_getYaw(void);
extern void projectile_getPosition(u8 arg0, f32 arg1[3]); extern void projectile_getPosition(u8 arg0, f32 arg1[3]);
extern void func_8033FC98(u8 arg0, s32 arg1); extern void func_8033FC98(u8 arg0, s32 arg1);
extern f32 *bundle_getVelocity(Actor *actor);
/* .data */ /* .data */
u8 D_803726C0[] = { 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1}; 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; u8 projectile_indx;
AnimSprite* sp48; AnimSprite* sp48;
u8 sp47; u8 sp47;
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
f32 plyr_pos[3]; f32 plyr_pos[3];
f32 sp28[3]; f32 sp28[3];
@ -35,14 +35,14 @@ void func_803546E8(void) {
temp_s0 = func_8033E960(); temp_s0 = func_8033E960();
player_getPosition(plyr_pos); player_getPosition(plyr_pos);
temp_s0->unk0[0] = randf2(-10.0f, 10.0f); temp_s0->unk0 = randf2(-10.0f, 10.0f);
temp_s0->unk0[1] = (randf() * 35.0f) + 50.0f; temp_s0->unk4 = (randf() * 35.0f) + 50.0f;
temp_s0->unk0[2] = randf2(-10.0f, 10.0f); temp_s0->unk8 = randf2(-10.0f, 10.0f);
func_802589E4(sp28, player_getYaw(), 48.0f); func_802589E4(sp28, player_getYaw(), 48.0f);
sp28[1] = 0.0f; sp28[1] = 0.0f;
temp_s0->unk0[0] += sp28[0]; temp_s0->unk0 += sp28[0];
temp_s0->unk0[1] += sp28[1]; temp_s0->unk4 += sp28[1];
temp_s0->unk0[2] += sp28[2]; temp_s0->unk8 += sp28[2];
projectile_setSprite(projectile_indx, ASSET_713_SPRITE_SPARKLE_YELLOW); projectile_setSprite(projectile_indx, ASSET_713_SPRITE_SPARKLE_YELLOW);
projectile_setPosition(projectile_indx, plyr_pos); projectile_setPosition(projectile_indx, plyr_pos);
func_8033FCD8(projectile_indx, 0xC); func_8033FCD8(projectile_indx, 0xC);
@ -60,7 +60,7 @@ void func_803546E8(void) {
} }
void func_8035489C(void) { void func_8035489C(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
u8 projectile_indx; u8 projectile_indx;
f32 playerVelocity[3]; f32 playerVelocity[3];
f32 playerPosition[3]; f32 playerPosition[3];
@ -80,9 +80,9 @@ void func_8035489C(void) {
playerVelocity[1] = 0.0f; playerVelocity[1] = 0.0f;
playerPosition[0] += playerVelocity[0] * time_getDelta(); playerPosition[0] += playerVelocity[0] * time_getDelta();
playerPosition[2] += playerVelocity[2] * time_getDelta(); playerPosition[2] += playerVelocity[2] * time_getDelta();
playerPosition[0] += temp_s0->unk0[0]; playerPosition[0] += temp_s0->unk0;
playerPosition[1] += temp_s0->unk0[1]; playerPosition[1] += temp_s0->unk4;
playerPosition[2] += temp_s0->unk0[2]; playerPosition[2] += temp_s0->unk8;
projectile_setPosition(projectile_indx, playerPosition); projectile_setPosition(projectile_indx, playerPosition);
} }
} }
@ -94,7 +94,7 @@ void func_80354998(void) {
ActorMarker *sp50; ActorMarker *sp50;
AnimSprite *sp4C; AnimSprite *sp4C;
u8 sp4B; u8 sp4B;
ParticleStruct1s *temp_s0; ParticleStruct0s *temp_s0;
f32 sp38[3]; f32 sp38[3];
f32 sp2C[3]; f32 sp2C[3];
s32 sp28; s32 sp28;
@ -105,13 +105,13 @@ void func_80354998(void) {
sp4B = func_8033E93C(); sp4B = func_8033E93C();
temp_s0 = func_8033E960(); temp_s0 = func_8033E960();
ml_vec3f_clear(sp38); ml_vec3f_clear(sp38);
temp_s0->unk0[0] = randf2(-2.0f, 2.0f); (&temp_s0->unk0)[0] = randf2(-2.0f, 2.0f);
temp_s0->unk0[1] = 0.0f; (&temp_s0->unk0)[1] = 0.0f;
randf2(-10.0f, 10.0f); randf2(-10.0f, 10.0f);
temp_s0->unk0[2] = randf2(-2.0f, 2.0f); (&temp_s0->unk0)[2] = randf2(-2.0f, 2.0f);
temp_s0->unkC[0] = 0.0f; (&temp_s0->unkC)[0] = 0.0f;
temp_s0->unkC[1] = -0.05f; (&temp_s0->unkC)[1] = -0.05f;
temp_s0->unkC[2] = 0.0f; (&temp_s0->unkC)[2] = 0.0f;
animsprite_default(sp4C); animsprite_default(sp4C);
animsprite_set_speed(sp4C, 3.0f); animsprite_set_speed(sp4C, 3.0f);
animsprite_set_state(sp4C, ANIM_SPRITE_STATE_STOPPED); animsprite_set_state(sp4C, ANIM_SPRITE_STATE_STOPPED);
@ -134,23 +134,23 @@ void func_80354998(void) {
break; break;
case 0x548: case 0x548:
sp28 = 5; sp28 = 5;
ml_vec3f_clear(temp_s0->unk0); ml_vec3f_clear(&temp_s0->unk0);
ml_vec3f_clear(temp_s0->unkC); ml_vec3f_clear(&temp_s0->unkC);
break; break;
case 0x549: case 0x549:
sp28 = 3; sp28 = 3;
ml_vec3f_clear(temp_s0->unk0); ml_vec3f_clear(&temp_s0->unk0);
ml_vec3f_clear(temp_s0->unkC); ml_vec3f_clear(&temp_s0->unkC);
break; break;
case 0x547: case 0x547:
sp28 = 1; sp28 = 1;
ml_vec3f_clear(temp_s0->unk0); ml_vec3f_clear(&temp_s0->unk0);
ml_vec3f_clear(temp_s0->unkC); ml_vec3f_clear(&temp_s0->unkC);
break; break;
default: default:
sp28 = 3; sp28 = 3;
ml_vec3f_clear(temp_s0->unk0); ml_vec3f_clear(&temp_s0->unk0);
ml_vec3f_clear(temp_s0->unkC); ml_vec3f_clear(&temp_s0->unkC);
break; break;
} }
projectile_setSprite(sp57, sp28 + 0x710); projectile_setSprite(sp57, sp28 + 0x710);
@ -166,7 +166,7 @@ void func_80354998(void) {
} }
void func_80354C18(void) { void func_80354C18(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
s32 pad; s32 pad;
ActorMarker *sp4C; ActorMarker *sp4C;
u8 sp4B; u8 sp4B;
@ -198,16 +198,16 @@ void func_80354C18(void) {
projectile_getPosition(projectile_indx, sp34); projectile_getPosition(projectile_indx, sp34);
} }
func_80344E7C(sp4B, sp28); func_80344E7C(sp4B, sp28);
sp28[0] += temp_s0->unkC[0]; sp28[0] += (&temp_s0->unkC)[0];
sp28[1] += temp_s0->unkC[1]; sp28[1] += (&temp_s0->unkC)[1];
sp28[2] += temp_s0->unkC[2]; sp28[2] += (&temp_s0->unkC)[2];
func_80344E3C(sp4B, sp28); func_80344E3C(sp4B, sp28);
temp_s0->unk0[0] += sp28[0]; (&temp_s0->unk0)[0] += sp28[0];
temp_s0->unk0[1] += sp28[1]; (&temp_s0->unk0)[1] += sp28[1];
temp_s0->unk0[2] += sp28[2]; (&temp_s0->unk0)[2] += sp28[2];
sp34[0] += temp_s0->unk0[0]; sp34[0] += (&temp_s0->unk0)[0];
sp34[1] += temp_s0->unk0[1]; sp34[1] += (&temp_s0->unk0)[1];
sp34[2] += temp_s0->unk0[2]; sp34[2] += (&temp_s0->unk0)[2];
projectile_setPosition(projectile_indx, sp34); projectile_setPosition(projectile_indx, sp34);
} }
func_8033FC34(projectile_indx, 0xB4); func_8033FC34(projectile_indx, 0xB4);
@ -217,7 +217,7 @@ void func_80354C18(void) {
void func_80354DC8(void){} void func_80354DC8(void){}
void func_80354DD0(void) { void func_80354DD0(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
AnimSprite* sp40; AnimSprite* sp40;
u8 sp3F; u8 sp3F;
u8 pad3C[3]; u8 pad3C[3];
@ -230,9 +230,9 @@ void func_80354DD0(void) {
sp3F = func_8033E93C(); sp3F = func_8033E93C();
temp_s0 = func_8033E960(); temp_s0 = func_8033E960();
ml_vec3f_clear(sp2C); ml_vec3f_clear(sp2C);
temp_s0->unk0[0] = 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)[1] = randf2(-65.0f, -65.0f);
temp_s0->unk0[2] = randf2(-50.0f, 50.0f); (&temp_s0->unk0)[2] = randf2(-50.0f, 50.0f);
projectile_setSprite(projectile_indx, ASSET_710_SPRITE_SPARKLE_PURPLE); projectile_setSprite(projectile_indx, ASSET_710_SPRITE_SPARKLE_PURPLE);
projectile_setColor(projectile_indx, 0xE1, 0xFF, 0); projectile_setColor(projectile_indx, 0xE1, 0xFF, 0);
projectile_setPosition(projectile_indx, sp2C); projectile_setPosition(projectile_indx, sp2C);
@ -249,7 +249,7 @@ void func_80354DD0(void) {
} }
void func_80354EEC(void) { void func_80354EEC(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
s32 pad; s32 pad;
ActorMarker *sp3C; ActorMarker *sp3C;
FuncUnk40 sp38; FuncUnk40 sp38;
@ -273,9 +273,9 @@ void func_80354EEC(void) {
} else { } else {
func_8033FC98(temp_s1, 1); func_8033FC98(temp_s1, 1);
} }
sp28[0] += temp_s0->unk0[0]; sp28[0] += (&temp_s0->unk0)[0];
sp28[1] += temp_s0->unk0[1]; sp28[1] += (&temp_s0->unk0)[1];
sp28[2] += temp_s0->unk0[2]; sp28[2] += (&temp_s0->unk0)[2];
projectile_setPosition(temp_s1, sp28); projectile_setPosition(temp_s1, sp28);
} }
} }
@ -289,7 +289,7 @@ void func_8035500C(void) {
u8 projectile_indx; u8 projectile_indx;
AnimSprite* sp40; AnimSprite* sp40;
u8 sp3F; u8 sp3F;
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
f32 sp2C[3]; f32 sp2C[3];
f32 sp20[3]; f32 sp20[3];
@ -298,9 +298,9 @@ void func_8035500C(void) {
sp3F = func_8033E93C(); sp3F = func_8033E93C();
temp_s0 = func_8033E960(); temp_s0 = func_8033E960();
ml_vec3f_clear(sp2C); ml_vec3f_clear(sp2C);
temp_s0->unk0[0] = 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)[1] = randf2(-40.0f, 40.0f);
temp_s0->unk0[2] = randf2(-40.0f, 40.0f); (&temp_s0->unk0)[2] = randf2(-40.0f, 40.0f);
projectile_setSprite(projectile_indx, 0x70F); projectile_setSprite(projectile_indx, 0x70F);
projectile_setColor(projectile_indx, 0xFF, 0xE6, 0xF5); projectile_setColor(projectile_indx, 0xFF, 0xE6, 0xF5);
projectile_setPosition(projectile_indx, sp2C); projectile_setPosition(projectile_indx, sp2C);
@ -318,7 +318,7 @@ void func_8035500C(void) {
} }
void func_80355134(void) { void func_80355134(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
u8 temp_s1; u8 temp_s1;
ActorMarker *sp3C; ActorMarker *sp3C;
FuncUnk40 sp38; FuncUnk40 sp38;
@ -339,10 +339,10 @@ void func_80355134(void) {
func_80354670(temp_s1, temp_s0->unk20); func_80354670(temp_s1, temp_s0->unk20);
if (temp_s0->unk20 >= 0x13) { if (temp_s0->unk20 >= 0x13) {
sp38(sp3C, sp34, sp28); sp38(sp3C, sp34, sp28);
temp_s0->unk0[1] -= time_getDelta() * 200.0f; (&temp_s0->unk0)[1] -= time_getDelta() * 200.0f;
sp28[0] += temp_s0->unk0[0]; sp28[0] += (&temp_s0->unk0)[0];
sp28[1] += temp_s0->unk0[1]; sp28[1] += (&temp_s0->unk0)[1];
sp28[2] += temp_s0->unk0[2]; sp28[2] += (&temp_s0->unk0)[2];
projectile_setPosition(temp_s1, sp28); projectile_setPosition(temp_s1, sp28);
} else { } else {
projectile_getPosition(temp_s1, sp28); projectile_getPosition(temp_s1, sp28);
@ -360,7 +360,7 @@ void func_8035529C(void) {
u8 projectile_indx; u8 projectile_indx;
AnimSprite* sp48; AnimSprite* sp48;
u8 sp47; u8 sp47;
ParticleStruct1s* sp40; ParticleStruct0s* sp40;
f32 sp34[3]; f32 sp34[3];
f32 sp28[3]; f32 sp28[3];
@ -369,9 +369,9 @@ void func_8035529C(void) {
sp47 = func_8033E93C(); sp47 = func_8033E93C();
sp40 = func_8033E960(); sp40 = func_8033E960();
ml_vec3f_clear(sp34); ml_vec3f_clear(sp34);
sp40->unk0[0] = randf2(-40.0f, 40.0f); (&sp40->unk0)[0] = randf2(-40.0f, 40.0f);
sp40->unk0[1] = 0.0f; (&sp40->unk0)[1] = 0.0f;
sp40->unk0[2] = randf2(-40.0f, 40.0f); (&sp40->unk0)[2] = randf2(-40.0f, 40.0f);
projectile_setSprite(projectile_indx, 0x70F); projectile_setSprite(projectile_indx, 0x70F);
projectile_setColor(projectile_indx, randi2(0xD2, 0xFF), randi2(0xBE, 0xFF), randi2(0xC8, 0xFF)); projectile_setColor(projectile_indx, randi2(0xD2, 0xFF), randi2(0xBE, 0xFF), randi2(0xC8, 0xFF));
projectile_setPosition(projectile_indx, sp34); projectile_setPosition(projectile_indx, sp34);
@ -389,7 +389,7 @@ void func_8035529C(void) {
} }
void func_803553E8(void) { void func_803553E8(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
u8 temp_s1; u8 temp_s1;
ActorMarker *sp3C; ActorMarker *sp3C;
FuncUnk40 sp38; FuncUnk40 sp38;
@ -410,10 +410,10 @@ void func_803553E8(void) {
func_80354670(temp_s1, temp_s0->unk20); func_80354670(temp_s1, temp_s0->unk20);
if (temp_s0->unk20 >= 0xD) { if (temp_s0->unk20 >= 0xD) {
sp38(sp3C, sp34, sp28); sp38(sp3C, sp34, sp28);
temp_s0->unk0[1] -= time_getDelta() * 40.0f; (&temp_s0->unk0)[1] -= time_getDelta() * 40.0f;
sp28[0] += temp_s0->unk0[0]; sp28[0] += (&temp_s0->unk0)[0];
sp28[1] += temp_s0->unk0[1]; sp28[1] += (&temp_s0->unk0)[1];
sp28[2] += temp_s0->unk0[2]; sp28[2] += (&temp_s0->unk0)[2];
projectile_setPosition(temp_s1, sp28); projectile_setPosition(temp_s1, sp28);
} else { } else {
projectile_getPosition(temp_s1, sp28); projectile_getPosition(temp_s1, sp28);
@ -432,7 +432,7 @@ void func_80355550(void) {
u8 projectile_indx; u8 projectile_indx;
AnimSprite *sp38; AnimSprite *sp38;
u8 sp37; u8 sp37;
ParticleStruct1s *sp30; ParticleStruct0s *sp30;
f32 sp24[3]; f32 sp24[3];
f32 sp18[3]; f32 sp18[3];
@ -441,9 +441,9 @@ void func_80355550(void) {
sp37 = func_8033E93C(); sp37 = func_8033E93C();
sp30 = func_8033E960(); sp30 = func_8033E960();
ml_vec3f_clear(sp24); ml_vec3f_clear(sp24);
sp30->unk0[0] = randf2(-30.0f, 30.0f); (&sp30->unk0)[0] = randf2(-30.0f, 30.0f);
sp30->unk0[1] = randf2(-30.0f, 30.0f); (&sp30->unk0)[1] = randf2(-30.0f, 30.0f);
sp30->unk0[2] = randf2(-30.0f, 30.0f); (&sp30->unk0)[2] = randf2(-30.0f, 30.0f);
if ((f64) randf() < 0.25) { if ((f64) randf() < 0.25) {
projectile_setSprite(projectile_indx, ASSET_711_SPRITE_SPARKLE_DARK_BLUE); projectile_setSprite(projectile_indx, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
} else if ((f64) randf() < 0.5) { } else if ((f64) randf() < 0.5) {
@ -470,7 +470,7 @@ void func_80355550(void) {
} }
void func_8035570C(void) { void func_8035570C(void) {
ParticleStruct1s* temp_s0; ParticleStruct0s* temp_s0;
u8 temp_s1; u8 temp_s1;
ActorMarker *sp3C; ActorMarker *sp3C;
FuncUnk40 sp38; FuncUnk40 sp38;
@ -489,10 +489,10 @@ void func_8035570C(void) {
func_80354670(temp_s1, temp_s0->unk20); func_80354670(temp_s1, temp_s0->unk20);
if (temp_s0->unk20 >= 0x13) { if (temp_s0->unk20 >= 0x13) {
sp38(sp3C, sp34, sp28); sp38(sp3C, sp34, sp28);
temp_s0->unk0[1] -= time_getDelta() * 80.0f; (&temp_s0->unk0)[1] -= time_getDelta() * 80.0f;
sp28[0] += temp_s0->unk0[0]; sp28[0] += (&temp_s0->unk0)[0];
sp28[1] += temp_s0->unk0[1]; sp28[1] += (&temp_s0->unk0)[1];
sp28[2] += temp_s0->unk0[2]; sp28[2] += (&temp_s0->unk0)[2];
projectile_setPosition(temp_s1, sp28); projectile_setPosition(temp_s1, sp28);
} else { } else {
projectile_getPosition(temp_s1, sp28); projectile_getPosition(temp_s1, sp28);
@ -513,7 +513,7 @@ void func_80355864(void) {
static s32 D_803863E4; static s32 D_803863E4;
f32 var_f2; f32 var_f2;
Actor *sp4C; Actor *sp4C;
ParticleStruct1s *sp48; ParticleStruct0s *sp48;
s32 sp44; s32 sp44;
f32 sp38[3]; f32 sp38[3];
f32 sp2C[3]; f32 sp2C[3];
@ -529,11 +529,11 @@ void func_80355864(void) {
sp38[0] = sp4C->position[0]; sp38[0] = sp4C->position[0];
sp38[1] = sp4C->position[1]; sp38[1] = sp4C->position[1];
sp38[2] = sp4C->position[2]; sp38[2] = sp4C->position[2];
sp48->unk0[0] = randf2(-10.0f, 10.0f); (&sp48->unk0)[0] = randf2(-10.0f, 10.0f);
sp48->unk0[1] = (f32) ((randf() * 45.0f) + 10.0f); (&sp48->unk0)[1] = (f32) ((randf() * 45.0f) + 10.0f);
sp48->unk0[2] = randf2(-10.0f, 10.0f); (&sp48->unk0)[2] = randf2(-10.0f, 10.0f);
projectile_setSprite(sp5F, 0x713); projectile_setSprite(sp5F, 0x713);
projectile_setPosition(sp5F, &sp38); projectile_setPosition(sp5F, sp38);
func_8033FCD8(sp5F, 0xC); func_8033FCD8(sp5F, 0xC);
animsprite_default(sp58); animsprite_default(sp58);
animsprite_set_state(sp58, ANIM_SPRITE_STATE_STOPPED); animsprite_set_state(sp58, ANIM_SPRITE_STATE_STOPPED);
@ -555,7 +555,7 @@ void func_80355864(void) {
} }
void func_80355B00(void) { void func_80355B00(void) {
ParticleStruct1s *sp44; ParticleStruct0s *sp44;
u8 projectile_indx; u8 projectile_indx;
ActorMarker *pad40; ActorMarker *pad40;
Actor *sp38; Actor *sp38;
@ -587,9 +587,9 @@ void func_80355B00(void) {
sp28[0] += sp34[0] * time_getDelta(); sp28[0] += sp34[0] * time_getDelta();
sp28[2] += sp34[2] * time_getDelta(); sp28[2] += sp34[2] * time_getDelta();
sp28[0] += sp44->unk0[0]; sp28[0] += (&sp44->unk0)[0];
sp28[1] += sp44->unk0[1]; sp28[1] += (&sp44->unk0)[1];
sp28[2] += sp44->unk0[2]; sp28[2] += (&sp44->unk0)[2];
projectile_setPosition(projectile_indx, sp28); projectile_setPosition(projectile_indx, sp28);
} }
} }

View File

@ -6,6 +6,7 @@
extern void anSeq_clear(VLA**); extern void anSeq_clear(VLA**);
extern void anSeq_PushStep_2Arg(s32, f32, void (*)(s32,s32), s32, s32); 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); 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 //TODO import from cutscenes/code_0.h
extern Struct63s D_8038D904[]; extern Struct63s D_8038D904[];