remove "done" folders, label "bs/droneenter, bs/dronelook, and bs/dronevanish files and functions"
This commit is contained in:
@@ -20,7 +20,7 @@ void func_802AAE80(void){
|
||||
void func_802AAEE0(void){
|
||||
enum bs_e state = bs_getNextState();
|
||||
|
||||
if(state != BS_3A_CARRY_IDLE && state != BS_CARRY_WALK)
|
||||
if(state != BS_3A_CARRY_IDLE && state != BS_3B_CARRY_WALK)
|
||||
func_8029B0C0();
|
||||
|
||||
func_80289F10(1);
|
||||
@@ -42,7 +42,7 @@ void bscarry_idle_update(void){
|
||||
enum bs_e sp1C = 0;
|
||||
|
||||
if(func_8029B300() > 0)
|
||||
sp1C = BS_CARRY_WALK;
|
||||
sp1C = BS_3B_CARRY_WALK;
|
||||
|
||||
if(carriedobj_getMarker() == NULL)
|
||||
sp1C = BS_1_IDLE;
|
||||
@@ -85,7 +85,7 @@ void bscarry_walk_end(void){
|
||||
|
||||
int bscarry_inSet(enum bs_e state){
|
||||
return state == BS_3A_CARRY_IDLE
|
||||
|| state == BS_CARRY_WALK;
|
||||
|| state == BS_3B_CARRY_WALK;
|
||||
}
|
||||
|
||||
void bscarry_interrupt(void){
|
||||
@@ -95,7 +95,7 @@ void bscarry_interrupt(void){
|
||||
break;
|
||||
case 8:
|
||||
func_8029A86C(2);
|
||||
bs_setState(BS_3C);
|
||||
bs_setState(BS_3C_TALK);
|
||||
break;
|
||||
case 0x12:
|
||||
func_8028DE6C(carriedObject_getActorID());
|
||||
|
@@ -10,10 +10,10 @@ typedef struct{
|
||||
|
||||
struct_drone D_80364B30[] = {
|
||||
{01, {func_802AEDE8, func_802AEE48, func_802AEE9C, NULL}},
|
||||
{02, {func_802AEEF4, func_802AEFB0, func_802AF164, func_80296608}},
|
||||
{02, {bsDroneLook_init, bsDroneLook_update, bsDroneLook_end, func_80296608}},
|
||||
{04, {bsdronexform_init, bsdronexform_update, bsdronexform_end, bsdronexform_interrupt}},
|
||||
{05, {func_802AE9C8, func_802AEA2C, func_802AEB24, NULL}},
|
||||
{06, {func_802AF604, bsdronevanish_update, func_802AF768, NULL}},
|
||||
{05, {bsDroneEnter_init, bsDroneEnter_update, bsDroneEnter_end, NULL}},
|
||||
{06, {bsDroneVanish_init, bsDroneVanish_update, bsDroneVanish_end, NULL}},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
152
src/core2/bs/droneenter.c
Normal file
152
src/core2/bs/droneenter.c
Normal file
@@ -0,0 +1,152 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
enum bsdroneenter_state_e{
|
||||
BSDRONEENTER_SUBSTATE_0_UNINITIALIZED,
|
||||
BSDRONEENTER_SUBSTATE_1,
|
||||
BSDRONEENTER_SUBSTATE_2,
|
||||
BSDRONEENTER_SUBSTATE_3
|
||||
};
|
||||
|
||||
/* .bss */
|
||||
struct {
|
||||
ParticleEmitter *white_sparkle_emitter;
|
||||
ParticleEmitter *yellow_sparkle_emitter;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
u8 pad14[4];
|
||||
}bsDroneEnter;
|
||||
u8 bsDroneEnterSubstate;
|
||||
|
||||
/* .code */
|
||||
void __bsDroneEnter_setSubstate(enum bsdroneenter_state_e arg0) {
|
||||
switch (arg0) {
|
||||
case 1:
|
||||
func_8029E3C0(0, 0.2f);
|
||||
break;
|
||||
case 2:
|
||||
func_8025A6CC(COMUSIC_43_ENTER_LEVEL_GLITTER, 32000);
|
||||
func_8025AABC(COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||
func_8029E3C0(0, 0.4f);
|
||||
playerModel_setEnvAlpha(0);
|
||||
playerModel_updateModel();
|
||||
break;
|
||||
case 3:
|
||||
comusic_8025AB44(COMUSIC_43_ENTER_LEVEL_GLITTER, 0, 2000);
|
||||
func_8029E3C0(0, 0.55f);
|
||||
break;
|
||||
}
|
||||
bsDroneEnterSubstate = arg0;
|
||||
}
|
||||
|
||||
void __bsDroneEnter_emitParticles(void) {
|
||||
f32 plyr_pos[3];
|
||||
|
||||
player_getPosition(plyr_pos);
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1);
|
||||
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1);
|
||||
|
||||
player_getPosition(plyr_pos);
|
||||
plyr_pos[1] += 130.0f;
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1);
|
||||
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1);
|
||||
}
|
||||
|
||||
void __bsDroneEnter_initParticleTypes(ParticleEmitter *p_ctrl, enum asset_e sprite_id) {
|
||||
func_802F0D54(p_ctrl);
|
||||
particleEmitter_setSprite(p_ctrl, sprite_id);
|
||||
func_802EFA5C(p_ctrl, 0.3f, 0.8f);
|
||||
func_802EFB70(p_ctrl, 0.15f, 0.22f);
|
||||
func_802EFB84(p_ctrl, 0.03f, 0.05f);
|
||||
func_802EFE24(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
|
||||
func_802EFEC0(p_ctrl, 0.55f, 0.55f);
|
||||
}
|
||||
|
||||
void __bsDroneEnter_removeParticleTypes(void) {
|
||||
partEmitList_remove(bsDroneEnter.yellow_sparkle_emitter);
|
||||
partEmitList_remove(bsDroneEnter.white_sparkle_emitter);
|
||||
}
|
||||
|
||||
void __bsDroneEnter_init(void) {
|
||||
bsDroneEnter.unk10 = 0.0f;
|
||||
bsDroneEnter.unk8 = 0.0f;
|
||||
bsDroneEnter.unkC = 1.0f;
|
||||
bsDroneEnter.white_sparkle_emitter = partEmitList_pushNew(60);
|
||||
__bsDroneEnter_initParticleTypes(bsDroneEnter.white_sparkle_emitter, ASSET_716_SPRITE_SPARKLE_WHITE);
|
||||
bsDroneEnter.yellow_sparkle_emitter = partEmitList_pushNew(60);
|
||||
__bsDroneEnter_initParticleTypes(bsDroneEnter.yellow_sparkle_emitter, ASSET_713_SPRITE_SPARKLE_YELLOW);
|
||||
}
|
||||
|
||||
void func_802AE914(void) {
|
||||
bsDroneEnter.unk10 -= time_getDelta();
|
||||
while ( bsDroneEnter.unk10 < 0.0f) {
|
||||
__bsDroneEnter_emitParticles();
|
||||
bsDroneEnter.unk8 += 0.02 * (f64) bsDroneEnter.unkC;
|
||||
bsDroneEnter.unk10 += 0.02;
|
||||
}
|
||||
}
|
||||
|
||||
void bsDroneEnter_init(void) {
|
||||
f32 anim_duration;
|
||||
enum asset_e anim_id;
|
||||
|
||||
func_8029BCF8(&anim_id, &anim_duration);
|
||||
func_8028A010(anim_id, anim_duration);
|
||||
func_8029C7F4(1, 1, 3, 7);
|
||||
func_80294378(6);
|
||||
__bsDroneEnter_init();
|
||||
bsDroneEnterSubstate = BSDRONEENTER_SUBSTATE_0_UNINITIALIZED;
|
||||
__bsDroneEnter_setSubstate(BSDRONEENTER_SUBSTATE_1);
|
||||
}
|
||||
|
||||
void bsDroneEnter_update(void) {
|
||||
s32 next_state;
|
||||
s32 sp20;
|
||||
u8 temp_v0;
|
||||
|
||||
next_state = 0;
|
||||
switch (bsDroneEnterSubstate) {
|
||||
case BSDRONEENTER_SUBSTATE_1:
|
||||
func_802AE914();
|
||||
if (func_8029E1A8(0)) {
|
||||
__bsDroneEnter_setSubstate(BSDRONEENTER_SUBSTATE_2);
|
||||
}
|
||||
break;
|
||||
case BSDRONEENTER_SUBSTATE_2:
|
||||
func_802AE914();
|
||||
sp20 = func_8029E1A8(0);
|
||||
playerModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 255.0f, 0.0f));
|
||||
if (sp20) {
|
||||
__bsDroneEnter_setSubstate(BSDRONEENTER_SUBSTATE_3);
|
||||
}
|
||||
break;
|
||||
case BSDRONEENTER_SUBSTATE_3:
|
||||
if (func_8029E1A8(0)) {
|
||||
next_state = bs_getIdleState();
|
||||
}
|
||||
break;
|
||||
}
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void bsDroneEnter_end(void){
|
||||
__bsDroneEnter_removeParticleTypes();
|
||||
func_80294378(1);
|
||||
playerModel_updateModel();
|
||||
}
|
78
src/core2/bs/dronelook.c
Normal file
78
src/core2/bs/dronelook.c
Normal file
@@ -0,0 +1,78 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 func_8029B2D0(void);
|
||||
|
||||
/* .code */
|
||||
void __bsDroneLook_getEyePos(f32 arg0[3]) {
|
||||
func_8028E9C4(5, arg0);
|
||||
}
|
||||
|
||||
void bsDroneLook_init(void) {
|
||||
f32 anim_duration;
|
||||
f32 eye_position[3];
|
||||
f32 eye_rotation[3];
|
||||
enum asset_e anim_id;
|
||||
|
||||
func_80299D2C(SFX_12D_CAMERA_ZOOM_CLOSEST, 1.2f, 12000);
|
||||
func_8029BCF8(&anim_id, &anim_duration);
|
||||
func_8028A010(anim_id, anim_duration);
|
||||
func_8029C7F4(1, 1, 3, 2);
|
||||
func_80297970(0.0f);
|
||||
func_80297A0C(0);
|
||||
func_802BE8D8();
|
||||
__bsDroneLook_getEyePos(eye_position);
|
||||
func_802C2A64(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);
|
||||
miscflag_set(0x17);
|
||||
}
|
||||
|
||||
void bsDroneLook_update(void) {
|
||||
s32 next_state;
|
||||
f32 eye_rotation[3];
|
||||
f32 eye_position[3];
|
||||
f32 dt;
|
||||
s32 exit_first_person;
|
||||
|
||||
next_state = 0;
|
||||
dt = time_getDelta();
|
||||
if (func_802C2B00() == 2) {
|
||||
func_802C2ADC(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) ? max_f(305.0f, eye_rotation[0]) : min_f(70.0f, eye_rotation[0]);
|
||||
func_802C2A8C(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)) {
|
||||
exit_first_person = TRUE;
|
||||
}
|
||||
if (player_inWater()) {
|
||||
if (player_getTransformation() == TRANSFORM_1_BANJO && func_8028EE84() == BSWATERGROUP_0_NONE) {
|
||||
exit_first_person += TRUE;
|
||||
}
|
||||
} else if (func_8028B254(25) == 0) {
|
||||
exit_first_person += TRUE;
|
||||
}
|
||||
if (exit_first_person) {
|
||||
next_state = func_8029BDBC();
|
||||
}
|
||||
}
|
||||
__bsDroneLook_getEyePos(eye_position);
|
||||
func_802C2A64(eye_position);
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void bsDroneLook_end(void) {
|
||||
if (func_80298850() == 0) {
|
||||
func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000);
|
||||
}
|
||||
func_802BE91C();
|
||||
miscflag_clear(0x17);
|
||||
}
|
@@ -13,7 +13,7 @@ struct {
|
||||
u8 D_8037D468;
|
||||
|
||||
/* .code */
|
||||
void bsdronevanish_setState(s32 next_state) {
|
||||
void __bsDroneVanish_setSubstate(s32 next_state) {
|
||||
switch (next_state) {
|
||||
case 1:
|
||||
func_8029E3C0(0, 0.3f);
|
||||
@@ -33,7 +33,7 @@ void bsdronevanish_setState(s32 next_state) {
|
||||
D_8037D468 = next_state;
|
||||
}
|
||||
|
||||
void func_802AF268(void) {
|
||||
void __bsDroneVanish_emitParticles(void) {
|
||||
f32 position[3];
|
||||
|
||||
player_getPosition(position);
|
||||
@@ -52,7 +52,7 @@ void func_802AF268(void) {
|
||||
particleEmitter_emitN(D_8037D450.unk0, 1);
|
||||
}
|
||||
|
||||
void func_802AF3B4(ParticleEmitter *p_ctrl, enum asset_e sprite_id) {
|
||||
void __bsDroneVanish_particleEmitInit(ParticleEmitter *p_ctrl, enum asset_e sprite_id) {
|
||||
func_802F0D54();
|
||||
particleEmitter_setSprite(p_ctrl, sprite_id);
|
||||
func_802EFA5C(p_ctrl, 0.3f, 0.8f);
|
||||
@@ -63,31 +63,31 @@ void func_802AF3B4(ParticleEmitter *p_ctrl, enum asset_e sprite_id) {
|
||||
func_802EFEC0(p_ctrl, 0.55f, 0.55f);
|
||||
}
|
||||
|
||||
void func_802AF4B0(void) {
|
||||
func_802F0C78(D_8037D450.unk4);
|
||||
func_802F0C78(D_8037D450.unk0);
|
||||
void __bsDroneVanish_end(void) {
|
||||
partEmitList_remove(D_8037D450.unk4);
|
||||
partEmitList_remove(D_8037D450.unk0);
|
||||
}
|
||||
|
||||
void func_802AF4E0(void) {
|
||||
void __bsDroneVanish_init(void) {
|
||||
D_8037D450.unk10 = 0.0f;
|
||||
D_8037D450.unk8 = 0.0f;
|
||||
D_8037D450.unkC = 1.0f;
|
||||
D_8037D450.unk0 = partEmitList_pushNew(60);
|
||||
func_802AF3B4(D_8037D450.unk0, ASSET_716_SPRITE_SPARKLE_WHITE);
|
||||
__bsDroneVanish_particleEmitInit(D_8037D450.unk0, ASSET_716_SPRITE_SPARKLE_WHITE);
|
||||
D_8037D450.unk4 = partEmitList_pushNew(60);
|
||||
func_802AF3B4(D_8037D450.unk4, ASSET_713_SPRITE_SPARKLE_YELLOW);
|
||||
__bsDroneVanish_particleEmitInit(D_8037D450.unk4, ASSET_713_SPRITE_SPARKLE_YELLOW);
|
||||
}
|
||||
|
||||
void func_802AF550(void) {
|
||||
void __bsDroneVanish_update(void) {
|
||||
D_8037D450.unk10 -= time_getDelta();
|
||||
while ( D_8037D450.unk10 < 0.0f) {
|
||||
func_802AF268();
|
||||
__bsDroneVanish_emitParticles();
|
||||
D_8037D450.unk8 += 0.02 * (f64) D_8037D450.unkC;
|
||||
D_8037D450.unk10 += 0.02;
|
||||
}
|
||||
}
|
||||
|
||||
void func_802AF604(void){
|
||||
void bsDroneVanish_init(void){
|
||||
f32 anim_duration;
|
||||
enum asset_e anim_id;
|
||||
|
||||
@@ -95,29 +95,29 @@ void func_802AF604(void){
|
||||
func_8028A010(anim_id, anim_duration);
|
||||
func_8029C7F4(1,1,3,7);
|
||||
func_80294378(6);
|
||||
func_802AF4E0();
|
||||
__bsDroneVanish_init();
|
||||
D_8037D468 = 0;
|
||||
bsdronevanish_setState(1);
|
||||
__bsDroneVanish_setSubstate(1);
|
||||
}
|
||||
|
||||
void bsdronevanish_update(void) {
|
||||
void bsDroneVanish_update(void) {
|
||||
s32 next_state;
|
||||
bool sp20;
|
||||
|
||||
next_state = 0;
|
||||
switch (D_8037D468) {
|
||||
case 1:
|
||||
func_802AF550();
|
||||
__bsDroneVanish_update();
|
||||
if (func_8029E1A8(0)) {
|
||||
bsdronevanish_setState(2);
|
||||
__bsDroneVanish_setSubstate(2);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
func_802AF550();
|
||||
__bsDroneVanish_update();
|
||||
sp20 = func_8029E1A8(0);
|
||||
playerModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 0.0f, 255.0f));
|
||||
if (sp20) {
|
||||
bsdronevanish_setState(3);
|
||||
__bsDroneVanish_setSubstate(3);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
@@ -129,8 +129,8 @@ void bsdronevanish_update(void) {
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void func_802AF768(void){
|
||||
func_802AF4B0();
|
||||
void bsDroneVanish_end(void){
|
||||
__bsDroneVanish_end();
|
||||
func_80294378(1);
|
||||
playerModel_updateModel();
|
||||
}
|
@@ -82,8 +82,8 @@ void func_802AF900(void){
|
||||
}
|
||||
|
||||
void func_802AFADC(void){
|
||||
func_802F0C78(D_8037D470.unk4);
|
||||
func_802F0C78(D_8037D470.unk0);
|
||||
partEmitList_remove(D_8037D470.unk4);
|
||||
partEmitList_remove(D_8037D470.unk0);
|
||||
}
|
||||
|
||||
void func_802AFB0C(void){
|
||||
|
@@ -328,7 +328,7 @@ void func_802B5350(void){
|
||||
}
|
||||
else if(sp1C == 0x8){//L802B5438
|
||||
func_8029A86C(2);
|
||||
bs_setState(BS_3C);
|
||||
bs_setState(BS_3C_TALK);
|
||||
}else{
|
||||
func_802948E0();
|
||||
func_80296608();
|
||||
|
51
src/core2/bs/talk.c
Normal file
51
src/core2/bs/talk.c
Normal file
@@ -0,0 +1,51 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
/* .bss */
|
||||
bool bsTalkStayInState;
|
||||
|
||||
/* .code */
|
||||
void bstalk_init(void){
|
||||
AnimCtrl *player_anim_ctrl;
|
||||
f32 yaw;
|
||||
f32 plyr_pos[3];
|
||||
f32 target_pos[3];
|
||||
|
||||
player_anim_ctrl = _player_getAnimCtrlPtr();
|
||||
animctrl_reset(player_anim_ctrl);
|
||||
func_8029C848(player_anim_ctrl);
|
||||
animctrl_setPlaybackType(player_anim_ctrl, ANIMCTRL_LOOP);
|
||||
func_802875AC(player_anim_ctrl, "bstalk.c", 0x38);
|
||||
_player_getPosition(plyr_pos);
|
||||
func_802949F8(target_pos);
|
||||
func_80257F18(plyr_pos, target_pos, &yaw);
|
||||
yaw_setIdeal(yaw);
|
||||
func_80289F10(1);
|
||||
func_802991A8(1);
|
||||
func_8029957C(3);
|
||||
func_802978DC(2);
|
||||
func_80297970(0.0f);
|
||||
bsTalkStayInState = TRUE;
|
||||
}
|
||||
|
||||
void bstalk_update(void){
|
||||
enum bs_e next_state = BS_0_NONE;
|
||||
|
||||
if (!bsTalkStayInState)
|
||||
next_state = BS_1_IDLE;
|
||||
bsTalkStayInState = FALSE;
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void bstalk_end(void){}
|
||||
|
||||
void bstalk_interrupt(void){
|
||||
if(bs_getInterruptType() == BS_INTR_8){
|
||||
bsTalkStayInState = TRUE;
|
||||
func_8029A86C(2);
|
||||
}
|
||||
else{
|
||||
func_80296608();
|
||||
}
|
||||
}
|
@@ -1,141 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
/* .bss */
|
||||
struct {
|
||||
ParticleEmitter *unk0;
|
||||
ParticleEmitter *unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
}D_8037D420;
|
||||
u8 D_8037D438;
|
||||
|
||||
/* .code */
|
||||
void func_802AE4E0(s32 arg0) {
|
||||
switch (arg0) {
|
||||
case 1:
|
||||
func_8029E3C0(0, 0.2f);
|
||||
break;
|
||||
case 2:
|
||||
func_8025A6CC(COMUSIC_43_ENTER_LEVEL_GLITTER, 32000);
|
||||
func_8025AABC(COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||
func_8029E3C0(0, 0.4f);
|
||||
playerModel_setEnvAlpha(0);
|
||||
playerModel_updateModel();
|
||||
break;
|
||||
case 3:
|
||||
comusic_8025AB44(COMUSIC_43_ENTER_LEVEL_GLITTER, 0, 2000);
|
||||
func_8029E3C0(0, 0.55f);
|
||||
break;
|
||||
}
|
||||
D_8037D438 = arg0;
|
||||
}
|
||||
|
||||
void func_802AE598(void) {
|
||||
f32 plyr_pos[3];
|
||||
|
||||
player_getPosition(plyr_pos);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D420.unk4, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(D_8037D420.unk4, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(D_8037D420.unk4, plyr_pos);
|
||||
particleEmitter_emitN(D_8037D420.unk4, 1);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D420.unk0, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(D_8037D420.unk4, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(D_8037D420.unk0, plyr_pos);
|
||||
particleEmitter_emitN(D_8037D420.unk0, 1);
|
||||
player_getPosition(plyr_pos);
|
||||
plyr_pos[1] += 130.0f;
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D420.unk4, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(D_8037D420.unk4, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(D_8037D420.unk4, plyr_pos);
|
||||
particleEmitter_emitN(D_8037D420.unk4, 1);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D420.unk0, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(D_8037D420.unk4, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(D_8037D420.unk0, plyr_pos);
|
||||
particleEmitter_emitN(D_8037D420.unk0, 1);
|
||||
}
|
||||
|
||||
void func_802AE7AC(ParticleEmitter *p_ctrl, enum asset_e sprite_id) {
|
||||
func_802F0D54(p_ctrl);
|
||||
particleEmitter_setSprite(p_ctrl, sprite_id);
|
||||
func_802EFA5C(p_ctrl, 0.3f, 0.8f);
|
||||
func_802EFB70(p_ctrl, 0.15f, 0.22f);
|
||||
func_802EFB84(p_ctrl, 0.03f, 0.05f);
|
||||
func_802EFE24(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
|
||||
func_802EFEC0(p_ctrl, 0.55f, 0.55f);
|
||||
}
|
||||
|
||||
void func_802AE874(void) {
|
||||
func_802F0C78(D_8037D420.unk4);
|
||||
func_802F0C78(D_8037D420.unk0);
|
||||
}
|
||||
|
||||
void func_802AE8A4(void) {
|
||||
D_8037D420.unk10 = 0.0f;
|
||||
D_8037D420.unk8 = 0.0f;
|
||||
D_8037D420.unkC = 1.0f;
|
||||
D_8037D420.unk0 = partEmitList_pushNew(60);
|
||||
func_802AE7AC(D_8037D420.unk0, ASSET_716_SPRITE_SPARKLE_WHITE);
|
||||
D_8037D420.unk4 = partEmitList_pushNew(60);
|
||||
func_802AE7AC(D_8037D420.unk4, ASSET_713_SPRITE_SPARKLE_YELLOW);
|
||||
}
|
||||
|
||||
void func_802AE914(void) {
|
||||
D_8037D420.unk10 -= time_getDelta();
|
||||
while ( D_8037D420.unk10 < 0.0f) {
|
||||
func_802AE598();
|
||||
D_8037D420.unk8 += 0.02 * (f64) D_8037D420.unkC;
|
||||
D_8037D420.unk10 += 0.02;
|
||||
}
|
||||
}
|
||||
|
||||
void func_802AE9C8(void) {
|
||||
f32 anim_duration;
|
||||
enum asset_e anim_id;
|
||||
|
||||
func_8029BCF8(&anim_id, &anim_duration);
|
||||
func_8028A010(anim_id, anim_duration);
|
||||
func_8029C7F4(1, 1, 3, 7);
|
||||
func_80294378(6);
|
||||
func_802AE8A4();
|
||||
D_8037D438 = 0;
|
||||
func_802AE4E0(1);
|
||||
}
|
||||
|
||||
void func_802AEA2C(void) {
|
||||
s32 next_state;
|
||||
s32 sp20;
|
||||
u8 temp_v0;
|
||||
|
||||
next_state = 0;
|
||||
switch (D_8037D438) {
|
||||
case 1:
|
||||
func_802AE914();
|
||||
if (func_8029E1A8(0)) {
|
||||
func_802AE4E0(2);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
func_802AE914();
|
||||
sp20 = func_8029E1A8(0);
|
||||
playerModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 255.0f, 0.0f));
|
||||
if (sp20) {
|
||||
func_802AE4E0(3);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (func_8029E1A8(0)) {
|
||||
next_state = bs_getIdleState();
|
||||
}
|
||||
break;
|
||||
}
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void func_802AEB24(void){
|
||||
func_802AE874();
|
||||
func_80294378(1);
|
||||
playerModel_updateModel();
|
||||
}
|
@@ -1,78 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 func_8029B2D0(void);
|
||||
|
||||
/* .code */
|
||||
void func_802AEED0(f32 arg0[3]) {
|
||||
func_8028E9C4(5, arg0);
|
||||
}
|
||||
|
||||
void func_802AEEF4(void) {
|
||||
f32 anim_duration;
|
||||
f32 sp28[3];
|
||||
f32 sp1C[3];
|
||||
enum asset_e anim_id;
|
||||
|
||||
func_80299D2C(SFX_12D_CAMERA_ZOOM_CLOSEST, 1.2f, 12000);
|
||||
func_8029BCF8(&anim_id, &anim_duration);
|
||||
func_8028A010(anim_id, anim_duration);
|
||||
func_8029C7F4(1, 1, 3, 2);
|
||||
func_80297970(0.0f);
|
||||
func_80297A0C(0);
|
||||
func_802BE8D8();
|
||||
func_802AEED0(sp28);
|
||||
func_802C2A64(sp28);
|
||||
player_getRotation(sp1C);
|
||||
sp1C[0] = 0.0f;
|
||||
sp1C[1] += 180.0f;
|
||||
sp1C[2] = 0.0f;
|
||||
func_802C2A8C(sp1C);
|
||||
miscflag_set(0x17);
|
||||
}
|
||||
|
||||
void func_802AEFB0(void) {
|
||||
s32 next_state;
|
||||
f32 sp30[3];
|
||||
f32 sp24[3];
|
||||
f32 sp20;
|
||||
s32 sp1C;
|
||||
|
||||
next_state = 0;
|
||||
sp20 = time_getDelta();
|
||||
if (func_802C2B00() == 2) {
|
||||
func_802C2ADC(sp30);
|
||||
sp30[0] -= func_8029B2DC() * 90.0f * sp20;
|
||||
sp30[1] -= func_8029B2D0() * 90.0f * sp20;
|
||||
sp30[2] = 0.0f;
|
||||
sp30[0] = (sp30[0] > 180.0f) ? max_f(305.0f, sp30[0]) : min_f(70.0f, sp30[0]);
|
||||
func_802C2A8C(sp30);
|
||||
yaw_setIdeal(sp30[1] + 180.0f);
|
||||
sp1C = 0;
|
||||
if (button_pressed(BUTTON_B) || button_pressed(BUTTON_A) || button_pressed(BUTTON_C_UP)) {
|
||||
sp1C = 1;
|
||||
}
|
||||
if (player_inWater()) {
|
||||
if (player_getTransformation() == TRANSFORM_1_BANJO && func_8028EE84() == BSWATERGROUP_0_NONE) {
|
||||
sp1C += 1;
|
||||
}
|
||||
} else if (func_8028B254(25) == 0) {
|
||||
sp1C += 1;
|
||||
}
|
||||
if (sp1C) {
|
||||
next_state = func_8029BDBC();
|
||||
}
|
||||
}
|
||||
func_802AEED0(sp24);
|
||||
func_802C2A64(sp24);
|
||||
bs_setState(next_state);
|
||||
}
|
||||
|
||||
void func_802AF164(void) {
|
||||
if (func_80298850() == 0) {
|
||||
func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000);
|
||||
}
|
||||
func_802BE91C();
|
||||
miscflag_clear(0x17);
|
||||
}
|
@@ -19,7 +19,7 @@ void func_802EFA78(ParticleEmitter *this, s32 arg1);
|
||||
void func_802EFF5C(ParticleEmitter *, f32, f32, f32);
|
||||
void func_802EFF7C(ParticleEmitter *, f32, f32, f32);
|
||||
void func_802EFF9C(ParticleEmitter *, f32);
|
||||
void func_802F0C78(ParticleEmitter *this);
|
||||
void partEmitList_remove(ParticleEmitter *this);
|
||||
|
||||
|
||||
Gfx D_80368940[] = {
|
||||
@@ -783,7 +783,7 @@ void func_802F08A0(void){
|
||||
}//L802F09C0
|
||||
for(i = 0; i < D_803689B4;){
|
||||
if(D_803689B0[i]->unk0_1){
|
||||
func_802F0C78(D_803689B0[i]);
|
||||
partEmitList_remove(D_803689B0[i]);
|
||||
}
|
||||
else{
|
||||
i++;
|
||||
@@ -819,7 +819,7 @@ ParticleEmitter *partEmitList_pushNew(u32 cnt){
|
||||
}
|
||||
|
||||
|
||||
void func_802F0C78(ParticleEmitter *this){
|
||||
void partEmitList_remove(ParticleEmitter *this){
|
||||
int i = 0;
|
||||
while(this != D_803689B0[i] && i < D_803689B4){i++;}
|
||||
if(i == D_803689B4)
|
||||
|
@@ -59,7 +59,7 @@ void func_802F1104(void){
|
||||
|
||||
void func_802F1190(u8 arg0){
|
||||
if(D_80380938[arg0].p_emitter){
|
||||
func_802F0C78(D_80380938[arg0].p_emitter);
|
||||
partEmitList_remove(D_80380938[arg0].p_emitter);
|
||||
}
|
||||
D_80380938[arg0].unk8_31 = 0;
|
||||
}
|
||||
@@ -73,7 +73,7 @@ void func_802F11E8(void){
|
||||
){
|
||||
D_80380938[i].unk0 -= time_getDelta();
|
||||
if(D_80380938[i].unk0 <= 0.0f){
|
||||
func_802F0C78(D_80380938[i].p_emitter);
|
||||
partEmitList_remove(D_80380938[i].p_emitter);
|
||||
D_80380938[i].p_emitter = NULL;
|
||||
}
|
||||
}
|
||||
@@ -87,7 +87,7 @@ void func_802F1294(void){
|
||||
&& D_80380938[i].p_emitter != NULL
|
||||
&& i != D_80380930
|
||||
){
|
||||
func_802F0C78(D_80380938[i].p_emitter);
|
||||
partEmitList_remove(D_80380938[i].p_emitter);
|
||||
D_80380938[i].p_emitter = NULL;
|
||||
}
|
||||
}
|
||||
|
@@ -463,7 +463,7 @@ enum bsgroup_e func_8028ECAC(void) {
|
||||
switch(state_id){
|
||||
case BS_E_OW: //L8028EE00
|
||||
case BS_34_JIG_NOTEDOOR: //L8028EE00
|
||||
case BS_3C: //L8028EE00
|
||||
case BS_3C_TALK: //L8028EE00
|
||||
case BS_3F: //L8028EE00
|
||||
case BS_41_DIE: //L8028EE00
|
||||
case BS_44_JIG_JIGGY: //L8028EE00
|
||||
|
@@ -62,8 +62,8 @@ bsMap D_80363824[] ={
|
||||
{BS_ANT_JUMP, bsant_jump_init, bsant_jump_update, bsant_jump_end, func_802B5350},
|
||||
{BS_39_DIVE_A, func_802A7A54, func_802A7AB0, func_802A7BA8, func_80296608},
|
||||
{BS_3A_CARRY_IDLE, bscarry_idle_init, bscarry_idle_update, bscarry_idle_end, bscarry_interrupt},
|
||||
{BS_CARRY_WALK, bscarry_walk_init, bscarry_walk_update, bscarry_walk_end, bscarry_interrupt},
|
||||
{0x3C, func_802B6130, func_802B61E0, func_802B6218, func_802B6220},
|
||||
{BS_3B_CARRY_WALK, bscarry_walk_init, bscarry_walk_update, bscarry_walk_end, bscarry_interrupt},
|
||||
{0x3C, bstalk_init, bstalk_update, bstalk_end, bstalk_interrupt},
|
||||
{BS_3D_FALL_TUMBLING, bsjump_tumble_init, bsjump_tumble_update, bsjump_tumble_end, func_80296608},
|
||||
{BS_38_ANT_FALL, bsant_fall_init, bsant_fall_update, bsant_fall_end, func_80296590},
|
||||
{BS_3E_ANT_OW, bsant_ow_init, bsant_ow_update, bsant_ow_end, func_80296590},
|
||||
|
@@ -1,51 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
/* .bss */
|
||||
s32 D_8037D570;
|
||||
|
||||
/* .code */
|
||||
void func_802B6130(void){
|
||||
AnimCtrl *plyr_mvmt;
|
||||
f32 yaw;
|
||||
f32 plyr_pos[3];
|
||||
f32 target_pos[3];
|
||||
|
||||
plyr_mvmt = _player_getAnimCtrlPtr();
|
||||
animctrl_reset(plyr_mvmt);
|
||||
func_8029C848(plyr_mvmt);
|
||||
animctrl_setPlaybackType(plyr_mvmt, ANIMCTRL_LOOP);
|
||||
func_802875AC(plyr_mvmt, "bstalk.c", 0x38);
|
||||
_player_getPosition(plyr_pos);
|
||||
func_802949F8(target_pos);
|
||||
func_80257F18(plyr_pos, target_pos, &yaw);
|
||||
yaw_setIdeal(yaw);
|
||||
func_80289F10(1);
|
||||
func_802991A8(1);
|
||||
func_8029957C(3);
|
||||
func_802978DC(2);
|
||||
func_80297970(0.0f);
|
||||
D_8037D570 = 1;
|
||||
}
|
||||
|
||||
void func_802B61E0(void){
|
||||
s32 tmp = 0;
|
||||
|
||||
if (D_8037D570 == 0)
|
||||
tmp = BS_1_IDLE;
|
||||
D_8037D570 = 0;
|
||||
bs_setState(tmp);
|
||||
}
|
||||
|
||||
void func_802B6218(void){}
|
||||
|
||||
void func_802B6220(void){
|
||||
if(bs_getInterruptType() == BS_INTR_8){
|
||||
D_8037D570 = 1;
|
||||
func_8029A86C(2);
|
||||
}
|
||||
else{
|
||||
func_80296608();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user