identified/labeled camera functions

This commit is contained in:
Banjo Kazooie
2023-03-10 21:52:35 -06:00
parent 13728811aa
commit 7f3dd5aa12
164 changed files with 1583 additions and 1522 deletions

View File

@@ -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
View 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

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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];

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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];

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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:

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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));
}

View File

@@ -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);

View File

@@ -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){

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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){

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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];

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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:

View File

@@ -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){

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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];

View File

@@ -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);

View File

@@ -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];

View File

@@ -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();

View File

@@ -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) {

View File

@@ -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 {

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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();

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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){

View File

@@ -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;
}

View File

@@ -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)
);

View File

@@ -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:

View File

@@ -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;};

View File

@@ -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;};

View File

@@ -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

View File

@@ -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();
}
}

View File

@@ -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
}
}

View File

@@ -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);

View File

@@ -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];
}

View File

@@ -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);

View File

@@ -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;
}
}
}

View File

@@ -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();

View File

@@ -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)
){

View File

@@ -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);
}

View File

@@ -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];

View File

@@ -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);
}

View File

@@ -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())

View File

@@ -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();
}
}

View File

@@ -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