identified/labeled camera functions
This commit is contained in:
@@ -524,7 +524,7 @@ segments:
|
||||
- [0xF603C0, c, ba/model] #DONE
|
||||
- [0xF60FB0, c, code_B650] #DONE
|
||||
- [0xF611B0, c, code_B850] #DONE
|
||||
- [0xF614B0, c, code_BB50] #DONE
|
||||
- [0xF614B0, c, eggshatter] #DONE
|
||||
- [0xF61680, c, code_BD20] #DONE
|
||||
- [0xF61A40, c, code_C0E0] #DONE
|
||||
- [0xF61D50, c, code_C3F0] #DONE
|
||||
@@ -616,29 +616,33 @@ segments:
|
||||
- [0xF89050, c, code_336F0] #DONE
|
||||
- [0xF89410, c, code_33AB0] #DONE
|
||||
- [0xF89590, c, code_33C30] #DONE
|
||||
- [0xF896A0, c, code_33D40] #DONE
|
||||
- [0xF896A0, c, nc/staticCamera] #DONE
|
||||
- [0xF898F0, c, code_33F90] #DONE
|
||||
- [0xF89C70, c, code_34310] #DONE
|
||||
- [0xF8A0F0, c, code_34790] #DONE
|
||||
- [0xF8AE80, c, code_35520] #DONE
|
||||
- [0xF8B010, c, code_356B0] #DONE
|
||||
- [0xF8B010, c, nc/dynamicCamera] #DONE
|
||||
- [0xF8D310, c, code_379B0] #DONE
|
||||
- [0xF8D630, c, code_37CD0] #DONE
|
||||
- [0xF8D630, c, nc/randomCamera] #DONE
|
||||
- [0xF8D7B0, c, code_37E50] #DONE
|
||||
- [0xF8DAB0, c, code_38150] #DONE
|
||||
- [0xF8DC40, c, code_382E0] #DONE
|
||||
- [0xF8DDC0, c, code_38460] #DONE
|
||||
- [0xF8DF90, c, code_38630] #DONE
|
||||
- [0xF8E240, c, code_388E0] #DONE
|
||||
- [0xF8E430, c, code_38AD0] #DONE
|
||||
- [0xF8E8A0, c, code_38F40] #DONE
|
||||
- [0xF8EAF0, c, code_39190] #DONE
|
||||
- [0xF8F010, c, code_396B0] #DONE
|
||||
- [0xF8F370, c, code_39A10] #DONE
|
||||
- [0xF8F850, c, code_39EF0] #DONE
|
||||
- [0xF90770, c, code_3AE10] #DONE
|
||||
- [0xF8DAB0, c, nc/dynamicCam10] #DONE
|
||||
- [0xF8DC40, c, nc/dynamicCamD] #DONE
|
||||
- [0xF8DDC0, c, nc/dynamicCam5] #DONE
|
||||
- [0xF8DF90, c, nc/dynamicCam11] #DONE
|
||||
- [0xF8E240, c, nc/dynamicCam8] #DONE
|
||||
- [0xF8E430, c, nc/dynamicCam4] #DONE
|
||||
- [0xF8E8A0, c, nc/dynamicCamC] #DONE
|
||||
- [0xF8EAF0, c, code_F8EAF0] #DONE
|
||||
- [0xF8ED40, c, nc/dynamicCamB] #DONE
|
||||
- [0xF8F010, c, nc/dynamicCam13] #DONE
|
||||
- [0xF8F370, c, nc/dynamicCam9] #DONE
|
||||
- [0xF8F850, c, nc/dynamicCam12] #DONE
|
||||
- [0xF90280, c, nc/dynamicCam1] #DONE
|
||||
- [0xF904A0, c, nc/dynamicCam3] #DONE
|
||||
- [0xF90770, c, nc/dynamicCamA] #DONE
|
||||
- [0xF90C20, c, code_3B2C0] #DONE
|
||||
- [0xF90F20, c, code_3B5C0] #DONE
|
||||
- [0xF90E30, c, nc/dynamicCamF] #DONE
|
||||
- [0xF90F20, c, nc/firstpersoncamera] #DONE
|
||||
- [0xF914E0, c, spawnqueue] #DONE
|
||||
- [0xF92D30, c, ch/gameSelect] #DONE
|
||||
- [0xF94430, c, code_3EAD0] #DONE
|
||||
@@ -899,7 +903,7 @@ segments:
|
||||
- [0x10320A0, .data, code_90E0]
|
||||
- [0x1032150, .data, ba/model]
|
||||
- [0x1032150, .data, code_B850]
|
||||
- [0x1032170, .data, code_BB50]
|
||||
- [0x1032170, .data, eggshatter]
|
||||
- [0x10321C0, .data, code_C0E0]
|
||||
- [0x10321F0, .data, code_E910]
|
||||
- [0x1032E10, .data, code_FD60]
|
||||
@@ -933,10 +937,10 @@ segments:
|
||||
- [0x1034160, .data, code_34310]
|
||||
- [0x10341B0, .data, code_34790]
|
||||
- [0x1034200, .data, code_35520]
|
||||
- [0x10346A0, .data, code_356B0]
|
||||
- [0x10346A0, .data, nc/dynamicCamera]
|
||||
- [0x1034730, .data, code_37E50]
|
||||
- [0x1034760, .data, code_382E0]
|
||||
- [0x1034770, .data, code_3AE10]
|
||||
- [0x1034760, .data, nc/dynamicCamD]
|
||||
- [0x1034770, .data, nc/dynamicCamA]
|
||||
- [0x1034790, .data, spawnqueue]
|
||||
- [0x10347A0, .data, ch/gameSelect]
|
||||
- [0x1034900, .data, code_3EAD0]
|
||||
@@ -1197,18 +1201,20 @@ segments:
|
||||
- [0x10446E0, .rodata, code_33F90]
|
||||
- [0x1044700, .rodata, code_34310]
|
||||
- [0x1044710, .rodata, code_34790]
|
||||
- [0x1044740, .rodata, code_356B0]
|
||||
- [0x1044740, .rodata, nc/dynamicCamera]
|
||||
- [0x1044890, .rodata, code_37E50]
|
||||
- [0x10448B0, .rodata, code_38150]
|
||||
- [0x10448C0, .rodata, code_382E0]
|
||||
- [0x10448D0, .rodata, code_38460]
|
||||
- [0x10448E0, .rodata, code_38AD0]
|
||||
- [0x10448F0, .rodata, code_38F40]
|
||||
- [0x1044900, .rodata, code_39190]
|
||||
- [0x1044920, .rodata, code_396B0]
|
||||
- [0x1044930, .rodata, code_39A10]
|
||||
- [0x1044950, .rodata, code_39EF0]
|
||||
- [0x1044990, .rodata, code_3AE10]
|
||||
- [0x10448B0, .rodata, nc/dynamicCam10]
|
||||
- [0x10448C0, .rodata, nc/dynamicCamD]
|
||||
- [0x10448D0, .rodata, nc/dynamicCam5]
|
||||
- [0x10448E0, .rodata, nc/dynamicCam4]
|
||||
- [0x10448F0, .rodata, nc/dynamicCamC]
|
||||
- [0x1044900, .rodata, code_F8EAF0]
|
||||
- [0x1044910, .rodata, nc/dynamicCamB]
|
||||
- [0x1044920, .rodata, nc/dynamicCam13]
|
||||
- [0x1044930, .rodata, nc/dynamicCam9]
|
||||
- [0x1044950, .rodata, nc/dynamicCam12]
|
||||
- [0x1044980, .rodata, nc/dynamicCam3]
|
||||
- [0x1044990, .rodata, nc/dynamicCamA]
|
||||
- [0x10449A0, .rodata, spawnqueue]
|
||||
- [0x10449F0, .rodata, ch/gameSelect]
|
||||
- [0x1044B70, .rodata, ch/bubble]
|
||||
@@ -1380,7 +1386,7 @@ segments:
|
||||
- [0x1048560, .bss, statetimer]
|
||||
- [0x1048560, .bss, ba/model]
|
||||
- [0x1048560, .bss, code_B650]
|
||||
- [0x1048560, .bss, code_BB50]
|
||||
- [0x1048560, .bss, eggshatter]
|
||||
- [0x1048560, .bss, code_BD20]
|
||||
- [0x1048560, .bss, code_C0E0]
|
||||
- [0x1048560, .bss, code_C3F0]
|
||||
@@ -1462,26 +1468,29 @@ segments:
|
||||
- [0x1048560, .bss, bs/washy]
|
||||
- [0x1048560, .bss, nc/cameranodelist]
|
||||
- [0x1048560, .bss, code_33C30]
|
||||
- [0x1048560, .bss, code_33D40]
|
||||
- [0x1048560, .bss, nc/staticCamera]
|
||||
- [0x1048560, .bss, code_34310]
|
||||
- [0x1048560, .bss, code_34790]
|
||||
- [0x1048560, .bss, code_35520]
|
||||
- [0x1048560, .bss, code_356B0]
|
||||
- [0x1048560, .bss, nc/dynamicCamera]
|
||||
- [0x1048560, .bss, code_379B0]
|
||||
- [0x1048560, .bss, code_37CD0]
|
||||
- [0x1048560, .bss, nc/randomCamera]
|
||||
- [0x1048560, .bss, code_37E50]
|
||||
- [0x1048560, .bss, code_38150]
|
||||
- [0x1048560, .bss, code_38460]
|
||||
- [0x1048560, .bss, code_38630]
|
||||
- [0x1048560, .bss, code_388E0]
|
||||
- [0x1048560, .bss, code_38AD0]
|
||||
- [0x1048560, .bss, code_38F40]
|
||||
- [0x1048560, .bss, code_39190]
|
||||
- [0x1048560, .bss, code_396B0]
|
||||
- [0x1048560, .bss, code_39A10]
|
||||
- [0x1048560, .bss, code_39EF0]
|
||||
- [0x1048560, .bss, nc/dynamicCam10]
|
||||
- [0x1048560, .bss, nc/dynamicCam5]
|
||||
- [0x1048560, .bss, nc/dynamicCam11]
|
||||
- [0x1048560, .bss, nc/dynamicCam8]
|
||||
- [0x1048560, .bss, nc/dynamicCam4]
|
||||
- [0x1048560, .bss, nc/dynamicCamC]
|
||||
- [0x1048560, .bss, code_F8EAF0]
|
||||
- [0x1048560, .bss, nc/dynamicCamB]
|
||||
- [0x1048560, .bss, nc/dynamicCam13]
|
||||
- [0x1048560, .bss, nc/dynamicCam9]
|
||||
- [0x1048560, .bss, nc/dynamicCam12]
|
||||
- [0x1048560, .bss, nc/dynamicCam3]
|
||||
- [0x1048560, .bss, code_3B2C0]
|
||||
- [0x1048560, .bss, code_3B5C0]
|
||||
- [0x1048560, .bss, nc/dynamicCamF]
|
||||
- [0x1048560, .bss, nc/firstpersoncamera]
|
||||
- [0x1048560, .bss, ch/gameSelect]
|
||||
- [0x1048560, .bss, code_41460]
|
||||
- [0x1048560, .bss, code_41FB0]
|
||||
|
11
include/core2/nc/camera.h
Normal file
11
include/core2/nc/camera.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef __CORE2_NC_CAMERA_H__
|
||||
#define __CORE2_NC_CAMERA_H__
|
||||
|
||||
enum camera_type_e{
|
||||
CAMERA_TYPE_1_UNKNOWN = 1,
|
||||
CAMERA_TYPE_2_DYNAMIC = 2,
|
||||
CAMERA_TYPE_3_STATIC = 3,
|
||||
CAMERA_TYPE_4_RANDOM = 4
|
||||
};
|
||||
|
||||
#endif
|
@@ -385,11 +385,11 @@ void func_802BD8A4(f32, f32, f32);
|
||||
f32 func_802BD8D4(void);
|
||||
void func_802BE244(f32, f32);
|
||||
void func_802BE230(f32, f32);
|
||||
void func_802BF2C0(f32);
|
||||
void ncDynamicCamD_func_802BF2C0(f32);
|
||||
f32 func_802B6F9C(void);
|
||||
|
||||
void func_802C1B20(f32);
|
||||
int func_802C1DB0(f32);
|
||||
int ncDynamicCamA_func_802C1DB0(f32);
|
||||
|
||||
void func_802D6264(f32, enum map_e, s32, s32, s32, enum file_progress_e);
|
||||
|
||||
@@ -526,8 +526,8 @@ void func_8032AA58(Actor *, f32);
|
||||
void func_80324E38(f32, s32);
|
||||
void timed_playSfx(f32, enum sfx_e, f32, s32);
|
||||
f32 ml_distance_vec3f(f32 [3], f32 [3]);
|
||||
void timed_setCameraToNode(f32, s32);
|
||||
void func_80324E88(f32);
|
||||
void timed_setStaticCameraToNode(f32, s32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
int actor_animationIsAt(Actor*, f32);
|
||||
|
||||
void rumbleManager_80250E94(f32, f32, f32, f32, f32, f32);
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
void BGS_func_803888E4(Actor *this, s32 arg1);
|
||||
|
||||
typedef struct{
|
||||
@@ -93,7 +93,7 @@ void func_80388784(ActorMarker *this, enum asset_e text_id, s32 arg2){
|
||||
break;
|
||||
case 0xc7b:
|
||||
timedFunc_set_0(0.0f, BGS_func_8038868C);
|
||||
func_80324E88(2.5f);
|
||||
timed_exitStaticCamera(2.5f);
|
||||
func_80324E38(2.5f, 0);
|
||||
break;
|
||||
}
|
||||
@@ -159,7 +159,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
|
||||
unqPtr->unk0 = 0;
|
||||
vector_clear(unqPtr->unk4);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.5f, 0);
|
||||
timed_setStaticCameraToNode(0.5f, 0);
|
||||
tmpf = 0.5f;
|
||||
i = 0;
|
||||
prev_member = 0;
|
||||
@@ -172,7 +172,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
|
||||
prev_member = rand2;
|
||||
}//L80388B7C
|
||||
|
||||
func_80324E88(tmpf += 2.5);
|
||||
timed_exitStaticCamera(tmpf += 2.5);
|
||||
if(!unqPtr->unkA && !func_803203FC(2)){
|
||||
func_80324DBC(tmpf + 0.5, 0xc73, 0xe, this->position, this->marker, func_80388784, 0);
|
||||
unqPtr->unkA = 1;
|
||||
@@ -189,7 +189,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
|
||||
|
||||
unqPtr->unk0 = 0;
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.5f, 0);
|
||||
timed_setStaticCameraToNode(0.5f, 0);
|
||||
tmpf = 0.5f;
|
||||
for(j = 0; j < vector_size(unqPtr->unk4); j++){
|
||||
s1 = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4,j);
|
||||
@@ -197,7 +197,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
|
||||
timedFunc_set_2(tmpf, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), s1->unk0);
|
||||
timedFunc_set_2(tmpf + 0.1, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
|
||||
}
|
||||
func_80324E88(tmpf += 2.5);
|
||||
timed_exitStaticCamera(tmpf += 2.5);
|
||||
func_80324E38(tmpf + 0.6,0);
|
||||
vector_clear(unqPtr->unk4);
|
||||
this->state = 0x05;
|
||||
@@ -207,7 +207,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
func_80324E38(0.5f, 3);
|
||||
timed_setCameraToNode(1.5f, 1);
|
||||
timed_setStaticCameraToNode(1.5f, 1);
|
||||
func_80324DBC(2.0f, D_8039085C[unqPtr->unkA++], 0xF, this->position, this->marker, func_80388784, 0);
|
||||
}
|
||||
}
|
||||
|
@@ -96,12 +96,12 @@ void func_80387E68(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
func_80326310(this);
|
||||
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
||||
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
|
||||
timed_setCameraToNode(0.8f, 9);
|
||||
timed_setStaticCameraToNode(0.8f, 9);
|
||||
func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL);
|
||||
__spawnQueue_add_2((GenMethod_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
|
||||
}
|
||||
else{
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_8028F918(0);
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
void chfrogminigame_update(Actor *);
|
||||
void chFrogMinigame_setState(Actor * arg0, u32 next_state);
|
||||
void func_8025A58C(u32, u32);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
|
||||
|
||||
ActorInfo chFrogMinigame = {MARKER_C4_YELLOW_FLIBBIT_CTRL, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00,
|
||||
@@ -97,9 +97,9 @@ void chFrogMinigame_setState(Actor * arg0, u32 next_state){
|
||||
}
|
||||
if(next_state == 5){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0x27);
|
||||
timed_setStaticCameraToNode(0.0f, 0x27);
|
||||
timedFunc_set_0(0.2f, __chFrogMinigame_spawnJiggy);
|
||||
func_80324E88(3.0f);
|
||||
timed_exitStaticCamera(3.0f);
|
||||
func_80324E38(3.0f, 0);
|
||||
next_state = 6;
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "prop.h"
|
||||
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
|
||||
void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32);
|
||||
|
||||
@@ -72,7 +72,7 @@ s32 func_8038F570(s16 *arg0){
|
||||
}
|
||||
|
||||
void func_8038F5E4(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
}
|
||||
|
||||
void func_8038F610(Actor *this) {
|
||||
@@ -195,7 +195,7 @@ void func_8038F6A4(Actor *this)
|
||||
case 3:
|
||||
if (actor_animationIsAt(this, 0.1f) != 0)
|
||||
{
|
||||
timed_setCameraToNode(0.0f, 0xD);
|
||||
timed_setStaticCameraToNode(0.0f, 0xD);
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.55f) != 0)
|
||||
{
|
||||
|
@@ -111,7 +111,7 @@ void BGS_func_80389850(Actor *this, s32 arg1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
func_802BAE6C(sp94, sp88);
|
||||
ncStaticCamera_setPositionAndRotation(sp94, sp88);
|
||||
}
|
||||
|
||||
void func_80389B48(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
@@ -146,7 +146,7 @@ void func_80389BF8(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||
|
||||
this = marker_getActor(marker);
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
local->unkC--;
|
||||
func_8038A068(this, 7);
|
||||
@@ -166,7 +166,7 @@ void BGS_func_80389CD8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
Actor *this;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
func_8038A068(this, 5);
|
||||
}
|
||||
@@ -190,7 +190,7 @@ void func_80389DF8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
Actor *this;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
func_8038A068(this, 1);
|
||||
}
|
||||
@@ -212,7 +212,7 @@ void func_80389EAC(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
|
||||
this = marker_getActor(marker);
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
local->unkC = 3;
|
||||
func_8038A068(this, 1);
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#include "variables.h"
|
||||
|
||||
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32);
|
||||
void func_8028E668(f32[3], f32, f32, f32);
|
||||
|
||||
|
@@ -149,7 +149,7 @@ void func_80387CC0(void){
|
||||
if(getGameMode() == GAME_MODE_7_ATTRACT_DEMO)
|
||||
return;
|
||||
|
||||
func_8024C764(sp1C);
|
||||
viewport_getRotation(sp1C);
|
||||
tmp_v0 = func_8023DB4C(0x7F);
|
||||
if(tmp_v0 >= 0x40){
|
||||
tmp_v0 = 0x7F - tmp_v0;
|
||||
@@ -158,7 +158,7 @@ void func_80387CC0(void){
|
||||
if(360.0f <= sp1C[2]){
|
||||
sp1C[2] -= 360.0f;
|
||||
}
|
||||
func_8024CE18(sp1C);
|
||||
viewport_setRotation(sp1C);
|
||||
|
||||
}
|
||||
|
||||
|
@@ -86,10 +86,10 @@ void func_8038817C(void){
|
||||
if(ml_timer_update(&D_80389F90.unk8, sp20)){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(2.0f, 0);
|
||||
timed_setStaticCameraToNode(2.0f, 0);
|
||||
timedJiggySpawn(2.1f, JIGGY_1C_CC_RINGS, D_80389BF0);
|
||||
func_80324E38(5.0f, 0);
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
tmp_v0 = func_8034C5AC(0x131);
|
||||
if(tmp_v0){
|
||||
func_8034E78C(tmp_v0, 0x190, 12.0f);
|
||||
|
@@ -8,7 +8,7 @@ extern BKCollisionTri *func_8028EF48(void);
|
||||
extern void func_8030E9FC(enum sfx_e uid, f32 arg1, f32 arg2, u32 arg3, f32 arg4[3], f32 arg5, f32 arg6);
|
||||
extern void func_8030EA54(enum sfx_e uid, f32 arg1, f32 arg2, u32 arg3, f32 arg4[3], f32 arg5, f32 arg6);
|
||||
extern void func_8031CE28(s32, s32, f32);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
extern int 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);
|
||||
@@ -18,7 +18,7 @@ extern int func_80340020(s32, f32[3], s32, f32, s32, BKVertexList *, f32[3], f32
|
||||
extern void func_8033A670(s32, s32, f32[3]);
|
||||
extern void func_8033A928(s32, s32, f32[3]);
|
||||
extern void func_8033A9A8(s32, s32, f32[3]);
|
||||
extern void func_8024C5CC(f32[3]);
|
||||
extern void viewport_getPosition(f32[3]);
|
||||
extern void ml_vec3f_normalize(f32[3]);
|
||||
extern void func_8033A45C(s32, s32);
|
||||
extern void func_8033A238(s32);
|
||||
@@ -115,16 +115,16 @@ void func_80388664(void) {
|
||||
|
||||
void CC_func_8038868C(void) {
|
||||
func_80324E38(0, 3);
|
||||
timed_setCameraToNode(0, 0);
|
||||
timed_setCameraToNode(5.5f, 1);
|
||||
timed_setCameraToNode(7.0f, 2);
|
||||
timed_setCameraToNode(12.5f, 3);
|
||||
timed_setStaticCameraToNode(0, 0);
|
||||
timed_setStaticCameraToNode(5.5f, 1);
|
||||
timed_setStaticCameraToNode(7.0f, 2);
|
||||
timed_setStaticCameraToNode(12.5f, 3);
|
||||
timedFunc_set_0(13.0f, &func_80388664);
|
||||
timed_setCameraToNode(16.0f, 1);
|
||||
timed_setStaticCameraToNode(16.0f, 1);
|
||||
if (jiggyscore_isCollected(JIGGY_17_CC_CLANKER_RAISED) == 0) {
|
||||
func_80324DBC(18.0f, 0xD2C, 4, NULL, NULL, NULL, 0);
|
||||
}
|
||||
func_80324E88(18.0f);
|
||||
timed_exitStaticCamera(18.0f);
|
||||
func_80324E38(18.0f, 0);
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ void CC_func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
if(D_80389FA0.unk21 == 0)
|
||||
return;
|
||||
|
||||
func_8024C5CC(sp98);
|
||||
viewport_getPosition(sp98);
|
||||
|
||||
if(sp98[0] < -2600.0f || 11600.0f < sp98[0])
|
||||
return;
|
||||
|
@@ -68,9 +68,9 @@ void func_803865F4(Actor *this, s32 next_state) {
|
||||
func_8025AABC(COMUSIC_4B_CCW_ZUBBA_FIGHT);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(2.0f, 4);
|
||||
timed_setStaticCameraToNode(2.0f, 4);
|
||||
timedFunc_set_1(2.0f, (GenMethod_1)CCW_func_80386550, (s32) this->marker);
|
||||
func_80324E88(4.0f);
|
||||
timed_exitStaticCamera(4.0f);
|
||||
func_80324E38(4.0f, 0);
|
||||
}
|
||||
}
|
||||
@@ -162,7 +162,7 @@ void func_8038687C(Actor *this) {
|
||||
|
||||
if (local->unk0 != NULL) {
|
||||
other = marker_getActor(local->unk0);
|
||||
func_8024C5CC(sp78);
|
||||
viewport_getPosition(sp78);
|
||||
sp6C[0] = this->position[0] - sp78[0];
|
||||
sp6C[1] = this->position[1] - sp78[1];
|
||||
sp6C[2] = this->position[2] - sp78[2];
|
||||
|
@@ -61,17 +61,17 @@ void func_80387F64(Actor *this, s32 next_state){
|
||||
if (map_get() == MAP_43_CCW_SPRING) {
|
||||
func_80324E38(0.0f, 3);
|
||||
}
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
for( phi_f22 = 0.0f; phi_f22 <= 1.0f; phi_f22 += 0.1) {
|
||||
timed_playSfx(phi_f22 * 5.7, 0x2C, phi_f22 * 0.3 + 0.7, (s32) (32000.0f - phi_f22 * 5000.0f));
|
||||
}
|
||||
if (local->unk0->unkA != 0) {
|
||||
timed_setCameraToNode(6.0f, 1);
|
||||
timed_setStaticCameraToNode(6.0f, 1);
|
||||
timedFunc_set_0(6.1f, func_80387F10);
|
||||
timedFunc_set_2(8.0f, func_80387F38, (s32) this->marker, 3);
|
||||
} else {
|
||||
if (map_get() == MAP_43_CCW_SPRING) {
|
||||
func_80324E88(7.0f);
|
||||
timed_exitStaticCamera(7.0f);
|
||||
func_80324E38(7.0f, 0);
|
||||
}
|
||||
timedFunc_set_2(7.0f, func_80387F38, (s32) this->marker, 3);
|
||||
|
@@ -55,7 +55,7 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
|
||||
func_80335924(local->unk4, ASSET_100_ANIM_GOBI_SPIT, 0.0f, 3.0f);
|
||||
func_80335A8C(local->unk4, 2);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, (map_get() == MAP_44_CCW_SUMMER) ? 1 : 2);
|
||||
timed_setStaticCameraToNode(0.0f, (map_get() == MAP_44_CCW_SUMMER) ? 1 : 2);
|
||||
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
|
||||
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
|
||||
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
|
||||
@@ -68,7 +68,7 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
|
||||
if (next_state == 4) {
|
||||
func_80335924(this->unk148, ASSET_176_ANIM_GOBI_YAWN, 0.5f, 4.0f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
}
|
||||
if (next_state == 5) {
|
||||
@@ -76,14 +76,14 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
|
||||
func_80311480((s32) local->unk0->unk6, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
func_80335924(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.23f, 0.5f);
|
||||
timed_setCameraToNode(0.0f, 3);
|
||||
timed_setStaticCameraToNode(0.0f, 3);
|
||||
}
|
||||
if (next_state == 6) {
|
||||
func_80335924(this->unk148, ASSET_F8_ANIM_GOBI_RUNNING, 0.1f, 0.71f);
|
||||
func_80335A8C(this->unk148, 1);
|
||||
}
|
||||
if (next_state == 7) {
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@@ -19,8 +19,8 @@ void func_80389440(Actor *this, s32 next_state) {
|
||||
func_80335924(this->unk148, 0x187, 0.0f, 2.0f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 2);
|
||||
func_80324E88(8.0f);
|
||||
timed_setStaticCameraToNode(0.0f, 2);
|
||||
timed_exitStaticCamera(8.0f);
|
||||
func_80324E38(8.0f, 0);
|
||||
}
|
||||
this->state = next_state;
|
||||
|
@@ -103,7 +103,7 @@ f32 D_8038FDE0[3];
|
||||
|
||||
/* .code */
|
||||
void func_80389700(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||
func_80324E88(0.5f);
|
||||
timed_exitStaticCamera(0.5f);
|
||||
func_80324E38(0.5f, 0);
|
||||
}
|
||||
|
||||
@@ -144,8 +144,8 @@ void func_803897B8(Actor *this, s32 next_state) {
|
||||
func_80335924(this->unk148, local->unk0->unkE, 0.2f, 8.0f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E38(0.5f, 3);
|
||||
timed_setCameraToNode(0.5f, local->unk0->unk24);
|
||||
func_80324E88(16.5f);
|
||||
timed_setStaticCameraToNode(0.5f, local->unk0->unk24);
|
||||
timed_exitStaticCamera(16.5f);
|
||||
func_80324E38(16.5f, 0);
|
||||
local->unk8 = local->unk0->unk10;
|
||||
}
|
||||
@@ -261,7 +261,7 @@ void CCW_func_80389BFC(Actor *this) {
|
||||
){
|
||||
this->unk138_24 = TRUE;
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, local->unk0->unk24);
|
||||
timed_setStaticCameraToNode(0.0f, local->unk0->unk24);
|
||||
func_80324DBC(0.0f, local->unk0->unk28, 6, NULL, this->marker, func_80389700, NULL);
|
||||
}
|
||||
local->unkC[0] = (s32) sp4C[0];
|
||||
|
@@ -50,7 +50,7 @@ void func_8038A950(Actor *this, s32 next_state) {
|
||||
func_80335924(this->unk148, 0x19A, 0.0f, 7.0f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
}
|
||||
if (next_state == 4) {
|
||||
mapSpecificFlags_set(5, 1);
|
||||
|
@@ -31,7 +31,7 @@ void func_8038AD50(Actor *this, s32 next_state) {
|
||||
func_80311480(0xCDD, 0, NULL, NULL, NULL, NULL);
|
||||
if (this->state == 1) {
|
||||
mapSpecificFlags_set(6, 0);
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
}
|
||||
func_80335924(this->unk148, 0x21D, 0.2f, 0.5f);
|
||||
func_80335A8C(this->unk148, 1);
|
||||
@@ -41,7 +41,7 @@ void func_8038AD50(Actor *this, s32 next_state) {
|
||||
func_80335A8C(this->unk148, 2);
|
||||
}
|
||||
if (next_state == 4) {
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ void chnabnut_setState(Actor *this, s32 next_state) {
|
||||
func_80335924(this->unk148, ASSET_22D_ANIM_NABNUT_BACKFLIP, 0.2f, 3.13f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0xB);
|
||||
timed_setStaticCameraToNode(0.0f, 0xB);
|
||||
func_80311480(0xCCC, 0x20, this->position, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ void chnabnut_setState(Actor *this, s32 next_state) {
|
||||
|
||||
if (next_state == NABNUT_STATE_6_DESPAWN) {
|
||||
func_80324E38(0.0f, 0);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
||||
|
@@ -77,9 +77,9 @@ void func_8038D6D8(Actor *this, s32 next_state) {
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.7f, 15000);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.9f, 15000);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.5f, 3);
|
||||
timed_setStaticCameraToNode(0.5f, 3);
|
||||
timedFunc_set_2(0.5f, levelSpecificFlags_set, 0x25, TRUE);
|
||||
func_80324E88(4.0f);
|
||||
timed_exitStaticCamera(4.0f);
|
||||
func_80324E38(4.0f, 0);
|
||||
local->unk0 = 0.5f;
|
||||
marker_despawn(this->marker);
|
||||
|
@@ -141,7 +141,7 @@ void func_8038794C(Actor *this){
|
||||
|
||||
if(mapSpecificFlags_get(0x1)){
|
||||
func_8028F94C(1, this->position);
|
||||
timed_setCameraToNode(0.0f, 0x12);
|
||||
timed_setStaticCameraToNode(0.0f, 0x12);
|
||||
func_80324DBC(1.0f, 0xc00, 0xe, NULL, this->marker, func_80387828, func_803877A8);
|
||||
func_803876A4(this);
|
||||
break;
|
||||
@@ -188,7 +188,7 @@ void func_8038794C(Actor *this){
|
||||
if(0.99 <= this->unk48){
|
||||
func_8028F918(0);
|
||||
func_80324CD8(0.0f);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_803876F8(this);
|
||||
}
|
||||
break;
|
||||
|
@@ -116,7 +116,7 @@ void func_80388A50(Actor *this){
|
||||
ActorLocal_FP_2350 *local = (ActorLocal_FP_2350 *)&this->local;
|
||||
|
||||
func_80328B8C(this, 2, 0.0001f, 1);
|
||||
timed_setCameraToNode(0.0f, 4);
|
||||
timed_setStaticCameraToNode(0.0f, 4);
|
||||
local->unk18 = 0;
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
ActorLocal_FP_2350 *local = (ActorLocal_FP_2350 *)&this->local;
|
||||
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
switch(text_id){
|
||||
case 0xc03:
|
||||
case 0xc06:
|
||||
|
@@ -25,18 +25,18 @@ void __chScarfSled_setState(Actor *this, s32 next_state){
|
||||
|
||||
if(next_state == 2){
|
||||
mapSpecificFlags_set(0xB, TRUE);
|
||||
timed_setCameraToNode(0.0f, 0x27);
|
||||
timed_setStaticCameraToNode(0.0f, 0x27);
|
||||
timed_playSfx(0.6f, SFX_52_BANJO_YAH_OH, 1.0f, 28000);
|
||||
timed_playSfx(1.25f, SFX_31_BANJO_OHHWAAOOO, 1.0f, 28000);
|
||||
|
||||
timed_setCameraToNode(1.5f, 0x26);
|
||||
timed_setCameraToNode(2.75f, 0x25);
|
||||
timed_setStaticCameraToNode(1.5f, 0x26);
|
||||
timed_setStaticCameraToNode(2.75f, 0x25);
|
||||
timed_playSfx(3.5f, SFX_63_BANJO_UWAAAAOOH, 1.0f, 28000);
|
||||
|
||||
timed_setCameraToNode(3.75f, 0x24);
|
||||
timed_setStaticCameraToNode(3.75f, 0x24);
|
||||
timed_playSfx(4.25f, SFX_A7_WOODEN_SWOSH, 1.2f, 18000);
|
||||
timed_playSfx(4.45f, SFX_C1_BUZZBOMB_ATTACK, 1.0f, 0x7fff);
|
||||
timed_setCameraToNode(4.75f, 0x23);
|
||||
timed_setStaticCameraToNode(4.75f, 0x23);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -244,7 +244,7 @@ void func_8038D51C(ActorMarker *marker){
|
||||
FUNC_8030E624(SFX_416, 0.8f, 32000);
|
||||
func_8028F8F8(7, 0);
|
||||
this->unk1C[1] = 1.0f;
|
||||
func_80324E88(1.7f);
|
||||
timed_exitStaticCamera(1.7f);
|
||||
func_80324E38(1.7f, 0);
|
||||
timedFunc_set_1(2.3f, (GenMethod_1)func_8038D294, (s32)this->marker);
|
||||
this->velocity[1] = 1.0f;
|
||||
@@ -257,7 +257,7 @@ void func_8038D5C8(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||
|
||||
if(this->state == 1 || this->state == 2){
|
||||
actor_collisionOff(this);
|
||||
timed_setCameraToNode(0.0f, 0xa);
|
||||
timed_setStaticCameraToNode(0.0f, 0xa);
|
||||
func_80324CD8(0.1f);
|
||||
func_8028F784(1);
|
||||
func_8028F490(D_8039237C);
|
||||
@@ -360,7 +360,7 @@ void func_8038D6C8(Actor *this){
|
||||
if(this->velocity[0] != 0.0f)
|
||||
break;
|
||||
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_8028F784(0);
|
||||
func_80328B8C(this, 4, 0.999f, 1);
|
||||
actor_playAnimationOnce(this);
|
||||
@@ -386,7 +386,7 @@ void func_8038D6C8(Actor *this){
|
||||
func_8038D3D8();
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_1(1.3f, (GenMethod_1)func_8038D51C, (s32)this->marker);
|
||||
timed_setCameraToNode(0.9f, 0xC);
|
||||
timed_setStaticCameraToNode(0.9f, 0xC);
|
||||
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
|
||||
func_80347A14(1);
|
||||
break;
|
||||
|
@@ -92,7 +92,7 @@ Actor *func_8038DF34(Actor *this){
|
||||
|
||||
void func_8038E040(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
func_80324E88(0.5f);
|
||||
timed_exitStaticCamera(0.5f);
|
||||
func_80328B8C(this, 7, 0.03f, 1);
|
||||
actor_playAnimationOnce(this);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ void func_8038E094(Actor *this){
|
||||
if(sp38->unk1C[1] == 1.0f){
|
||||
if(this->unkF4_8 == 1 && !fileProgressFlag_get(FILEPROG_13)){
|
||||
if(this->state != 6 && this->state != 7 && 0.0f == this->velocity[0]){
|
||||
timed_setCameraToNode(0.5f, 0xd);
|
||||
timed_setStaticCameraToNode(0.5f, 0xd);
|
||||
func_80311480(ASSET_C15_TEXT_TWINKLIE_MINIGAME_LOST, 0x2b, this->position, this->marker, func_8038E040, NULL);
|
||||
this->velocity[0] = 1.0f;
|
||||
func_80328B8C(this, 6, 0.03f, 1);
|
||||
|
@@ -70,11 +70,11 @@ void func_8038F330(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
switch(text_id){
|
||||
case 0xC1B:
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
break;
|
||||
|
||||
case 0xC1C:
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_8038F2F0(this);
|
||||
break;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ void func_8038F454(Actor *this){
|
||||
mapSpecificFlags_set(7, TRUE);
|
||||
func_80328A84(this, 2);
|
||||
actor_loopAnimation(this);
|
||||
timed_setCameraToNode(0.0f, 0x2e);
|
||||
timed_setStaticCameraToNode(0.0f, 0x2e);
|
||||
func_80324DBC(0.0f, 0xc1b, 0x2a, this->position, this->marker, func_8038F330, NULL);
|
||||
timedFunc_set_1(2.5f, (GenMethod_1)func_8038F3F4, (s32)this->marker);
|
||||
}
|
||||
@@ -301,7 +301,7 @@ void FP_func_8038F7AC(Actor *this){
|
||||
|
||||
if(func_80329530(this, 500) && !this->unk138_24){
|
||||
if(func_80311480(0xc1c, 0xAA, this->position, this->marker, func_8038F330, func_8038F3C4)){
|
||||
timed_setCameraToNode(0.0f, 0x2E);
|
||||
timed_setStaticCameraToNode(0.0f, 0x2E);
|
||||
this->unk138_24 = TRUE;
|
||||
}
|
||||
break;
|
||||
|
@@ -78,7 +78,7 @@ void func_80390B2C(ActorMarker *marker){
|
||||
|
||||
void func_80390B70(Actor *this){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
timedFunc_set_1(0.6f, (GenMethod_1)func_80390ABC, reinterpret_cast(s32, this->marker));
|
||||
timedFunc_set_1(2.5f, (GenMethod_1)func_80390B2C, reinterpret_cast(s32, this->marker));
|
||||
}
|
||||
|
@@ -215,18 +215,18 @@ void func_8038B1C4(void){
|
||||
}
|
||||
|
||||
void func_8038B1D0(enum jiggy_e jiggy_id){
|
||||
timed_setCameraToNode(0.0f, 3);
|
||||
timed_setStaticCameraToNode(0.0f, 3);
|
||||
timedFunc_set_0(0.0f, func_8038AEA0);
|
||||
timedFunc_set_0(0.0f, FP_func_8038B0B8);
|
||||
timedFunc_set_1(0.1f, (GenMethod_1) func_8038B130, jiggy_id);
|
||||
timedFunc_set_0(5.0f, func_8038B190);
|
||||
timedFunc_set_0(5.0f, func_8038B1C4);
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
|
||||
}
|
||||
|
||||
void func_8038B268(void){
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
timedFunc_set_0(0.0f, func_8038AEA0);
|
||||
timedFunc_set_0(0.0f, FP_func_8038B0B8);
|
||||
func_8028FA14(map_get(), 0x11);
|
||||
@@ -273,7 +273,7 @@ void func_8038B39C(void){
|
||||
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
}
|
||||
|
||||
void func_8038B410(void){
|
||||
@@ -288,12 +288,12 @@ void func_8038B410(void){
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
timed_playSfx(1.0f, SFX_8C_BOGGY_WAHEY, 1.0f, 32000);
|
||||
func_80324DBC(2.0f, 0xC04, 0x2b, sp2C->position, NULL, func_8038B2C8, NULL);
|
||||
}//L8038B4E0
|
||||
else{
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
timed_playSfx(1.0f, SFX_8C_BOGGY_WAHEY, 1.0f, 32000);
|
||||
func_80324DBC(2.0f, 0xC0b, 0x2b, sp2C->position, NULL, func_8038B2C8, NULL);
|
||||
|
||||
|
@@ -154,7 +154,7 @@ void chGobi1_update(Actor *this){
|
||||
if(ml_timer_update(&local->unk14, tick)){
|
||||
local->unk10 = 0.75f;
|
||||
local->unk8 = 7.5f;
|
||||
timed_setCameraToNode(0.5f, 0xa);
|
||||
timed_setStaticCameraToNode(0.5f, 0xa);
|
||||
timed_playSfx(1.0f, SFX_84_GOBI_CRYING, 1.1f, 30000);
|
||||
timed_playSfx(2.0f, SFX_84_GOBI_CRYING, 1.3f, 30000);
|
||||
timed_playSfx(2.5f, SFX_74_WALKING_NOISE_5, 0.5f, 30000);
|
||||
@@ -162,7 +162,7 @@ void chGobi1_update(Actor *this){
|
||||
timed_playSfx(5.0f, SFX_2E_BIGBUTT_RUNNING, 1.0f, 20000);
|
||||
timed_playSfx(5.6f, SFX_2E_BIGBUTT_RUNNING, 1.0f, 20000);
|
||||
timed_playSfx(6.5f, SFX_2E_BIGBUTT_RUNNING, 1.0f, 20000);
|
||||
func_80324E88(7.6f);
|
||||
timed_exitStaticCamera(7.6f);
|
||||
}
|
||||
|
||||
if(this->state == 1 || this->state == 2){
|
||||
|
@@ -48,14 +48,14 @@ void GV_func_80387A00(ActorMarker *this_marker){
|
||||
}
|
||||
|
||||
void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
timed_setCameraToNode(0.0f, 0xC);
|
||||
timed_setStaticCameraToNode(0.0f, 0xC);
|
||||
timedFunc_set_1(0.5f, (GenMethod_1) func_80387984, reinterpret_cast(s32, caller));
|
||||
timed_playSfx(0.5f, SFX_2C_PULLING_NOISE, 0.9f, 32000);
|
||||
timed_playSfx(1.8f, SFX_2C_PULLING_NOISE, 1.0f, 32000);
|
||||
timed_playSfx(2.5f, SFX_2C_PULLING_NOISE, 1.1f, 32000);
|
||||
timed_setCameraToNode(3.0f, 0xd);
|
||||
timed_setStaticCameraToNode(3.0f, 0xd);
|
||||
timedFunc_set_0(3.5f, __chGobi2_spawnJIggy);
|
||||
func_80324E88(6.0f);
|
||||
timed_exitStaticCamera(6.0f);
|
||||
timedFunc_set_1(6.0f, (GenMethod_1) GV_func_80387A00, reinterpret_cast(s32, caller));
|
||||
func_80324E38(6.0f, 0);
|
||||
}
|
||||
@@ -81,7 +81,7 @@ void chGobi2_setState(Actor *this, s32 next_state){
|
||||
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
|
||||
func_80324E38(0.051f, 1);
|
||||
timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker));
|
||||
timed_setCameraToNode(0.86f, 0xb);
|
||||
timed_setStaticCameraToNode(0.86f, 0xb);
|
||||
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
|
||||
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
|
||||
timed_playSfx(2.0f, SFX_4B_GULPING, 0.8f, 28000);
|
||||
|
@@ -44,7 +44,7 @@ void __chGobi3_runaway(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
timed_playSfx(2.6f, SFX_2E_BIGBUTT_RUNNING, 1.0f, 5000);
|
||||
timed_playSfx(2.6f, SFX_2E_BIGBUTT_RUNNING, 1.0f, 5000);
|
||||
|
||||
func_80324E88(3.0f);
|
||||
timed_exitStaticCamera(3.0f);
|
||||
func_80324E38(3.0f, 0);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ void chGobi3_setState(Actor *this, s32 next_state){
|
||||
if(next_state == 3){
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_1(0.02f, (GenMethod_1)__chGobi3_func_80388270, (s32)this);
|
||||
timed_setCameraToNode(0.1f, 0x12);
|
||||
timed_setStaticCameraToNode(0.1f, 0x12);
|
||||
timed_playSfx(0.2f, SFX_4C_LIP_SMACK, 1.0f, 32000);
|
||||
timedFunc_set_1(0.2f, (GenMethod_1)__chGobi3_spawnHoneyComb, (s32)this);
|
||||
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 1.0f);
|
||||
|
@@ -74,10 +74,10 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
|
||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.5f, 25000);
|
||||
if(1500.0f < plyr_pos[0]){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 8);
|
||||
timed_setStaticCameraToNode(0.0f, 8);
|
||||
timed_playSfx(1.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000);
|
||||
func_80324CD8(1.2f);
|
||||
func_80324E88(1.2f);
|
||||
timed_exitStaticCamera(1.2f);
|
||||
func_80324E38(1.2f, 0);
|
||||
}
|
||||
else{//L8038F754
|
||||
|
@@ -47,17 +47,17 @@ void func_8038C760(Actor *this, s32 arg1){
|
||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.7f, 28000);
|
||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.9f, 29000);
|
||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 1.0f, 30000);
|
||||
timed_setCameraToNode(0.0f, 8);
|
||||
timed_setStaticCameraToNode(0.0f, 8);
|
||||
if(arg1 < 3){
|
||||
timed_setCameraToNode(3.5f, arg1 + 0x15);
|
||||
timed_setStaticCameraToNode(3.5f, arg1 + 0x15);
|
||||
timedFunc_set_3(3.5f, (GenMethod_3)fileProgressFlag_setN, FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, arg1, 2);
|
||||
func_80324E88(6.5f);
|
||||
timed_exitStaticCamera(6.5f);
|
||||
func_80324E38(6.5f, 0);
|
||||
}
|
||||
else{
|
||||
timedFunc_set_2(3.5f, (GenMethod_2)func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
timedFunc_set_3(3.5f, (GenMethod_3)fileProgressFlag_setN, FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, arg1, 2);
|
||||
func_80324E88(6.0f);
|
||||
timed_exitStaticCamera(6.0f);
|
||||
func_80324E38(6.0f, 0);
|
||||
}
|
||||
}
|
||||
|
@@ -12,9 +12,9 @@ void func_80390000(s32 arg0){
|
||||
|
||||
GV_D_80391AD0 = arg0;
|
||||
if(GV_D_80391AD0 == 1){
|
||||
set_camera_to_node(0x14);
|
||||
ncStaticCamera_setToNode(0x14);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(4.0f, 0x15);
|
||||
timed_setStaticCameraToNode(4.0f, 0x15);
|
||||
func_80324E38(8.0f, 0);
|
||||
|
||||
tmp_v0 = func_8034C5AC(0x130);
|
||||
|
@@ -99,9 +99,9 @@ void __matchingGame_setState(s32 next_state){
|
||||
func_8035D490(matchingGame.mummy_marker);
|
||||
}
|
||||
func_80324E38(0.5f, 3);
|
||||
timed_setCameraToNode(1.5f, 2);
|
||||
timed_setStaticCameraToNode(1.5f, 2);
|
||||
timedFunc_set_0(1.7f, __matchingGame_spawnJIggy);
|
||||
func_80324E88(4.0f);
|
||||
timed_exitStaticCamera(4.0f);
|
||||
func_80324E38(4.0f, 0);
|
||||
|
||||
}
|
||||
|
@@ -23,9 +23,9 @@ void __waterCtrl_setState(s32 arg0){
|
||||
GV_D_80391B00.state = arg0;
|
||||
if(GV_D_80391B00.state == 2){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
timedFunc_set_0(3.0f, func_80390880);
|
||||
timed_setCameraToNode(3.0f, 1);
|
||||
timed_setStaticCameraToNode(3.0f, 1);
|
||||
func_80324E38(6.0f, 0);
|
||||
tmp_v0 = func_8034C528(400);
|
||||
if(tmp_v0){
|
||||
|
@@ -19,7 +19,7 @@ void func_80328FB0(Actor *, f32);
|
||||
|
||||
void func_80328B8C(Actor*, s32, f32, s32);
|
||||
void func_802C8F70(f32);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
Actor *func_8032811C(s32 actor_id, s32 position[3], s32 yaw);
|
||||
void MM_func_80387F44(void);
|
||||
|
||||
@@ -129,7 +129,7 @@ void func_80387168(ActorMarker *marker, ActorMarker *other_marker){
|
||||
&& !jiggyscore_isCollected(JIGGY_A_MM_CONGA)
|
||||
){
|
||||
func_80328B8C(actorPtr, 8, 0 ,1);
|
||||
timed_setCameraToNode(0.0f, 0x10);
|
||||
timed_setStaticCameraToNode(0.0f, 0x10);
|
||||
func_80324E38(0.0f, 3);
|
||||
FUNC_8030E624(SFX_84_GOBI_CRYING, 0.8f, 32750);
|
||||
FUNC_8030E624(SFX_84_GOBI_CRYING, 0.8f, 32750);
|
||||
@@ -160,8 +160,8 @@ int func_803872EC(void){
|
||||
|
||||
void func_80387370(ActorMarker *this, enum asset_e text_id, s32 arg2){
|
||||
marker_getActor(this)->velocity_x = 9.0f;
|
||||
timed_setCameraToNode(0.0f, 0x11);
|
||||
func_80324E88(3.2f);
|
||||
timed_setStaticCameraToNode(0.0f, 0x11);
|
||||
timed_exitStaticCamera(3.2f);
|
||||
func_80324E38(3.2f, 0);
|
||||
}
|
||||
|
||||
|
@@ -5,9 +5,9 @@
|
||||
void func_8028E668(f32 *, f32, f32, f32);
|
||||
int actor_animationIsAt(Actor *, f32);
|
||||
void func_80328B8C(Actor *, s32, f32, s32);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
void func_80324E38(f32,s32);
|
||||
void timed_setCameraToNode(f32, s32);
|
||||
void timed_setStaticCameraToNode(f32, s32);
|
||||
s32 func_8028F31C(f32 *, f32, s32, Actor **);
|
||||
void func_8028FA34(s32, Actor *);
|
||||
|
||||
@@ -38,7 +38,7 @@ void func_80388300(Actor **arg0){
|
||||
){
|
||||
func_8028FA34(0xc6, *arg0);
|
||||
(*arg0)->unk138_24 = 1;
|
||||
timed_setCameraToNode(1.2f, 0xF);
|
||||
timed_setStaticCameraToNode(1.2f, 0xF);
|
||||
func_80324E38(1.2f, 3);
|
||||
}
|
||||
if(arg0);
|
||||
@@ -71,9 +71,9 @@ void __chLMonkey_complete(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||
Actor * actor = marker_getActor(marker);
|
||||
mapSpecificFlags_set(4,1);
|
||||
func_80328A84(actor, 3);
|
||||
timed_setCameraToNode(2.3f, 0x12);
|
||||
timed_setStaticCameraToNode(2.3f, 0x12);
|
||||
timedFunc_set_3(2.9f,__chLMonkey_spawnJiggy, actor->position_x, actor->position_y + 150.0f, actor->position_z);
|
||||
func_80324E88(4.3f);
|
||||
timed_exitStaticCamera(4.3f);
|
||||
func_80324E38(4.3f, 0);
|
||||
}
|
||||
|
||||
|
@@ -153,7 +153,7 @@ void chnapper_update(Actor *this){
|
||||
}//L80386DF4
|
||||
|
||||
if(this->state != 4){
|
||||
func_8024C5CC(sp58);
|
||||
viewport_getPosition(sp58);
|
||||
sp4C[0] = this->position_x - sp58[0];
|
||||
sp4C[1] = this->position_y - sp58[1];
|
||||
sp4C[2] = this->position_z - sp58[2];
|
||||
|
@@ -56,12 +56,12 @@ void func_803895B0(s32 arg0) {
|
||||
void func_803895D8(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
|
||||
if (text_id == 0xAD7) {
|
||||
timed_playSfx(0.1f, SFX_3F5_UNKNOWN, 1.0f, 30000);
|
||||
func_80324E88(1.5f);
|
||||
timed_exitStaticCamera(1.5f);
|
||||
func_80324E38(1.5f, 0);
|
||||
return;
|
||||
}
|
||||
MMM_D_8038C4E0.unk0 = 1;
|
||||
func_80324E88(1.5f);
|
||||
timed_exitStaticCamera(1.5f);
|
||||
func_80324E38(1.5f, 0);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ void func_8038966C(void){
|
||||
){
|
||||
MMM_D_8038C4E0.unk2 = TRUE;
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.2f, 1);
|
||||
timed_setStaticCameraToNode(0.2f, 1);
|
||||
func_80324DBC(0.2f, 0xad9, 6, NULL, NULL, func_803895D8, NULL);
|
||||
}//L80389700
|
||||
|
||||
@@ -106,7 +106,7 @@ void func_8038966C(void){
|
||||
MMM_D_8038C4E0.unk1 = 2;
|
||||
if(!levelSpecificFlags_get(0x1b)){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
func_80324DBC(0.0f, 0xad7, 6, NULL, NULL, func_803895D8, NULL);
|
||||
levelSpecificFlags_set(0x1b, TRUE);
|
||||
}
|
||||
|
@@ -177,10 +177,10 @@ void func_803898EC() {
|
||||
void func_80389910() {
|
||||
func_80311480(0xAD5, 0xE, NULL, NULL, MMM_func_80389810, NULL);
|
||||
timedFunc_set_2(0.0f, func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
timed_setCameraToNode(2.0f, 0);
|
||||
timed_setStaticCameraToNode(2.0f, 0);
|
||||
timedFunc_set_0(2.1f, MMM_func_803898A0);
|
||||
timedFunc_set_0(6.0f, func_803898EC);
|
||||
func_80324E88(6.0f);
|
||||
timed_exitStaticCamera(6.0f);
|
||||
func_80324E38(6.0f, 0);
|
||||
}
|
||||
|
||||
|
@@ -71,10 +71,10 @@ struct {
|
||||
void func_8038A140(UNK_TYPE(s32) arg0) {
|
||||
if (arg0 == 2) {
|
||||
func_80324E38(0.3f, 3);
|
||||
timed_setCameraToNode(0.3f, 1);
|
||||
timed_setStaticCameraToNode(0.3f, 1);
|
||||
timedFunc_set_2(0.3f, mapSpecificFlags_set, 3, 1);
|
||||
func_80324E38(3.0f, 0);
|
||||
func_80324E88(3.0f);
|
||||
timed_exitStaticCamera(3.0f);
|
||||
timedFunc_set_1(3.0f, func_8038A140, 3);
|
||||
}
|
||||
if (arg0 == 3) {
|
||||
|
@@ -128,7 +128,7 @@ void func_8038AF90(Struct_MMM_47D0_0 *arg0, Struct68s *arg1, f32 arg2) {
|
||||
func_8028F66C(BS_INTR_D_SURF);
|
||||
}
|
||||
if (sp3C && ((sp40[0] != 0.0f) || (sp40[1] != 0.0f))) {
|
||||
func_8024C764(sp70);
|
||||
viewport_getRotation(sp70);
|
||||
sp64[0] = sp40[0];
|
||||
sp64[1] = 0.0f;
|
||||
sp64[2] = -sp40[1];
|
||||
@@ -147,7 +147,7 @@ void func_8038AF90(Struct_MMM_47D0_0 *arg0, Struct68s *arg1, f32 arg2) {
|
||||
func_80351B28(arg1, sp54);
|
||||
func_8035179C(arg1, sp54);
|
||||
if (arg0->unk0 != NULL) {
|
||||
func_8024C5CC(sp7C);
|
||||
viewport_getPosition(sp7C);
|
||||
sp64[0] = sp54[0] - sp7C[0];
|
||||
sp64[2] = sp54[2] - sp7C[2];
|
||||
sp64[1] = 0.0f;
|
||||
|
@@ -32,13 +32,13 @@ void __chAnchorCtrl_spawnJiggy(ActorMarker *marker, s32 arg1, s32 arg2){
|
||||
|
||||
Actor *actor = marker_getActor(marker);
|
||||
jiggySpawn(JIGGY_53_RBB_SNORKEL, &D_80390B34);
|
||||
timed_setCameraToNode(0.5f, 0xb);
|
||||
timed_setStaticCameraToNode(0.5f, 0xb);
|
||||
__chAnchorCtrl_setState(actor, 3);
|
||||
}
|
||||
|
||||
void __chAnchorCtrl_setState(Actor *this, s32 new_state){
|
||||
if(new_state == 2){
|
||||
set_camera_to_node(0xC);
|
||||
ncStaticCamera_setToNode(0xC);
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_0(1.0f, func_8038C000);
|
||||
timedFunc_set_2(1.0f, (GenMethod_2)mapSpecificFlags_set, 8, TRUE);
|
||||
@@ -63,7 +63,7 @@ void chAnchorCtrl_update(Actor *this){
|
||||
}//L8038C27C
|
||||
|
||||
if(this->state == 3 && !mapSpecificFlags_get(4)){
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
timedFunc_set_0(0.0f, func_803228D8);
|
||||
timedFunc_set_3(0.0f, (GenMethod_3)func_802E4078, MAP_8B_RBB_ANCHOR_ROOM, 2, 0);
|
||||
|
@@ -227,7 +227,7 @@ void func_8038CB34(ActorMarker *marker, s32 arg1, s32 arg2){
|
||||
|
||||
void func_8038CB68(ActorMarker *marker, s32 arg1, s32 arg2){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
func_80324E38(0.0f, 0);
|
||||
timedFunc_set_2(0.0f, (GenMethod_2)RBB_func_8038C370, actor->marker, 3);
|
||||
}
|
||||
@@ -309,7 +309,7 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){
|
||||
func_80335924(this->unk148, ASSET_146_ANIM_BOSS_BOOMBOX_APPEAR, 0.0f, 2.4f);
|
||||
func_80335A8C(this->unk148, 2);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 0);
|
||||
timed_playSfx(0.5f, SFX_3F5_UNKNOWN, 1.0f, 0x7fc6);
|
||||
timed_playSfx(1.25f, SFX_6C_LOCKUP_CLOSING, 1.05f, 0x7d00);
|
||||
timed_playSfx(1.35f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00);
|
||||
@@ -317,7 +317,7 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){
|
||||
if(func_803203FC(2)){
|
||||
item_set(ITEM_6_HOURGLASS, 1);
|
||||
item_set(ITEM_0_HOURGLASS_TIMER, 0x1067);
|
||||
func_80324E88(2.4f);
|
||||
timed_exitStaticCamera(2.4f);
|
||||
func_80324E38(2.4f, 0);
|
||||
timedFunc_set_2(2.4f, (GenMethod_2)RBB_func_8038C370, (s32)this->marker, 3);
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void func_80324E88(f32);
|
||||
extern void timed_exitStaticCamera(f32);
|
||||
|
||||
/* typedefs and declarations */
|
||||
typedef struct {
|
||||
@@ -93,9 +93,9 @@ void func_803865D0(ActorMarker *marker){
|
||||
Actor* actor = marker_getActor(marker);
|
||||
ActorLocal_RBB_0 * local = (ActorLocal_RBB_0 *) &actor->local;
|
||||
RBB_func_803863F0(actor, 1);
|
||||
timed_setCameraToNode(0.0f, D_80390074[local->unk4].unk0);
|
||||
timed_setStaticCameraToNode(0.0f, D_80390074[local->unk4].unk0);
|
||||
timedFunc_set_2(0.75*D_80390074[local->unk4].unk4, (GenMethod_2) func_803865A4, actor->marker, 4);
|
||||
func_80324E88(0.75*D_80390074[local->unk4].unk4);
|
||||
timed_exitStaticCamera(0.75*D_80390074[local->unk4].unk4);
|
||||
func_80324E38(0.75*D_80390074[local->unk4].unk4, 0);
|
||||
timed_playSfx(D_80390074[local->unk4].unk4, SFX_7F_HEAVYDOOR_SLAM, 0.8f, 0x7fd0);
|
||||
}
|
||||
|
@@ -22,9 +22,9 @@ void chEngineFanSwitch_setState(Actor * this, s32 arg1){
|
||||
func_8030E6D4(SFX_90_SWITCH_PRESS);
|
||||
this->position_y -= 35.0f;
|
||||
func_80324E38(1.0f, 3);
|
||||
timed_setCameraToNode(1.0f, 0);
|
||||
timed_setStaticCameraToNode(1.0f, 0);
|
||||
timedFunc_set_0(1.0f, RBB_func_803898A0);
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
func_80324E38(5.0f, 0);
|
||||
}
|
||||
}
|
||||
|
@@ -91,10 +91,10 @@ void chPropellor_update(Actor *this){
|
||||
local->unkC = 0.0f;
|
||||
__chPropellor_setState(this, 1);
|
||||
if(levelSpecificFlags_get(local->unk8 ? 4 : 3)){
|
||||
set_camera_to_node(9);
|
||||
ncStaticCamera_setToNode(9);
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(0.1f, (GenMethod_2)levelSpecificFlags_set, local->unk8 ? 0x28 : 0x27, 1);
|
||||
func_80324E88(4.5f);
|
||||
timed_exitStaticCamera(4.5f);
|
||||
func_80324E38(4.5f, 0);
|
||||
timedFunc_set_2(4.5f, (GenMethod_2)levelSpecificFlags_set, local->unk8 ? 0x4 : 0x3, 0);
|
||||
timedFunc_set_3(4.5f, (GenMethod_3)func_802E4078, MAP_34_RBB_ENGINE_ROOM, !local->unk8 ? 3 : 2, 0);
|
||||
|
@@ -43,9 +43,9 @@ void __chWhistleCtrl_wrong(ActorMarker *marker){
|
||||
void __chWhistleCtrl_complete(void){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_80324E38(1.0f, 3);
|
||||
timed_setCameraToNode(2.0f, 10);
|
||||
timed_setStaticCameraToNode(2.0f, 10);
|
||||
timedFunc_set_0(2.2f, __chWhistleCtrl_soundWhistle);
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
func_80324E38(5.0f, 0);
|
||||
}
|
||||
|
||||
|
@@ -186,7 +186,7 @@ void func_80387F88(ActorMarker *marker){
|
||||
timed_playSfx(1.0f, SFX_1A_BIG_THINGS_FALL_OVER, 1.0f, 22000);
|
||||
timed_playSfx(2.0f, SFX_1A_BIG_THINGS_FALL_OVER, 0.8f, 22000);
|
||||
timed_playSfx(3.0f, SFX_1A_BIG_THINGS_FALL_OVER, 0.6f, 22000);
|
||||
func_80324E88(4.0f);
|
||||
timed_exitStaticCamera(4.0f);
|
||||
func_80324E38(4.0f, 0);
|
||||
timedFunc_set_2(4.0f, (GenMethod_2) RBB_func_80387F18, (s32) actor->marker, 3);
|
||||
}
|
||||
@@ -197,7 +197,7 @@ void func_80388154(ActorMarker *marker){
|
||||
timedFunc_set_0(0.0f, (GenMethod_0) RBB_func_80387F44);
|
||||
timed_playSfx(0.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 0x7fc6);
|
||||
timedFunc_set_2(1.2f, (GenMethod_2) func_80387B8C, 0x19f, 0);
|
||||
timed_setCameraToNode(1.2f, 8);
|
||||
timed_setStaticCameraToNode(1.2f, 8);
|
||||
timedFunc_set_1(1.5f, (GenMethod_1) func_80387F88, (s32) actor->marker);
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ void func_803881E8(Actor *this, s32 arg1){
|
||||
timedFunc_set_2(0.05f, (GenMethod_2)func_80387BEC, 0x19f, 0x1f4);
|
||||
timedFunc_set_2(0.1f, (GenMethod_2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||
func_80324E38(0.2f, 3);
|
||||
timed_setCameraToNode(1.1f, 7);
|
||||
timed_setStaticCameraToNode(1.1f, 7);
|
||||
timedFunc_set_1(1.6f, (GenMethod_1)func_80388154, (s32)this->marker);
|
||||
levelSpecificFlags_set(0x2D, 1);
|
||||
}
|
||||
|
@@ -139,7 +139,7 @@ void func_80386A7C(Actor *this){
|
||||
|
||||
func_802D3D74(this);
|
||||
this->depth_mode = 1;
|
||||
func_8024C5CC(&sp2C);
|
||||
viewport_getPosition(&sp2C);
|
||||
sp28 = func_80386A30(&this->position);
|
||||
temp_v0 = func_80386A30(&sp2C);
|
||||
this->unk38_0 = 0;
|
||||
|
@@ -27,9 +27,9 @@ void func_8038FA9C(Actor *this, s32 arg1){
|
||||
if(arg1 == 3){
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||
timed_setCameraToNode(1.8f, 1);
|
||||
timed_setStaticCameraToNode(1.8f, 1);
|
||||
timedFunc_set_1(2.0f, (GenMethod_1) RBB_func_8038FA60, (s32)this->marker);
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
func_80324E38(5.0f, 0);
|
||||
}
|
||||
this->state = arg1;
|
||||
|
@@ -54,15 +54,15 @@ void func_8038718C(ActorMarker *marker){
|
||||
func_8034DDF0(sp44, &sp38, &sp2C, 4.0f, 1);
|
||||
func_8034E1A4(sp44, SFX_D8_CRANE, 1.0f, 1.0f);
|
||||
}
|
||||
timed_setCameraToNode(0.0f, 4);
|
||||
timed_setCameraToNode(2.5f, 5);
|
||||
timed_setStaticCameraToNode(0.0f, 4);
|
||||
timed_setStaticCameraToNode(2.5f, 5);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 0.5f, 19000);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 0.6f, 19000);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 0.7f, 19000);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 0.8f, 19000);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 0.9f, 19000);
|
||||
timed_playSfx(4.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 19000);\
|
||||
func_80324E88(5.0f);
|
||||
timed_exitStaticCamera(5.0f);
|
||||
func_80324E38(5.0f, 0);
|
||||
timedFunc_set_2(5.0f, (GenMethod_2) func_80387090, (s32) marker, 3);
|
||||
}
|
||||
@@ -89,7 +89,7 @@ void func_80387308(ActorMarker *marker){
|
||||
timedFunc_set_2(0.5f, (GenMethod_2) func_80387090, (s32) actor->marker, 1);
|
||||
|
||||
timedFunc_set_2(1.5f, (GenMethod_2) func_803870BC, 0x19d, 0x1f4);
|
||||
func_80324E88(1.5f);
|
||||
timed_exitStaticCamera(1.5f);
|
||||
func_80324E38(1.5f, 0);
|
||||
|
||||
}
|
||||
@@ -107,7 +107,7 @@ void func_80387488(ActorMarker *marker){
|
||||
}
|
||||
}
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 6);
|
||||
timed_setStaticCameraToNode(0.0f, 6);
|
||||
timedFunc_set_1(0.5f, (GenMethod_1) func_80387308, (s32) actor->marker);
|
||||
}
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
/* chAttackTutorial - controls bottle teaching moves in spiral*/
|
||||
|
||||
//external
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
void func_8028F918(s32);
|
||||
|
||||
//public
|
||||
@@ -64,7 +64,7 @@ void func_80387288(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
chAttackTutorial_setState(actor, 2);
|
||||
break;
|
||||
}//L803872FC
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
}
|
||||
|
||||
void chAttackTutorial_setState(Actor * this, s32 arg1){
|
||||
@@ -170,7 +170,7 @@ void func_80387690(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
chAttackTutorial_setState(actor, 3);
|
||||
break;
|
||||
}
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
}//*/
|
||||
|
||||
void func_80387764(ActorMarker * marker){
|
||||
@@ -211,7 +211,7 @@ void func_80387764(ActorMarker * marker){
|
||||
sp34 = 0xE12;
|
||||
}//L80387898
|
||||
if(temp_a2){
|
||||
timed_setCameraToNode(0.0f, 6);
|
||||
timed_setStaticCameraToNode(0.0f, 6);
|
||||
}//L803878B0
|
||||
|
||||
func_80311480(sp34, sp2C, actor->unk1C, actor->marker, func_80387690, NULL);
|
||||
|
@@ -7,7 +7,7 @@ Actor *func_802D94B4(ActorMarker*, Gfx**, Mtx**, Vtx**);
|
||||
void func_8028E668(f32*, f32, f32, f32);
|
||||
void func_80328FB0(Actor *, f32);
|
||||
void func_8030DA44(u8);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
void func_80328B8C(Actor *, s32, f32, s32);
|
||||
|
||||
//static types
|
||||
@@ -93,10 +93,10 @@ void func_80388EB0(void){
|
||||
|
||||
void func_80388F24(Actor *this){
|
||||
if(this->unkF4_8 == 1 && !mapSpecificFlags_get(1)){
|
||||
timed_setCameraToNode(0.0f, 0x12);
|
||||
timed_setStaticCameraToNode(0.0f, 0x12);
|
||||
}
|
||||
else{ //L80388F68
|
||||
timed_setCameraToNode(0.0f, D_8038AFB4[this->unkF4_8 -1].unk4);
|
||||
timed_setStaticCameraToNode(0.0f, D_8038AFB4[this->unkF4_8 -1].unk4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,13 +169,13 @@ void func_80389214(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
switch(arg2){
|
||||
case 3:
|
||||
timed_setCameraToNode(0.0f, 2);
|
||||
timed_setStaticCameraToNode(0.0f, 2);
|
||||
break;
|
||||
case 4:
|
||||
mapSpecificFlags_set(4,1);
|
||||
break;
|
||||
case 5:
|
||||
timed_setCameraToNode(0.0f, 0x12);
|
||||
timed_setStaticCameraToNode(0.0f, 0x12);
|
||||
break;
|
||||
case 6:
|
||||
func_8025A70C(COMUSIC_2B_DING_B);
|
||||
@@ -196,7 +196,7 @@ void func_803892C8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
}//L8038933C
|
||||
else{
|
||||
if( !(text_id == 0xdf3 || text_id == 0xe1f || text_id == 0xe1d) ){
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
}
|
||||
switch(text_id){
|
||||
case 0xd38:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
//extern
|
||||
Actor *func_802D94B4(ActorMarker *, Gfx **, Mtx **, Vtx**);
|
||||
void func_80324E88(f32);
|
||||
void timed_exitStaticCamera(f32);
|
||||
|
||||
//public
|
||||
void SM_func_8038A5D8(Actor *this);
|
||||
@@ -19,7 +19,7 @@ ActorInfo D_8038B0B0 = { 0x1ED, 0x3B9, 0, 1, NULL,
|
||||
|
||||
/* .code */
|
||||
void func_8038A460(Actor *this){
|
||||
timed_setCameraToNode(0.0f,4);
|
||||
timed_setStaticCameraToNode(0.0f,4);
|
||||
}
|
||||
|
||||
void func_8038A488(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
@@ -27,7 +27,7 @@ void func_8038A488(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
if(text_id == 0xdf9 || text_id == 0xe12){
|
||||
func_8038A4DC(actor, 3);
|
||||
}
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
}
|
||||
|
||||
void func_8038A4DC(Actor *this, s32 arg1){
|
||||
|
@@ -95,7 +95,7 @@ void func_80387678(Actor *this){
|
||||
this->yaw_ideal = (f32) func_80329784(this);
|
||||
mapSpecificFlags_set(3, TRUE);
|
||||
func_8028F918(2);
|
||||
timed_setCameraToNode(0.0f, 4);
|
||||
timed_setStaticCameraToNode(0.0f, 4);
|
||||
timedFunc_set_1(1.0f, (GenMethod_1)func_803875D4, (s32)this->marker);
|
||||
func_80328B8C(this, 1, 0.0f, 1);
|
||||
}
|
||||
@@ -241,7 +241,7 @@ void TTC_func_80387CF4(Actor *this){
|
||||
func_80343DEC(this);
|
||||
if(0.99 <= this->unk48){
|
||||
func_8028F918(0);
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
func_80387830(this, 0.5f, 0.97f);
|
||||
|
@@ -90,7 +90,7 @@ void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2
|
||||
}
|
||||
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.5f, 7);
|
||||
timed_setStaticCameraToNode(0.5f, 7);
|
||||
timedFunc_set_0(1.0f, func_80388F88);
|
||||
func_80324E38(2.5f, 0);
|
||||
timedFunc_set_1(2.5f, func_8028F9DC, 2);
|
||||
|
@@ -87,7 +87,7 @@ void TTC_func_80387FB0(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this;
|
||||
this = marker_getActor(caller);
|
||||
TTC_func_80387F18(this);
|
||||
func_802BAE4C();
|
||||
ncStaticCamera_exit();
|
||||
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, -1, 300);
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@ void func_80388434(Actor *this){
|
||||
this->unk138_24 = TRUE;
|
||||
}
|
||||
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300);
|
||||
set_camera_to_node(11);
|
||||
ncStaticCamera_setToNode(11);
|
||||
}
|
||||
else{//L803886B0
|
||||
TTC_func_80387F18(this);
|
||||
|
@@ -404,8 +404,8 @@ void func_8038B094(void){
|
||||
if(levelSpecificFlags_get(5)){
|
||||
func_8034E71C(sp2C, -500, 10.0f);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
func_80324E88(2.0f);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
timed_exitStaticCamera(2.0f);
|
||||
func_80324E38(2.0f, 0);
|
||||
func_803228D8();
|
||||
timedFunc_set_3(2.0f, (GenMethod_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0);
|
||||
|
@@ -30,7 +30,7 @@ f32 ml_acosValTbl[90] = { //D_80276CBC
|
||||
0.0871559978, 0.0697569996, 0.0523359999, 0.0348990001, 0.0174519997
|
||||
};
|
||||
|
||||
f32 func_8024C788(void);
|
||||
f32 viewport_getYaw(void);
|
||||
|
||||
// .h
|
||||
void func_80257918(f32 arg0[3], f32 arg1[3], f32 arg2[3], f32 arg3[3]);
|
||||
@@ -1223,29 +1223,29 @@ void ml_vec3f_to_vec3h(s16 dst[3], f32 src[3])
|
||||
dst[2] = src[2];
|
||||
}
|
||||
|
||||
void func_80258E60(f32 dst[3], f32 src[3], f32 amount)
|
||||
void ml_translate_y_local(f32 position[3], f32 rotation[3], f32 dy)
|
||||
{
|
||||
f32 vec[3];
|
||||
|
||||
vec[0] = 0;
|
||||
vec[1] = amount;
|
||||
vec[1] = dy;
|
||||
vec[2] = 0;
|
||||
|
||||
ml_vec3f_pitch_rotate_copy(vec, vec, src[0]);
|
||||
ml_vec3f_yaw_rotate_copy(vec, vec, src[1]);
|
||||
ml_vec3f_pitch_rotate_copy(vec, vec, rotation[0]);
|
||||
ml_vec3f_yaw_rotate_copy(vec, vec, rotation[1]);
|
||||
|
||||
dst[0] += vec[0];
|
||||
dst[1] += vec[1];
|
||||
dst[2] += vec[2];
|
||||
position[0] += vec[0];
|
||||
position[1] += vec[1];
|
||||
position[2] += vec[2];
|
||||
}
|
||||
|
||||
void func_80258EF4(f32 dst[3], f32 src[3], f32 amount)
|
||||
void ml_translate_z_local(f32 dst[3], f32 src[3], f32 dz)
|
||||
{
|
||||
f32 vec[3];
|
||||
|
||||
vec[0] = 0;
|
||||
vec[1] = 0;
|
||||
vec[2] = amount;
|
||||
vec[2] = dz;
|
||||
|
||||
ml_vec3f_pitch_rotate_copy(vec, vec, src[0]);
|
||||
ml_vec3f_yaw_rotate_copy(vec, vec, src[1]);
|
||||
@@ -1255,11 +1255,11 @@ void func_80258EF4(f32 dst[3], f32 src[3], f32 amount)
|
||||
dst[2] += vec[2];
|
||||
}
|
||||
|
||||
void func_80258F88(f32 dst[3], f32 src[3], f32 amount)
|
||||
void ml_translate_x_local(f32 dst[3], f32 src[3], f32 dx)
|
||||
{
|
||||
f32 vec[3];
|
||||
|
||||
vec[0] = amount;
|
||||
vec[0] = dx;
|
||||
vec[1] = 0;
|
||||
vec[2] = 0;
|
||||
|
||||
@@ -1481,7 +1481,7 @@ void func_802596AC(f32 a0[3], f32 a1[3], f32 a2[3], f32 a3[3])
|
||||
|
||||
s32 func_8025975C(f32 a0)
|
||||
{
|
||||
f32 val = (s32)(func_8024C788() - a0);
|
||||
f32 val = (s32)(viewport_getYaw() - a0);
|
||||
|
||||
while (val < 0)
|
||||
val += 360;
|
||||
|
@@ -17,7 +17,7 @@ void func_802409C0(f32 arg0[3], f32 arg1){
|
||||
sp30[1] = 0.0f;
|
||||
sp30[2] = -(sp28[1] * sp24);
|
||||
|
||||
func_8024C764(&sp3C);
|
||||
viewport_getRotation(&sp3C);
|
||||
ml_vec3f_yaw_rotate_copy(sp30, sp30, sp3C[1]);
|
||||
|
||||
arg0[0] = arg0[0] + sp30[0];
|
||||
@@ -59,7 +59,7 @@ void func_80240AC8(f32 arg0[3], f32 arg1){
|
||||
sp30[1] = 0.0f;
|
||||
sp30[2] = -(sp28[1] * sp24);
|
||||
|
||||
func_8024C764(&sp3C);
|
||||
viewport_getRotation(&sp3C);
|
||||
ml_vec3f_yaw_rotate_copy(sp30, sp30, sp3C[1]);
|
||||
|
||||
arg0[0] = arg0[0] + sp30[0];
|
||||
|
@@ -162,7 +162,7 @@ void func_802424D4(Gfx **gfx, Mtx **mtx, Vtx **vtx, f32 arg3[3], f32 arg4[3], f3
|
||||
sp68[1] *= arg5;
|
||||
sp68[2] *= arg5;
|
||||
|
||||
func_8024C5CC(sp5C);
|
||||
viewport_getPosition(sp5C);
|
||||
gSPDisplayList((*gfx)++, D_80275880);
|
||||
gSPSetGeometryMode((*gfx)++, G_ZBUFFER);
|
||||
gSPVertex((*gfx)++, *vtx, 8, 0);
|
||||
@@ -209,7 +209,7 @@ void func_80242BE8(Gfx **gfx, Vtx **arg1, f32 arg2[2][2][2][3], s32 arg3[3], s32
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
func_8024C5CC(sp84);
|
||||
viewport_getPosition(sp84);
|
||||
gSPDisplayList((*gfx)++, D_80275880);
|
||||
if (arg5){
|
||||
gSPSetGeometryMode((*gfx)++, G_CULL_BACK);
|
||||
|
@@ -13,8 +13,8 @@ f32 D_80275D2C = 4000.0f; //far
|
||||
|
||||
/* .data */
|
||||
f32 D_80280EA0[3];
|
||||
f32 D_80280EB0[3];
|
||||
f32 D_80280EC0[3];
|
||||
f32 viewportPosition[3];
|
||||
f32 viewportRotation[3];
|
||||
f32 D_80280ECC;
|
||||
f32 D_80280ED0[4][4];
|
||||
Vp D_80280F10[8];
|
||||
@@ -41,48 +41,48 @@ void func_80256E24(f32 [3], f32, f32, f32, f32, f32);
|
||||
/* .code */
|
||||
void func_8024C510(f32 arg0){
|
||||
f32 sp24[3];
|
||||
func_80256E24(sp24, D_80280EC0[0], D_80280EC0[1], 0.0f, 0.0f, arg0);
|
||||
D_80280EB0[0] += sp24[0];
|
||||
D_80280EB0[1] += sp24[1];
|
||||
D_80280EB0[2] += sp24[2];
|
||||
func_80256E24(sp24, viewportRotation[0], viewportRotation[1], 0.0f, 0.0f, arg0);
|
||||
viewportPosition[0] += sp24[0];
|
||||
viewportPosition[1] += sp24[1];
|
||||
viewportPosition[2] += sp24[2];
|
||||
}
|
||||
|
||||
void func_8024C584(f32 arg0[3]){
|
||||
ml_distance_vec3f(arg0, D_80280EB0);
|
||||
f32 viewport_getDistance(f32 arg0[3]){
|
||||
ml_distance_vec3f(arg0, viewportPosition);
|
||||
}
|
||||
|
||||
void func_8024C5A8(f32 arg0[3]){
|
||||
ml_vec3f_copy(arg0, D_80280EA0);
|
||||
}
|
||||
|
||||
void func_8024C5CC(f32 arg0[3]){
|
||||
ml_vec3f_copy(arg0, D_80280EB0);
|
||||
void viewport_getPosition(f32 arg0[3]){
|
||||
ml_vec3f_copy(arg0, viewportPosition);
|
||||
}
|
||||
|
||||
void func_8024C5F0(s32 dst[3]){
|
||||
dst[0] = ((f32)(s32)(D_80280EB0[0]*500.0))/500.0;
|
||||
dst[1] = ((f32)(s32)(D_80280EB0[1]*500.0))/500.0;
|
||||
dst[2] = ((f32)(s32)(D_80280EB0[2]*500.0))/500.0;
|
||||
dst[0] = ((f32)(s32)(viewportPosition[0]*500.0))/500.0;
|
||||
dst[1] = ((f32)(s32)(viewportPosition[1]*500.0))/500.0;
|
||||
dst[2] = ((f32)(s32)(viewportPosition[2]*500.0))/500.0;
|
||||
}
|
||||
|
||||
void func_8024C6A0(s16 dst[3]){
|
||||
dst[0] = ((f32)(s32)(D_80280EB0[0]*500.0))/500.0;
|
||||
dst[1] = ((f32)(s32)(D_80280EB0[1]*500.0))/500.0;
|
||||
dst[2] = ((f32)(s32)(D_80280EB0[2]*500.0))/500.0;
|
||||
dst[0] = ((f32)(s32)(viewportPosition[0]*500.0))/500.0;
|
||||
dst[1] = ((f32)(s32)(viewportPosition[1]*500.0))/500.0;
|
||||
dst[2] = ((f32)(s32)(viewportPosition[2]*500.0))/500.0;
|
||||
}
|
||||
|
||||
void func_8024C764(f32 arg0[3]){
|
||||
ml_vec3f_copy(arg0, D_80280EC0);
|
||||
void viewport_getRotation(f32 arg0[3]){
|
||||
ml_vec3f_copy(arg0, viewportRotation);
|
||||
}
|
||||
|
||||
f32 func_8024C788(void){
|
||||
return D_80280EC0[1];
|
||||
f32 viewport_getYaw(void){
|
||||
return viewportRotation[1];
|
||||
}
|
||||
|
||||
void func_8024C794(f32 *arg0, f32 *arg1, f32 *arg2){
|
||||
*arg0 = D_80280EC0[0];
|
||||
*arg1 = D_80280EC0[1];
|
||||
*arg2 = D_80280EC0[2];
|
||||
*arg0 = viewportRotation[0];
|
||||
*arg1 = viewportRotation[1];
|
||||
*arg2 = viewportRotation[2];
|
||||
}
|
||||
|
||||
void func_8024C7B8(Gfx **gfx, Mtx **mtx){
|
||||
@@ -115,13 +115,13 @@ void func_8024C964(Gfx **gfx, Mtx **mtx, f32 near, f32 far){
|
||||
gSPPerspNormalize((*gfx)++, sp5e);
|
||||
gSPMatrix((*gfx)++, OS_PHYSICAL_TO_K0((*mtx)++), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
guRotate(*mtx, -D_80280EC0[2], 0.0f, 0.0f, -1.0f);
|
||||
guRotate(*mtx, -viewportRotation[2], 0.0f, 0.0f, -1.0f);
|
||||
gSPMatrix((*gfx)++, OS_PHYSICAL_TO_K0((*mtx)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
guRotate(*mtx, -D_80280EC0[0], 1.0f, 0.0f, 0.0f);
|
||||
guRotate(*mtx, -viewportRotation[0], 1.0f, 0.0f, 0.0f);
|
||||
gSPMatrix((*gfx)++, OS_PHYSICAL_TO_K0((*mtx)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
guRotate(*mtx, -D_80280EC0[1], 0.0f, 1.0f, 0.0f);
|
||||
guRotate(*mtx, -viewportRotation[1], 0.0f, 1.0f, 0.0f);
|
||||
gSPMatrix((*gfx)++, OS_PHYSICAL_TO_K0((*mtx)++), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
guTranslate(*mtx, 0.0f, 0.0f, 0.0f);
|
||||
@@ -166,30 +166,30 @@ void func_8024CD7C(int arg0){
|
||||
D_80280F90 = arg0;
|
||||
}
|
||||
|
||||
void func_8024CD88(f32 src[3]){
|
||||
ml_vec3f_copy(D_80280EB0, src);
|
||||
void viewport_setPosition(f32 src[3]){
|
||||
ml_vec3f_copy(viewportPosition, src);
|
||||
}
|
||||
|
||||
void func_8024CDB0(s32 src[3]){
|
||||
D_80280EB0[0] = (f32)src[0];
|
||||
D_80280EB0[1] = (f32)src[1];
|
||||
D_80280EB0[2] = (f32)src[2];
|
||||
viewportPosition[0] = (f32)src[0];
|
||||
viewportPosition[1] = (f32)src[1];
|
||||
viewportPosition[2] = (f32)src[2];
|
||||
}
|
||||
|
||||
void func_8024CDF8(f32 arg0, f32 arg1, f32 arg2){
|
||||
D_80280EB0[0] = arg0;
|
||||
D_80280EB0[1] = arg1;
|
||||
D_80280EB0[2] = arg2;
|
||||
viewportPosition[0] = arg0;
|
||||
viewportPosition[1] = arg1;
|
||||
viewportPosition[2] = arg2;
|
||||
}
|
||||
|
||||
void func_8024CE18(f32 src[3]){
|
||||
ml_vec3f_copy(D_80280EC0, src);
|
||||
void viewport_setRotation(f32 src[3]){
|
||||
ml_vec3f_copy(viewportRotation, src);
|
||||
}
|
||||
|
||||
void func_8024CE40(f32 arg0, f32 arg1, f32 arg2){
|
||||
D_80280EC0[0] = arg0;
|
||||
D_80280EC0[1] = arg1;
|
||||
D_80280EC0[2] = arg2;
|
||||
viewportRotation[0] = arg0;
|
||||
viewportRotation[1] = arg1;
|
||||
viewportRotation[2] = arg2;
|
||||
}
|
||||
|
||||
void func_8024CE60(f32 near, f32 far){
|
||||
@@ -223,22 +223,22 @@ void func_8024CF10(f32 arg0, f32 arg1, f32 arg2, f32 arg3){
|
||||
osWritebackDCache(&D_80280F10[D_80281018], sizeof(Vp)*8);
|
||||
}
|
||||
|
||||
void func_8024CFD4(void){
|
||||
func_80256E24(D_80280ED0[0], D_80280EC0[0], D_80280EC0[1], -89.21774f, 0.0f, 45.168514251708984f);
|
||||
func_80256E24(D_80280ED0[1], D_80280EC0[0], D_80280EC0[1], 89.21774f, 0.0f, 45.168514251708984f);
|
||||
func_80256E24(D_80280ED0[2], D_80280EC0[0], D_80280EC0[1], 0.0f, 93.9692611694336f, 34.20201110839844f);
|
||||
func_80256E24(D_80280ED0[3], D_80280EC0[0], D_80280EC0[1], 0.0f, -93.9692611694336f, 34.20201110839844f);
|
||||
void viewport_update(void){
|
||||
func_80256E24(D_80280ED0[0], viewportRotation[0], viewportRotation[1], -89.21774f, 0.0f, 45.168514251708984f);
|
||||
func_80256E24(D_80280ED0[1], viewportRotation[0], viewportRotation[1], 89.21774f, 0.0f, 45.168514251708984f);
|
||||
func_80256E24(D_80280ED0[2], viewportRotation[0], viewportRotation[1], 0.0f, 93.9692611694336f, 34.20201110839844f);
|
||||
func_80256E24(D_80280ED0[3], viewportRotation[0], viewportRotation[1], 0.0f, -93.9692611694336f, 34.20201110839844f);
|
||||
ml_vec3f_normalize(D_80280ED0[0]);
|
||||
ml_vec3f_normalize(D_80280ED0[1]);
|
||||
ml_vec3f_normalize(D_80280ED0[2]);
|
||||
ml_vec3f_normalize(D_80280ED0[3]);
|
||||
D_80280ED0[0][3] = -(D_80280EB0[0]*D_80280ED0[0][0] + D_80280EB0[1]*D_80280ED0[0][1] + D_80280EB0[2]*D_80280ED0[0][2]);
|
||||
D_80280ED0[1][3] = -(D_80280EB0[0]*D_80280ED0[1][0] + D_80280EB0[1]*D_80280ED0[1][1] + D_80280EB0[2]*D_80280ED0[1][2]);
|
||||
D_80280ED0[2][3] = -(D_80280EB0[0]*D_80280ED0[2][0] + D_80280EB0[1]*D_80280ED0[2][1] + D_80280EB0[2]*D_80280ED0[2][2]);
|
||||
D_80280ED0[3][3] = -(D_80280EB0[0]*D_80280ED0[3][0] + D_80280EB0[1]*D_80280ED0[3][1] + D_80280EB0[2]*D_80280ED0[3][2]);
|
||||
D_80280ED0[0][3] = -(viewportPosition[0]*D_80280ED0[0][0] + viewportPosition[1]*D_80280ED0[0][1] + viewportPosition[2]*D_80280ED0[0][2]);
|
||||
D_80280ED0[1][3] = -(viewportPosition[0]*D_80280ED0[1][0] + viewportPosition[1]*D_80280ED0[1][1] + viewportPosition[2]*D_80280ED0[1][2]);
|
||||
D_80280ED0[2][3] = -(viewportPosition[0]*D_80280ED0[2][0] + viewportPosition[1]*D_80280ED0[2][1] + viewportPosition[2]*D_80280ED0[2][2]);
|
||||
D_80280ED0[3][3] = -(viewportPosition[0]*D_80280ED0[3][0] + viewportPosition[1]*D_80280ED0[3][1] + viewportPosition[2]*D_80280ED0[3][2]);
|
||||
mlMtxIdent();
|
||||
mlMtxRotYaw(D_80280EC0[1]);
|
||||
mlMtxRotPitch(D_80280EC0[0]);
|
||||
mlMtxRotYaw(viewportRotation[1]);
|
||||
mlMtxRotPitch(viewportRotation[0]);
|
||||
mlMtxGet(&D_80280F98);
|
||||
D_80280EA0[0] = 0.0f;
|
||||
D_80280EA0[1] = 0.0f;
|
||||
@@ -332,9 +332,9 @@ bool func_8024D9B0(Cube *cube) {
|
||||
if (cube->x == -0x10) {
|
||||
return TRUE;
|
||||
}
|
||||
sp1C[0] = (f32) ((cube->x * 1000) + 500) - D_80280EB0[0];
|
||||
sp1C[1] = (f32) ((cube->y * 1000) + 500) - D_80280EB0[1];
|
||||
sp1C[2] = (f32) ((cube->z * 1000) + 500) - D_80280EB0[2];
|
||||
sp1C[0] = (f32) ((cube->x * 1000) + 500) - viewportPosition[0];
|
||||
sp1C[1] = (f32) ((cube->y * 1000) + 500) - viewportPosition[1];
|
||||
sp1C[2] = (f32) ((cube->z * 1000) + 500) - viewportPosition[2];
|
||||
if (LENGTH_SQ_VEC3F(sp1C) > 1.6e7f) {
|
||||
return FALSE;
|
||||
}
|
||||
@@ -351,9 +351,9 @@ bool func_8024DB50(f32 arg0[3], f32 arg1) {
|
||||
f32 sp3C[3];
|
||||
s32 i;
|
||||
|
||||
sp3C[0] = arg0[0] - D_80280EB0[0];
|
||||
sp3C[1] = arg0[1] - D_80280EB0[1];
|
||||
sp3C[2] = arg0[2] - D_80280EB0[2];
|
||||
sp3C[0] = arg0[0] - viewportPosition[0];
|
||||
sp3C[1] = arg0[1] - viewportPosition[1];
|
||||
sp3C[2] = arg0[2] - viewportPosition[2];
|
||||
for(i = 0; i < 4; i++){
|
||||
if(arg1 <= ml_dotProduct_vec3f(sp3C, D_80280ED0[i])){
|
||||
return FALSE;
|
||||
@@ -409,7 +409,7 @@ f32 func_8024DDCC(void){
|
||||
}
|
||||
|
||||
f32 func_8024DDD8(s32 arg0, f32 arg1){
|
||||
return mlNormalizeAngle((D_80280EC0[1] + arg1) + 90.0);
|
||||
return mlNormalizeAngle((viewportRotation[1] + arg1) + 90.0);
|
||||
}
|
||||
|
||||
f32 func_8024DE1C(f32 arg0, f32 arg1, f32 arg2[3], f32 arg3[3]) {
|
||||
@@ -426,18 +426,18 @@ f32 func_8024DE1C(f32 arg0, f32 arg1, f32 arg2[3], f32 arg3[3]) {
|
||||
}
|
||||
arg0 = arg0 - (framebuffer_width / (f32)2);
|
||||
arg1 = (framebuffer_height / (f32)2) - arg1;
|
||||
arg3[0] = D_80280EC0[0];
|
||||
arg3[1] = D_80280EC0[1];
|
||||
arg3[2] = D_80280EC0[2];
|
||||
arg3[0] = viewportRotation[0];
|
||||
arg3[1] = viewportRotation[1];
|
||||
arg3[2] = viewportRotation[2];
|
||||
arg2[0] = arg0 * D_80281024;
|
||||
arg2[1] = arg1 * D_80281024;
|
||||
arg2[2] = (-500.0 - D_80275D28);
|
||||
ml_vec3f_pitch_rotate_copy(arg2, arg2, arg3[0]);
|
||||
ml_vec3f_yaw_rotate_copy(arg2, arg2, arg3[1]);
|
||||
|
||||
arg2[0] += D_80280EB0[0];
|
||||
arg2[1] += D_80280EB0[1];
|
||||
arg2[2] += D_80280EB0[2];
|
||||
arg2[0] += viewportPosition[0];
|
||||
arg2[1] += viewportPosition[1];
|
||||
arg2[2] += viewportPosition[2];
|
||||
return D_80281024;
|
||||
}
|
||||
|
||||
@@ -457,11 +457,11 @@ bool func_8024E030(f32 arg0[3], f32 *arg1)
|
||||
f32 temp_f2;
|
||||
f32 sp28;
|
||||
sp28 = (D_80275D20 * 3.14159265358979323846) / 360.0;
|
||||
sp34[0] = arg0[0] - D_80280EB0[0];
|
||||
sp34[1] = arg0[1] - D_80280EB0[1];
|
||||
sp34[2] = arg0[2] - D_80280EB0[2];
|
||||
ml_vec3f_yaw_rotate_copy(sp34, sp34, -D_80280EC0[1]);
|
||||
ml_vec3f_pitch_rotate_copy(sp34, sp34, -D_80280EC0[0]);
|
||||
sp34[0] = arg0[0] - viewportPosition[0];
|
||||
sp34[1] = arg0[1] - viewportPosition[1];
|
||||
sp34[2] = arg0[2] - viewportPosition[2];
|
||||
ml_vec3f_yaw_rotate_copy(sp34, sp34, -viewportRotation[1]);
|
||||
ml_vec3f_pitch_rotate_copy(sp34, sp34, -viewportRotation[0]);
|
||||
if ((-D_80275D28) <= sp34[2]) {
|
||||
return 0;
|
||||
}
|
||||
@@ -480,8 +480,8 @@ bool func_8024E030(f32 arg0[3], f32 *arg1)
|
||||
|
||||
void func_8024E258(void){
|
||||
s32 i, j;
|
||||
func_8024C5CC(D_80281028);
|
||||
func_8024C764(D_80281038);
|
||||
viewport_getPosition(D_80281028);
|
||||
viewport_getRotation(D_80281038);
|
||||
func_8024D1EC(D_80281048, D_80281058, D_80281068, D_80281078);
|
||||
func_8024C5A8(D_80281088);
|
||||
for(i = 0; i < 4; i++){
|
||||
@@ -493,8 +493,8 @@ void func_8024E258(void){
|
||||
|
||||
void func_8024E2FC(void){
|
||||
s32 i, j;
|
||||
func_8024CD88(D_80281028);
|
||||
func_8024CE18(D_80281038);
|
||||
viewport_setPosition(D_80281028);
|
||||
viewport_setRotation(D_80281038);
|
||||
func_8024D2B0(D_80281048, D_80281058, D_80281068, D_80281078);
|
||||
ml_vec3f_copy(D_80280EA0, D_80281088);
|
||||
for(i = 0; i < 4; i++){
|
||||
@@ -504,9 +504,10 @@ void func_8024E2FC(void){
|
||||
}
|
||||
}
|
||||
|
||||
//moves the point(arg0) some distance (arg1) further away from the camera
|
||||
void func_8024E3A8(f32 arg0[3], f32 arg1){
|
||||
f32 sp1C[3];
|
||||
ml_vec3f_diff_copy(sp1C, D_80280EB0, arg0);
|
||||
ml_vec3f_diff_copy(sp1C, viewportPosition, arg0);
|
||||
ml_vec3f_set_length_copy(sp1C, sp1C, arg1);
|
||||
arg0[0] += sp1C[0];
|
||||
arg0[1] += sp1C[1];
|
||||
|
@@ -395,7 +395,7 @@ void bsant_die_init(void){
|
||||
gravity_set(-1200.0f);
|
||||
pitch_setAngVel(1000.0f, 12.0f);
|
||||
func_802914CC(0xd);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029C984();
|
||||
D_8037D294 = 0;
|
||||
baMarker_collisionOff();
|
||||
|
@@ -5,7 +5,7 @@
|
||||
extern void func_8028FDC8(f32);
|
||||
extern void baModel_setYDisplacement(f32);
|
||||
extern f32 func_8029B2D0(void);
|
||||
extern void func_802BFE50(f32, f32, f32);
|
||||
extern void ncDynamicCam4_func_802BFE50(f32, f32, f32);
|
||||
extern void func_80354030(f32[3], f32);
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ int func_802A3350(void){
|
||||
void func_802A339C(f32 arg0[3], f32 arg1[3], f32 arg2){
|
||||
func_8024C5A8(arg0);
|
||||
ml_vec3f_scale(arg0, arg2);
|
||||
func_8024C764(arg1);
|
||||
viewport_getRotation(arg1);
|
||||
}
|
||||
|
||||
void func_802A33D8(void){
|
||||
@@ -330,7 +330,7 @@ void func_802A3F9C(void){
|
||||
pitch_setIdeal(sp1C[0]);
|
||||
func_8029E070(1);
|
||||
func_802914CC(4);
|
||||
func_802BFE74(1);
|
||||
ncDynamicCam4_func_802BFE74(1);
|
||||
func_802A3430();
|
||||
FUNC_8030E624(SFX_52_BANJO_YAH_OH, 1.0f, 28000);
|
||||
D_8037D345 = 0;
|
||||
@@ -377,7 +377,7 @@ void func_802A411C(void) {
|
||||
if (animctrl_isAt(sp58, 0.6905f)) {
|
||||
func_802978DC(8);
|
||||
func_802914CC(5);
|
||||
func_802BF590(&D_8037D338);
|
||||
ncDynamicCam5_func_802BF590(&D_8037D338);
|
||||
animctrl_setDuration(sp58, 0.05f);
|
||||
func_80299CF4(SFX_50_KAZOOIE_RRRUH, 1.3f, 0x7FFF);
|
||||
D_8037D345 = 1;
|
||||
@@ -573,7 +573,7 @@ void func_802A48B4(void) {
|
||||
if (item_getCount(ITEM_14_HEALTH) == 0) {
|
||||
func_8029C984();
|
||||
func_8029151C(0xD);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029B930();
|
||||
func_8029E3C0(0, 2.5f);
|
||||
D_8037D344 = 2;
|
||||
@@ -652,7 +652,7 @@ void func_802A4A78(s32 arg0) {
|
||||
func_80297BF8(-4000.0f);
|
||||
func_8029E070(1);
|
||||
func_802914CC(4);
|
||||
func_802BFE50(12.0f, 10000.0f, 800.0f);
|
||||
ncDynamicCam4_func_802BFE50(12.0f, 10000.0f, 800.0f);
|
||||
baMarker_collisionOff();
|
||||
func_802A3430();
|
||||
}
|
||||
@@ -728,7 +728,7 @@ void func_802A4D90(void) {
|
||||
gravity_set(-1800.0f);
|
||||
baMarker_collisionOff();
|
||||
func_802914CC(4);
|
||||
func_802BFE50(12.0f, 10000.0f, 800.0f);
|
||||
ncDynamicCam4_func_802BFE50(12.0f, 10000.0f, 800.0f);
|
||||
}
|
||||
|
||||
void func_802A4EC8(void) {
|
||||
|
@@ -441,7 +441,7 @@ void func_802A8098(void) {
|
||||
}
|
||||
if (func_8029E284(1, 1.9f)) {
|
||||
func_802914CC(0xD);
|
||||
func_802BF2C0(80.0f);
|
||||
ncDynamicCamD_func_802BF2C0(80.0f);
|
||||
if (D_8037D394) {
|
||||
func_8029E3C0(0, 0.5f);
|
||||
} else {
|
||||
|
@@ -10,7 +10,7 @@ void func_80297970(f32);
|
||||
|
||||
void baModel_setYDisplacement(f32);
|
||||
void func_80297BF8(f32);
|
||||
void func_802BFE50(f32, f32, f32);
|
||||
void ncDynamicCam4_func_802BFE50(f32, f32, f32);
|
||||
void yaw_setVelocityBounded(f32, f32);
|
||||
f32 func_8029B2D0(void);
|
||||
f32 func_8029B2DC(void);
|
||||
@@ -123,7 +123,7 @@ void _bsBeeFly_updateYaw(void){
|
||||
f32 sp30;
|
||||
f32 stickX;
|
||||
stickX = func_8029B2D0();
|
||||
func_802BFE50(2.0f, 2000.0f, 350.0f);
|
||||
ncDynamicCam4_func_802BFE50(2.0f, 2000.0f, 350.0f);
|
||||
if(button_held(BUTTON_R)){
|
||||
yaw_setVelocityBounded(500.0f, 30.0f);
|
||||
sp34 = 6.0f;
|
||||
|
@@ -9,7 +9,7 @@ void yaw_applyIdeal(void);
|
||||
void func_8029797C(f32);
|
||||
f32 func_80297A64(void);
|
||||
void func_802979AC(f32, f32);
|
||||
void func_802BF2C0(f32);
|
||||
void ncDynamicCamD_func_802BF2C0(f32);
|
||||
|
||||
f32 baanim_getTimer(void);
|
||||
void baanim_setEndAndDuration(f32, f32);
|
||||
@@ -425,7 +425,7 @@ void bsbeemain_die_init(void){
|
||||
baMarker_collisionOff();
|
||||
func_80292E48();
|
||||
func_802914CC(0xd);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029C984();
|
||||
func_8030E58C(SFX_36_BANJO_DOH, 1.8f);
|
||||
func_8029E3C0(0, 2.9f);
|
||||
|
@@ -443,7 +443,7 @@ void bscroc_die_init(void){
|
||||
baMarker_collisionOff();
|
||||
func_80292E48();
|
||||
func_802914CC(0xd);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029C984();
|
||||
func_8030E58C(SFX_36_BANJO_DOH, 1.8f);
|
||||
func_8029E3C0(0, 2.9f);
|
||||
|
@@ -53,7 +53,7 @@ void bsdie_init(void){
|
||||
pitch_setAngVel(1000.0f, 12.0f);
|
||||
func_8029E070(1);
|
||||
func_8029151C(0xd);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029C984();
|
||||
func_8029E3C0(0,2.9f);
|
||||
D_8037D414 = 0;
|
||||
|
@@ -21,14 +21,14 @@ void bsDroneLook_init(void) {
|
||||
func_8029C7F4(1, 1, 3, 2);
|
||||
func_80297970(0.0f);
|
||||
func_80297A0C(0);
|
||||
func_802BE8D8();
|
||||
ncDynamicCamera_enterFirstPerson();
|
||||
__bsDroneLook_getEyePos(eye_position);
|
||||
func_802C2A64(eye_position);
|
||||
ncFirstPersonCamera_setZoomedOutPosition(eye_position);
|
||||
player_getRotation(eye_rotation);
|
||||
eye_rotation[0] = 0.0f;
|
||||
eye_rotation[1] += 180.0f;
|
||||
eye_rotation[2] = 0.0f;
|
||||
func_802C2A8C(eye_rotation);
|
||||
ncFirstPersonCamera_setZoomedOutRotation(eye_rotation);
|
||||
miscflag_set(0x17);
|
||||
}
|
||||
|
||||
@@ -41,13 +41,13 @@ void bsDroneLook_update(void) {
|
||||
|
||||
next_state = 0;
|
||||
dt = time_getDelta();
|
||||
if (func_802C2B00() == 2) {
|
||||
func_802C2ADC(eye_rotation);
|
||||
if (ncFirstPersonCamera_getState() == 2) {
|
||||
ncFirstPersonCamera_getZoomedInRotation(eye_rotation);
|
||||
eye_rotation[0] -= func_8029B2DC() * 90.0f * dt;
|
||||
eye_rotation[1] -= func_8029B2D0() * 90.0f * dt;
|
||||
eye_rotation[2] = 0.0f;
|
||||
eye_rotation[0] = (eye_rotation[0] > 180.0f) ? ml_max_f(305.0f, eye_rotation[0]) : ml_min_f(70.0f, eye_rotation[0]);
|
||||
func_802C2A8C(eye_rotation);
|
||||
ncFirstPersonCamera_setZoomedOutRotation(eye_rotation);
|
||||
yaw_setIdeal(eye_rotation[1] + 180.0f);
|
||||
exit_first_person = FALSE;
|
||||
if (button_pressed(BUTTON_B) || button_pressed(BUTTON_A) || button_pressed(BUTTON_C_UP)) {
|
||||
@@ -65,7 +65,7 @@ void bsDroneLook_update(void) {
|
||||
}
|
||||
}
|
||||
__bsDroneLook_getEyePos(eye_position);
|
||||
func_802C2A64(eye_position);
|
||||
ncFirstPersonCamera_setZoomedOutPosition(eye_position);
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
@@ -73,6 +73,6 @@ void bsDroneLook_end(void) {
|
||||
if (func_80298850() == 0) {
|
||||
func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000);
|
||||
}
|
||||
func_802BE91C();
|
||||
ncDynamicCamera_exitFirstPerson();
|
||||
miscflag_clear(0x17);
|
||||
}
|
||||
|
@@ -454,7 +454,7 @@ void bspumpkin_die_init(void) {
|
||||
gravity_set(-1200.0f);
|
||||
pitch_setAngVel(1000.0f, 12.0f);
|
||||
func_802914CC(0xD);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8029C984();
|
||||
baMarker_collisionOff();
|
||||
func_80292E48();
|
||||
|
@@ -5,7 +5,7 @@
|
||||
|
||||
void func_80292E80(s32, f32);
|
||||
f32 func_8029B41C(void);
|
||||
void func_802BF2C0(f32);
|
||||
void ncDynamicCamD_func_802BF2C0(f32);
|
||||
|
||||
void func_802B6270(void){
|
||||
baanim_playForDuration_once(ASSET_77_ANIM_BSTIMEOUT, 3.2f);
|
||||
@@ -13,7 +13,7 @@ void func_802B6270(void){
|
||||
func_80297970(0.0f);
|
||||
func_802914CC(0xd);
|
||||
yaw_setIdeal(func_8029B41C() + 35.0f);
|
||||
func_802BF2C0(80.0f);
|
||||
ncDynamicCamD_func_802BF2C0(80.0f);
|
||||
func_8025A58C(0,0xfa0);
|
||||
func_8025A70C(COMUSIC_3C_MINIGAME_LOSS);
|
||||
func_8024BD08(0);
|
||||
@@ -54,7 +54,7 @@ void func_802B63F8(void){
|
||||
func_80297970(0.0f);
|
||||
func_802914CC(0xd);
|
||||
yaw_setIdeal(func_8029B41C() + 35.0f);
|
||||
func_802BF2C0(80.0f);
|
||||
ncDynamicCamD_func_802BF2C0(80.0f);
|
||||
func_8025A58C(0,0xfa0);
|
||||
func_8025A70C(COMUSIC_3C_MINIGAME_LOSS);
|
||||
func_8024BD08(0);
|
||||
|
@@ -463,7 +463,7 @@ void bswalrus_die_init(void){
|
||||
gravity_set(-1200.0f);
|
||||
pitch_setAngVel(1000.0f, 12.0f);
|
||||
func_802914CC(0xd);
|
||||
func_802BF2C0(30.0f);
|
||||
ncDynamicCamD_func_802BF2C0(30.0f);
|
||||
func_8025AB00();
|
||||
func_8025A2FC(0, 0xfa0);
|
||||
func_8025A70C(0x1A);
|
||||
@@ -727,7 +727,7 @@ void bswalrus_timeout_init(void) {
|
||||
func_8029C7F4(1, 1, 3, 7);
|
||||
func_80297970(0.0f);
|
||||
func_802914CC(0xD);
|
||||
func_802BF2C0(60.0f);
|
||||
ncDynamicCamD_func_802BF2C0(60.0f);
|
||||
func_8025A58C(0, 4000);
|
||||
func_8025A70C(COMUSIC_3C_MINIGAME_LOSS);
|
||||
func_8024BD08(0);
|
||||
|
@@ -87,7 +87,7 @@ f32 func_802D7038(Actor *this) {
|
||||
void func_802D7124(Actor *actor, f32 arg1) {
|
||||
f32 sp1C[3];
|
||||
|
||||
func_8024C5CC(&sp1C);
|
||||
viewport_getPosition(&sp1C);
|
||||
if ((actor->position[0] - sp1C[0]) * (actor->position[0] - sp1C[0]) + (actor->position[2] - sp1C[2]) * (actor->position[2] - sp1C[2]) < 12250000.0f) {
|
||||
func_802D729C(actor, arg1);
|
||||
}
|
||||
|
@@ -135,9 +135,9 @@ void chBottlesBonus_func_802DD080(Gfx **gfx, Mtx **mtx) {
|
||||
sp18[1] = 270.0f;
|
||||
sp18[2] = 0.0f;
|
||||
}
|
||||
func_8024CD88(sp24);
|
||||
func_8024CE18(sp18);
|
||||
func_8024CFD4();
|
||||
viewport_setPosition(sp24);
|
||||
viewport_setRotation(sp18);
|
||||
viewport_update();
|
||||
func_8024C904(gfx, mtx);
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,7 @@ extern ActorInfo D_80372870 = {
|
||||
};
|
||||
|
||||
/* .code */
|
||||
void func_80357150(Actor *this){
|
||||
void __clucker_setDeathCutsceneCamera(Actor *this){
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
f32 sp1C[3];
|
||||
@@ -44,7 +44,7 @@ void func_80357150(Actor *this){
|
||||
sp28[0] = -50.0f;
|
||||
sp28[1] = this->yaw + 20.0f;
|
||||
sp28[2] = 0.0f;
|
||||
func_802BAE6C(sp34, sp28);
|
||||
ncStaticCamera_setPositionAndRotation(sp34, sp28);
|
||||
}
|
||||
|
||||
void func_80357264(Actor *this, s32 next_state){
|
||||
@@ -95,8 +95,8 @@ void func_80357264(Actor *this, s32 next_state){
|
||||
){
|
||||
levelSpecificFlags_set(0x14, TRUE);
|
||||
func_80324E38(0.0f, 3);
|
||||
func_80357150(this);
|
||||
func_80324E88(2.0f);
|
||||
__clucker_setDeathCutsceneCamera(this);
|
||||
timed_exitStaticCamera(2.0f);
|
||||
func_80324E38(2.0f, 0);
|
||||
}//L80357518
|
||||
func_8030E6D4(SFX_1E_HITTING_AN_ENEMY_2);
|
||||
|
@@ -27,7 +27,7 @@ void func_802CD870(Actor *this){
|
||||
|
||||
void func_802CD898(Actor *this){
|
||||
marker_despawn(this->marker);
|
||||
func_802BBC58(2);
|
||||
camera_setType(2);
|
||||
}
|
||||
|
||||
void func_802CD8C0(Actor *this){
|
||||
@@ -76,8 +76,8 @@ void func_802CD8C0(Actor *this){
|
||||
mapSpecificFlags_set(4, TRUE);
|
||||
}
|
||||
else{
|
||||
func_802BBC58(2);
|
||||
func_802BD0D8(0xf);
|
||||
camera_setType(2);
|
||||
ncDynamicCamera_setState(0xf);
|
||||
}
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
@@ -87,12 +87,12 @@ void func_802CD8C0(Actor *this){
|
||||
void func_802CDAC4(Actor *this){
|
||||
f32 sp1C[3];
|
||||
|
||||
func_802BBC58(1);
|
||||
func_8024CD88(this->position);
|
||||
camera_setType(1);
|
||||
viewport_setPosition(this->position);
|
||||
sp1C[0] = this->pitch;
|
||||
sp1C[1] = this->yaw;
|
||||
sp1C[2] = 0.0f;
|
||||
func_8024CE18(sp1C);
|
||||
viewport_setRotation(sp1C);
|
||||
}
|
||||
|
||||
void func_802CDB18(Actor *this){
|
||||
|
@@ -146,9 +146,9 @@ void __chCrab_spawn_mutant_crab_jiggy(void) {
|
||||
void __chCrab_mutantTextCallback(ActorMarker *caller, enum asset_e text_id, s32 model_id){
|
||||
if (text_id == ASSET_D33_DIALOG_MUTANT_CRAB_DEFEAT) {
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 4);
|
||||
timed_setStaticCameraToNode(0.0f, 4);
|
||||
timedFunc_set_0(0.1f, __chCrab_spawn_mutant_crab_jiggy);
|
||||
func_80324E88(3.0f);
|
||||
timed_exitStaticCamera(3.0f);
|
||||
func_80324E38(3.0f, 0);
|
||||
return;
|
||||
}
|
||||
|
@@ -528,7 +528,7 @@ void func_802C4C14(Actor *this){
|
||||
ml_vec3f_copy(D_80365DD0[i], sp34);
|
||||
}
|
||||
}
|
||||
func_802BAEB4(
|
||||
ncStaticCamera_setPositionAndTarget(
|
||||
func_802C44EC(D_80365DD0[D_8037DCE8], D_80365DD0[D_80365E00], D_8037DD30),
|
||||
func_802C44EC(D_80365E04[D_8037DCE8], D_80365E04[D_80365E00], D_8037DD30)
|
||||
);
|
||||
|
@@ -136,7 +136,7 @@ void func_802D9600(Actor * this){
|
||||
}
|
||||
|
||||
void func_802D9658(Actor *this){
|
||||
timed_setCameraToNode(0.0f, D_80367DC4[this->unkF4_8-9].camera_node);
|
||||
timed_setStaticCameraToNode(0.0f, D_80367DC4[this->unkF4_8-9].camera_node);
|
||||
}
|
||||
|
||||
void func_802D9698(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||
@@ -155,7 +155,7 @@ void func_802D9698(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||
func_80347A14(1);
|
||||
actor->unk138_24 = FALSE;
|
||||
}
|
||||
func_80324E88(0.0f);
|
||||
timed_exitStaticCamera(0.0f);
|
||||
if(actor->state == 5){
|
||||
func_8028F918(0);
|
||||
func_802D9600(actor);
|
||||
@@ -170,7 +170,7 @@ void func_802D9830(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
switch(arg2){
|
||||
case 1:
|
||||
timed_setCameraToNode(0.0f, 0x11);
|
||||
timed_setStaticCameraToNode(0.0f, 0x11);
|
||||
levelSpecificFlags_set(0x1A, 1);
|
||||
break;
|
||||
case 2:
|
||||
@@ -178,7 +178,7 @@ void func_802D9830(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||
func_802D9658(actor);
|
||||
break;
|
||||
case 3:
|
||||
timed_setCameraToNode(0.0f, 0x29);
|
||||
timed_setStaticCameraToNode(0.0f, 0x29);
|
||||
levelSpecificFlags_set(0x1A, 1);
|
||||
break;
|
||||
case 4:
|
||||
|
@@ -40,9 +40,9 @@ Actor *chOverlayNoController_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vt
|
||||
func_8024E258();
|
||||
{sp58[0] = 0.0f; sp58[1] = 0.0f; sp58[2] = 1312.5f;};
|
||||
{sp4C[0] = 0.0f; sp4C[1] = 0.0f; sp4C[2] = 0.0f;};
|
||||
func_8024CD88(sp58);
|
||||
func_8024CE18(sp4C);
|
||||
func_8024CFD4();
|
||||
viewport_setPosition(sp58);
|
||||
viewport_setRotation(sp4C);
|
||||
viewport_update();
|
||||
func_8024C904(gdl, mptr);
|
||||
{sp40[0] = 0.0f; sp40[1] = 0.0f; sp40[2] = 0.0f;};
|
||||
{sp34[0] = 0.0f; sp34[1] = 165.0f; sp34[2] = 0.0f;};
|
||||
|
@@ -50,9 +50,9 @@ Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx
|
||||
func_8024E258();
|
||||
{sp58[0] = 0.0f; sp58[1] = 0.0f; sp58[2] = 1312.5f;};
|
||||
{sp4C[0] = 0.0f; sp4C[1] = 0.0f; sp4C[2] = 0.0f;};
|
||||
func_8024CD88(sp58);
|
||||
func_8024CE18(sp4C);
|
||||
func_8024CFD4();
|
||||
viewport_setPosition(sp58);
|
||||
viewport_setRotation(sp4C);
|
||||
viewport_update();
|
||||
func_8024C904(gdl, mptr);
|
||||
{sp40[0] = 0.0f; sp40[1] = 0.0f; sp40[2] = 0.0f;};
|
||||
{sp34[0] = 0.0f; sp34[1] = 400.0f; sp34[2] = 0.0f;};
|
||||
|
@@ -52,7 +52,7 @@ void __chTermite_updateWalkSFX(Actor *this) {
|
||||
f32 sp24[3];
|
||||
f32 sp20;
|
||||
|
||||
func_8024C5CC(&sp24);
|
||||
viewport_getPosition(&sp24);
|
||||
sp20 = ml_map_f( (300.0f - sp24[0])*(300.0f - sp24[0]) + (this->position[1] - sp24[1])*(this->position[1] - sp24[1]) + (-858.0f - sp24[2])*(-858.0f - sp24[2])
|
||||
, 7617600.0f, 8236900.0f
|
||||
, 8000.0f, 1000.0f
|
||||
|
@@ -202,7 +202,7 @@ f32 func_8029B41C(void){
|
||||
f32 sp1C;
|
||||
|
||||
player_getPosition(sp2C);
|
||||
func_8024C5CC(sp20);
|
||||
viewport_getPosition(sp20);
|
||||
func_80257F18(sp2C, sp20, &sp1C);
|
||||
return sp1C;
|
||||
}
|
||||
@@ -362,7 +362,7 @@ void func_8029B984(f32 dst[3]){
|
||||
f32 sp18[3];
|
||||
|
||||
_player_getPosition(plyr_pos);
|
||||
func_8024C5CC(sp18);
|
||||
viewport_getPosition(sp18);
|
||||
ml_vec3f_diff_copy(dst, sp18, plyr_pos);
|
||||
}
|
||||
|
||||
@@ -722,9 +722,9 @@ void func_8029C674(void) {
|
||||
if (func_80298850() == 4) {
|
||||
D_8037D1E8 = TRUE;
|
||||
miscflag_set(0x17);
|
||||
func_802BE8D8();
|
||||
ncDynamicCamera_enterFirstPerson();
|
||||
func_8028E9C4(5, sp1C);
|
||||
func_802C2A64(sp1C);
|
||||
ncFirstPersonCamera_setZoomedOutPosition(sp1C);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -736,18 +736,18 @@ void func_8029C6D0(void) {
|
||||
|
||||
if (func_80298850() == 4 && D_8037D1E8) {
|
||||
func_8028E9C4(5, sp18);
|
||||
func_802C2A64(sp18);
|
||||
ncFirstPersonCamera_setZoomedOutPosition(sp18);
|
||||
func_8028E9C4(5, sp30);
|
||||
func_80298800(sp24);
|
||||
func_802BC434(sp3C, sp24, sp30);
|
||||
func_802C2A8C(sp3C);
|
||||
ncFirstPersonCamera_setZoomedOutRotation(sp3C);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8029C748(void) {
|
||||
if (D_8037D1E8) {
|
||||
miscflag_clear(0x17);
|
||||
func_802BE91C();
|
||||
ncDynamicCamera_exitFirstPerson();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4,49 +4,49 @@
|
||||
|
||||
|
||||
typedef struct {
|
||||
f32 unk0[3];
|
||||
f32 unkC[3];
|
||||
} Struct_core2_33AB0_0;
|
||||
f32 position[3];
|
||||
f32 rotation[3];
|
||||
} CameraNodeType2;
|
||||
|
||||
void func_802BAAD4(Struct_core2_33AB0_0 *this, f32 src[3]);
|
||||
void func_802BAB1C(Struct_core2_33AB0_0 *this, f32 src[3]);
|
||||
void ncCameraNodeType2_setPosition(CameraNodeType2 *this, f32 src[3]);
|
||||
void ncCameraNodeType2_setRotation(CameraNodeType2 *this, f32 src[3]);
|
||||
|
||||
/* .code */
|
||||
Struct_core2_33AB0_0 *func_802BAA40(void){
|
||||
Struct_core2_33AB0_0 *this;
|
||||
CameraNodeType2 *ncCameraNodeType2_new(void){
|
||||
CameraNodeType2 *this;
|
||||
f32 sp18[3];
|
||||
|
||||
this = (Struct_core2_33AB0_0 *)malloc(sizeof(Struct_core2_33AB0_0));
|
||||
this = (CameraNodeType2 *)malloc(sizeof(CameraNodeType2));
|
||||
ml_vec3f_clear(sp18);
|
||||
func_802BAAD4(this, sp18);
|
||||
func_802BAB1C(this, sp18);
|
||||
ncCameraNodeType2_setPosition(this, sp18);
|
||||
ncCameraNodeType2_setRotation(this, sp18);
|
||||
return this;
|
||||
}
|
||||
|
||||
void func_802BAA88(Struct_core2_33AB0_0 *this){
|
||||
void ncCameraNodeType2_free(CameraNodeType2 *this){
|
||||
free(this);
|
||||
}
|
||||
|
||||
void func_802BAAA8(Struct_core2_33AB0_0 *this, f32 dst[3]){\
|
||||
ml_vec3f_copy(dst, this->unk0);
|
||||
void ncCameraNodeType2_getPosition(CameraNodeType2 *this, f32 dst[3]){\
|
||||
ml_vec3f_copy(dst, this->position);
|
||||
}
|
||||
|
||||
void func_802BAAD4(Struct_core2_33AB0_0 *this, f32 src[3]){
|
||||
ml_vec3f_copy(this->unk0, src);
|
||||
void ncCameraNodeType2_setPosition(CameraNodeType2 *this, f32 src[3]){
|
||||
ml_vec3f_copy(this->position, src);
|
||||
}
|
||||
|
||||
void func_802BAAF4(Struct_core2_33AB0_0 *this, f32 dst[3]){\
|
||||
ml_vec3f_copy(dst, this->unkC);
|
||||
void ncCameraNodeType2_getRotation(CameraNodeType2 *this, f32 dst[3]){\
|
||||
ml_vec3f_copy(dst, this->rotation);
|
||||
}
|
||||
|
||||
void func_802BAB1C(Struct_core2_33AB0_0 *this, f32 src[3]){
|
||||
ml_vec3f_copy(this->unkC, src);
|
||||
void ncCameraNodeType2_setRotation(CameraNodeType2 *this, f32 src[3]){
|
||||
ml_vec3f_copy(this->rotation, src);
|
||||
}
|
||||
|
||||
void func_802BAB3C(Struct61s *file_ptr, Struct_core2_33AB0_0 *arg1){
|
||||
void ncCameraNodeType2_fromFile(Struct61s *file_ptr, CameraNodeType2 *arg1){
|
||||
while(!file_isNextByteExpected(file_ptr, 0)){
|
||||
if(!file_getNFloats_ifExpected(file_ptr, 1, arg1->unk0, 3)){
|
||||
file_getNFloats_ifExpected(file_ptr, 2, arg1->unkC, 3);
|
||||
if(!file_getNFloats_ifExpected(file_ptr, 1, arg1->position, 3)){
|
||||
file_getNFloats_ifExpected(file_ptr, 2, arg1->rotation, 3);
|
||||
}//L802BAA0C
|
||||
}
|
||||
}
|
||||
|
@@ -33,8 +33,8 @@ void func_802BAC58(void) {
|
||||
f32 sp28[3];
|
||||
f32 sp1C[3];
|
||||
|
||||
func_8024C5CC(sp34);
|
||||
func_8024C764(sp28);
|
||||
viewport_getPosition(sp34);
|
||||
viewport_getRotation(sp28);
|
||||
func_802BEA4C(sp28, sp34, 150.0f, sp1C);
|
||||
if (D_8037D810 == NULL) {
|
||||
D_8037D810 = func_8032FBE4(sp1C, func_802BABC0, 1, 0x15D);
|
||||
|
@@ -1,71 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void func_8025727C(f32, f32, f32, f32, f32, f32, f32*, f32*);
|
||||
|
||||
/* .bss */
|
||||
f32 D_8037D820[4];
|
||||
f32 D_8037D830[4];
|
||||
|
||||
/* .code */
|
||||
void func_802BACD0(void){
|
||||
ml_vec3f_clear(D_8037D820);
|
||||
ml_vec3f_clear(D_8037D830);
|
||||
}
|
||||
|
||||
void func_802BAD00(void){}
|
||||
|
||||
void func_802BAD08(f32 arg0[3]){
|
||||
func_8025727C(
|
||||
arg0[0], arg0[1], arg0[2],
|
||||
D_8037D820[0], D_8037D820[1], D_8037D820[2],
|
||||
&D_8037D830[0], &D_8037D830[1]
|
||||
);
|
||||
D_8037D830[0] = mlNormalizeAngle(-D_8037D830[0]);
|
||||
D_8037D830[2] = 0.0f;
|
||||
}
|
||||
|
||||
void func_802BAD84(f32 arg0[3]){
|
||||
ml_vec3f_copy(D_8037D820, arg0);
|
||||
}
|
||||
|
||||
void func_802BADAC(void){
|
||||
func_8024CD88(D_8037D820);
|
||||
func_8024CE18(D_8037D830);
|
||||
}
|
||||
|
||||
void func_802BADDC(s32 camera_node_index){
|
||||
UNK_TYPE(s32) sp1C;
|
||||
|
||||
sp1C = func_802B9E70(camera_node_index);
|
||||
func_802BAAA8(sp1C, D_8037D820);
|
||||
func_802BAAF4(sp1C, D_8037D830);
|
||||
}
|
||||
|
||||
void set_camera_to_node(s32 camera_node_index){
|
||||
func_802BBC58(3);
|
||||
func_802BADDC(camera_node_index);
|
||||
}
|
||||
|
||||
void func_802BAE4C(void){
|
||||
func_802BBC58(2);
|
||||
}
|
||||
|
||||
void func_802BAE6C(f32 arg0[3], f32 arg1[3]){
|
||||
func_802BBC58(3);
|
||||
ml_vec3f_copy(D_8037D820, arg0);
|
||||
ml_vec3f_copy(D_8037D830, arg1);
|
||||
}
|
||||
|
||||
void func_802BAEB4(f32 arg0[3], f32 arg1[3]){
|
||||
func_802BBC58(3);
|
||||
ml_vec3f_copy(D_8037D820, arg0);
|
||||
func_802BAD08(arg1);
|
||||
}
|
||||
|
||||
void func_802BAEF4(f32 dst[3]){
|
||||
dst[0] = D_8037D820[0];
|
||||
dst[1] = D_8037D820[1];
|
||||
dst[2] = D_8037D820[2];
|
||||
}
|
@@ -2,10 +2,6 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void rumbleManager_80250E6C(f32, f32);
|
||||
extern void func_80258E60(f32[3], f32[3], f32);
|
||||
extern void func_80258EF4(f32[3], f32[3], f32);
|
||||
extern void func_80258F88(f32[3], f32[3], f32);
|
||||
extern void func_802BE720(void);
|
||||
|
||||
typedef struct {
|
||||
@@ -454,7 +450,7 @@ void func_802BAFE4(s32 arg0) {
|
||||
break;
|
||||
|
||||
default:
|
||||
timed_setCameraToNode(temp_f0, D_803654B8[arg0][phi_s1 + 1]);
|
||||
timed_setStaticCameraToNode(temp_f0, D_803654B8[arg0][phi_s1 + 1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -462,7 +458,7 @@ void func_802BAFE4(s32 arg0) {
|
||||
if (D_803654B8[arg0][phi_s1] == -4) {
|
||||
func_80324E38(temp_f0, 4);
|
||||
} else {
|
||||
func_80324E88(temp_f0);
|
||||
timed_exitStaticCamera(temp_f0);
|
||||
}
|
||||
for(phi_s1 = 0; phi_s1 < phi_s0; phi_s1++){
|
||||
func_80324E38(temp_f0, 0);
|
||||
|
@@ -4,9 +4,9 @@
|
||||
|
||||
|
||||
extern void rumbleManager_80250E6C(f32, f32);
|
||||
extern void func_80258E60(f32[3], f32[3], f32);
|
||||
extern void func_80258EF4(f32[3], f32[3], f32);
|
||||
extern void func_80258F88(f32[3], f32[3], f32);
|
||||
extern void ml_translate_y_local(f32[3], f32[3], f32);
|
||||
extern void ml_translate_z_local(f32[3], f32[3], f32);
|
||||
extern void ml_translate_x_local(f32[3], f32[3], f32);
|
||||
extern void func_802BE720(void);
|
||||
|
||||
typedef struct {
|
||||
@@ -84,57 +84,57 @@ void func_802BB41C(s32 arg0){
|
||||
D_8037D840[arg0].unk1C = 1;
|
||||
}
|
||||
|
||||
void func_802BB434(s32 arg0, f32 dst[3], f32 src[3], f32 arg3) {
|
||||
void func_802BB434(s32 arg0, f32 position[3], f32 rotation[3], f32 delta) {
|
||||
switch (arg0) {
|
||||
case 1:
|
||||
func_80258F88(dst, src, arg3);
|
||||
ml_translate_x_local(position, rotation, delta);
|
||||
return;
|
||||
case 0:
|
||||
func_80258E60(dst, src, arg3);
|
||||
ml_translate_y_local(position, rotation, delta);
|
||||
return;
|
||||
case 2:
|
||||
func_80258EF4(dst, src, arg3);
|
||||
ml_translate_z_local(position, rotation, delta);
|
||||
return;
|
||||
case 3:
|
||||
dst[1] += arg3;
|
||||
position[1] += delta;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void func_802BB4D8(s32 arg0, s32 arg1) {
|
||||
void func_802BB4D8(f32 position[3], f32 rotation[3]) {
|
||||
f32 temp_f0;
|
||||
f32 temp_f22;
|
||||
f32 dt;
|
||||
s32 phi_s1;
|
||||
|
||||
temp_f22 = time_getDelta();
|
||||
dt = time_getDelta();
|
||||
for(phi_s1 = 0; phi_s1 < 4; phi_s1++){
|
||||
switch (D_8037D840[phi_s1].unk1C) {
|
||||
case 2:
|
||||
if (D_8037D840[phi_s1].unk10 >= 0.0f) {
|
||||
D_8037D840[phi_s1].unk14 = 1.0f;
|
||||
} else {
|
||||
D_8037D840[phi_s1].unk14 = -1.0f;
|
||||
}
|
||||
func_802BB434(phi_s1, arg0, arg1, D_8037D840[phi_s1].unk10);
|
||||
D_8037D840[phi_s1].unk1C = 3;
|
||||
break;
|
||||
case 3:
|
||||
if (D_8037D840[phi_s1].unk18 != 0.0f) {
|
||||
temp_f0 = ml_max_f(0.0f, D_8037D840[phi_s1].unk18 - temp_f22);
|
||||
D_8037D840[phi_s1].unk18 = temp_f0;
|
||||
D_8037D840[phi_s1].unk10 = ml_map_f(temp_f0, D_8037D840[phi_s1].unk0, 0.0f, D_8037D840[phi_s1].unkC, D_8037D840[phi_s1].unk8);
|
||||
} else {
|
||||
D_8037D840[phi_s1].unk10 *= D_8037D840[phi_s1].unk4;
|
||||
}
|
||||
if (level_get() != LEVEL_D_CUTSCENE) {
|
||||
rumbleManager_80250E6C(D_8037D840[phi_s1].unk10 * 0.25, temp_f22);
|
||||
}
|
||||
func_802BB434(phi_s1, arg0, arg1, D_8037D840[phi_s1].unk14*D_8037D840[phi_s1].unk10);
|
||||
D_8037D840[phi_s1].unk14 = (f32) -D_8037D840[phi_s1].unk14;
|
||||
if (((f64) D_8037D840[phi_s1].unk4 != 1.0) && ((f64) mlAbsF(D_8037D840[phi_s1].unk10) < 0.001)) {
|
||||
D_8037D840[phi_s1].unk1C = 1U;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (D_8037D840[phi_s1].unk10 >= 0.0f) {
|
||||
D_8037D840[phi_s1].unk14 = 1.0f;
|
||||
} else {
|
||||
D_8037D840[phi_s1].unk14 = -1.0f;
|
||||
}
|
||||
func_802BB434(phi_s1, position, rotation, D_8037D840[phi_s1].unk10);
|
||||
D_8037D840[phi_s1].unk1C = 3;
|
||||
break;
|
||||
case 3:
|
||||
if (D_8037D840[phi_s1].unk18 != 0.0f) {
|
||||
temp_f0 = ml_max_f(0.0f, D_8037D840[phi_s1].unk18 - dt);
|
||||
D_8037D840[phi_s1].unk18 = temp_f0;
|
||||
D_8037D840[phi_s1].unk10 = ml_map_f(temp_f0, D_8037D840[phi_s1].unk0, 0.0f, D_8037D840[phi_s1].unkC, D_8037D840[phi_s1].unk8);
|
||||
} else {
|
||||
D_8037D840[phi_s1].unk10 *= D_8037D840[phi_s1].unk4;
|
||||
}
|
||||
if (level_get() != LEVEL_D_CUTSCENE) {
|
||||
rumbleManager_80250E6C(D_8037D840[phi_s1].unk10 * 0.25, dt);
|
||||
}
|
||||
func_802BB434(phi_s1, position, rotation, D_8037D840[phi_s1].unk14*D_8037D840[phi_s1].unk10);
|
||||
D_8037D840[phi_s1].unk14 = (f32) -D_8037D840[phi_s1].unk14;
|
||||
if (((f64) D_8037D840[phi_s1].unk4 != 1.0) && ((f64) mlAbsF(D_8037D840[phi_s1].unk10) < 0.001)) {
|
||||
D_8037D840[phi_s1].unk1C = 1U;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "core2/nc/camera.h"
|
||||
|
||||
extern Actor *func_80328230(enum actor_e, f32[3], f32[3]);
|
||||
extern void func_802BEA4C(f32[3], f32[3], f32, f32[3]);
|
||||
@@ -22,7 +23,7 @@ s16 D_803657E0[] = {
|
||||
};
|
||||
|
||||
/* .bss */
|
||||
s32 D_8037D8C0;
|
||||
s32 ncCameraType;
|
||||
u8 D_8037D8C4;
|
||||
u8 D_8037D8C5;
|
||||
u8 D_8037D8C6;
|
||||
@@ -112,17 +113,17 @@ f32 func_802BB938(f32 arg0[3], f32 arg1[3]) {
|
||||
}
|
||||
|
||||
void func_802BBA84(void) {
|
||||
f32 sp54[3];
|
||||
f32 vp_position[3];
|
||||
f32 sp48[3];
|
||||
f32 sp3C[3];
|
||||
f32 sp30[3];
|
||||
f32 sp24[3];
|
||||
f32 vp_rotation[3];
|
||||
f32 min[3];
|
||||
f32 max[3];
|
||||
|
||||
mapModel_getBounds(sp30, sp24);
|
||||
func_8024C5CC(sp54);
|
||||
func_8024C764(sp3C);
|
||||
mapModel_getBounds(min, max);
|
||||
viewport_getPosition(vp_position);
|
||||
viewport_getRotation(vp_rotation);
|
||||
func_8024C5A8(sp48);
|
||||
D_8037D8CC = (f32) func_8033EAF8(sp30, sp24, sp54, sp48);
|
||||
D_8037D8CC = (f32) func_8033EAF8(min, max, vp_position, sp48);
|
||||
D_8037D8CC += 100.0f;
|
||||
if (D_8037D8CC < 1000.0f) {
|
||||
D_8037D8CC = 1000.0f;
|
||||
@@ -143,33 +144,33 @@ void func_802BBA84(void) {
|
||||
D_8037D8C8 = 10.0f;
|
||||
return;
|
||||
}
|
||||
D_8037D8C8 = ml_min_f(D_8037D8C8, func_802BB938(sp54, sp3C));
|
||||
D_8037D8C8 = ml_min_f(D_8037D8C8, func_802BB938(vp_position, vp_rotation));
|
||||
}
|
||||
|
||||
void func_802BBC58(s32 arg0) {
|
||||
switch (D_8037D8C0) {
|
||||
case 3:
|
||||
func_802BAD00();
|
||||
void camera_setType(enum camera_type_e camera_type) {
|
||||
switch (ncCameraType) {
|
||||
case CAMERA_TYPE_3_STATIC:
|
||||
ncStaticCamera_end();
|
||||
break;
|
||||
case 4:
|
||||
func_802BED00();
|
||||
case CAMERA_TYPE_4_RANDOM:
|
||||
ncRandomCamera_end();
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case CAMERA_TYPE_1_UNKNOWN:
|
||||
case CAMERA_TYPE_2_DYNAMIC:
|
||||
break;
|
||||
}
|
||||
switch (arg0) {
|
||||
case 3:
|
||||
func_802BACD0(arg0);
|
||||
switch (camera_type) {
|
||||
case CAMERA_TYPE_3_STATIC:
|
||||
ncStaticCamera_init();
|
||||
break;
|
||||
case 4:
|
||||
func_802BEC60(arg0);
|
||||
case CAMERA_TYPE_4_RANDOM:
|
||||
ncRandomCamera_init();
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case CAMERA_TYPE_1_UNKNOWN:
|
||||
case CAMERA_TYPE_2_DYNAMIC:
|
||||
break;
|
||||
}
|
||||
D_8037D8C0 = arg0;
|
||||
ncCameraType = camera_type;
|
||||
}
|
||||
|
||||
|
||||
@@ -259,47 +260,47 @@ void func_802BC044(void) {
|
||||
func_802BCBD4();
|
||||
func_802BEF78();
|
||||
func_802BB2A8();
|
||||
D_8037D8C0 = 0;
|
||||
func_802BBC58(2);
|
||||
ncCameraType = 0;
|
||||
camera_setType(2);
|
||||
}
|
||||
|
||||
|
||||
void func_802BC10C(void){
|
||||
func_802BB2A0();
|
||||
func_802BBC58(1);
|
||||
camera_setType(1);
|
||||
func_802BCD30();
|
||||
func_802BEF70();
|
||||
func_802BABD8();
|
||||
}
|
||||
|
||||
void func_802BC14C(void){
|
||||
void ncCamera_update(void){
|
||||
f32 sp2C[3];
|
||||
f32 sp20[3];
|
||||
s32 v0;
|
||||
|
||||
v0 = D_8037D8C0;
|
||||
v0 = ncCameraType;
|
||||
if(!D_8037D8C5 && !D_8037D8C6){
|
||||
v0 = 0;
|
||||
}
|
||||
|
||||
switch(v0){
|
||||
case 2:
|
||||
func_802BCEC4();
|
||||
case CAMERA_TYPE_2_DYNAMIC://dynamic viewport position
|
||||
ncDynamicCamera_update();
|
||||
break;
|
||||
case 3:
|
||||
func_802BADAC();
|
||||
case CAMERA_TYPE_3_STATIC://set viewport to static location
|
||||
ncStaticCamera_update();
|
||||
break;
|
||||
case 4:
|
||||
func_802BED30();
|
||||
case CAMERA_TYPE_4_RANDOM: //set viewport to random location
|
||||
ncRandomCamera_update();
|
||||
break;
|
||||
}
|
||||
|
||||
func_8024C5CC(sp2C);
|
||||
func_8024C764(sp20);
|
||||
viewport_getPosition(sp2C);
|
||||
viewport_getRotation(sp20);
|
||||
func_802BB4D8(sp2C, sp20);
|
||||
func_8024CD88(sp2C);
|
||||
func_8024CE18(sp20);
|
||||
func_8024CFD4();
|
||||
viewport_setPosition(sp2C);
|
||||
viewport_setRotation(sp20);
|
||||
viewport_update();
|
||||
func_802BEFB0();
|
||||
func_802BBA84();
|
||||
}
|
||||
@@ -313,13 +314,13 @@ void func_802BC21C(s32 arg0, s32 arg1){
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_802BC248(void){
|
||||
return D_8037D8C0;
|
||||
s32 ncCamera_getType(void){
|
||||
return ncCameraType;
|
||||
}
|
||||
|
||||
void func_802BC254(void){
|
||||
D_8037D8C6 = 1;
|
||||
func_802BC14C();
|
||||
ncCamera_update();
|
||||
D_8037D8C6 = 0;
|
||||
}
|
||||
|
||||
@@ -341,21 +342,21 @@ void func_802BC2CC(s32 arg0) {
|
||||
func_80347A14(0);
|
||||
}
|
||||
if (func_80320454(0xE, 0) || func_802D686C() || (arg0 == 0x63) || !func_802BB720(arg0, D_8037D908, D_8037D918, &sp1C)) {
|
||||
if (D_8037D8C0 == 2) {
|
||||
if (ncCameraType == CAMERA_TYPE_2_DYNAMIC) {
|
||||
func_802BE794();
|
||||
}
|
||||
func_802BC254();
|
||||
func_802BC254();
|
||||
return;
|
||||
}
|
||||
if (D_8037D8C0 == 2) {
|
||||
if (ncCameraType == CAMERA_TYPE_2_DYNAMIC) {
|
||||
func_802BE894(D_8037D918, D_8037D908);
|
||||
}
|
||||
func_8024CD88(D_8037D908);
|
||||
func_8024CE18(D_8037D918);
|
||||
func_8024CFD4();
|
||||
viewport_setPosition(D_8037D908);
|
||||
viewport_setRotation(D_8037D918);
|
||||
viewport_update();
|
||||
__spawnQueue_add_2((GenMethod_2)func_802BC2A0, reinterpret_cast(s32, sp24), reinterpret_cast(s32, sp20));
|
||||
if (D_8037D8C0 == 2) {
|
||||
if (ncCameraType == CAMERA_TYPE_2_DYNAMIC) {
|
||||
func_802BE720();
|
||||
if (sp1C != 0x63) {
|
||||
func_802BC254();
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#include "variables.h"
|
||||
|
||||
s32 func_80259254(f32 *, f32, f32, f32);
|
||||
void func_802C2ADC(f32 *);
|
||||
void ncFirstPersonCamera_getZoomedInRotation(f32 *);
|
||||
|
||||
extern u8 D_8037DCCA;
|
||||
extern u8 D_8037DCCB;
|
||||
@@ -98,7 +98,7 @@ s32 func_8028A5C0(void){
|
||||
D_8037DCCC = 1;
|
||||
}//L8028A764
|
||||
else if(jiggyscore_isCollected(0x10)){
|
||||
func_802C2ADC(sp30);
|
||||
ncFirstPersonCamera_getZoomedInRotation(sp30);
|
||||
if( (((D_8036361C[0] <= sp30[0])? (sp30[0] - D_8036361C[0]) : -(sp30[0] - D_8036361C[0])) < 4.0f)
|
||||
&& (((D_8036361C[1] <= sp30[1])? (sp30[1] - D_8036361C[1]) : -(sp30[1] - D_8036361C[1])) < 20.0f)
|
||||
){
|
||||
|
@@ -1,50 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
/* .bss */
|
||||
struct {
|
||||
f32 unk0[3];
|
||||
f32 unkC[3];
|
||||
f32 unk18[3];
|
||||
f32 unk24[3];
|
||||
}D_8037DA50;
|
||||
|
||||
/* .code */
|
||||
void func_802BEC60(void) {
|
||||
s32 sp24[3];
|
||||
s32 sp18[3];
|
||||
|
||||
func_8024C5CC(D_8037DA50.unk0);
|
||||
func_8024C764(D_8037DA50.unkC);
|
||||
mapModel_getBounds(sp24, sp18);
|
||||
|
||||
D_8037DA50.unk18[0] = (f32) sp24[0];
|
||||
D_8037DA50.unk18[1] = (f32) sp24[1];
|
||||
D_8037DA50.unk18[2] = (f32) sp24[2];
|
||||
|
||||
D_8037DA50.unk24[0] = (f32) sp18[0];
|
||||
D_8037DA50.unk24[1] = (f32) sp18[1];
|
||||
D_8037DA50.unk24[2] = (f32) sp18[2];
|
||||
}
|
||||
|
||||
|
||||
void func_802BED00(void){
|
||||
func_8024CD88(D_8037DA50.unk0);
|
||||
func_8024CE18(D_8037DA50.unkC);
|
||||
}
|
||||
|
||||
void func_802BED30(void) {
|
||||
f32 sp24[3];
|
||||
f32 sp18[3];
|
||||
|
||||
sp24[0] = randf2(D_8037DA50.unk18[0], D_8037DA50.unk24[0]);\
|
||||
sp24[1] = randf2(D_8037DA50.unk18[1], D_8037DA50.unk24[1]);\
|
||||
sp24[2] = randf2(D_8037DA50.unk18[2], D_8037DA50.unk24[2]);
|
||||
|
||||
sp18[0] = randf2(-90.0f, 90.0f);\
|
||||
sp18[1] = randf2(0.0f, 360.0f);\
|
||||
sp18[2] = 0.0f;
|
||||
func_8024CD88(sp24);
|
||||
func_8024CE18(sp18);
|
||||
}
|
@@ -94,7 +94,7 @@ void func_802BEFB0(void) {
|
||||
return;
|
||||
}
|
||||
D_8037DA80.unk10 += time_getDelta();
|
||||
func_8024C5CC(sp30);
|
||||
viewport_getPosition(sp30);
|
||||
sp24[0] = sp30[0];
|
||||
sp24[1] = sp30[1] + 10000.0f;
|
||||
sp24[2] = sp30[2];
|
||||
|
@@ -1,183 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 func_802BD51C(void);
|
||||
|
||||
|
||||
void func_802C0150(s32 arg0);
|
||||
|
||||
/* .bss */
|
||||
u8 D_8037DB40;
|
||||
f32 D_8037DB48[3];
|
||||
f32 D_8037DB58[3];
|
||||
f32 D_8037DB70;
|
||||
f32 D_8037DB78[3];
|
||||
f32 D_8037DB84[3];
|
||||
f32 D_8037DB90[3];
|
||||
f32 D_8037DB9C;
|
||||
|
||||
/* .code */
|
||||
void func_802C0120(void){
|
||||
D_8037DB40 = 0;
|
||||
func_802C0150(2);
|
||||
}
|
||||
|
||||
void func_802C0148(void){}
|
||||
|
||||
void func_802C0150(s32 arg0) {
|
||||
D_8037DB40 = arg0;
|
||||
if (arg0 == 6) {
|
||||
func_802BD4C0(D_8037DB48);
|
||||
ml_vec3f_clear(D_8037DB58);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_802C0190(void){
|
||||
return D_8037DB40;
|
||||
}
|
||||
|
||||
void func_802C019C(f32 arg0[3]){
|
||||
func_802BD3CC(arg0);
|
||||
}
|
||||
|
||||
void func_802C01BC(f32 arg0[3]){
|
||||
func_802BD4C0(arg0);
|
||||
}
|
||||
|
||||
void func_802C01DC(f32 arg0[3]) {
|
||||
f32 sp1C[3];
|
||||
|
||||
func_8028E7EC(sp1C);
|
||||
player_getPosition(arg0);
|
||||
arg0[0] = sp1C[0];
|
||||
arg0[1] += 90.0f;
|
||||
arg0[2] = sp1C[2];
|
||||
}
|
||||
|
||||
void func_802C0234(f32 arg0[3]) {
|
||||
player_getPosition(arg0);
|
||||
arg0[1] += 60.0f;
|
||||
}
|
||||
|
||||
void func_802C026C(f32 arg0[3]) {
|
||||
f32 sp1C[3];
|
||||
|
||||
func_802BD4C0(arg0);
|
||||
player_getPosition(sp1C);
|
||||
arg0[1] = sp1C[1];
|
||||
arg0[1] += 60.0f;
|
||||
}
|
||||
|
||||
void func_802C02B4(f32 arg0[3]){
|
||||
func_802BD4C0(arg0);
|
||||
}
|
||||
|
||||
void func_802C02D4(f32 arg0[3]) {
|
||||
switch(D_8037DB40){
|
||||
case 1:
|
||||
func_802C019C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_802C01BC(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_802C01DC(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_802C0234(arg0);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_802C026C(arg0);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_802C02B4(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void func_802C0370(){
|
||||
func_802BD384(D_8037DB84);
|
||||
}
|
||||
|
||||
void func_802C0394(f32 src[3]){
|
||||
ml_vec3f_copy(D_8037DB90, src);
|
||||
}
|
||||
|
||||
void func_802C03BC(void) {
|
||||
f32 sp2C[3];
|
||||
f32 sp20[3];
|
||||
f32 sp1C;
|
||||
|
||||
func_802BD384(D_8037DB78);
|
||||
ml_vec3f_diff_copy(sp20, D_8037DB90, D_8037DB84);
|
||||
ml_vec3f_diff_copy(sp2C, D_8037DB78, D_8037DB84);
|
||||
ml_vec3f_normalize(sp20);
|
||||
ml_vec3f_normalize(sp2C);
|
||||
sp1C = sp20[0]*sp2C[0] + sp20[1]*sp2C[1] + sp20[2]*sp2C[2];
|
||||
if (sp1C < 0.0f || D_8037DB9C < 0.0f) {
|
||||
func_802BD334(D_8037DB84);
|
||||
}
|
||||
D_8037DB9C = sp1C;
|
||||
}
|
||||
|
||||
void func_802C0490(f32 arg0[3]){
|
||||
func_802C02D4(arg0);
|
||||
}
|
||||
|
||||
void func_802C04B0(void) {
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
f32 sp1C[3];
|
||||
|
||||
func_802BD384(sp34);
|
||||
func_802C0490(sp1C);
|
||||
ml_vec3f_diff_copy(sp28,sp34, sp1C);
|
||||
func_8025801C(sp28, &D_8037DB70);
|
||||
}
|
||||
|
||||
void func_802C04F8(void) {
|
||||
func_802BE244(5.0f, 10.0f);
|
||||
func_802BE230(3.0f, 8.0f);
|
||||
func_802C0150(2);
|
||||
func_802C04B0();
|
||||
}
|
||||
|
||||
void func_802C0550(void){}
|
||||
|
||||
void func_802C0558(void) {
|
||||
f32 sp4C[3];
|
||||
f32 sp40[3];
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
s32 sp24;
|
||||
|
||||
func_802C0370();
|
||||
func_802C0490(sp4C);
|
||||
func_80256E24(sp34, 0.0f, D_8037DB70, 0.0f, 0.0f, func_802BD8D4());
|
||||
ml_vec3f_add(sp40, sp4C, sp34);
|
||||
sp40[1] = func_802BD51C();
|
||||
func_802C0394(sp40);
|
||||
func_802BE190(sp40);
|
||||
sp24 = 0;
|
||||
if (func_802BE60C() != 0) {
|
||||
if (func_802BC84C(1) != 0) {
|
||||
sp24 = 1;
|
||||
} else {
|
||||
func_802C03BC();
|
||||
}
|
||||
func_802C04B0();
|
||||
}
|
||||
func_802C0490(sp4C);
|
||||
func_802BE6FC(sp28, sp4C);
|
||||
if (sp24) {
|
||||
func_802BD35C(sp28);
|
||||
}
|
||||
func_802BD904(sp28);
|
||||
}
|
@@ -110,7 +110,7 @@ int func_8028ACD8(void){
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(func_802C2B00() == 3)
|
||||
if(ncFirstPersonCamera_getState() == 3)
|
||||
return 0;
|
||||
|
||||
if(!func_8028B2E8() && !player_inWater())
|
||||
|
@@ -12,7 +12,6 @@ f32 D_8037DC30[3];
|
||||
f32 D_8037DC3C;
|
||||
f32 D_8037DC40;
|
||||
u8 D_8037DC44;
|
||||
f32 D_8037DC50[3];
|
||||
|
||||
/* .code */
|
||||
void func_802C2250(void){}
|
||||
@@ -24,8 +23,8 @@ void func_802C2258(void){
|
||||
void func_802C2264(f32 arg0){
|
||||
D_8037DC40 = arg0;
|
||||
D_8037DC3C = D_8037DC40;
|
||||
func_802BD384(D_8037DC20);
|
||||
func_802BD3A8(D_8037DC30);
|
||||
ncDynamicCamera_getPosition(D_8037DC20);
|
||||
ncDynamicCamera_getRotation(D_8037DC30);
|
||||
D_8037DC44 = 1;
|
||||
}
|
||||
|
||||
@@ -34,7 +33,7 @@ void func_802C22B4(void){
|
||||
}
|
||||
|
||||
|
||||
void func_802C22C0(f32 *arg0, f32 *arg1){
|
||||
void func_802C22C0(f32 vp_position[3], f32 vp_rotation[3]){
|
||||
f32 tmpf_1[3];
|
||||
f32 tmpf_2[3];
|
||||
f32 tmp;
|
||||
@@ -43,9 +42,9 @@ void func_802C22C0(f32 *arg0, f32 *arg1){
|
||||
return;
|
||||
|
||||
if(D_8037DC44 == 1){
|
||||
ml_vec3f_diff(D_8037DC20, arg0);
|
||||
D_8037DC30[0] = mlDiffDegF(D_8037DC30[0], arg1[0]);
|
||||
D_8037DC30[1] = mlDiffDegF(D_8037DC30[1], arg1[1]);
|
||||
ml_vec3f_diff(D_8037DC20, vp_position);
|
||||
D_8037DC30[0] = mlDiffDegF(D_8037DC30[0], vp_rotation[0]);
|
||||
D_8037DC30[1] = mlDiffDegF(D_8037DC30[1], vp_rotation[1]);
|
||||
D_8037DC30[2] = 0.0f;
|
||||
D_8037DC44 = 2;
|
||||
}
|
||||
@@ -56,42 +55,16 @@ void func_802C22C0(f32 *arg0, f32 *arg1){
|
||||
tmp = ml_map_f(D_8037DC3C, 0.0f, D_8037DC40, 0.0f, 1.0f);
|
||||
ml_vec3f_scale_copy(tmpf_1, D_8037DC20, tmp);
|
||||
ml_vec3f_scale_copy(tmpf_2, D_8037DC30, tmp);
|
||||
arg0[0] += tmpf_1[0];
|
||||
arg0[1] += tmpf_1[1];
|
||||
arg0[2] += tmpf_1[2];
|
||||
arg1[0] += tmpf_2[0];
|
||||
arg1[1] += tmpf_2[1];
|
||||
arg1[2] += tmpf_2[2];
|
||||
arg1[0] = mlNormalizeAngle(arg1[0]);
|
||||
arg1[1] = mlNormalizeAngle(arg1[1]);
|
||||
arg1[2] = 0.0f;
|
||||
vp_position[0] += tmpf_1[0];
|
||||
vp_position[1] += tmpf_1[1];
|
||||
vp_position[2] += tmpf_1[2];
|
||||
vp_rotation[0] += tmpf_2[0];
|
||||
vp_rotation[1] += tmpf_2[1];
|
||||
vp_rotation[2] += tmpf_2[2];
|
||||
vp_rotation[0] = mlNormalizeAngle(vp_rotation[0]);
|
||||
vp_rotation[1] = mlNormalizeAngle(vp_rotation[1]);
|
||||
vp_rotation[2] = 0.0f;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void func_802C2460(void){
|
||||
f32 sp24[3];
|
||||
f32 sp12[3];
|
||||
|
||||
func_8024C5CC(sp24);
|
||||
func_8024C764(sp12);
|
||||
func_802BD334(sp24);
|
||||
func_802BD35C(sp12);
|
||||
player_getPosition(D_8037DC50);
|
||||
func_80291488(5);
|
||||
}
|
||||
|
||||
void func_802C24AC(void){}
|
||||
|
||||
void func_802C24B4(void){
|
||||
f32 sp24[3];
|
||||
f32 sp18[3];
|
||||
|
||||
player_getPosition(sp24);
|
||||
ml_vec3f_diff_copy(sp18, D_8037DC50, sp24);
|
||||
if( !(gu_sqrtf(sp18[0]*sp18[0] + sp18[1]*sp18[1] + sp18[2]*sp18[2]) < 2.0f)){
|
||||
func_80291488(2);
|
||||
func_802BD0D8(0xB);
|
||||
func_802BE720();
|
||||
}
|
||||
}
|
||||
|
@@ -1,134 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void func_802BD780(f32[3], f32[3], f32, f32, f32, f32);
|
||||
extern f32 func_80257CF8(f32, f32, f32, f32, f32);
|
||||
|
||||
void func_802C29A0(s32 arg0);
|
||||
|
||||
/* .bss */
|
||||
struct{
|
||||
f32 unk0[3];
|
||||
f32 unkC[3];
|
||||
f32 unk18[3];
|
||||
f32 unk24[3];
|
||||
f32 unk30[3];
|
||||
f32 unk3C[3];
|
||||
f32 unk48;
|
||||
u8 unk4C;
|
||||
} D_8037DC60;
|
||||
|
||||
/* .code */
|
||||
bool func_802C2550(void) {
|
||||
return (ml_distance_vec3f(D_8037DC60.unk0, D_8037DC60.unk18) < 40.0f);
|
||||
}
|
||||
|
||||
void func_802C2598(f32 arg0[3], f32 arg1[3]) {
|
||||
s32 i;
|
||||
|
||||
func_80259430(&D_8037DC60.unk48);
|
||||
for( i = 0; i<3; i++){
|
||||
D_8037DC60.unk0[i] = func_80257CF8(D_8037DC60.unk48, 1.0f, 0.0f, D_8037DC60.unk30[i], D_8037DC60.unk18[i]);
|
||||
D_8037DC60.unkC[i] = mlNormalizeAngle(D_8037DC60.unk3C[i] + func_80257CF8(D_8037DC60.unk48, 0.5f, 0.0f, 0.0f, mlDiffDegF(D_8037DC60.unk24[i], D_8037DC60.unk3C[i])));
|
||||
}
|
||||
if (D_8037DC60.unk48 == 0.0f) {
|
||||
func_802C29A0(2);
|
||||
}
|
||||
if (func_802C2550() && func_8028F150()) {
|
||||
func_8028FCC8(0);
|
||||
}
|
||||
ml_vec3f_copy(arg0, D_8037DC60.unk0);
|
||||
ml_vec3f_copy(arg1, D_8037DC60.unkC);
|
||||
}
|
||||
|
||||
|
||||
void func_802C26D8(f32 arg0[3], f32 arg1[3]) {
|
||||
s32 i;
|
||||
|
||||
func_80259430(&D_8037DC60.unk48);
|
||||
for( i = 0; i<3; i++){
|
||||
D_8037DC60.unk0[i] = func_80257CF8(D_8037DC60.unk48, 1.0f, 0.0f, D_8037DC60.unk18[i], arg0[i]);
|
||||
D_8037DC60.unkC[i] = mlNormalizeAngle(D_8037DC60.unk24[i] + func_80257CF8(D_8037DC60.unk48, 1.0f, 0.5f, 0.0f, mlDiffDegF(arg1[i], D_8037DC60.unk24[i])));
|
||||
}
|
||||
if (D_8037DC60.unk48 == 0.0f) {
|
||||
func_802C29A0(4);
|
||||
}
|
||||
if (!func_802C2550() && !func_8028F150()) {
|
||||
func_8028FCC8(1);
|
||||
}
|
||||
ml_vec3f_copy(arg0, D_8037DC60.unk0);
|
||||
ml_vec3f_copy(arg1, D_8037DC60.unkC);
|
||||
}
|
||||
|
||||
|
||||
void func_802C2838(f32 arg0[3], f32 arg1[3]) {
|
||||
ml_vec3f_copy(D_8037DC60.unk0, D_8037DC60.unk18);
|
||||
func_802BD780(D_8037DC60.unk24, D_8037DC60.unkC, 10.0f, 20.0f, 120.0f, 200.0f);
|
||||
D_8037DC60.unkC[2] = 0.0f;
|
||||
ml_vec3f_copy(arg0, D_8037DC60.unk0);
|
||||
ml_vec3f_copy(arg1, D_8037DC60.unkC);
|
||||
}
|
||||
|
||||
void func_802C28C8(void){
|
||||
ml_vec3f_clear(D_8037DC60.unk0);
|
||||
ml_vec3f_clear(D_8037DC60.unkC);
|
||||
ml_vec3f_clear(D_8037DC60.unk18);
|
||||
ml_vec3f_clear(D_8037DC60.unk24);
|
||||
ml_vec3f_clear(D_8037DC60.unk30);
|
||||
ml_vec3f_clear(D_8037DC60.unk3C);
|
||||
D_8037DC60.unk4C = 0;
|
||||
}
|
||||
|
||||
void func_802C292C(f32 arg0[3], f32 arg1[3]) {
|
||||
switch (D_8037DC60.unk4C) {
|
||||
case 1:
|
||||
func_802C2598(arg0, arg1);
|
||||
break;
|
||||
case 2:
|
||||
func_802C2838(arg0, arg1);
|
||||
break;
|
||||
case 3:
|
||||
func_802C26D8(arg0, arg1);
|
||||
/* fallthrough */
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_802C29A0(s32 arg0) {
|
||||
if (arg0 == 1) {
|
||||
if (D_8037DC60.unk4C == 3) {
|
||||
ml_vec3f_copy(D_8037DC60.unk30, D_8037DC60.unk0);
|
||||
ml_vec3f_copy(D_8037DC60.unk3C, D_8037DC60.unkC);
|
||||
} else {
|
||||
func_802BD384(D_8037DC60.unk0);
|
||||
func_802BD3A8(D_8037DC60.unkC);
|
||||
func_802BD384(D_8037DC60.unk30);
|
||||
func_802BD3A8(D_8037DC60.unk3C);
|
||||
}
|
||||
D_8037DC60.unk48 = 1.0f;
|
||||
}
|
||||
if (arg0 == 3) {
|
||||
D_8037DC60.unk48 = 1.0f;
|
||||
}
|
||||
D_8037DC60.unk4C = arg0;
|
||||
}
|
||||
|
||||
void func_802C2A64(f32 src[3]){
|
||||
ml_vec3f_copy(D_8037DC60.unk18, src);
|
||||
}
|
||||
|
||||
void func_802C2A8C(f32 src[3]){
|
||||
D_8037DC60.unk24[0] = mlNormalizeAngle(src[0]);
|
||||
D_8037DC60.unk24[1] = mlNormalizeAngle(src[1]);
|
||||
D_8037DC60.unk24[2] = mlNormalizeAngle(src[2]);
|
||||
}
|
||||
|
||||
void func_802C2ADC(f32 dst[3]){
|
||||
ml_vec3f_copy(dst, D_8037DC60.unk24);
|
||||
}
|
||||
|
||||
s32 func_802C2B00(void){
|
||||
return D_8037DC60.unk4C;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user