document various assets, bsStoredState.c, and stateTimers.c
This commit is contained in:
@@ -519,7 +519,7 @@ segments:
|
|||||||
- [0xF5F260, c, code_9900] #DONE
|
- [0xF5F260, c, code_9900] #DONE
|
||||||
- [0xF5F530, c, code_9BD0] #DONE
|
- [0xF5F530, c, code_9BD0] #DONE
|
||||||
- [0xF5FF60, c, code_A600] #DONE
|
- [0xF5FF60, c, code_A600] #DONE
|
||||||
- [0xF60040, c, code_A6E0] #DONE
|
- [0xF60040, c, statetimer] #DONE
|
||||||
- [0xF602C0, c, code_A960] #DONE
|
- [0xF602C0, c, code_A960] #DONE
|
||||||
- [0xF603C0, c, ba/model] #DONE
|
- [0xF603C0, c, ba/model] #DONE
|
||||||
- [0xF60FB0, c, code_B650] #DONE
|
- [0xF60FB0, c, code_B650] #DONE
|
||||||
@@ -553,7 +553,7 @@ segments:
|
|||||||
- [0xF68890, c, code_12F30]
|
- [0xF68890, c, code_12F30]
|
||||||
- [0xF68FD0, c, bsList] #DONE
|
- [0xF68FD0, c, bsList] #DONE
|
||||||
- [0xF690E0, c, code_13780] #DONE
|
- [0xF690E0, c, code_13780] #DONE
|
||||||
- [0xF69260, c, code_13900] #DONE
|
- [0xF69260, c, bsStoredState] #DONE
|
||||||
- [0xF69360, c, code_13A00] #DONE
|
- [0xF69360, c, code_13A00] #DONE
|
||||||
- [0xF69920, c, code_13FC0] #DONE
|
- [0xF69920, c, code_13FC0] #DONE
|
||||||
- [0xF69D80, c, code_14420] #DONE
|
- [0xF69D80, c, code_14420] #DONE
|
||||||
@@ -658,14 +658,14 @@ segments:
|
|||||||
- [0xF99160, c, code_43800] #DONE
|
- [0xF99160, c, code_43800] #DONE
|
||||||
- [0xF993A0, c, code_43A40] #DONE
|
- [0xF993A0, c, code_43A40] #DONE
|
||||||
- [0xF99630, c, mapspecificflags] #DONE
|
- [0xF99630, c, mapspecificflags] #DONE
|
||||||
- [0xF99A10, c, code_440B0] #DONE
|
- [0xF99A10, c, ch/crab] #DONE
|
||||||
- [0xF9AC70, c, code_45310] #DONE
|
- [0xF9AC70, c, code_45310] #DONE
|
||||||
- [0xF9C240, c, ch/code_468E0] #DONE
|
- [0xF9C240, c, ch/code_468E0] #DONE
|
||||||
- [0xF9C520, c, ch/jinjo] #DONE
|
- [0xF9C520, c, ch/jinjo] #DONE
|
||||||
- [0xF9D1B0, c, ch/beehive] #DONE
|
- [0xF9D1B0, c, ch/beehive] #DONE
|
||||||
- [0xF9D530, c, code_47BD0] #DONE
|
- [0xF9D530, c, code_47BD0] #DONE
|
||||||
- [0xF9EED0, c, ch/soundsource] #DONE
|
- [0xF9EED0, c, ch/soundsource] #DONE
|
||||||
- [0xF9F3D0, c, code_49A70] #DONE
|
- [0xF9F3D0, c, ch/shrapnel] #DONE
|
||||||
- [0xF9FD80, c, ch/gloop] #DONE
|
- [0xF9FD80, c, ch/gloop] #DONE
|
||||||
- [0xFA0050, c, code_4A6F0] #DONE
|
- [0xFA0050, c, code_4A6F0] #DONE
|
||||||
- [0xFA16D0, c, code_4BD70] #DONE
|
- [0xFA16D0, c, code_4BD70] #DONE
|
||||||
@@ -678,7 +678,7 @@ segments:
|
|||||||
- [0xFA6330, c, code_509D0] #DONE
|
- [0xFA6330, c, code_509D0] #DONE
|
||||||
- [0xFA7100, c, code_517A0] #DONE
|
- [0xFA7100, c, code_517A0] #DONE
|
||||||
- [0xFA72B0, c, code_51950] #DONE
|
- [0xFA72B0, c, code_51950] #DONE
|
||||||
- [0xFA75F0, c, ch/collectable] #DONE
|
- [0xFA75F0, c, ch/collectible] #DONE
|
||||||
- [0xFA7BF0, c, ch/mole] #DONE
|
- [0xFA7BF0, c, ch/mole] #DONE
|
||||||
- [0xFA8F30, c, ch/molehill] #DONE
|
- [0xFA8F30, c, ch/molehill] #DONE
|
||||||
- [0xFA9370, c, code_53A10] #DONE
|
- [0xFA9370, c, code_53A10] #DONE
|
||||||
@@ -881,8 +881,8 @@ segments:
|
|||||||
- [0x102B930, c, code_D5FD0] #DONE
|
- [0x102B930, c, code_D5FD0] #DONE
|
||||||
- [0x102BAE0, c, code_D6180] #DONE
|
- [0x102BAE0, c, code_D6180] #DONE
|
||||||
- [0x102BF60, c, code_D6600] #DONE
|
- [0x102BF60, c, code_D6600] #DONE
|
||||||
- [0x102C9A0, c, code_D7040] #DONE
|
- [0x102C9A0, c, ch/termite] #DONE
|
||||||
- [0x102D670, c, code_D7D10] #DONE
|
- [0x102D670, c, ch/gravestone] #DONE
|
||||||
- [0x102E340, c, code_D89E0]
|
- [0x102E340, c, code_D89E0]
|
||||||
- [0x102F700, c, ch/whipcrack] #DONE
|
- [0x102F700, c, ch/whipcrack] #DONE
|
||||||
- [0x102FD00, c, code_DA3A0] #DONE
|
- [0x102FD00, c, code_DA3A0] #DONE
|
||||||
@@ -956,14 +956,14 @@ segments:
|
|||||||
- [0x10358C0, .data, code_43800]
|
- [0x10358C0, .data, code_43800]
|
||||||
- [0x10358F0, .data, code_43A40]
|
- [0x10358F0, .data, code_43A40]
|
||||||
- [0x10359D0, .data, mapspecificflags]
|
- [0x10359D0, .data, mapspecificflags]
|
||||||
- [0x10359E0, .data, code_440B0]
|
- [0x10359E0, .data, ch/crab]
|
||||||
- [0x1035B00, .data, code_45310]
|
- [0x1035B00, .data, code_45310]
|
||||||
- [0x1035B30, .data, ch/code_468E0]
|
- [0x1035B30, .data, ch/code_468E0]
|
||||||
- [0x1035B80, .data, ch/jinjo]
|
- [0x1035B80, .data, ch/jinjo]
|
||||||
- [0x1035C90, .data, ch/beehive]
|
- [0x1035C90, .data, ch/beehive]
|
||||||
- [0x1035CE0, .data, code_47BD0]
|
- [0x1035CE0, .data, code_47BD0]
|
||||||
- [0x1035D10, .data, ch/soundsource]
|
- [0x1035D10, .data, ch/soundsource]
|
||||||
- [0x1035D90, .data, code_49A70]
|
- [0x1035D90, .data, ch/shrapnel]
|
||||||
- [0x1035E00, .data, ch/gloop]
|
- [0x1035E00, .data, ch/gloop]
|
||||||
- [0x1035E60, .data, code_4A6F0]
|
- [0x1035E60, .data, code_4A6F0]
|
||||||
- [0x1035F00, .data, code_4BD70]
|
- [0x1035F00, .data, code_4BD70]
|
||||||
@@ -976,7 +976,7 @@ segments:
|
|||||||
- [0x1036520, .data, code_509D0]
|
- [0x1036520, .data, code_509D0]
|
||||||
- [0x1036630, .data, code_517A0]
|
- [0x1036630, .data, code_517A0]
|
||||||
- [0x1036660, .data, code_51950]
|
- [0x1036660, .data, code_51950]
|
||||||
- [0x10366D0, .data, ch/collectable]
|
- [0x10366D0, .data, ch/collectible]
|
||||||
- [0x1036740, .data, ch/mole]
|
- [0x1036740, .data, ch/mole]
|
||||||
- [0x10367D0, .data, ch/molehill]
|
- [0x10367D0, .data, ch/molehill]
|
||||||
- [0x1036840, .data, code_53A10]
|
- [0x1036840, .data, code_53A10]
|
||||||
@@ -1102,8 +1102,8 @@ segments:
|
|||||||
- [0x1041770, .data, code_D5FD0]
|
- [0x1041770, .data, code_D5FD0]
|
||||||
- [0x10417F0, .data, code_D6180]
|
- [0x10417F0, .data, code_D6180]
|
||||||
- [0x1041870, .data, code_D6600]
|
- [0x1041870, .data, code_D6600]
|
||||||
- [0x10418E0, .data, code_D7040]
|
- [0x10418E0, .data, ch/termite]
|
||||||
- [0x1041950, .data, code_D7D10]
|
- [0x1041950, .data, ch/gravestone]
|
||||||
- [0x1041A60, .data, code_D89E0]
|
- [0x1041A60, .data, code_D89E0]
|
||||||
- [0x1041AD0, .data, ch/whipcrack]
|
- [0x1041AD0, .data, ch/whipcrack]
|
||||||
- [0x1041B00, .data, code_DA3A0]
|
- [0x1041B00, .data, code_DA3A0]
|
||||||
@@ -1222,12 +1222,12 @@ segments:
|
|||||||
- [0x1044E30, .rodata, code_42CB0]
|
- [0x1044E30, .rodata, code_42CB0]
|
||||||
- [0x1044E40, .rodata, ch/trainers]
|
- [0x1044E40, .rodata, ch/trainers]
|
||||||
- [0x1044E50, .rodata, code_43800]
|
- [0x1044E50, .rodata, code_43800]
|
||||||
- [0x1044E60, .rodata, code_440B0]
|
- [0x1044E60, .rodata, ch/crab]
|
||||||
- [0x1044EB0, .rodata, code_45310]
|
- [0x1044EB0, .rodata, code_45310]
|
||||||
- [0x1044F30, .rodata, ch/jinjo]
|
- [0x1044F30, .rodata, ch/jinjo]
|
||||||
- [0x1044FA0, .rodata, ch/beehive]
|
- [0x1044FA0, .rodata, ch/beehive]
|
||||||
- [0x1044FB0, .rodata, code_47BD0]
|
- [0x1044FB0, .rodata, code_47BD0]
|
||||||
- [0x1045010, .rodata, code_49A70]
|
- [0x1045010, .rodata, ch/shrapnel]
|
||||||
- [0x1045030, .rodata, ch/gloop]
|
- [0x1045030, .rodata, ch/gloop]
|
||||||
- [0x1045040, .rodata, code_4A6F0]
|
- [0x1045040, .rodata, code_4A6F0]
|
||||||
- [0x10450F0, .rodata, code_4C020]
|
- [0x10450F0, .rodata, code_4C020]
|
||||||
@@ -1352,8 +1352,8 @@ segments:
|
|||||||
- [0x1048220, .rodata, code_D5D10]
|
- [0x1048220, .rodata, code_D5D10]
|
||||||
- [0x1048230, .rodata, code_D6180]
|
- [0x1048230, .rodata, code_D6180]
|
||||||
- [0x1048240, .rodata, code_D6600]
|
- [0x1048240, .rodata, code_D6600]
|
||||||
- [0x1048280, .rodata, code_D7040]
|
- [0x1048280, .rodata, ch/termite]
|
||||||
- [0x10482F0, .rodata, code_D7D10]
|
- [0x10482F0, .rodata, ch/gravestone]
|
||||||
- [0x1048390, .rodata, code_D89E0]
|
- [0x1048390, .rodata, code_D89E0]
|
||||||
- [0x10483C0, .rodata, code_D89E0]
|
- [0x10483C0, .rodata, code_D89E0]
|
||||||
- [0x1048430, .rodata, ch/whipcrack]
|
- [0x1048430, .rodata, ch/whipcrack]
|
||||||
@@ -1377,7 +1377,7 @@ segments:
|
|||||||
- [0x1048560, .bss, code_9900]
|
- [0x1048560, .bss, code_9900]
|
||||||
- [0x1048560, .bss, code_9BD0]
|
- [0x1048560, .bss, code_9BD0]
|
||||||
- [0x1048560, .bss, code_A600]
|
- [0x1048560, .bss, code_A600]
|
||||||
- [0x1048560, .bss, code_A6E0]
|
- [0x1048560, .bss, statetimer]
|
||||||
- [0x1048560, .bss, ba/model]
|
- [0x1048560, .bss, ba/model]
|
||||||
- [0x1048560, .bss, code_B650]
|
- [0x1048560, .bss, code_B650]
|
||||||
- [0x1048560, .bss, code_BB50]
|
- [0x1048560, .bss, code_BB50]
|
||||||
@@ -1409,7 +1409,7 @@ segments:
|
|||||||
- [0x1048560, .bss, code_12F30]
|
- [0x1048560, .bss, code_12F30]
|
||||||
- [0x1048560, .bss, bsList]
|
- [0x1048560, .bss, bsList]
|
||||||
- [0x1048560, .bss, code_13780]
|
- [0x1048560, .bss, code_13780]
|
||||||
- [0x1048560, .bss, code_13900]
|
- [0x1048560, .bss, bsStoredState]
|
||||||
- [0x1048560, .bss, code_13A00]
|
- [0x1048560, .bss, code_13A00]
|
||||||
- [0x1048560, .bss, code_13FC0]
|
- [0x1048560, .bss, code_13FC0]
|
||||||
- [0x1048560, .bss, code_14420]
|
- [0x1048560, .bss, code_14420]
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
// Flag set used when collecting an already-unlocked Stop 'n' Swop item in-game
|
// Flag set used when collecting an already-unlocked Stop 'n' Swop item in-game
|
||||||
#define SNS_COLLECTED (0)
|
#define SNS_COLLECTED (0)
|
||||||
// Flag set used when making a Stop 'n' Swop item visible and collectable in-game
|
// Flag set used when making a Stop 'n' Swop item visible and collectible in-game
|
||||||
#define SNS_UNLOCKED (1)
|
#define SNS_UNLOCKED (1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -185,7 +185,7 @@ void bsjump_fall_init(void);
|
|||||||
void bsjump_fall_update(void);
|
void bsjump_fall_update(void);
|
||||||
void bsjump_fall_end(void);
|
void bsjump_fall_end(void);
|
||||||
//BS_30_DIVE_ENTER
|
//BS_30_DIVE_ENTER
|
||||||
void func_802A7DAC(void);
|
void bsSwim_dive_init(void);
|
||||||
void func_802A7E2C(void);
|
void func_802A7E2C(void);
|
||||||
void func_802A7F4C(void);
|
void func_802A7F4C(void);
|
||||||
//BS_ROLL(void);
|
//BS_ROLL(void);
|
||||||
@@ -348,7 +348,7 @@ void func_802A4548(void);
|
|||||||
void func_802A4664(void);
|
void func_802A4664(void);
|
||||||
void func_802A505C(void);
|
void func_802A505C(void);
|
||||||
//0x58
|
//0x58
|
||||||
void func_802A4748(void);
|
void bsbfly_beakbomb_crash_init(void);
|
||||||
void func_802A48B4(void);
|
void func_802A48B4(void);
|
||||||
void func_802A4A40(void);
|
void func_802A4A40(void);
|
||||||
|
|
||||||
|
27
include/core2/statetimer.h
Normal file
27
include/core2/statetimer.h
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef _STATE_TIMER_
|
||||||
|
#define _STATE_TIMER_
|
||||||
|
|
||||||
|
#include <ultra64.h>
|
||||||
|
#include "structs.h"
|
||||||
|
|
||||||
|
enum state_timer_e{
|
||||||
|
STATE_TIMER_0_UNKNOWN,
|
||||||
|
STATE_TIMER_1_THROW = 1,
|
||||||
|
STATE_TIMER_2_LONGLEG,
|
||||||
|
STATE_TIMER_3_TURBO_TALON,
|
||||||
|
STATE_TIMER_4_UNKNOWN,
|
||||||
|
STATE_TIMER_5_UNKNOWN, //slide timer
|
||||||
|
STATE_TIMER_6_UNKNOWN //trot slide timer
|
||||||
|
};
|
||||||
|
|
||||||
|
f32 stateTimer_get(enum state_timer_e timer_id);
|
||||||
|
f32 stateTimer_getPrevious(enum state_timer_e timer_id);
|
||||||
|
bool stateTimer_isActive(enum state_timer_e timer_id);
|
||||||
|
bool stateTimer_isDone(enum state_timer_e timer_id);
|
||||||
|
bool stateTimer_isAt(enum state_timer_e timer_id, f32 value);
|
||||||
|
void stateTimer_free(void);
|
||||||
|
void stateTimer_init(void);
|
||||||
|
void stateTimer_clear(enum state_timer_e timer_id);
|
||||||
|
void stateTimer_set(enum state_timer_e timer_id, f32 value);
|
||||||
|
void stateTimer_update(void);
|
||||||
|
#endif
|
678
include/enums.h
678
include/enums.h
File diff suppressed because it is too large
Load Diff
@@ -297,17 +297,11 @@ void func_8028A274(enum asset_e, f32);
|
|||||||
void func_8028A3B8(f32, f32);
|
void func_8028A3B8(f32, f32);
|
||||||
int func_8028AED4(f32*, f32);
|
int func_8028AED4(f32*, f32);
|
||||||
void func_8028E668(f32[3], f32, f32, f32);
|
void func_8028E668(f32[3], f32, f32, f32);
|
||||||
f32 func_8028E80C(s32);
|
|
||||||
bool func_8028F364(f32[3], f32, f32, enum actor_e actor_id, Actor**);
|
bool func_8028F364(f32[3], f32, f32, enum actor_e actor_id, Actor**);
|
||||||
void func_8028FA54(f32[3]);
|
void func_8028FA54(f32[3]);
|
||||||
|
|
||||||
f32 func_802915D8(void);
|
f32 func_802915D8(void);
|
||||||
f32 func_80291604(void);
|
f32 func_80291604(void);
|
||||||
f32 func_80291670(s32);
|
|
||||||
f32 func_80291684(s32);
|
|
||||||
int func_80291698(s32);
|
|
||||||
int func_80291700(s32, f32);
|
|
||||||
void func_802917E4(s32, f32);
|
|
||||||
|
|
||||||
void baModel_80291A50(s32 arg0, f32* arg1);
|
void baModel_80291A50(s32 arg0, f32* arg1);
|
||||||
void baModel_80292078(s32, f32);
|
void baModel_80292078(s32, f32);
|
||||||
@@ -364,11 +358,11 @@ void func_80299CF4(enum sfx_e, f32, s32);
|
|||||||
void func_80299D2C(enum sfx_e, f32, s32);
|
void func_80299D2C(enum sfx_e, f32, s32);
|
||||||
void func_80289EC8(f32, f32, f32, f32);
|
void func_80289EC8(f32, f32, f32, f32);
|
||||||
void func_80289EF8(f32);
|
void func_80289EF8(f32);
|
||||||
f32 func_8029A900(void);
|
f32 bsStoredState_getLongLegTimer(void);
|
||||||
f32 func_8029A90C(void);
|
f32 bsStoredState_getTurboTimer(void);
|
||||||
void func_8029A968(f32);
|
void bsStoredState_setLongLegTimer(f32);
|
||||||
void func_8029A980(s32);
|
void bsStoredState_setTrot(bool);
|
||||||
void func_8029A974(f32);
|
void bsStoredState_setTurboTimer(f32);
|
||||||
void func_8029AD28(f32, s32);
|
void func_8029AD28(f32, s32);
|
||||||
f32 func_8029B2DC(void);
|
f32 func_8029B2DC(void);
|
||||||
f32 func_8029B2E8(void);
|
f32 func_8029B2E8(void);
|
||||||
|
@@ -839,7 +839,7 @@ typedef struct {
|
|||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
enum actor_e actor_id;
|
int actor_id;
|
||||||
struct actorMarker_s *marker;
|
struct actorMarker_s *marker;
|
||||||
f32 position[3];
|
f32 position[3];
|
||||||
void (*unk14)(struct actor_s *, struct actorMarker_s *);
|
void (*unk14)(struct actor_s *, struct actorMarker_s *);
|
||||||
@@ -847,7 +847,7 @@ typedef struct {
|
|||||||
}Struct81s;
|
}Struct81s;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
enum actor_e actor_id;
|
int actor_id;
|
||||||
struct actorMarker_s *marker;
|
struct actorMarker_s *marker;
|
||||||
f32 position[3];
|
f32 position[3];
|
||||||
void (*unk14)(struct actor_s *, struct actorMarker_s *);
|
void (*unk14)(struct actor_s *, struct actorMarker_s *);
|
||||||
|
@@ -10,13 +10,13 @@ void func_8038F06C(Actor *this);
|
|||||||
ActorAnimationInfo D_80390B90[] = {
|
ActorAnimationInfo D_80390B90[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xD4, 0.15f},
|
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||||
{0xD5, 0.5f},
|
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xD4, 0.15f},
|
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||||
{0xD5, 0.5f},
|
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||||
{0xD5, 1e+8f}
|
{ASSET_D5_ANIM_SWITCH_UP, 1e+8f}
|
||||||
};
|
};
|
||||||
ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
|
@@ -1,9 +1,12 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
/* TODO move declarations to respective headers*/
|
/* TODO move declarations to respective headers*/
|
||||||
void func_8028F710(s32, f32);
|
extern void player_stateTimer_set(enum state_timer_e, f32);
|
||||||
|
extern f32 player_stateTimer_get(enum state_timer_e);
|
||||||
|
|
||||||
|
|
||||||
void func_802C4218(u32,f32,f32,f32);
|
void func_802C4218(u32,f32,f32,f32);
|
||||||
void func_80328A84(Actor *, u32);
|
void func_80328A84(Actor *, u32);
|
||||||
@@ -17,8 +20,8 @@ void chmudhut_update(Actor *this);
|
|||||||
ActorAnimationInfo D_80390B30[4] = {
|
ActorAnimationInfo D_80390B30[4] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{anim_mudhut_smashing, 0.25f},
|
{ASSET_4E_ANIM_MUDHUT_SMASH, 0.25f},
|
||||||
{anim_mudhut_smashing, 1000000.0f}
|
{ASSET_4E_ANIM_MUDHUT_SMASH, 1000000.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
u32 D_80390B50[6] = {0xA, 0xA, 0xB, 0xA, 0xA, 0xC};
|
u32 D_80390B50[6] = {0xA, 0xA, 0xB, 0xA, 0xA, 0xC};
|
||||||
@@ -30,8 +33,8 @@ ActorInfo D_80390B68 = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_
|
|||||||
|
|
||||||
/* .code section */
|
/* .code section */
|
||||||
void func_8038EA30(void){
|
void func_8038EA30(void){
|
||||||
if((getGameMode() != GAME_MODE_7_ATTRACT_DEMO) && (1.5 < func_8028E80C(2)) ){
|
if((getGameMode() != GAME_MODE_7_ATTRACT_DEMO) && (1.5 < player_stateTimer_get(2)) ){
|
||||||
func_8028F710(2, 1.5);
|
player_stateTimer_set(STATE_TIMER_2_LONGLEG, 1.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -621,7 +621,7 @@ void chvilegame_update(Actor *this) {
|
|||||||
item_set(ITEM_1A_PLAYER_VILE_SCORE, local->player_score);
|
item_set(ITEM_1A_PLAYER_VILE_SCORE, local->player_score);
|
||||||
item_set(ITEM_1B_VILE_VILE_SCORE, local->vile_score);
|
item_set(ITEM_1B_VILE_VILE_SCORE, local->vile_score);
|
||||||
if ((sp2C != 0) && (local->player_score == 0)) {
|
if ((sp2C != 0) && (local->player_score == 0)) {
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
}
|
}
|
||||||
if (item_empty(ITEM_6_HOURGLASS)) {
|
if (item_empty(ITEM_6_HOURGLASS)) {
|
||||||
if (func_803203FC(2)) {
|
if (func_803203FC(2)) {
|
||||||
|
@@ -41,9 +41,9 @@ ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB
|
|||||||
|
|
||||||
f32 FP_D_80391E74[3] = {-5.0f, 180.0f, 1.0f};
|
f32 FP_D_80391E74[3] = {-5.0f, 180.0f, 1.0f};
|
||||||
Struct_FP_3E00 D_80391E80[] ={
|
Struct_FP_3E00 D_80391E80[] ={
|
||||||
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE},
|
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, 0x1EE},
|
||||||
{0x12, MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, 0x1F0},
|
{0x12, MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, 0x1F0},
|
||||||
{0x13, MARKER_1FF_RED_PRESENT_COLLECTABLE, ACTOR_1F1_RED_PRESENT_COLLECTABLE, 0x1F2}
|
{0x13, MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, 0x1F2}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
|
@@ -7,7 +7,7 @@ void func_8038F144(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_803924A0[] = {
|
ActorAnimationInfo D_803924A0[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{ASSET_18A_XMAS_GIFT, 1.5f}
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_803924B0 = { MARKER_208_BLUE_PRESENT, ACTOR_33A_BLUE_PRESENT, ASSET_47F_MODEL_XMAS_GIFT_BLUE,
|
ActorInfo D_803924B0 = { MARKER_208_BLUE_PRESENT, ACTOR_33A_BLUE_PRESENT, ASSET_47F_MODEL_XMAS_GIFT_BLUE,
|
||||||
|
@@ -2,7 +2,9 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern void func_8028F710(s32, f32);
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
extern void player_stateTimer_set(s32, f32);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ActorMarker *marker;
|
ActorMarker *marker;
|
||||||
@@ -265,7 +267,7 @@ void func_8038B2C8(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
|||||||
|
|
||||||
void func_8038B39C(void){
|
void func_8038B39C(void){
|
||||||
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS){
|
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS){
|
||||||
func_8028F710(3, 2.0f);
|
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 2.0f);
|
||||||
}
|
}
|
||||||
func_8028F918(1);
|
func_8028F918(1);
|
||||||
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||||
@@ -323,7 +325,7 @@ void func_8038B544(void){
|
|||||||
|
|
||||||
case 2: //L8038B61C
|
case 2: //L8038B61C
|
||||||
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS){
|
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS){
|
||||||
func_8028F710(3, 20.0f);
|
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 20.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(D_80392F70[0x26].marker == NULL) break;
|
if(D_80392F70[0x26].marker == NULL) break;
|
||||||
|
@@ -12,14 +12,14 @@ Actor *func_8038DA18(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_803912E0[] = {
|
ActorAnimationInfo D_803912E0[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xD1, 800000.0f},
|
{ASSET_D1_ANIM_HISTUP_HIDE, 800000.0f},
|
||||||
{0xE2, 2.0f},
|
{ASSET_E2_ANIM_HISTUP_PEEK, 2.0f},
|
||||||
{0xD1, 800000.0f},
|
{ASSET_D1_ANIM_HISTUP_HIDE, 800000.0f},
|
||||||
{0xD0, 6.0f},
|
{ASSET_D0_ANIM_HISTUP_GROW, 6.0f},
|
||||||
{0xCF, 2.0f},
|
{ASSET_CF_ANIM_HISTUP_RAISED, 2.0f},
|
||||||
{0xD1, 1.6f},
|
{ASSET_D1_ANIM_HISTUP_HIDE, 1.6f},
|
||||||
};
|
};
|
||||||
ActorInfo D_80391318 = { 0xAA, 0x11C, 0x3DE,
|
ActorInfo D_80391318 = { MARKER_AA_HISTUP, ACTOR_11C_HISTUP, ASSET_3DE_MODEL_HISTUP,
|
||||||
0x1, D_803912E0,
|
0x1, D_803912E0,
|
||||||
func_8038DBDC, func_80326224, func_8038DA18,
|
func_8038DBDC, func_80326224, func_8038DA18,
|
||||||
2500, 0, 1.7f, 0
|
2500, 0, 1.7f, 0
|
||||||
|
@@ -7,11 +7,11 @@ void func_80389B1C(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80390EA0[] = {
|
ActorAnimationInfo D_80390EA0[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xDF, 4.5f},
|
{ASSET_DF_ANIM_RUBEE_PET_TOOTS, 4.5f},
|
||||||
{0xE3, 2.0f},
|
{ASSET_E3_ANIM_RUBEE_IDLE, 2.0f},
|
||||||
{0xE4, 1.95f},
|
{ASSET_E4_ANIM_RUBEE_PLAY, 1.95f},
|
||||||
{0xCE, 2.4f},
|
{ASSET_CE_ANIM_RUBEE_STOP_PLAYING, 2.4f},
|
||||||
{0xDF, 4.5f}
|
{ASSET_DF_ANIM_RUBEE_PET_TOOTS, 4.5f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80390ED0 = { MARKER_A9_RUBEE, ACTOR_11B_RUBEE, ASSET_3DD_MODEL_RUBEE,
|
ActorInfo D_80390ED0 = { MARKER_A9_RUBEE, ACTOR_11B_RUBEE, ASSET_3DD_MODEL_RUBEE,
|
||||||
|
@@ -2,7 +2,9 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern void func_8028F710(s32, f32);
|
#include "core2/statetimer.h"
|
||||||
|
extern void player_stateTimer_set(s32, f32);
|
||||||
|
extern f32 player_stateTimer_get(enum state_timer_e);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
//TODO Implement CRC calculation in Makefile(?)
|
//TODO Implement CRC calculation in Makefile(?)
|
||||||
@@ -13,8 +15,8 @@ u32 D_80390F38 = 0x0003031C; //GV.data CRC1 (with this value = 0)
|
|||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_80389F00(void){
|
void func_80389F00(void){
|
||||||
if(getGameMode() != GAME_MODE_7_ATTRACT_DEMO && 2.0f < func_8028E80C(3)){
|
if(getGameMode() != GAME_MODE_7_ATTRACT_DEMO && 2.0f < player_stateTimer_get(STATE_TIMER_3_TURBO_TALON)){
|
||||||
func_8028F710(3, 2.0f);
|
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 2.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -12,11 +12,11 @@ Actor *func_8038A180(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80390FA0[] = {
|
ActorAnimationInfo D_80390FA0[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0xC9, 2.0f},
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f},
|
||||||
{0xC9, 2.0f},
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f},
|
||||||
{0xC9, 2.0f},
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f},
|
||||||
{0xC9, 2.0f},
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f},
|
||||||
{0xC9, 2.0f},
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f},
|
||||||
};
|
};
|
||||||
ActorInfo D_80390FD0 = { MARKER_B0_MAGIC_CARPET_2, ACTOR_123_MAGIC_CARPET_2, ASSET_3DC_MODEL_MAGIC_CARPET,
|
ActorInfo D_80390FD0 = { MARKER_B0_MAGIC_CARPET_2, ACTOR_123_MAGIC_CARPET_2, ASSET_3DC_MODEL_MAGIC_CARPET,
|
||||||
0x1, D_80390FA0,
|
0x1, D_80390FA0,
|
||||||
@@ -35,7 +35,7 @@ Actor *func_8038A180(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||||||
if( this->unk54 == 0.0f
|
if( this->unk54 == 0.0f
|
||||||
&& this->unk48 != this->unk1C[1]
|
&& this->unk48 != this->unk1C[1]
|
||||||
&& this_marker->unk14_21
|
&& this_marker->unk14_21
|
||||||
&& func_80329530(this, 0xbb8)
|
&& func_80329530(this, 3000)
|
||||||
){
|
){
|
||||||
func_8033E73C(this->marker, 6, func_80329904);
|
func_8033E73C(this->marker, 6, func_80329904);
|
||||||
func_8033E3F0(0xc, this->marker->unk14_21);
|
func_8033E3F0(0xc, this->marker->unk14_21);
|
||||||
|
@@ -13,7 +13,7 @@ Actor *func_8038A7A0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80391000[] = {
|
ActorAnimationInfo D_80391000[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0xC9, 2.0f}
|
{ASSET_C9_ANIM_MAGIC_CARPET, 2.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80391010 = { MARKER_A7_MAGIC_CARPET_1, ACTOR_119_MAGIC_CARPET_1, ASSET_3DC_MODEL_MAGIC_CARPET,
|
ActorInfo D_80391010 = { MARKER_A7_MAGIC_CARPET_1, ACTOR_119_MAGIC_CARPET_1, ASSET_3DC_MODEL_MAGIC_CARPET,
|
||||||
@@ -101,7 +101,7 @@ void GV_func_8038A9C0(Actor *this){
|
|||||||
}
|
}
|
||||||
this->unk1C[2] = this->unk1C[1];
|
this->unk1C[2] = this->unk1C[1];
|
||||||
this->unk1C[1] = this->unk48;
|
this->unk1C[1] = this->unk48;
|
||||||
if(this->unk100 && sp24 && this->unk100->unk14_20 == MARKER_AF_MAGIC_CARPET_SHADOW){
|
if(this->unk100 != NULL && sp24 != NULL && this->unk100->unk14_20 == MARKER_AF_MAGIC_CARPET_SHADOW){
|
||||||
sp24->unk1C[0] = func_8038A860(sp24, this);
|
sp24->unk1C[0] = func_8038A860(sp24, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -124,7 +124,7 @@ void func_8038AFF4(ActorMarker *this_marker, ActorMarker *other_marker){
|
|||||||
Actor *this = marker_getActor(this_marker);
|
Actor *this = marker_getActor(this_marker);
|
||||||
func_8032B4DC(this, other_marker, 0xC);
|
func_8032B4DC(this, other_marker, 0xC);
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
func_80328B8C(this, ASSET_9_ANIM_BANJO_DIE, 0.00001f, 1);
|
func_80328B8C(this, ASSET_9_ANIM_BSDIE, 0.00001f, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
this->unk1C[0] = 0.0f;
|
this->unk1C[0] = 0.0f;
|
||||||
func_8030E878(SFX_D7_GRABBA_DEATH, 1.0f, 32000, this->position, 2250.0f, 4500.0f);
|
func_8030E878(SFX_D7_GRABBA_DEATH, 1.0f, 32000, this->position, 2250.0f, 4500.0f);
|
||||||
|
@@ -3,7 +3,9 @@
|
|||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern void func_8025AE50(s32, f32);
|
extern void func_8025AE50(s32, f32);
|
||||||
extern void func_8028F710(s32, f32);
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
extern void player_stateTimer_set(s32, f32);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
s32 unk0;
|
s32 unk0;
|
||||||
@@ -59,7 +61,7 @@ void func_8038BA08(Actor *this){
|
|||||||
this->unk100 = NULL;
|
this->unk100 = NULL;
|
||||||
D_80391A80 = 3;
|
D_80391A80 = 3;
|
||||||
if(func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS)
|
if(func_8028ECAC() == BSGROUP_6_TURBO_TALON_TRAINERS)
|
||||||
func_8028F710(3, 0.0f);
|
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f);
|
||||||
|
|
||||||
func_80311480(ASSET_A79_TEXT_GRABBA_DEFEAT, 0xf, this->position, this->marker, func_8038B988, NULL);
|
func_80311480(ASSET_A79_TEXT_GRABBA_DEFEAT, 0xf, this->position, this->marker, func_8038B988, NULL);
|
||||||
comusic_8025AB44(COMUSIC_57_TURBO_TRAINERS, 7000, 700);
|
comusic_8025AB44(COMUSIC_57_TURBO_TRAINERS, 7000, 700);
|
||||||
|
@@ -44,7 +44,7 @@ ActorAnimationInfo chCongaAnimations[9] = {
|
|||||||
{ASSET_54_ANIM_CONGA_THROW, 1.4f},
|
{ASSET_54_ANIM_CONGA_THROW, 1.4f},
|
||||||
{ASSET_55_ANIM_CONGA_BEAT_CHEST, 0.4f},
|
{ASSET_55_ANIM_CONGA_BEAT_CHEST, 0.4f},
|
||||||
{ASSET_56_ANIM_CONGA_RAISE_ARMS, 0.9f},
|
{ASSET_56_ANIM_CONGA_RAISE_ARMS, 0.9f},
|
||||||
{0xA2, 1.6f},
|
{ASSET_A2_ANIM_CONGA_THROW_2, 1.6f},
|
||||||
{ASSET_52_ANIM_CONGA_OW, 1.0f}
|
{ASSET_52_ANIM_CONGA_OW, 1.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -223,7 +223,7 @@ void func_803876D0(Actor *this){
|
|||||||
func_80304D4C(sp40, &((ActorLocal_Conga *)&this->local)->unk10);
|
func_80304D4C(sp40, &((ActorLocal_Conga *)&this->local)->unk10);
|
||||||
}
|
}
|
||||||
if(0.0f == this->unk28){
|
if(0.0f == this->unk28){
|
||||||
this->unk28 = (actorArray_findActorFromMarkerId(MARKER_36_ORANGE_COLLECTABLE) != NULL)? 2.0f: 1.0f;
|
this->unk28 = (actorArray_findActorFromMarkerId(MARKER_36_ORANGE_COLLECTIBLE) != NULL)? 2.0f: 1.0f;
|
||||||
}
|
}
|
||||||
if(0.0f != this->velocity_x){
|
if(0.0f != this->velocity_x){
|
||||||
this->velocity_x -= 1.0f;
|
this->velocity_x -= 1.0f;
|
||||||
|
@@ -28,16 +28,16 @@ void func_80388A80(Actor *);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo chGrublinAnimations[11] = {
|
ActorAnimationInfo chGrublinAnimations[11] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x62, 4.0f},
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 4.0f},
|
||||||
{0x62, 0.7f},
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 0.7f},
|
||||||
{0x63, 0.7f},
|
{ASSET_63_ANIM_GRUBLIN_WALK, 0.7f},
|
||||||
{0x64, 0.9f},
|
{ASSET_64_ANIM_GRUBLIN_JUMP, 0.9f},
|
||||||
{ASSET_94_ANIM_GRUBLIN_DIE, 1.0f},
|
{ASSET_94_ANIM_GRUBLIN_DIE, 1.0f},
|
||||||
{0x62, 1.5f},
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 1.5f},
|
||||||
{0x63, 0.5f},
|
{ASSET_63_ANIM_GRUBLIN_WALK, 0.5f},
|
||||||
{0x62, 1.5f},
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 1.5f},
|
||||||
{0x62, 1000000.0f},
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 1000000.0f},
|
||||||
{0x62, 1000000.0f}
|
{ASSET_62_ANIM_GRUBLIN_IDLE, 1000000.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo chgrublinInfo = { MARKER_5_GRUBLIN, ACTOR_6_GRUBLIN, ASSET_3C5_MODEL_GRUBLIN,
|
ActorInfo chgrublinInfo = { MARKER_5_GRUBLIN, ACTOR_6_GRUBLIN, ASSET_3C5_MODEL_GRUBLIN,
|
||||||
|
@@ -23,19 +23,10 @@ extern s32 D_8037DCB0; //mm_hut_smash_count
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo chhutAnimations[3] = {
|
ActorAnimationInfo chhutAnimations[3] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x4E, 0.25f},
|
{ASSET_4E_ANIM_MUDHUT_SMASH, 0.25f},
|
||||||
{0x4E, 1000000.0f}
|
{ASSET_4E_ANIM_MUDHUT_SMASH, 1000000.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 D_803898D8[6] = { 0, 1, 2, 3, 6, 4};
|
|
||||||
|
|
||||||
ActorInfo chhutInfo = { MARKER_51_MM_HUT, ACTOR_9_MM_HUT, ASSET_7D7_MODEL_MM_HUT,
|
|
||||||
0, chhutAnimations,
|
|
||||||
chhut_update, func_80326224, chhut_draw,
|
|
||||||
0, 0x100, 0.0f, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
Actor *chhut_draw(ActorMarker *this, Gfx **arg1, Mtx **arg2, Vtx **arg3){
|
Actor *chhut_draw(ActorMarker *this, Gfx **arg1, Mtx **arg2, Vtx **arg3){
|
||||||
Actor *actorPtr;
|
Actor *actorPtr;
|
||||||
@@ -64,6 +55,7 @@ void func_803869EC(ActorMarker *this){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void chhut_update(Actor *this){
|
void chhut_update(Actor *this){
|
||||||
|
static s32 D_803898D8[6] = { 0, 1, 2, 3, 6, 4};
|
||||||
f32 sp3C[3];
|
f32 sp3C[3];
|
||||||
f32 sp30[3];
|
f32 sp30[3];
|
||||||
|
|
||||||
@@ -119,3 +111,9 @@ void chhut_update(Actor *this){
|
|||||||
void mm_resetHuts(void){
|
void mm_resetHuts(void){
|
||||||
D_8037DCB0 = 0;
|
D_8037DCB0 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ActorInfo chhutInfo = { MARKER_51_MM_HUT, ACTOR_9_MM_HUT, ASSET_7D7_MODEL_MM_HUT,
|
||||||
|
0, chhutAnimations,
|
||||||
|
chhut_update, func_80326224, chhut_draw,
|
||||||
|
0, 0x100, 0.0f, 0
|
||||||
|
};
|
||||||
|
@@ -12,28 +12,28 @@ s32 func_8028F31C(f32 *, f32, s32, Actor **);
|
|||||||
void func_8028FA34(s32, Actor *);
|
void func_8028FA34(s32, Actor *);
|
||||||
|
|
||||||
|
|
||||||
void func_803885D0(Actor *);
|
void chLMonkey_update(Actor *);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo chlmonkeyAnimations[5] = {
|
ActorAnimationInfo chlmonkeyAnimations[5] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x5C, 2.3f},
|
{ASSET_5C_ANIM_CHIMPY_IDLE, 2.3f},
|
||||||
{0x5B, 0.67f},
|
{ASSET_5B_ANIM_CHIMPY_JUMP, 0.67f},
|
||||||
{0x5D, 0.5f},
|
{ASSET_5D_ANIM_CHIMPY_WALK, 0.5f},
|
||||||
{0x5C, 2.3f}
|
{ASSET_5C_ANIM_CHIMPY_IDLE, 2.3f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHIMPY,
|
ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHIMPY,
|
||||||
1, chlmonkeyAnimations,
|
1, chlmonkeyAnimations,
|
||||||
NULL, func_803885D0, func_80325888,
|
NULL, chLMonkey_update, func_80325888,
|
||||||
2500, 0, 0.8f, 0
|
2500, 0, 0.8f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_80388300(Actor **arg0){
|
void func_80388300(Actor **arg0){
|
||||||
func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTABLE, arg0);
|
func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTIBLE, arg0);
|
||||||
if( func_80329530(*arg0, 0x159)
|
if( func_80329530(*arg0, 345)
|
||||||
&& carriedObj_getMarkerId() == MARKER_36_ORANGE_COLLECTABLE
|
&& carriedObj_getMarkerId() == MARKER_36_ORANGE_COLLECTIBLE
|
||||||
&& func_8028FC34()
|
&& func_8028FC34()
|
||||||
){
|
){
|
||||||
func_8028FA34(0xc6, *arg0);
|
func_8028FA34(0xc6, *arg0);
|
||||||
@@ -61,30 +61,30 @@ void MM_func_803883AC(Actor *this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803884C0(s32 x, s32 y, s32 z){
|
void __chLMonkey_spawnJiggy(s32 x, s32 y, s32 z){
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
TUPLE_ASSIGN(sp1C, x, y, z);
|
TUPLE_ASSIGN(sp1C, x, y, z);
|
||||||
jiggySpawn(JIGGY_9_MM_CHIMPY, sp1C);
|
jiggySpawn(JIGGY_9_MM_CHIMPY, sp1C);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80388514(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
void __chLMonkey_complete(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||||
Actor * actor = marker_getActor(marker);
|
Actor * actor = marker_getActor(marker);
|
||||||
mapSpecificFlags_set(4,1);
|
mapSpecificFlags_set(4,1);
|
||||||
func_80328A84(actor, 3);
|
func_80328A84(actor, 3);
|
||||||
timed_setCameraToNode(2.3f, 0x12);
|
timed_setCameraToNode(2.3f, 0x12);
|
||||||
timedFunc_set_3(2.9f,func_803884C0, actor->position_x, actor->position_y + 150.0f, actor->position_z);
|
timedFunc_set_3(2.9f,__chLMonkey_spawnJiggy, actor->position_x, actor->position_y + 150.0f, actor->position_z);
|
||||||
func_80324E88(4.3f);
|
func_80324E88(4.3f);
|
||||||
func_80324E38(4.3f, 0);
|
func_80324E38(4.3f, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803885D0(Actor *this){
|
void chLMonkey_update(Actor *this){
|
||||||
func_8028E668(this->position, 35.0f, 0.0f, 65.0f);
|
func_8028E668(this->position, 35.0f, 0.0f, 65.0f);
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
this->marker->propPtr->unk8_3 = 1;
|
this->marker->propPtr->unk8_3 = 1;
|
||||||
if(map_get() != MAP_2_MM_MUMBOS_MOUNTAIN){
|
if(map_get() != MAP_2_MM_MUMBOS_MOUNTAIN){
|
||||||
func_80343DEC(this);
|
func_80343DEC(this);
|
||||||
}else{//L80388630
|
}else{//L80388630
|
||||||
if(func_80329530(this, 0x2BC) && !func_803114B0()){
|
if(func_80329530(this, 700) && !func_803114B0()){
|
||||||
MM_func_803883AC(this);
|
MM_func_803883AC(this);
|
||||||
}//L8038865C
|
}//L8038865C
|
||||||
switch(this->state){
|
switch(this->state){
|
||||||
@@ -92,18 +92,18 @@ void func_803885D0(Actor *this){
|
|||||||
if(mapSpecificFlags_get(2)){
|
if(mapSpecificFlags_get(2)){
|
||||||
func_80328A84(this, 4);
|
func_80328A84(this, 4);
|
||||||
if(!jiggyscore_isCollected(JIGGY_9_MM_CHIMPY)){
|
if(!jiggyscore_isCollected(JIGGY_9_MM_CHIMPY)){
|
||||||
func_80311480(0xB40, 0xE, this->position, this->marker, func_80388514, NULL);
|
func_80311480(ASSET_B40_DIALOG_CHIMPY_COMPLETE, 0xE, this->position, this->marker, __chLMonkey_complete, NULL);
|
||||||
}else{//L803886E8
|
}else{//L803886E8
|
||||||
func_80388514(this->marker, 0xB40, -1);
|
__chLMonkey_complete(this->marker, ASSET_B40_DIALOG_CHIMPY_COMPLETE, -1);
|
||||||
}//L80388898
|
}//L80388898
|
||||||
}else{
|
}else{
|
||||||
func_80388300(&this);
|
func_80388300(&this);
|
||||||
if( func_80329530(this, 0x159)
|
if( func_80329530(this, 345)
|
||||||
&& !func_80329530(this, 0x96)
|
&& !func_80329530(this, 150)
|
||||||
&& !item_getCount(ITEM_19_ORANGE)
|
&& !item_getCount(ITEM_19_ORANGE)
|
||||||
&& !this->unk138_24
|
&& !this->unk138_24
|
||||||
){
|
){
|
||||||
func_80311480(0xb3f, 0xe, this->position, NULL, NULL, NULL);
|
func_80311480(ASSET_B3F_DIALOG_CHIMPY_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||||
this->unk138_24 = 1;
|
this->unk138_24 = 1;
|
||||||
}//L80388774
|
}//L80388774
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
|
@@ -35,16 +35,16 @@ void chMotzhand_setState(Actor *this, s32 next_state){
|
|||||||
ActorLocal_Motzhand * local = (ActorLocal_Motzhand *) &this->local;
|
ActorLocal_Motzhand * local = (ActorLocal_Motzhand *) &this->local;
|
||||||
|
|
||||||
if(next_state == 1 && this->state == 0){
|
if(next_state == 1 && this->state == 0){
|
||||||
func_80335924(this->unk148, 0xa7, 0.0f, 1.8f);
|
func_80335924(this->unk148, ASSET_A7_ANIM_MOTZHAND_IDLE, 0.0f, 1.8f);
|
||||||
func_80387410(this->position);
|
func_80387410(this->position);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 2){
|
if(next_state == 2){
|
||||||
func_80335924(this->unk148, 0xA7, 0.9f, 1.8f);
|
func_80335924(this->unk148, ASSET_A7_ANIM_MOTZHAND_IDLE, 0.9f, 1.8f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 3){
|
if(next_state == 3){
|
||||||
func_80335924(this->unk148, 0xA8, 0.9f, 1.8f);
|
func_80335924(this->unk148, ASSET_A8_ANIM_MOTZHAND_PLAY, 0.9f, 1.8f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 4){
|
if(next_state == 4){
|
||||||
|
@@ -29,7 +29,7 @@ void __chnapper_setState(Actor *this, s32 next_state){
|
|||||||
local->unk4 = 0.0f;
|
local->unk4 = 0.0f;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
if(next_state == 1)
|
if(next_state == 1)
|
||||||
func_80335924(this->unk148, ASSET_A3_ANIM_NAPPER_SLEEPING, 0.2f, 2.5f);
|
func_80335924(this->unk148, ASSET_A3_ANIM_NAPPER_ASLEEP, 0.2f, 2.5f);
|
||||||
|
|
||||||
if(next_state == 2){
|
if(next_state == 2){
|
||||||
func_80335924(this->unk148, ASSET_A4_ANIM_NAPPER_AWAKE, 0.2f, 5.0f);
|
func_80335924(this->unk148, ASSET_A4_ANIM_NAPPER_AWAKE, 0.2f, 5.0f);
|
||||||
@@ -39,7 +39,7 @@ void __chnapper_setState(Actor *this, s32 next_state){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 3){
|
if(next_state == 3){
|
||||||
func_80335924(this->unk148, 0xA5, 0.2f, 1.5f);
|
func_80335924(this->unk148, ASSET_A5_ANIM_NAPPER_WALK, 0.2f, 1.5f);
|
||||||
func_80335A8C(this->unk148, 2);
|
func_80335A8C(this->unk148, 2);
|
||||||
func_8030E484(SFX_41_MUMBO_ERGHHH);
|
func_8030E484(SFX_41_MUMBO_ERGHHH);
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ void __chnapper_setState(Actor *this, s32 next_state){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 5){
|
if(next_state == 5){
|
||||||
func_80335924(this->unk148, 0xA6, 2.0f, 4.0f);
|
func_80335924(this->unk148, ASSET_A6_ANIM_NAPPER_ALERT, 2.0f, 4.0f);
|
||||||
actor_collisionOn(this);
|
actor_collisionOn(this);
|
||||||
local->jiggy_marker->collidable = FALSE;
|
local->jiggy_marker->collidable = FALSE;
|
||||||
}
|
}
|
||||||
|
@@ -246,7 +246,7 @@ void func_80387E64(Actor *this){
|
|||||||
void func_80387F00(Actor *this){
|
void func_80387F00(Actor *this){
|
||||||
ChVeg *local = (ChVeg *)&this->local;
|
ChVeg *local = (ChVeg *)&this->local;
|
||||||
|
|
||||||
this->position_y += (mapSpecificFlags_get(0xC) || func_803203FC(0xC1, this)) ? 120.0 : 180.0;
|
this->position_y += (mapSpecificFlags_get(0xC) || func_803203FC(0xC1)) ? 120.0 : 180.0;
|
||||||
local->unk0_x = this->position_x;
|
local->unk0_x = this->position_x;
|
||||||
local->unk0_y = this->position_y;
|
local->unk0_y = this->position_y;
|
||||||
local->unk0_z = this->position_z;
|
local->unk0_z = this->position_z;
|
||||||
|
@@ -22,11 +22,11 @@ Actor *func_80387D6C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_8038C4E0[] = {
|
ActorAnimationInfo D_8038C4E0[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xB5, 2.0f},
|
{ASSET_B5_ANIM_BLUBBER_WALK, 2.0f},
|
||||||
{0xB6, 2.0f},
|
{ASSET_B6_ANIM_BLUBBER_CRY, 2.0f},
|
||||||
{0xB6, 2.0f},
|
{ASSET_B6_ANIM_BLUBBER_CRY, 2.0f},
|
||||||
{0xB7, 1.4f},
|
{ASSET_B7_ANIM_BLUBBER_DANCE, 1.4f},
|
||||||
{0xB8, 0.8f}
|
{ASSET_B8_ANIM_BLUBBER_RUN, 0.8f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo TTC_D_8038C510 = {
|
ActorInfo TTC_D_8038C510 = {
|
||||||
|
@@ -11,9 +11,9 @@ void chClam_update(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo chClamAnimations[] = {
|
ActorAnimationInfo chClamAnimations[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xAA, 2.0f},
|
{ASSET_AA_ANIM_CLAM_IDLE, 2.0f},
|
||||||
{0x24, 1.0f},
|
{ASSET_24_ANIM_CLAM_HOP, 1.0f},
|
||||||
{0xAB, 0.6f}
|
{ASSET_AB_ANIM_CLAM_EAT, 0.6f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo chClam = {
|
ActorInfo chClam = {
|
||||||
@@ -196,7 +196,7 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){
|
|||||||
particleEmitter_emitN(pCtrl, count);
|
particleEmitter_emitN(pCtrl, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __chClam_emitEatenCollectableParticles(f32 position[3], enum asset_e sprite_id, s32 count){
|
void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite_id, s32 count){
|
||||||
static struct31s D_8038C484 = {
|
static struct31s D_8038C484 = {
|
||||||
{0.2f, 0.35f},
|
{0.2f, 0.35f},
|
||||||
{0.0f, 0.0f},
|
{0.0f, 0.0f},
|
||||||
@@ -282,7 +282,7 @@ void chClam_update(Actor *this){
|
|||||||
sp44 = sp4C->marker->unk14_20;
|
sp44 = sp4C->marker->unk14_20;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sp44 == MARKER_60_BLUE_EGG_COLLECTABLE || sp44 == 0xb5){
|
if(sp44 == MARKER_60_BLUE_EGG_COLLECTIBLE || sp44 == MARKER_B5_RED_FEATHER_COLLECTIBLE){
|
||||||
if(this->position_y <= sp48 + 15.0f && sp48 - 15.0f <= this->position_y){
|
if(this->position_y <= sp48 + 15.0f && sp48 - 15.0f <= this->position_y){
|
||||||
this->position_y = sp48;
|
this->position_y = sp48;
|
||||||
this->unk38_31 = sp44;
|
this->unk38_31 = sp44;
|
||||||
@@ -351,11 +351,11 @@ void chClam_update(Actor *this){
|
|||||||
func_8034A174(this->marker->unk44, 5, sp38);
|
func_8034A174(this->marker->unk44, 5, sp38);
|
||||||
|
|
||||||
switch(this->unk38_31){
|
switch(this->unk38_31){
|
||||||
case MARKER_60_BLUE_EGG_COLLECTABLE:
|
case MARKER_60_BLUE_EGG_COLLECTIBLE:
|
||||||
__chClam_emitEatenCollectableParticles(sp38, ASSET_718_SPRITE_SPARKLE_WHITE_2, 8);
|
__chClam_emitEatencollectibleParticles(sp38, ASSET_718_SPRITE_SPARKLE_WHITE_2, 8);
|
||||||
break;
|
break;
|
||||||
case MARKER_B5_RED_FEATHER_COLLECTABLE:
|
case MARKER_B5_RED_FEATHER_COLLECTIBLE:
|
||||||
__chClam_emitEatenCollectableParticles(sp38, ASSET_715_SPRITE_SPARKLE_RED, 8);
|
__chClam_emitEatencollectibleParticles(sp38, ASSET_715_SPRITE_SPARKLE_RED, 8);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -15,11 +15,11 @@ void func_80389600(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_8038C760[] ={
|
ActorAnimationInfo D_8038C760[] ={
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0xBC, 8000000.0f},
|
{ASSET_BC_ANIM_LOCKUP, 8000000.0f},
|
||||||
{0xBC, 4.0f},
|
{ASSET_BC_ANIM_LOCKUP, 4.0f},
|
||||||
{0xBC, 8000000.0f},
|
{ASSET_BC_ANIM_LOCKUP, 8000000.0f},
|
||||||
{0xBC, 1.4f},
|
{ASSET_BC_ANIM_LOCKUP, 1.4f},
|
||||||
{0xBC, 8000000.0f}
|
{ASSET_BC_ANIM_LOCKUP, 8000000.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_8038C790 = {
|
ActorInfo D_8038C790 = {
|
||||||
|
@@ -9,12 +9,12 @@ Actor *func_80387EB0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_8038C540[] = {
|
ActorAnimationInfo D_8038C540[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0xC0, 2.0f},
|
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
||||||
{0xBD, 1.5f},
|
{ASSET_BD_ANIM_NIPPER_VULNERABLE, 1.5f},
|
||||||
{0xBF, 1.2f},
|
{ASSET_BF_ANIM_NIPPER_ATTACK, 1.2f},
|
||||||
{0xBE, 1.3f},
|
{ASSET_BE_ANIM_NIPPER_OW, 1.3f},
|
||||||
{0xC0, 2.0f},
|
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
||||||
{0x133, 3.0f},
|
{ASSET_133_ANIM_NIPPER_DIE, 3.0f},
|
||||||
{0x00, 0.0f}
|
{0x00, 0.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -292,19 +292,19 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_B5_RED_FEATHER_COLLECTABLE: //L8028BEF4
|
case MARKER_B5_RED_FEATHER_COLLECTIBLE: //L8028BEF4
|
||||||
if(__baMarker_8028BC20(marker) != HITBOX_0_NONE)
|
if(__baMarker_8028BC20(marker) != HITBOX_0_NONE)
|
||||||
return;
|
return;
|
||||||
if(chcollectable_collectRedFeather(other_prop)){
|
if(chCollectible_collectRedFeather(other_prop)){
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1E5_GOLD_FEATHER_COLLECTABLE: //L8028BF24
|
case MARKER_1E5_GOLD_FEATHER_COLLECTIBLE: //L8028BF24
|
||||||
if(__baMarker_8028BC20(marker))
|
if(__baMarker_8028BC20(marker))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(chcollectable_collectGoldFeather(other_prop)){
|
if(chCollectible_collectGoldFeather(other_prop)){
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -676,10 +676,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
|||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_60_BLUE_EGG_COLLECTABLE: //L8028CCF0
|
case MARKER_60_BLUE_EGG_COLLECTIBLE: //L8028CCF0
|
||||||
if(__baMarker_8028BC20(marker))
|
if(__baMarker_8028BC20(marker))
|
||||||
return;
|
return;
|
||||||
if(chcollectable_collectEgg(other_prop)){
|
if(chCollectible_collectEgg(other_prop)){
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -734,7 +734,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
|||||||
case MARKER_11_WADING_BOOTS: //L8028CE8C
|
case MARKER_11_WADING_BOOTS: //L8028CE8C
|
||||||
if(__baMarker_8028BC20(marker))
|
if(__baMarker_8028BC20(marker))
|
||||||
return;
|
return;
|
||||||
if(_player_getTransformation() != TRANSFORM_1_BANJO)
|
if(bsStoredState_getTransformation() != TRANSFORM_1_BANJO)
|
||||||
return;
|
return;
|
||||||
if(func_8028F170())
|
if(func_8028F170())
|
||||||
return;
|
return;
|
||||||
@@ -754,7 +754,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
|||||||
if(__baMarker_8028BC20(marker))
|
if(__baMarker_8028BC20(marker))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tmp1 = _player_getTransformation();
|
tmp1 = bsStoredState_getTransformation();
|
||||||
if(tmp1 != TRANSFORM_1_BANJO && tmp1 != TRANSFORM_5_CROC)
|
if(tmp1 != TRANSFORM_1_BANJO && tmp1 != TRANSFORM_5_CROC)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -834,19 +834,19 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
|||||||
case 0x6D7: //L8028D16C
|
case 0x6D7: //L8028D16C
|
||||||
if(!__baMarker_8028BC60()){
|
if(!__baMarker_8028BC60()){
|
||||||
other_prop->spriteProp.unk8_4 = 0;
|
other_prop->spriteProp.unk8_4 = 0;
|
||||||
chcollectable_collectEgg(other_prop);
|
chCollectible_collectEgg(other_prop);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x580: //L8028D194
|
case 0x580: //L8028D194
|
||||||
if(!__baMarker_8028BC60()){
|
if(!__baMarker_8028BC60()){
|
||||||
other_prop->spriteProp.unk8_4 = 0;
|
other_prop->spriteProp.unk8_4 = 0;
|
||||||
chcollectable_collectRedFeather(other_prop);
|
chCollectible_collectRedFeather(other_prop);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x6D1: //L8028D1BC
|
case 0x6D1: //L8028D1BC
|
||||||
if(!__baMarker_8028BC60()){
|
if(!__baMarker_8028BC60()){
|
||||||
other_prop->spriteProp.unk8_4 = 0;
|
other_prop->spriteProp.unk8_4 = 0;
|
||||||
chcollectable_collectGoldFeather(other_prop);
|
chCollectible_collectGoldFeather(other_prop);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@@ -298,8 +298,8 @@ void baModel_80292284(f32 arg0[3], s32 arg1){
|
|||||||
|
|
||||||
if(baMarker_get()->unk14_21 && baModelIsVisible){
|
if(baMarker_get()->unk14_21 && baModelIsVisible){
|
||||||
switch(baModel_getModelId()){
|
switch(baModel_getModelId()){
|
||||||
case 0x34D:
|
case ASSET_34D_MODEL_BANJOKAZOOIE_LOW_POLY:
|
||||||
case 0x34E:
|
case ASSET_34E_MODEL_BANJOKAZOOIE_HIGH_POLY:
|
||||||
case ASSET_34F_MODEL_BANJO_TERMITE: //802922E8
|
case ASSET_34F_MODEL_BANJO_TERMITE: //802922E8
|
||||||
case ASSET_359_MODEL_BANJO_WALRUS: //802922E8
|
case ASSET_359_MODEL_BANJO_WALRUS: //802922E8
|
||||||
case ASSET_362_MODEL_BANJO_BEE:
|
case ASSET_362_MODEL_BANJO_BEE:
|
||||||
|
@@ -153,7 +153,7 @@ void bsant_jump_init(void){
|
|||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
func_8029E554();
|
func_8029E554();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ASSET_60_ANIM_BSTERMITE_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_60_ANIM_BSANT_JUMP);
|
||||||
animctrl_setDuration(aCtrl, 1.0f);
|
animctrl_setDuration(aCtrl, 1.0f);
|
||||||
animctrl_setTransitionDuration(aCtrl, 0.1f);
|
animctrl_setTransitionDuration(aCtrl, 0.1f);
|
||||||
func_8028774C(aCtrl, 0.2987f);
|
func_8028774C(aCtrl, 0.2987f);
|
||||||
@@ -233,7 +233,7 @@ void bsant_fall_init(void){
|
|||||||
func_8029E554();
|
func_8029E554();
|
||||||
D_8037D298 = 0;
|
D_8037D298 = 0;
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ASSET_60_ANIM_BSTERMITE_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_60_ANIM_BSANT_JUMP);
|
||||||
animctrl_setDuration(aCtrl, 1.9f);
|
animctrl_setDuration(aCtrl, 1.9f);
|
||||||
func_8028774C(aCtrl, 0.4423f);
|
func_8028774C(aCtrl, 0.4423f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_STOPPED);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_STOPPED);
|
||||||
@@ -284,7 +284,7 @@ static void __bsant_recoil_init(int take_damage){
|
|||||||
|
|
||||||
func_8029E554();
|
func_8029E554();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ASSET_28_ANIM_BSTERMITE_OW);
|
animctrl_setIndex(aCtrl, ASSET_28_ANIM_BSANT_OW);
|
||||||
animctrl_setDuration(aCtrl, 1.4f);
|
animctrl_setDuration(aCtrl, 1.4f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.4899f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.4899f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
@@ -374,7 +374,7 @@ void bsant_die_init(void){
|
|||||||
func_8029B930();
|
func_8029B930();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ASSET_29_ANIM_BSTERMITE_DIE);
|
animctrl_setIndex(aCtrl, ASSET_29_ANIM_BSANT_DIE);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.523f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.523f);
|
||||||
animctrl_setDuration(aCtrl, 1.6f);
|
animctrl_setDuration(aCtrl, 1.6f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
|
@@ -67,7 +67,7 @@ void bsbarge_init(void){
|
|||||||
plyrMvmnt = _player_getAnimCtrlPtr();
|
plyrMvmnt = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(plyrMvmnt);
|
animctrl_reset(plyrMvmnt);
|
||||||
animctrl_setSmoothTransition(plyrMvmnt, 0);
|
animctrl_setSmoothTransition(plyrMvmnt, 0);
|
||||||
animctrl_setIndex(plyrMvmnt, ANIM_BANJO_BBARGE);
|
animctrl_setIndex(plyrMvmnt, ASSET_1C_ANIM_BSBBARGE);
|
||||||
animctrl_setDuration(plyrMvmnt, 1.0f);
|
animctrl_setDuration(plyrMvmnt, 1.0f);
|
||||||
animctrl_setSubRange(plyrMvmnt, 0, 0.375f);
|
animctrl_setSubRange(plyrMvmnt, 0, 0.375f);
|
||||||
animctrl_setPlaybackType(plyrMvmnt, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(plyrMvmnt, ANIMCTRL_ONCE);
|
||||||
|
@@ -18,7 +18,7 @@ f32 D_8037D308;
|
|||||||
u8 D_8037D30C;
|
u8 D_8037D30C;
|
||||||
|
|
||||||
void bsbflap_init(void) {
|
void bsbflap_init(void) {
|
||||||
func_8028A274(0x18, 0.3f);
|
func_8028A274(ASSET_18_ANIM_BSBFLAP_ENTER, 0.3f);
|
||||||
func_8029C7F4(1, 1, 1, 2);
|
func_8029C7F4(1, 1, 1, 2);
|
||||||
if (func_8029B2E8() != 0.0f) {
|
if (func_8029B2E8() != 0.0f) {
|
||||||
yaw_setIdeal(func_8029B33C());
|
yaw_setIdeal(func_8029B33C());
|
||||||
@@ -114,7 +114,7 @@ void bsbflap_update(void){
|
|||||||
func_802A298C();
|
func_802A298C();
|
||||||
if(animctrl_isAt(sp18, 0.9f)){
|
if(animctrl_isAt(sp18, 0.9f)){
|
||||||
animctrl_setSmoothTransition(sp18, 0);
|
animctrl_setSmoothTransition(sp18, 0);
|
||||||
animctrl_setIndex(sp18, ANIM_BANJO_BFLAP);
|
animctrl_setIndex(sp18, ASSET_17_ANIM_BSBFLAP);
|
||||||
animctrl_setDuration(sp18, func_802A2858());
|
animctrl_setDuration(sp18, func_802A2858());
|
||||||
animctrl_setPlaybackType(sp18, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(sp18, ANIMCTRL_LOOP);
|
||||||
func_8028774C(sp18, 0.0f);
|
func_8028774C(sp18, 0.0f);
|
||||||
|
@@ -28,7 +28,7 @@ void _bsbflip_802A2DC0(void){
|
|||||||
f32 sp20[3];
|
f32 sp20[3];
|
||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BFLIP);
|
animctrl_setIndex(aCtrl, ASSET_4B_ANIM_BSBFLIP_ENTER);
|
||||||
animctrl_setDuration(aCtrl, 2.2f);
|
animctrl_setDuration(aCtrl, 2.2f);
|
||||||
func_8028774C(aCtrl, 0.8566f);
|
func_8028774C(aCtrl, 0.8566f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
@@ -44,7 +44,7 @@ void bsbflip_init(void){
|
|||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BFLIP);
|
animctrl_setIndex(aCtrl, ASSET_4B_ANIM_BSBFLIP_ENTER);
|
||||||
animctrl_setDuration(aCtrl, 2.3f);
|
animctrl_setDuration(aCtrl, 2.3f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.7866f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.7866f);
|
||||||
func_8028774C(aCtrl, 0.0f);
|
func_8028774C(aCtrl, 0.0f);
|
||||||
@@ -100,7 +100,7 @@ void bsbflip_update(void){
|
|||||||
if(animctrl_isStopped(aCtrl)){
|
if(animctrl_isStopped(aCtrl)){
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, 0x4C);
|
animctrl_setIndex(aCtrl, ASSET_4C_ANIM_BSBFLIP_HOLD);
|
||||||
animctrl_setDuration(aCtrl, 0.13f);
|
animctrl_setDuration(aCtrl, 0.13f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP);
|
||||||
func_802875AC(aCtrl, "bsbflip.c", 0xd9);
|
func_802875AC(aCtrl, "bsbflip.c", 0xd9);
|
||||||
@@ -116,7 +116,7 @@ void bsbflip_update(void){
|
|||||||
if(button_released(BUTTON_A)){
|
if(button_released(BUTTON_A)){
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, 0x61);
|
animctrl_setIndex(aCtrl, ASSET_61_ANIM_BSBFLIP_EXIT);
|
||||||
animctrl_setDuration(aCtrl, 0.8f);
|
animctrl_setDuration(aCtrl, 0.8f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(aCtrl, "bsbflip.c", 0xee);
|
func_802875AC(aCtrl, "bsbflip.c", 0xee);
|
||||||
|
@@ -133,7 +133,7 @@ int func_802A37F8(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbfly_enter_init(void){
|
void bsbfly_enter_init(void){
|
||||||
func_8028A274(ANIM_BANJO_FLY_ENTER, 1.4f);
|
func_8028A274(ASSET_45_ANIM_BSBFLY_ENTER, 1.4f);
|
||||||
func_8029C7F4(1,1,3,6);
|
func_8029C7F4(1,1,3,6);
|
||||||
if(func_8029B2E8() != 0.0f)
|
if(func_8029B2E8() != 0.0f)
|
||||||
yaw_setIdeal(func_8029B33C());
|
yaw_setIdeal(func_8029B33C());
|
||||||
@@ -177,7 +177,7 @@ void bsbfly_enter_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbfly_init(void){
|
void bsbfly_init(void){
|
||||||
func_8028A010(ASSET_38_BANJO_FLY, 0.62f);
|
func_8028A010(ASSET_38_ANIM_BSBFLY, 0.62f);
|
||||||
func_8029C7F4(1,1,3,3);
|
func_8029C7F4(1,1,3,3);
|
||||||
if(miscflag_isTrue(9)){
|
if(miscflag_isTrue(9)){
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
@@ -200,7 +200,7 @@ void bsbfly_init(void){
|
|||||||
void bsbfly_update(void){
|
void bsbfly_update(void){
|
||||||
enum bs_e sp54 = 0;
|
enum bs_e sp54 = 0;
|
||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
int sp4C;
|
BKCollisionTri *sp4C;
|
||||||
f32 sp40[3];
|
f32 sp40[3];
|
||||||
f32 sp3C;
|
f32 sp3C;
|
||||||
f32 sp38;
|
f32 sp38;
|
||||||
@@ -278,7 +278,7 @@ void bsbfly_update(void){
|
|||||||
sp4C = func_802946F0();
|
sp4C = func_802946F0();
|
||||||
func_8029445C(sp40);
|
func_8029445C(sp40);
|
||||||
|
|
||||||
if(sp4C && -1.0 < sp40[1])
|
if(sp4C != NULL && -1.0 < sp40[1])
|
||||||
sp38 = 0.0f;
|
sp38 = 0.0f;
|
||||||
|
|
||||||
func_8029797C(yaw_get());
|
func_8029797C(yaw_get());
|
||||||
@@ -320,7 +320,7 @@ int bsbfly_bombHitboxActive(void){
|
|||||||
//bsbfly_bomb_init
|
//bsbfly_bomb_init
|
||||||
void func_802A3F9C(void){
|
void func_802A3F9C(void){
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
func_8028A180(ASSET_43_ANIM_BANJO_BEAKBOMB_START, 1.0f);
|
func_8028A180(ASSET_43_ANIM_BSBFLY_BEAKBOMB_START, 1.0f);
|
||||||
func_8029C7F4(1,1,3,7);
|
func_8029C7F4(1,1,3,7);
|
||||||
func_802A339C(D_8037D338, sp1C, 4200.0f);
|
func_802A339C(D_8037D338, sp1C, 4200.0f);
|
||||||
yaw_setIdeal(sp1C[1] + 180.0f);
|
yaw_setIdeal(sp1C[1] + 180.0f);
|
||||||
@@ -415,10 +415,10 @@ void func_802A411C(void) {
|
|||||||
if (0.65 > sp34[1]) {
|
if (0.65 > sp34[1]) {
|
||||||
next_state = func_802A40E0();
|
next_state = func_802A40E0();
|
||||||
} else {
|
} else {
|
||||||
next_state = BS_58;
|
next_state = BS_58_BEAKBOMB_CRASH;
|
||||||
}
|
}
|
||||||
} else if (sp40 != 0) {
|
} else if (sp40 != 0) {
|
||||||
next_state = BS_58;
|
next_state = BS_58_BEAKBOMB_CRASH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_player_getPosition(sp48);
|
_player_getPosition(sp48);
|
||||||
@@ -449,7 +449,7 @@ void func_802A4430(void){
|
|||||||
plyr_animctrl = _player_getAnimCtrlPtr();
|
plyr_animctrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(plyr_animctrl);
|
animctrl_reset(plyr_animctrl);
|
||||||
animctrl_setTransitionDuration(plyr_animctrl, 0.3f);
|
animctrl_setTransitionDuration(plyr_animctrl, 0.3f);
|
||||||
animctrl_setIndex(plyr_animctrl, ASSET_CC_ANIM_BANJO_BEAKBOMB_END);
|
animctrl_setIndex(plyr_animctrl, ASSET_CC_ANIM_BSFLY_BEAKBOMB_END);
|
||||||
animctrl_setDuration(plyr_animctrl, 0.38f);
|
animctrl_setDuration(plyr_animctrl, 0.38f);
|
||||||
animctrl_setPlaybackType(plyr_animctrl, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(plyr_animctrl, ANIMCTRL_LOOP);
|
||||||
func_802875AC(plyr_animctrl, "bsbfly.c", 0x38a);
|
func_802875AC(plyr_animctrl, "bsbfly.c", 0x38a);
|
||||||
@@ -526,8 +526,8 @@ void func_802A46C8(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_802A4748(void) {
|
void bsbfly_beakbomb_crash_init(void) {
|
||||||
func_8028A180(0x3E, 1.4f);
|
func_8028A180(ASSET_3E_ANIM_BSBFLY_BEAKBOMB_CRASH, 1.4f);
|
||||||
func_8029C7F4(1, 1, 3, 3);
|
func_8029C7F4(1, 1, 3, 3);
|
||||||
func_8029E070(1);
|
func_8029E070(1);
|
||||||
FUNC_8030E624(SFX_1F_HITTING_AN_ENEMY_3, 0.8f, 32750);
|
FUNC_8030E624(SFX_1F_HITTING_AN_ENEMY_3, 0.8f, 32750);
|
||||||
@@ -631,7 +631,7 @@ void func_802A4A78(s32 arg0) {
|
|||||||
sp20 = 400.0f;
|
sp20 = 400.0f;
|
||||||
}
|
}
|
||||||
func_802BB3DC(2, 100.0f, 0.85f);
|
func_802BB3DC(2, 100.0f, 0.85f);
|
||||||
func_8028A274(0xD3, 1.2f);
|
func_8028A274(ASSET_D3_ANIM_BSBFLY_BEAKBOMB_REBOUND, 1.2f);
|
||||||
func_80299BFC(1.0f);
|
func_80299BFC(1.0f);
|
||||||
rumbleManager_80250D94(1.0f, 0.5f, 0.5f);
|
rumbleManager_80250D94(1.0f, 0.5f, 0.5f);
|
||||||
_player_getPosition(sp3C);
|
_player_getPosition(sp3C);
|
||||||
@@ -754,7 +754,7 @@ void func_802A4F44(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A4F74(void) {
|
void func_802A4F74(void) {
|
||||||
func_8028A010(ASSET_38_BANJO_FLY, 0.62f);
|
func_8028A010(ASSET_38_ANIM_BSBFLY, 0.62f);
|
||||||
func_8029C7F4(1, 1, 3, 7);
|
func_8029C7F4(1, 1, 3, 7);
|
||||||
func_8029E070(1);
|
func_8029E070(1);
|
||||||
func_802914CC(4);
|
func_802914CC(4);
|
||||||
@@ -807,7 +807,7 @@ void func_802A50F8(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A5120(void){
|
void func_802A5120(void){
|
||||||
func_8028A084(0x68, 0.35f);
|
func_8028A084(ASSET_68_ANIM_BSJUMP_TUMBLE, 0.35f);
|
||||||
func_8029C7F4(1,1,3,6);
|
func_8029C7F4(1,1,3,6);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_80297A0C(0);
|
func_80297A0C(0);
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "core2/ba/model.h"
|
#include "core2/ba/model.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
const f32 D_80364A40 = 80.0f;
|
const f32 D_80364A40 = 80.0f;
|
||||||
@@ -52,9 +54,9 @@ int bslongleg_inSet(s32 move_indx){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A531C(void){
|
void func_802A531C(void){
|
||||||
func_80299650(func_80291684(2), func_80291670(2));
|
func_80299650(stateTimer_getPrevious(STATE_TIMER_2_LONGLEG), stateTimer_get(STATE_TIMER_2_LONGLEG));
|
||||||
if(func_80291700(2, 0.01f))
|
if(stateTimer_isAt(STATE_TIMER_2_LONGLEG, 0.01f))
|
||||||
func_8030E484(0x3eb);
|
func_8030E484(SFX_3EB_UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A5374(void){
|
void func_802A5374(void){
|
||||||
@@ -81,28 +83,28 @@ void func_802A5404(void){
|
|||||||
baModel_setDirection(PLAYER_MODEL_DIR_BANJO);
|
baModel_setDirection(PLAYER_MODEL_DIR_BANJO);
|
||||||
pitch_setIdeal(0.0f);
|
pitch_setIdeal(0.0f);
|
||||||
roll_setIdeal(0.0f);
|
roll_setIdeal(0.0f);
|
||||||
func_802917C4(2);
|
stateTimer_clear(STATE_TIMER_2_LONGLEG);
|
||||||
func_803219F4(1);
|
func_803219F4(1);
|
||||||
miscflag_clear(3);
|
miscflag_clear(3);
|
||||||
func_8029E180(4, 0.5f);
|
func_8029E180(4, 0.5f);
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A54A8(void){
|
void __bsblongleg_enterFromTrot(void){
|
||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_LONGLEG_ENTER_AS_BIRD);
|
animctrl_setIndex(aCtrl, ASSET_40_ANIM_BSLONGLEG_ENTER_FROM_BTROT);
|
||||||
animctrl_setDuration(aCtrl, 1.0f);
|
animctrl_setDuration(aCtrl, 1.0f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(aCtrl, "bsblongleg.c", 0xe1);
|
func_802875AC(aCtrl, "bsblongleg.c", 0xe1);
|
||||||
func_802917E4(2, D_8037D35C);
|
stateTimer_set(STATE_TIMER_2_LONGLEG, D_8037D35C);
|
||||||
func_803219F4(2);
|
func_803219F4(2);
|
||||||
func_8030E2C4(D_8037D361);
|
func_8030E2C4(D_8037D361);
|
||||||
D_8037D360 = 1;
|
D_8037D360 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A5548(void){
|
void __bsblongleg_enter(void){
|
||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
@@ -119,9 +121,9 @@ void bsblongleg_enter_init(void){
|
|||||||
func_8030E04C(D_8037D361, 0.8f, 1.9f, 1.2f);
|
func_8030E04C(D_8037D361, 0.8f, 1.9f, 1.2f);
|
||||||
miscflag_clear(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
|
miscflag_clear(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
|
||||||
if(bsbtrot_inSet(bs_getPrevState()))
|
if(bsbtrot_inSet(bs_getPrevState()))
|
||||||
func_802A54A8();
|
__bsblongleg_enterFromTrot();
|
||||||
else
|
else
|
||||||
func_802A5548();
|
__bsblongleg_enter();
|
||||||
func_8029C7F4(1,1,3,2);
|
func_8029C7F4(1,1,3,2);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_802A5374();
|
func_802A5374();
|
||||||
@@ -129,21 +131,21 @@ void bsblongleg_enter_init(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsblongleg_enter_update(void){
|
void bsblongleg_enter_update(void){
|
||||||
enum bs_e sp1C = 0;
|
enum bs_e next_state = 0;
|
||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
func_80299594(1, 0.5f);
|
func_80299594(1, 0.5f);
|
||||||
switch(D_8037D360){
|
switch(D_8037D360){
|
||||||
case 0:
|
case 0:
|
||||||
if(animctrl_isStopped(aCtrl))
|
if(animctrl_isStopped(aCtrl))
|
||||||
func_802A54A8();
|
__bsblongleg_enterFromTrot();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if(animctrl_isStopped(aCtrl))
|
if(animctrl_isStopped(aCtrl))
|
||||||
sp1C = BS_26_LONGLEG_IDLE;
|
next_state = BS_26_LONGLEG_IDLE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
bs_setState(sp1C);
|
bs_setState(next_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsblongleg_enter_end(void){
|
void bsblongleg_enter_end(void){
|
||||||
@@ -167,7 +169,7 @@ void bsblongleg_stand_update(void){
|
|||||||
next_state = func_802926C0();
|
next_state = func_802926C0();
|
||||||
|
|
||||||
if(button_pressed(BUTTON_B))
|
if(button_pressed(BUTTON_B))
|
||||||
func_802917C4(2);
|
stateTimer_clear(STATE_TIMER_2_LONGLEG);
|
||||||
|
|
||||||
if(func_8029B300() > 0)
|
if(func_8029B300() > 0)
|
||||||
next_state = BS_LONGLEG_WALK;
|
next_state = BS_LONGLEG_WALK;
|
||||||
@@ -178,7 +180,7 @@ void bsblongleg_stand_update(void){
|
|||||||
if(button_pressed(BUTTON_A) && func_8028B2E8())
|
if(button_pressed(BUTTON_A) && func_8028B2E8())
|
||||||
next_state = BS_LONGLEG_JUMP;
|
next_state = BS_LONGLEG_JUMP;
|
||||||
|
|
||||||
if(func_802916CC(2))
|
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
|
||||||
next_state = BS_LONGLEG_EXIT;
|
next_state = BS_LONGLEG_EXIT;
|
||||||
|
|
||||||
if(func_802A51D0())
|
if(func_802A51D0())
|
||||||
@@ -204,7 +206,7 @@ void bsblongleg_walk_init(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsblongleg_walk_update(void){
|
void bsblongleg_walk_update(void){
|
||||||
enum bs_e sp1C = 0;
|
enum bs_e next_state = 0;
|
||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
func_80299594(1, 0.5f);
|
func_80299594(1, 0.5f);
|
||||||
@@ -218,24 +220,24 @@ void bsblongleg_walk_update(void){
|
|||||||
|
|
||||||
func_802A524C();
|
func_802A524C();
|
||||||
if(button_pressed(BUTTON_B) && func_80297A64() == 0.0f)
|
if(button_pressed(BUTTON_B) && func_80297A64() == 0.0f)
|
||||||
func_802917C4(2);
|
stateTimer_clear(STATE_TIMER_2_LONGLEG);
|
||||||
|
|
||||||
if(!func_8029B300() && func_80297C04(1.0f))
|
if(!func_8029B300() && func_80297C04(1.0f))
|
||||||
sp1C = BS_26_LONGLEG_IDLE;
|
next_state = BS_26_LONGLEG_IDLE;
|
||||||
|
|
||||||
if(player_shouldSlideTrot())
|
if(player_shouldSlideTrot())
|
||||||
sp1C = BS_LONGLEG_SLIDE;
|
next_state = BS_LONGLEG_SLIDE;
|
||||||
|
|
||||||
if(button_pressed(BUTTON_A) && func_8028B2E8())
|
if(button_pressed(BUTTON_A) && func_8028B2E8())
|
||||||
sp1C = BS_LONGLEG_JUMP;
|
next_state = BS_LONGLEG_JUMP;
|
||||||
|
|
||||||
if(func_802916CC(2))
|
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
|
||||||
sp1C = BS_LONGLEG_EXIT;
|
next_state = BS_LONGLEG_EXIT;
|
||||||
|
|
||||||
if(func_802A51D0())
|
if(func_802A51D0())
|
||||||
sp1C = BS_4C_LANDING_IN_WATER;
|
next_state = BS_4C_LANDING_IN_WATER;
|
||||||
|
|
||||||
bs_setState(sp1C);
|
bs_setState(next_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsblongleg_walk_end(void){
|
void bsblongleg_walk_end(void){
|
||||||
@@ -247,7 +249,7 @@ void func_802A5AB0(void){
|
|||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setDirection(aCtrl, 0);
|
animctrl_setDirection(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_LONGLEG_ENTER_AS_BIRD);
|
animctrl_setIndex(aCtrl, ASSET_40_ANIM_BSLONGLEG_ENTER_FROM_BTROT);
|
||||||
animctrl_setDuration(aCtrl, 1.0f);
|
animctrl_setDuration(aCtrl, 1.0f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(aCtrl, "bsblongleg.c", 0x200);
|
func_802875AC(aCtrl, "bsblongleg.c", 0x200);
|
||||||
@@ -277,7 +279,7 @@ void bsblongleg_exit_init(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsblongleg_exit_update(void){
|
void bsblongleg_exit_update(void){
|
||||||
enum bs_e sp1C = 0;
|
enum bs_e next_state = 0;
|
||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
func_80299628(1);
|
func_80299628(1);
|
||||||
@@ -292,14 +294,14 @@ void bsblongleg_exit_update(void){
|
|||||||
break;
|
break;
|
||||||
case 1://L802A5CB4
|
case 1://L802A5CB4
|
||||||
if(animctrl_isStopped(aCtrl))
|
if(animctrl_isStopped(aCtrl))
|
||||||
sp1C = BS_1_IDLE;
|
next_state = BS_1_IDLE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(func_802A51D0())
|
if(func_802A51D0())
|
||||||
sp1C = BS_4C_LANDING_IN_WATER;
|
next_state = BS_4C_LANDING_IN_WATER;
|
||||||
|
|
||||||
bs_setState(sp1C);
|
bs_setState(next_state);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,7 +314,7 @@ void bsblongleg_jump_init(void){
|
|||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
D_8037D350 = 0.14f;
|
D_8037D350 = 0.14f;
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_LONGLEG_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_3D_ANIM_BSLONGLEG_JUMP);
|
||||||
animctrl_setTransitionDuration(aCtrl, 0.134f);
|
animctrl_setTransitionDuration(aCtrl, 0.134f);
|
||||||
animctrl_setDuration(aCtrl, 1.0f);
|
animctrl_setDuration(aCtrl, 1.0f);
|
||||||
func_8028774C(aCtrl, D_8037D350);
|
func_8028774C(aCtrl, D_8037D350);
|
||||||
@@ -383,7 +385,7 @@ void bsblongleg_jump_update(void){
|
|||||||
if(button_pressed(BUTTON_A))
|
if(button_pressed(BUTTON_A))
|
||||||
sp44 = BS_LONGLEG_JUMP;
|
sp44 = BS_LONGLEG_JUMP;
|
||||||
|
|
||||||
if(func_802916CC(2))
|
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
|
||||||
sp44 = BS_LONGLEG_EXIT;
|
sp44 = BS_LONGLEG_EXIT;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -405,7 +407,7 @@ void bsblongleg_slide_init(void){
|
|||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_LONGLEG_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_3D_ANIM_BSLONGLEG_JUMP);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_STOPPED);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_STOPPED);
|
||||||
func_8028774C(aCtrl, 0.0865f);
|
func_8028774C(aCtrl, 0.0865f);
|
||||||
func_802875AC(aCtrl, "bsblongleg.c", 0x339);
|
func_802875AC(aCtrl, "bsblongleg.c", 0x339);
|
||||||
@@ -468,18 +470,18 @@ void func_802A6394(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A63F0(void){
|
void func_802A63F0(void){
|
||||||
enum bs_e sp1C = 0;
|
enum bs_e next_state = 0;
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
func_8029C6D0();
|
func_8029C6D0();
|
||||||
func_80299628(1);
|
func_80299628(1);
|
||||||
|
|
||||||
if(func_80298850() == 0)
|
if(func_80298850() == 0)
|
||||||
sp1C = BS_26_LONGLEG_IDLE;
|
next_state = BS_26_LONGLEG_IDLE;
|
||||||
|
|
||||||
if(func_802A51D0())
|
if(func_802A51D0())
|
||||||
sp1C = BS_4C_LANDING_IN_WATER;
|
next_state = BS_4C_LANDING_IN_WATER;
|
||||||
|
|
||||||
bs_setState(sp1C);
|
bs_setState(next_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A6450(void){
|
void func_802A6450(void){
|
||||||
@@ -495,7 +497,7 @@ void bsblongleg_drone_init(void){
|
|||||||
void bsblongleg_drone_update(void){
|
void bsblongleg_drone_update(void){
|
||||||
func_802A531C();
|
func_802A531C();
|
||||||
bsdrone_update();
|
bsdrone_update();
|
||||||
if(func_802916CC(2))
|
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
|
||||||
bs_setState(BS_LONGLEG_EXIT);
|
bs_setState(BS_LONGLEG_EXIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -82,7 +82,7 @@ void bsbpeck_update(void){
|
|||||||
switch(D_8037D374){
|
switch(D_8037D374){
|
||||||
case 0://L802A6770
|
case 0://L802A6770
|
||||||
if(animctrl_isAt(aCtrl, 0.9126f)){
|
if(animctrl_isAt(aCtrl, 0.9126f)){
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BPECK_ENTER);
|
animctrl_setIndex(aCtrl, ASSET_19_ANIM_BSBPECK_ENTER);
|
||||||
func_8028774C(aCtrl, 0.0f);
|
func_8028774C(aCtrl, 0.0f);
|
||||||
animctrl_setDuration(aCtrl, 0.35f);
|
animctrl_setDuration(aCtrl, 0.35f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP);
|
||||||
|
@@ -15,7 +15,7 @@ u8 D_8037D382;
|
|||||||
void bsbshock_charge_init(void){
|
void bsbshock_charge_init(void){
|
||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BSHOCK_CHARGE);
|
animctrl_setIndex(aCtrl, ASSET_48_ANIM_BSBSHOCK_CHARGE);
|
||||||
animctrl_setTransitionDuration(aCtrl, 0.4f);
|
animctrl_setTransitionDuration(aCtrl, 0.4f);
|
||||||
animctrl_setDuration(aCtrl, 4.2f);
|
animctrl_setDuration(aCtrl, 4.2f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.1061f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.1061f);
|
||||||
@@ -55,7 +55,7 @@ void bsbshock_charge_update(void){
|
|||||||
func_8029C348();
|
func_8029C348();
|
||||||
}
|
}
|
||||||
func_802B6FA8();
|
func_802B6FA8();
|
||||||
_get_velocity(&sp1C);
|
_get_velocity(sp1C);
|
||||||
if(button_released(BUTTON_A) && 0.0f < sp1C[1]){
|
if(button_released(BUTTON_A) && 0.0f < sp1C[1]){
|
||||||
gravity_reset();
|
gravity_reset();
|
||||||
}
|
}
|
||||||
@@ -126,7 +126,7 @@ void bsbshock_init(void){
|
|||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BSHOCK_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_49_ANIM_BSBSHOCK_JUMP);
|
||||||
animctrl_setDuration(aCtrl, 0.8f);
|
animctrl_setDuration(aCtrl, 0.8f);
|
||||||
func_8028774C(aCtrl, 0.5304f);
|
func_8028774C(aCtrl, 0.5304f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 1.0f);
|
animctrl_setSubRange(aCtrl, 0.0f, 1.0f);
|
||||||
@@ -157,7 +157,7 @@ void bsbshock_update(void){
|
|||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
|
|
||||||
func_802B6FA8();
|
func_802B6FA8();
|
||||||
_get_velocity(&sp20);
|
_get_velocity(sp20);
|
||||||
if(animctrl_isAt(aCtrl, 0.7f))
|
if(animctrl_isAt(aCtrl, 0.7f))
|
||||||
func_8030E484(SFX_53_BANJO_HUIII);
|
func_8030E484(SFX_53_BANJO_HUIII);
|
||||||
|
|
||||||
|
@@ -22,7 +22,7 @@ void func_802A7140() {
|
|||||||
|
|
||||||
f32 func_802A716C() {
|
f32 func_802A716C() {
|
||||||
f32 sp24[3];
|
f32 sp24[3];
|
||||||
_get_velocity(&sp24);
|
_get_velocity(sp24);
|
||||||
ml_map_f(gu_sqrtf((sp24[0] * sp24[0]) + (sp24[1] * sp24[1]) + (sp24[2] * sp24[2])), 50.0f, 200.0f, 0.0f, 1.0f);
|
ml_map_f(gu_sqrtf((sp24[0] * sp24[0]) + (sp24[1] * sp24[1]) + (sp24[2] * sp24[2])), 50.0f, 200.0f, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ void func_802A7738(void) {
|
|||||||
temp_v0 = _player_getAnimCtrlPtr();
|
temp_v0 = _player_getAnimCtrlPtr();
|
||||||
temp_s0 = temp_v0;
|
temp_s0 = temp_v0;
|
||||||
animctrl_reset(temp_v0);
|
animctrl_reset(temp_v0);
|
||||||
animctrl_setIndex(temp_s0, 0x3F);
|
animctrl_setIndex(temp_s0, ASSET_3F_ANIM_BSSWIM_DIVE_MOVE);
|
||||||
func_8028774C(temp_s0, 0.4626f);
|
func_8028774C(temp_s0, 0.4626f);
|
||||||
animctrl_setDuration(temp_s0, 1.0f);
|
animctrl_setDuration(temp_s0, 1.0f);
|
||||||
func_802875AC(temp_s0, "bsbswim.c", 0x186);
|
func_802875AC(temp_s0, "bsbswim.c", 0x186);
|
||||||
@@ -287,7 +287,7 @@ void func_802A7BD0(void) {
|
|||||||
func_8028A274(0x1A0, 1.4f);
|
func_8028A274(0x1A0, 1.4f);
|
||||||
func_80299BFC(1.0f);
|
func_80299BFC(1.0f);
|
||||||
_player_getPosition(sp30);
|
_player_getPosition(sp30);
|
||||||
func_80294980(&sp24);
|
func_80294980(sp24);
|
||||||
func_80257F18(sp24, sp30, &sp3C);
|
func_80257F18(sp24, sp30, &sp3C);
|
||||||
yaw_setIdeal(mlNormalizeAngle(sp3C));
|
yaw_setIdeal(mlNormalizeAngle(sp3C));
|
||||||
yaw_applyIdeal();
|
yaw_applyIdeal();
|
||||||
@@ -328,9 +328,9 @@ void func_802A7D74(void) {
|
|||||||
func_802A75B0();
|
func_802A75B0();
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A7DAC(void) {
|
void bsSwim_dive_init(void) {
|
||||||
ability_use(ABILITY_3_CAMERA_CONTROL);
|
ability_use(ABILITY_3_CAMERA_CONTROL);
|
||||||
func_8028A180(0x3C, 1.0f);
|
func_8028A180(ASSET_3C_ANIM_BSSWIM_DIVE_ENTER, 1.0f);
|
||||||
func_802A7140();
|
func_802A7140();
|
||||||
yaw_setVelocityBounded(500.0f, 5.0f);
|
yaw_setVelocityBounded(500.0f, 5.0f);
|
||||||
func_80297930(0);
|
func_80297930(0);
|
||||||
@@ -391,7 +391,7 @@ void func_802A7F6C(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func_8029B930();
|
func_8029B930();
|
||||||
func_8028A010(0xB9, 0.7f);
|
func_8028A010(ASSET_B9_ANIM_BSSWIM_DIE, 0.7f);
|
||||||
func_802A7140();
|
func_802A7140();
|
||||||
func_802A744C();
|
func_802A744C();
|
||||||
func_80297B64(1.0f);
|
func_80297B64(1.0f);
|
||||||
@@ -521,14 +521,14 @@ void func_802A846C(void) {
|
|||||||
}
|
}
|
||||||
if (sp28 > 80.0f) {
|
if (sp28 > 80.0f) {
|
||||||
animctrl_reset(temp_s0);
|
animctrl_reset(temp_s0);
|
||||||
animctrl_setIndex(temp_s0, ANIM_BANJO_ROLL);
|
animctrl_setIndex(temp_s0, ASSET_4F_ANIM_BSTWIRL);
|
||||||
animctrl_setPlaybackType(temp_s0, ANIMCTRL_STOPPED);
|
animctrl_setPlaybackType(temp_s0, ANIMCTRL_STOPPED);
|
||||||
animctrl_setDuration(temp_s0, 1.2f);
|
animctrl_setDuration(temp_s0, 1.2f);
|
||||||
func_8028774C(temp_s0, 0.8204f);
|
func_8028774C(temp_s0, 0.8204f);
|
||||||
func_802875AC(temp_s0, "bsbswim.c", 0x417);
|
func_802875AC(temp_s0, "bsbswim.c", 0x417);
|
||||||
} else {
|
} else {
|
||||||
animctrl_reset(temp_s0);
|
animctrl_reset(temp_s0);
|
||||||
animctrl_setIndex(temp_s0, 0x57);
|
animctrl_setIndex(temp_s0, ASSET_57_ANIM_BSSWIM_IDLE);
|
||||||
animctrl_setPlaybackType(temp_s0, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(temp_s0, ANIMCTRL_LOOP);
|
||||||
animctrl_setDuration(temp_s0, 1.2f);
|
animctrl_setDuration(temp_s0, 1.2f);
|
||||||
func_8028774C(temp_s0, 0.6412f);
|
func_8028774C(temp_s0, 0.6412f);
|
||||||
|
@@ -3,6 +3,8 @@
|
|||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
#include "core2/ba/model.h"
|
#include "core2/ba/model.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
f32 D_80364A90 = 30.0f;
|
f32 D_80364A90 = 30.0f;
|
||||||
@@ -24,7 +26,7 @@ f32 D_8037D3A0;
|
|||||||
u8 D_8037D3A4;
|
u8 D_8037D3A4;
|
||||||
|
|
||||||
void func_802A87C0(void){
|
void func_802A87C0(void){
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
func_8029C3E8(10.0f, 50.0f);
|
func_8029C3E8(10.0f, 50.0f);
|
||||||
else
|
else
|
||||||
func_8029C22C();
|
func_8029C22C();
|
||||||
@@ -39,10 +41,10 @@ void func_802A880C(s32 arg0){
|
|||||||
|
|
||||||
void func_802A8850(void){
|
void func_802A8850(void){
|
||||||
if( button_pressed(BUTTON_B)
|
if( button_pressed(BUTTON_B)
|
||||||
&& func_80291698(3)
|
&& stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)
|
||||||
&& func_80297A64() == 0.0f
|
&& func_80297A64() == 0.0f
|
||||||
){
|
){
|
||||||
func_802917C4(3);
|
stateTimer_clear(STATE_TIMER_3_TURBO_TALON);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -51,7 +53,7 @@ f32 func_802A88B0(void){
|
|||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
return D_80364AA0;
|
return D_80364AA0;
|
||||||
|
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
return D_80364A9C;
|
return D_80364A9C;
|
||||||
|
|
||||||
return D_80364A94;
|
return D_80364A94;
|
||||||
@@ -59,7 +61,7 @@ f32 func_802A88B0(void){
|
|||||||
|
|
||||||
f32 func_802A8900(void){
|
f32 func_802A8900(void){
|
||||||
|
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
return D_80364A98;
|
return D_80364A98;
|
||||||
|
|
||||||
return D_80364A90;
|
return D_80364A90;
|
||||||
@@ -69,7 +71,7 @@ f32 func_802A8934(void){
|
|||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
return D_80364AB8;
|
return D_80364AB8;
|
||||||
|
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
return D_80364AB0;
|
return D_80364AB0;
|
||||||
|
|
||||||
return D_80364AA8;
|
return D_80364AA8;
|
||||||
@@ -79,7 +81,7 @@ f32 func_802A8984(void){
|
|||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
return D_80364AB4;
|
return D_80364AB4;
|
||||||
|
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
return D_80364AAC;
|
return D_80364AAC;
|
||||||
|
|
||||||
return D_80364AA4;
|
return D_80364AA4;
|
||||||
@@ -109,14 +111,14 @@ void func_802A8A40(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A8AD8(void){
|
void func_802A8AD8(void){
|
||||||
func_80299650(func_80291684(3), func_80291670(3));
|
func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), stateTimer_get(STATE_TIMER_3_TURBO_TALON));
|
||||||
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) &&(bs_getState() != BS_17_BTROT_EXIT)){
|
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) &&(bs_getState() != BS_17_BTROT_EXIT)){
|
||||||
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
||||||
func_802917E4(3, func_80294A40());
|
stateTimer_set(STATE_TIMER_3_TURBO_TALON, func_80294A40());
|
||||||
func_803219F4(4);
|
func_803219F4(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(func_802916CC(3)){
|
if(stateTimer_isDone(STATE_TIMER_3_TURBO_TALON)){
|
||||||
if(func_8029DFE0()){
|
if(func_8029DFE0()){
|
||||||
func_8029E0DC(0);
|
func_8029E0DC(0);
|
||||||
if(miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE))
|
if(miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE))
|
||||||
@@ -142,7 +144,7 @@ void func_802A8BB0(void){
|
|||||||
roll_setIdeal(0.0f);
|
roll_setIdeal(0.0f);
|
||||||
miscflag_clear(3);
|
miscflag_clear(3);
|
||||||
if(next_state != BS_5A_LOADZONE)
|
if(next_state != BS_5A_LOADZONE)
|
||||||
func_802917E4(3, 0.0f);
|
stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f);
|
||||||
func_802A8AD8();
|
func_802A8AD8();
|
||||||
func_80289F10(1);
|
func_80289F10(1);
|
||||||
func_8029CF48(4, 0, 0.0f);
|
func_8029CF48(4, 0, 0.0f);
|
||||||
@@ -151,7 +153,7 @@ void func_802A8BB0(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int func_802A8C60(void){
|
int func_802A8C60(void){
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return button_released(BUTTON_Z);
|
return button_released(BUTTON_Z);
|
||||||
@@ -167,7 +169,7 @@ void _bsbtrot_802A8C98(AnimCtrl *aCtrl, enum asset_e arg1){
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum asset_e func_802A8D00(enum asset_e arg0, enum asset_e arg1){
|
enum asset_e func_802A8D00(enum asset_e arg0, enum asset_e arg1){
|
||||||
if(func_802916CC(3))
|
if(stateTimer_isDone(STATE_TIMER_3_TURBO_TALON))
|
||||||
return arg0;
|
return arg0;
|
||||||
else
|
else
|
||||||
return arg1;
|
return arg1;
|
||||||
@@ -239,7 +241,7 @@ void bsbtrot_enter_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbtrot_stand_init(void){
|
void bsbtrot_stand_init(void){
|
||||||
func_8028A010(ASSET_26_ANIM_BTROT_IDLE, 1.2f);
|
func_8028A010(ASSET_26_ANIM_BSBTROT_IDLE, 1.2f);
|
||||||
func_8029C7F4(1,1,1,2);
|
func_8029C7F4(1,1,1,2);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_802A8A40();
|
func_802A8A40();
|
||||||
@@ -249,7 +251,7 @@ void bsbtrot_stand_update(void){
|
|||||||
enum bs_e next_state = 0;;
|
enum bs_e next_state = 0;;
|
||||||
func_802A8850();
|
func_802A8850();
|
||||||
func_802A8AD8();
|
func_802A8AD8();
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
func_802A87C0();
|
func_802A87C0();
|
||||||
func_80299628(1);
|
func_80299628(1);
|
||||||
next_state = func_802A8D84(next_state);
|
next_state = func_802A8D84(next_state);
|
||||||
@@ -263,7 +265,7 @@ void bsbtrot_stand_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum asset_e func_802A9030(void){
|
enum asset_e func_802A9030(void){
|
||||||
return func_802A8D00(0x15, 0x44);
|
return func_802A8D00(ASSET_15_ANIM_BSBTROT_WALK, ASSET_44_ANIM_BSBTROT_TURBO_WALK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802A9054(void){
|
void func_802A9054(void){
|
||||||
@@ -303,7 +305,7 @@ void bsbtrot_walk_update(void){
|
|||||||
func_802A880C(0);
|
func_802A880C(0);
|
||||||
|
|
||||||
func_8029AD28(0.7781f, 3);
|
func_8029AD28(0.7781f, 3);
|
||||||
if(func_80291698(3)){
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)){
|
||||||
func_802A87C0();
|
func_802A87C0();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -371,7 +373,7 @@ void bsbtrot_jump_update(void){
|
|||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
func_802A8AD8();
|
func_802A8AD8();
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
func_802A87C0();
|
func_802A87C0();
|
||||||
|
|
||||||
if(miscflag_isTrue(0xF))
|
if(miscflag_isTrue(0xF))
|
||||||
@@ -520,7 +522,7 @@ void bsbtrot_slide_update(void){
|
|||||||
f32 sp2C;
|
f32 sp2C;
|
||||||
|
|
||||||
func_802A8AD8();
|
func_802A8AD8();
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
func_802A87C0();
|
func_802A87C0();
|
||||||
func_80299AAC();
|
func_80299AAC();
|
||||||
D_8037D3A0 = ml_max_f(D_8037D3A0-time_getDelta(), 0.0f);
|
D_8037D3A0 = ml_max_f(D_8037D3A0-time_getDelta(), 0.0f);
|
||||||
@@ -582,7 +584,7 @@ void bsbtrot_fall_update(void){
|
|||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
func_802A8AD8();
|
func_802A8AD8();
|
||||||
if(func_80291698(3))
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
|
||||||
func_802A87C0();
|
func_802A87C0();
|
||||||
|
|
||||||
if(miscflag_isTrue(0xf))
|
if(miscflag_isTrue(0xf))
|
||||||
@@ -676,7 +678,7 @@ void bsbtrot_fall_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbtrot_unk79_init(void){
|
void bsbtrot_unk79_init(void){
|
||||||
func_8028A010(ASSET_26_ANIM_BTROT_IDLE, 1.2f);
|
func_8028A010(ASSET_26_ANIM_BSBTROT_IDLE, 1.2f);
|
||||||
func_8029C7F4(1,1,3,2);
|
func_8029C7F4(1,1,3,2);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_802A8A40();
|
func_802A8A40();
|
||||||
|
@@ -76,7 +76,7 @@ void func_802AA58C(enum bs_e *arg0){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbwhirl_enter_init(void){
|
void bsbwhirl_enter_init(void){
|
||||||
func_8028A274(0x22, 0.5f);
|
func_8028A274(ASSET_22_ANIM_BSWHIRL_EXIT, 0.5f);
|
||||||
func_8029C7F4(1,1,1,2);
|
func_8029C7F4(1,1,1,2);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_8029B324(0, 0.03f);
|
func_8029B324(0, 0.03f);
|
||||||
@@ -130,7 +130,7 @@ void bsbwhirl_stand_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsbwhirl_walk_init(void){
|
void bsbwhirl_walk_init(void){
|
||||||
func_8028A010(ASSET_11_ANIM_BSWONDERWING_WALK, 0.53f);
|
func_8028A010(ASSET_11_ANIM_BSWHIRL_WALK, 0.53f);
|
||||||
func_80289EC8(D_80364AD0, D_80364AD4, D_80364AD8, D_80364ADC);
|
func_80289EC8(D_80364AD0, D_80364AD4, D_80364AD8, D_80364ADC);
|
||||||
func_8029C7F4(2,1,1,2);
|
func_8029C7F4(2,1,1,2);
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ void bsbwhirl_jump_init(void){
|
|||||||
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl * aCtrl = _player_getAnimCtrlPtr();
|
||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_WONDERWING_JUMP);
|
animctrl_setIndex(aCtrl, ASSET_1B_ANIM_BSWHIRL_JUMP);
|
||||||
animctrl_setDuration(aCtrl, 0.8f);
|
animctrl_setDuration(aCtrl, 0.8f);
|
||||||
animctrl_setTransitionDuration(aCtrl, 0.134f);
|
animctrl_setTransitionDuration(aCtrl, 0.134f);
|
||||||
func_8028774C(aCtrl, 0.14f);
|
func_8028774C(aCtrl, 0.14f);
|
||||||
@@ -244,7 +244,7 @@ void bsbwhirl_exit_init(void){
|
|||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setDirection(aCtrl, 0);
|
animctrl_setDirection(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_WONDERWING_EXIT);
|
animctrl_setIndex(aCtrl, ASSET_22_ANIM_BSWHIRL_EXIT);
|
||||||
animctrl_setDuration(aCtrl, 0.5f);
|
animctrl_setDuration(aCtrl, 0.5f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(aCtrl, "bsbwhirl.c", 0x201);
|
func_802875AC(aCtrl, "bsbwhirl.c", 0x201);
|
||||||
|
@@ -57,7 +57,7 @@ void bsbbuster_init(void){
|
|||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BBUSTER);
|
animctrl_setIndex(aCtrl, ASSET_1D_ANIM_BSBBUSTER);
|
||||||
animctrl_setDuration(aCtrl, 1.02f);
|
animctrl_setDuration(aCtrl, 1.02f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.35f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.35f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "bsint.h"
|
#include "bsint.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
const f32 D_80364AF0 = 30.0f;
|
const f32 D_80364AF0 = 30.0f;
|
||||||
@@ -101,7 +102,7 @@ void bscarry_interrupt(void){
|
|||||||
func_8028DE6C(baMarker_getCarriedObjectActorId());
|
func_8028DE6C(baMarker_getCarriedObjectActorId());
|
||||||
break;
|
break;
|
||||||
case BS_INTR_16_THROW_CARRIED_OBJ:
|
case BS_INTR_16_THROW_CARRIED_OBJ:
|
||||||
if(func_802916CC(1)){
|
if(stateTimer_isDone(STATE_TIMER_1_THROW)){
|
||||||
bs_setState(BS_CARRY_THROW);
|
bs_setState(BS_CARRY_THROW);
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ void bsclimb_idle_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsclimb_move_init(void){
|
void bsclimb_move_init(void){
|
||||||
func_8028A010(ASSET_A_ANIM_BANJO_CLIMB_MOVE, 0.9f);
|
func_8028A010(ASSET_A_ANIM_BSCLIMB_MOVE, 0.9f);
|
||||||
func_80289F10(3);
|
func_80289F10(3);
|
||||||
func_80289EA8(0.3f, 1.5f);
|
func_80289EA8(0.3f, 1.5f);
|
||||||
func_80289EC8(100.0f, 300.0f, 0.6f, 0.4f);
|
func_80289EC8(100.0f, 300.0f, 0.6f, 0.4f);
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
int bscroc_inSet(enum bs_e state);
|
int bscroc_inSet(enum bs_e state);
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ u8 D_8037D3F5;
|
|||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
f32 func_802ABDC0(void){
|
f32 func_802ABDC0(void){
|
||||||
if(func_80291670(3) != 0.0f)
|
if(stateTimer_get(STATE_TIMER_3_TURBO_TALON) != 0.0f)
|
||||||
return D_80364B08;
|
return D_80364B08;
|
||||||
else
|
else
|
||||||
return D_80364B04;
|
return D_80364B04;
|
||||||
@@ -45,11 +45,11 @@ void func_802ABE04(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802ABE70(void){
|
void func_802ABE70(void){
|
||||||
f32 sp1C = func_80291670(3);
|
f32 sp1C = stateTimer_get(STATE_TIMER_3_TURBO_TALON);
|
||||||
func_80299650(func_80291684(3), sp1C);
|
func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), sp1C);
|
||||||
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) && bs_getState() != BS_17_BTROT_EXIT){
|
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) && bs_getState() != BS_17_BTROT_EXIT){
|
||||||
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
||||||
func_802917E4(3, func_80294A40());
|
stateTimer_set(STATE_TIMER_3_TURBO_TALON, func_80294A40());
|
||||||
func_8025A6EC(COMUSIC_8A_GETTING_TURBO_TRAINERS, -1);
|
func_8025A6EC(COMUSIC_8A_GETTING_TURBO_TRAINERS, -1);
|
||||||
func_8029E0DC(1);
|
func_8029E0DC(1);
|
||||||
}
|
}
|
||||||
@@ -58,9 +58,9 @@ void func_802ABE70(void){
|
|||||||
func_8029C3E8(0.0f, 30.0f);
|
func_8029C3E8(0.0f, 30.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(func_80291700(3, 0.01f)){
|
if(stateTimer_isAt(STATE_TIMER_3_TURBO_TALON, 0.01f)){
|
||||||
func_8029E0DC(0);
|
func_8029E0DC(0);
|
||||||
func_8030E58C(0x3eb, 1.35f);
|
func_8030E58C(SFX_3EB_UNKNOWN, 1.35f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -10,17 +10,17 @@ u8 D_8037D404;
|
|||||||
enum bs_e func_802ADCD4(enum bs_e arg0);
|
enum bs_e func_802ADCD4(enum bs_e arg0);
|
||||||
|
|
||||||
void func_802AD6D0(void){
|
void func_802AD6D0(void){
|
||||||
func_8028A010(ANIM_BANJO_CROUCH, 0.5f);
|
func_8028A010(ASSET_10C_ANIM_BSCROUCH_IDLE, 0.5f);
|
||||||
D_8037D404 = 4;
|
D_8037D404 = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802AD6FC(void){
|
void func_802AD6FC(void){
|
||||||
func_8028A180(ANIM_BANJO_CROUCH_NOINPUT, 2.0f);
|
func_8028A180(ASSET_116_ANIM_BSCROUCH_NOINPUT, 2.0f);
|
||||||
D_8037D404 = 2;
|
D_8037D404 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802AD728(void){
|
void func_802AD728(void){
|
||||||
func_8028A1F4(ANIM_BANJO_CROUCH, 0.5f, 0.9999f);
|
func_8028A1F4(ASSET_10C_ANIM_BSCROUCH_IDLE, 0.5f, 0.9999f);
|
||||||
func_8029E3C0(2, 2.0f);
|
func_8029E3C0(2, 2.0f);
|
||||||
D_8037D404 = 1;
|
D_8037D404 = 1;
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ void bscrouch_init(void){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_CROUCH_ENTER);
|
animctrl_setIndex(aCtrl, ASSET_1_ANIM_BSCROUCH_ENTER);
|
||||||
animctrl_setDuration(aCtrl, 0.5f);
|
animctrl_setDuration(aCtrl, 0.5f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_8028774C(aCtrl, sp24);
|
func_8028774C(aCtrl, sp24);
|
||||||
|
@@ -27,7 +27,7 @@ void bsdie_init(void){
|
|||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ASSET_9_ANIM_BANJO_DIE);
|
animctrl_setIndex(aCtrl, ASSET_9_ANIM_BSDIE);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 0.3356f);
|
animctrl_setSubRange(aCtrl, 0.0f, 0.3356f);
|
||||||
animctrl_setDuration(aCtrl, 2.0f);
|
animctrl_setDuration(aCtrl, 2.0f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
|
@@ -73,7 +73,7 @@ void func_802AECE4(void){
|
|||||||
&& animctrl_getIndex(aCtrl) == ASSET_3_ANIM_BSWALK
|
&& animctrl_getIndex(aCtrl) == ASSET_3_ANIM_BSWALK
|
||||||
){
|
){
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_RUN);
|
animctrl_setIndex(aCtrl, ASSET_C_ANIM_BSWALK_RUN);
|
||||||
func_802875AC(aCtrl, "bsdronegoto.c", 0x9d);
|
func_802875AC(aCtrl, "bsdronegoto.c", 0x9d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -332,7 +332,7 @@ void bsdronexform_init(void){
|
|||||||
func_80294378(6);
|
func_80294378(6);
|
||||||
func_802AFB0C();
|
func_802AFB0C();
|
||||||
func_802B016C();
|
func_802B016C();
|
||||||
D_8037D470.player_transformation = _player_getTransformation();
|
D_8037D470.player_transformation = bsStoredState_getTransformation();
|
||||||
D_8037D470.room_transformation = func_80294A4C();
|
D_8037D470.room_transformation = func_80294A4C();
|
||||||
miscflag_set(MISC_FLAG_1B_TRANSFORMING);
|
miscflag_set(MISC_FLAG_1B_TRANSFORMING);
|
||||||
D_8037D470.state = 0;
|
D_8037D470.state = 0;
|
||||||
|
@@ -23,7 +23,7 @@ void bsjig_jiggy_init(void){
|
|||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, FALSE);
|
animctrl_setSmoothTransition(aCtrl, FALSE);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_BJIG_JIGGY);
|
animctrl_setIndex(aCtrl, ASSET_2E_ANIM_BSJIG_JIGGY);
|
||||||
animctrl_setDuration(aCtrl, 4.3f);
|
animctrl_setDuration(aCtrl, 4.3f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(aCtrl, "bsjig.c", 0x7f);
|
func_802875AC(aCtrl, "bsjig.c", 0x7f);
|
||||||
@@ -43,13 +43,13 @@ void bsjig_jiggy_init(void){
|
|||||||
miscflag_clear(7);
|
miscflag_clear(7);
|
||||||
miscflag_clear(0xf);
|
miscflag_clear(0xf);
|
||||||
baMarker_collisionOff();
|
baMarker_collisionOff();
|
||||||
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 1);
|
chJigsawDance_setState(marker_getActor(bsjig_gJiggyMarker), 1);
|
||||||
D_8037D4B0 = 0;
|
D_8037D4B0 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802B0BA8(void){
|
void func_802B0BA8(void){
|
||||||
if(bsjig_gJiggyMarker){
|
if(bsjig_gJiggyMarker){
|
||||||
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 4);
|
chJigsawDance_setState(marker_getActor(bsjig_gJiggyMarker), 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ void bsjig_jiggy_update(void){
|
|||||||
|
|
||||||
void func_802B0CD8(void){
|
void func_802B0CD8(void){
|
||||||
if(bsjig_gJiggyMarker){
|
if(bsjig_gJiggyMarker){
|
||||||
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 5);
|
chJigsawDance_setState(marker_getActor(bsjig_gJiggyMarker), 5);
|
||||||
bsjig_gJiggyMarker = NULL;
|
bsjig_gJiggyMarker = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -386,7 +386,7 @@ bool bsjump_jumpingFromWater(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsjump_tumble_init(void){
|
void bsjump_tumble_init(void){
|
||||||
func_8028A084(0x68, 0.35f);
|
func_8028A084(ASSET_68_ANIM_BSJUMP_TUMBLE, 0.35f);
|
||||||
func_8029C7F4(1,1,3,6);
|
func_8029C7F4(1,1,3,6);
|
||||||
baModel_setYDisplacement(60.0f);
|
baModel_setYDisplacement(60.0f);
|
||||||
if(func_80293234() == 1){
|
if(func_80293234() == 1){
|
||||||
|
@@ -16,7 +16,7 @@ void bsow_init(void){
|
|||||||
animctrl_reset(plyr_mvmnt);
|
animctrl_reset(plyr_mvmnt);
|
||||||
animctrl_setSmoothTransition(plyr_mvmnt, 0);
|
animctrl_setSmoothTransition(plyr_mvmnt, 0);
|
||||||
animctrl_setSubRange(plyr_mvmnt, 0.0f, 0.534399986267f);
|
animctrl_setSubRange(plyr_mvmnt, 0.0f, 0.534399986267f);
|
||||||
animctrl_setIndex(plyr_mvmnt, ANIM_BANJO_OW);
|
animctrl_setIndex(plyr_mvmnt, ASSET_4D_ANIM_BSOW);
|
||||||
animctrl_setDuration(plyr_mvmnt, 1.70000004768f);
|
animctrl_setDuration(plyr_mvmnt, 1.70000004768f);
|
||||||
animctrl_setPlaybackType(plyr_mvmnt, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(plyr_mvmnt, ANIMCTRL_ONCE);
|
||||||
func_802875AC(plyr_mvmnt, "bsow.c", 0x50);
|
func_802875AC(plyr_mvmnt, "bsow.c", 0x50);
|
||||||
|
@@ -51,13 +51,13 @@ void bsslide_init(void){
|
|||||||
f32 sp2C;
|
f32 sp2C;
|
||||||
f32 sp28;
|
f32 sp28;
|
||||||
f32 tmp_f0;
|
f32 tmp_f0;
|
||||||
D_8037D520 = ANIM_BANJO_SLIDE_FRONT;
|
D_8037D520 = ASSET_5A_ANIM_BSSLIDE_FRONT;
|
||||||
if(player_isSliding()){
|
if(player_isSliding()){
|
||||||
func_80294480(sp30);
|
func_80294480(sp30);
|
||||||
if(func_80258108(sp30, &sp28, &sp2C)){
|
if(func_80258108(sp30, &sp28, &sp2C)){
|
||||||
tmp_f0 = mlNormalizeAngle(yaw_get() - sp28);
|
tmp_f0 = mlNormalizeAngle(yaw_get() - sp28);
|
||||||
if(tmp_f0 < 90.0f || 270.0f < tmp_f0){
|
if(tmp_f0 < 90.0f || 270.0f < tmp_f0){
|
||||||
D_8037D520 = ANIM_BANJO_SLIDE_BACK;
|
D_8037D520 = ASSET_59_ANIM_BSSLIDE_BACK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -57,7 +57,7 @@ void bssplat_update(void){
|
|||||||
sp1C = BS_2F_FALL;
|
sp1C = BS_2F_FALL;
|
||||||
|
|
||||||
if(animctrl_isStopped(aCtrl)){
|
if(animctrl_isStopped(aCtrl)){
|
||||||
func_8028A180(ASSET_D2_ANIM_BANJO_GETTING_UP, 2.25f);
|
func_8028A180(ASSET_D2_ANIM_BSSPLAT, 2.25f);
|
||||||
D_8037D530 = 1;
|
D_8037D530 = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "bsint.h"
|
#include "bsint.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
extern f32 func_8029B2E8(void);
|
extern f32 func_8029B2E8(void);
|
||||||
void yaw_setVelocityBounded(f32, f32);
|
void yaw_setVelocityBounded(f32, f32);
|
||||||
@@ -59,7 +60,7 @@ s32 func_802B488C(s32 arg0){
|
|||||||
retVal = BS_WALK;
|
retVal = BS_WALK;
|
||||||
break;
|
break;
|
||||||
case 4: //L802B48D4
|
case 4: //L802B48D4
|
||||||
retVal = BS_WALK_FAST;
|
retVal = BS_4_WALK_FAST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(button_held(BUTTON_Z))
|
if(button_held(BUTTON_Z))
|
||||||
@@ -211,12 +212,12 @@ void bsstand_update(void) {
|
|||||||
if (animctrl_isAt(anim_ctrl, 0.9999f)) func_8029E070(0);
|
if (animctrl_isAt(anim_ctrl, 0.9999f)) func_8029E070(0);
|
||||||
}//L802B50E4
|
}//L802B50E4
|
||||||
} else if (sp18 & 0x20) {
|
} else if (sp18 & 0x20) {
|
||||||
if (animctrl_getIndex(anim_ctrl) == 0x95) {
|
if (animctrl_getIndex(anim_ctrl) == ASSET_95_ANIM_BSSTAND_KAZOOIE_PECK) {
|
||||||
func_802B4A10(anim_ctrl);
|
func_802B4A10(anim_ctrl);
|
||||||
if (animctrl_isAt(anim_ctrl, 0.37f)) {
|
if (animctrl_isAt(anim_ctrl, 0.37f)) {
|
||||||
animctrl_reset(anim_ctrl);
|
animctrl_reset(anim_ctrl);
|
||||||
animctrl_setTransitionDuration(anim_ctrl, 0.1f);
|
animctrl_setTransitionDuration(anim_ctrl, 0.1f);
|
||||||
animctrl_setIndex(anim_ctrl, 0xF6);
|
animctrl_setIndex(anim_ctrl, ASSET_F6_ANIM_BSSTAND_PULL_KAZOOIE);
|
||||||
animctrl_setDuration(anim_ctrl, 5.0f);
|
animctrl_setDuration(anim_ctrl, 5.0f);
|
||||||
animctrl_setPlaybackType(anim_ctrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(anim_ctrl, ANIMCTRL_ONCE);
|
||||||
func_802875AC(anim_ctrl, "bsstand.c", 0x170);
|
func_802875AC(anim_ctrl, "bsstand.c", 0x170);
|
||||||
@@ -240,12 +241,12 @@ void bsstand_update(void) {
|
|||||||
D_8037D540 = func_802B4870(D_8037D540);
|
D_8037D540 = func_802B4870(D_8037D540);
|
||||||
sp18 = D_80364D20[D_8037D540];
|
sp18 = D_80364D20[D_8037D540];
|
||||||
if (sp18 & 0x10) {
|
if (sp18 & 0x10) {
|
||||||
func_8028A180(0x95, 5.5f);
|
func_8028A180(ASSET_95_ANIM_BSSTAND_KAZOOIE_PECK, 5.5f);
|
||||||
_func_802875AC(anim_ctrl, "bsstand.c", 0x1AB);
|
_func_802875AC(anim_ctrl, "bsstand.c", 0x1AB);
|
||||||
func_8029E070(1);
|
func_8029E070(1);
|
||||||
func_802900FC();
|
func_802900FC();
|
||||||
} else if (sp18 & 0x20) {
|
} else if (sp18 & 0x20) {
|
||||||
func_8028A180(0x95, 5.5f);
|
func_8028A180(ASSET_95_ANIM_BSSTAND_KAZOOIE_PECK, 5.5f);
|
||||||
func_8029E070(1);
|
func_8029E070(1);
|
||||||
func_802900FC();
|
func_802900FC();
|
||||||
} else if (sp18 & 8) {
|
} else if (sp18 & 8) {
|
||||||
@@ -287,7 +288,7 @@ void bsstand_landing_update(void){
|
|||||||
s32 sp1C = 0;
|
s32 sp1C = 0;
|
||||||
AnimCtrl * sp18 = _player_getAnimCtrlPtr();
|
AnimCtrl * sp18 = _player_getAnimCtrlPtr();
|
||||||
|
|
||||||
if(animctrl_getIndex(sp18) == 0xd2){
|
if(animctrl_getIndex(sp18) == ASSET_D2_ANIM_BSSPLAT){
|
||||||
if(animctrl_isAt(sp18, 0.8264f)){
|
if(animctrl_isAt(sp18, 0.8264f)){
|
||||||
func_80299CF4(SFX_6F_BANJO_HEADSCRATCH, 1.0f, 0x36b0);
|
func_80299CF4(SFX_6F_BANJO_HEADSCRATCH, 1.0f, 0x36b0);
|
||||||
}
|
}
|
||||||
@@ -312,7 +313,7 @@ void func_802B5350(void){
|
|||||||
bs_setState(0x52);
|
bs_setState(0x52);
|
||||||
}
|
}
|
||||||
if(sp1C == 0x7){
|
if(sp1C == 0x7){
|
||||||
if(_player_getTransformation() != TRANSFORM_1_BANJO)
|
if(bsStoredState_getTransformation() != TRANSFORM_1_BANJO)
|
||||||
func_8029A86C(1);
|
func_8029A86C(1);
|
||||||
else{
|
else{
|
||||||
func_802948F8(baMarker_8028D688());
|
func_802948F8(baMarker_8028D688());
|
||||||
@@ -321,7 +322,7 @@ void func_802B5350(void){
|
|||||||
}
|
}
|
||||||
else if(sp1C == 0x12){//L802B53D0
|
else if(sp1C == 0x12){//L802B53D0
|
||||||
func_8029A86C(1);
|
func_8029A86C(1);
|
||||||
if( _player_getTransformation() == TRANSFORM_1_BANJO && !miscflag_isTrue(0xF) && func_802916CC(0)){
|
if( bsStoredState_getTransformation() == TRANSFORM_1_BANJO && !miscflag_isTrue(0xF) && stateTimer_isDone(STATE_TIMER_0_UNKNOWN)){
|
||||||
func_8028DE6C(baMarker_getCarriedObjectActorId());
|
func_8028DE6C(baMarker_getCarriedObjectActorId());
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
}
|
}
|
||||||
|
@@ -15,13 +15,13 @@ s16 D_80364D50[10] = {
|
|||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
0x58,
|
ASSET_58_ANIM_BSSWIM_IDLE2,
|
||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
0x58,
|
ASSET_58_ANIM_BSSWIM_IDLE2,
|
||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
ASSET_57_ANIM_BSSWIM_IDLE,
|
ASSET_57_ANIM_BSSWIM_IDLE,
|
||||||
0x58,
|
ASSET_58_ANIM_BSSWIM_IDLE2,
|
||||||
0x58
|
ASSET_58_ANIM_BSSWIM_IDLE2
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
@@ -196,9 +196,9 @@ void func_802B5B18(void) {
|
|||||||
} else {
|
} else {
|
||||||
anim_duration = 0.4f;
|
anim_duration = 0.4f;
|
||||||
}
|
}
|
||||||
if (animctrl_getIndex(anim_ctrl) != ASSET_39_ANIM_BSSWIM_SWIM) {
|
if (animctrl_getIndex(anim_ctrl) != ASSET_39_ANIM_BSSWIM_MOVE) {
|
||||||
animctrl_reset(anim_ctrl);
|
animctrl_reset(anim_ctrl);
|
||||||
animctrl_setIndex(anim_ctrl, ASSET_39_ANIM_BSSWIM_SWIM);
|
animctrl_setIndex(anim_ctrl, ASSET_39_ANIM_BSSWIM_MOVE);
|
||||||
animctrl_setTransitionDuration(anim_ctrl, anim_duration);
|
animctrl_setTransitionDuration(anim_ctrl, anim_duration);
|
||||||
func_8028774C(anim_ctrl, 0.8f);
|
func_8028774C(anim_ctrl, 0.8f);
|
||||||
animctrl_setPlaybackType(anim_ctrl, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(anim_ctrl, ANIMCTRL_LOOP);
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
extern ActorMarker *carriedobj_getMarker(void);
|
extern ActorMarker *carriedobj_getMarker(void);
|
||||||
|
|
||||||
@@ -56,8 +57,8 @@ void bsthrow_update(void){
|
|||||||
void bsthrow_end(void){
|
void bsthrow_end(void){
|
||||||
D_8037D580 = 0;
|
D_8037D580 = 0;
|
||||||
if(bs_getNextState() == BS_1_IDLE){
|
if(bs_getNextState() == BS_1_IDLE){
|
||||||
func_802917E4(0, 0.14f);
|
stateTimer_set(STATE_TIMER_0_UNKNOWN, 0.14f);
|
||||||
func_802917E4(1, 0.28f);
|
stateTimer_set(STATE_TIMER_1_THROW, 0.28f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ f32 func_8029B41C(void);
|
|||||||
void func_802BF2C0(f32);
|
void func_802BF2C0(f32);
|
||||||
|
|
||||||
void func_802B6270(void){
|
void func_802B6270(void){
|
||||||
func_8028A180(0x77, 3.2f);
|
func_8028A180(ASSET_77_ANIM_BSTIMEOUT, 3.2f);
|
||||||
func_8029C7F4(1,1,3,2);
|
func_8029C7F4(1,1,3,2);
|
||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_802914CC(0xd);
|
func_802914CC(0xd);
|
||||||
|
@@ -12,7 +12,7 @@ void bsturn_init(void){
|
|||||||
f32 sp28[3];
|
f32 sp28[3];
|
||||||
|
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_TURN);
|
animctrl_setIndex(aCtrl, ASSET_E_ANIM_BSTURN);
|
||||||
animctrl_setDuration(aCtrl, 0.3f);
|
animctrl_setDuration(aCtrl, 0.3f);
|
||||||
animctrl_setTransitionDuration(aCtrl,0.1f);
|
animctrl_setTransitionDuration(aCtrl,0.1f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
@@ -49,7 +49,7 @@ void bsturn_update(void){
|
|||||||
}//L802B6978
|
}//L802B6978
|
||||||
|
|
||||||
if(animctrl_isStopped(_player_getAnimCtrlPtr()))
|
if(animctrl_isStopped(_player_getAnimCtrlPtr()))
|
||||||
sp2C = BS_WALK_FAST;
|
sp2C = BS_4_WALK_FAST;
|
||||||
|
|
||||||
if(button_held(BUTTON_Z))
|
if(button_held(BUTTON_Z))
|
||||||
sp2C = BS_CROUCH;
|
sp2C = BS_CROUCH;
|
||||||
|
@@ -16,7 +16,7 @@ void bstwirl_init(void){
|
|||||||
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
AnimCtrl *aCtrl = _player_getAnimCtrlPtr();
|
||||||
animctrl_reset(aCtrl);
|
animctrl_reset(aCtrl);
|
||||||
animctrl_setSmoothTransition(aCtrl, 0);
|
animctrl_setSmoothTransition(aCtrl, 0);
|
||||||
animctrl_setIndex(aCtrl, ANIM_BANJO_ROLL);
|
animctrl_setIndex(aCtrl, ASSET_4F_ANIM_BSTWIRL);
|
||||||
animctrl_setDuration(aCtrl, 0.9f);
|
animctrl_setDuration(aCtrl, 0.9f);
|
||||||
animctrl_setSubRange(aCtrl, 0.0f, 1.0f);
|
animctrl_setSubRange(aCtrl, 0.0f, 1.0f);
|
||||||
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
|
||||||
|
@@ -126,7 +126,7 @@ void bswalk_creep_init(void){
|
|||||||
sp20 = 0.0f;
|
sp20 = 0.0f;
|
||||||
}
|
}
|
||||||
animctrl_reset(s0);
|
animctrl_reset(s0);
|
||||||
animctrl_setIndex(s0, ANIM_BANJO_WALK_CREEP);
|
animctrl_setIndex(s0, ASSET_2_ANIM_BSWALK_CREEP);
|
||||||
animctrl_setDuration(s0, 0.43f);
|
animctrl_setDuration(s0, 0.43f);
|
||||||
func_8028774C(s0, sp20);
|
func_8028774C(s0, sp20);
|
||||||
animctrl_setPlaybackType(s0, ANIMCTRL_LOOP);
|
animctrl_setPlaybackType(s0, ANIMCTRL_LOOP);
|
||||||
@@ -158,7 +158,7 @@ void bswalk_creep_update(void){
|
|||||||
s0 = BS_WALK;
|
s0 = BS_WALK;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
s0 = BS_WALK_FAST;
|
s0 = BS_4_WALK_FAST;
|
||||||
break;
|
break;
|
||||||
}//L802B7194
|
}//L802B7194
|
||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
@@ -231,7 +231,7 @@ void bswalk_slow_upate(void){
|
|||||||
s0 = BS_WALK;
|
s0 = BS_WALK;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
s0 = BS_WALK_FAST;
|
s0 = BS_4_WALK_FAST;
|
||||||
break;
|
break;
|
||||||
}//L802B7194
|
}//L802B7194
|
||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
@@ -276,7 +276,7 @@ void bswalk_init(void){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
animctrl_reset(s0);
|
animctrl_reset(s0);
|
||||||
animctrl_setIndex(s0, ANIM_BANJO_RUN);
|
animctrl_setIndex(s0, ASSET_C_ANIM_BSWALK_RUN);
|
||||||
animctrl_setDuration(s0, 0.66f);
|
animctrl_setDuration(s0, 0.66f);
|
||||||
animctrl_setTransitionDuration(s0, 0.14f);
|
animctrl_setTransitionDuration(s0, 0.14f);
|
||||||
func_8028774C(s0, sp20);
|
func_8028774C(s0, sp20);
|
||||||
@@ -303,7 +303,7 @@ void bswalk_update(void){
|
|||||||
s0 = BS_2_WALK_SLOW;
|
s0 = BS_2_WALK_SLOW;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
s0 = BS_WALK_FAST;
|
s0 = BS_4_WALK_FAST;
|
||||||
break;
|
break;
|
||||||
}//L802B76B8
|
}//L802B76B8
|
||||||
if(func_8028B128())
|
if(func_8028B128())
|
||||||
@@ -360,7 +360,7 @@ void bswalk_fast_init(void){
|
|||||||
}
|
}
|
||||||
animctrl_reset(s0);
|
animctrl_reset(s0);
|
||||||
animctrl_setSmoothTransition(s0, sp24);
|
animctrl_setSmoothTransition(s0, sp24);
|
||||||
animctrl_setIndex(s0, ANIM_BANJO_RUN);
|
animctrl_setIndex(s0, ASSET_C_ANIM_BSWALK_RUN);
|
||||||
animctrl_setDuration(s0, 0.66f);
|
animctrl_setDuration(s0, 0.66f);
|
||||||
animctrl_setTransitionDuration(s0, 0.1f);
|
animctrl_setTransitionDuration(s0, 0.1f);
|
||||||
func_8028774C(s0, sp28);
|
func_8028774C(s0, sp28);
|
||||||
@@ -444,7 +444,7 @@ void bswalk_fast_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bswalk_mud_init(void){
|
void bswalk_mud_init(void){
|
||||||
func_8028A010(ANIM_BANJO_WALK_MUD, 0.43f);
|
func_8028A010(ASSET_B_ANIM_BSWALK_MUD, 0.43f);
|
||||||
func_8029C7F4(2,1,1,2);
|
func_8029C7F4(2,1,1,2);
|
||||||
func_80289EA8(0.3f, 1.5f);
|
func_80289EA8(0.3f, 1.5f);
|
||||||
func_80289EC8(D_80364D84, D_80364D88, D_80364DB0, D_80364DB4);
|
func_80289EC8(D_80364D84, D_80364D88, D_80364DB0, D_80364DB4);
|
||||||
|
61
src/core2/bsStoredState.c
Normal file
61
src/core2/bsStoredState.c
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
#include <ultra64.h>
|
||||||
|
#include "functions.h"
|
||||||
|
#include "variables.h"
|
||||||
|
|
||||||
|
struct {
|
||||||
|
f32 longleg_timer; //longleg_timer
|
||||||
|
f32 turbo_timer; //turbotrot_timer
|
||||||
|
u8 transformation;
|
||||||
|
} bsStoredState;
|
||||||
|
u8 bsStoredStateInTrot; //in trot
|
||||||
|
|
||||||
|
/* .code */
|
||||||
|
void func_8029A890(void){
|
||||||
|
func_802957FC();
|
||||||
|
}
|
||||||
|
|
||||||
|
void bsStoredState_clear(void){
|
||||||
|
func_80295804();
|
||||||
|
bsStoredState.longleg_timer = bsStoredState.turbo_timer = 0.0f;
|
||||||
|
bsStoredState.transformation = TRANSFORM_1_BANJO;
|
||||||
|
bsStoredStateInTrot = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum transformation_e bsStoredState_getTransformation(void){
|
||||||
|
return bsStoredState.transformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
f32 bsStoredState_getLongLegTimer(void){
|
||||||
|
return bsStoredState.longleg_timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
f32 bsStoredState_getTurboTimer(void){
|
||||||
|
return bsStoredState.turbo_timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 bsStoredState_getTrotFlag(void){
|
||||||
|
return bsStoredStateInTrot;
|
||||||
|
}
|
||||||
|
|
||||||
|
void bsStoredState_8029A924(void){}
|
||||||
|
|
||||||
|
void bsStoredState_clearTimers(void){
|
||||||
|
bsStoredState_setLongLegTimer(0.0f);
|
||||||
|
bsStoredState_setTurboTimer(0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void player_setTransformation(enum transformation_e xform_id){
|
||||||
|
bsStoredState.transformation = xform_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void bsStoredState_setLongLegTimer(f32 arg0){
|
||||||
|
bsStoredState.longleg_timer = arg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void bsStoredState_setTurboTimer(f32 arg0){
|
||||||
|
bsStoredState.turbo_timer = arg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void bsStoredState_setTrot(bool arg0){
|
||||||
|
bsStoredStateInTrot = arg0;
|
||||||
|
}
|
@@ -30,7 +30,7 @@ void func_802CE7E0(ActorMarker *marker, ActorMarker *other){
|
|||||||
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2]));
|
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2]));
|
||||||
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4A_WOOD_EXPLOSION, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2]));
|
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4A_WOOD_EXPLOSION, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2]));
|
||||||
actor->marker->propPtr->unk8_3 = 0;
|
actor->marker->propPtr->unk8_3 = 0;
|
||||||
func_803115C4(ASSET_D96_TEXT_BEEHIVE);
|
func_803115C4(ASSET_D96_DIALOG_BEEHIVE_MEET);
|
||||||
func_803115C4(ASSET_DA6_TEXT_BEEHIVE_WITH_BEES);
|
func_803115C4(ASSET_DA6_TEXT_BEEHIVE_WITH_BEES);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ void func_802CE8D4(Actor *this){
|
|||||||
){
|
){
|
||||||
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
|
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
|
||||||
if( player_getTransformation() == TRANSFORM_1_BANJO
|
if( player_getTransformation() == TRANSFORM_1_BANJO
|
||||||
&& func_80311480(ASSET_D96_TEXT_BEEHIVE, 0, NULL, NULL, NULL, 0)
|
&& func_80311480(ASSET_D96_DIALOG_BEEHIVE_MEET, 0, NULL, NULL, NULL, 0)
|
||||||
){
|
){
|
||||||
func_80320004(BKPROG_D_BEEHIVE_TEXT, 1);
|
func_80320004(BKPROG_D_BEEHIVE_TEXT, 1);
|
||||||
}
|
}
|
||||||
|
@@ -6,34 +6,34 @@
|
|||||||
extern void actor_setOpacity(Actor*,s32);
|
extern void actor_setOpacity(Actor*,s32);
|
||||||
extern void func_8035644C(u32);
|
extern void func_8035644C(u32);
|
||||||
|
|
||||||
bool chcollectable_collectItem(Actor*, u32, enum asset_e, enum comusic_e, enum item_e, f32);
|
bool chCollectible_collectItem(Actor*, u32, enum asset_e, enum comusic_e, enum item_e, f32);
|
||||||
Actor *chCollectable_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
Actor *chCollectible_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
||||||
void chCollectable_update(Actor *this);
|
void chCollectible_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
extern ActorInfo D_80367D00 = {
|
extern ActorInfo D_80367D00 = {
|
||||||
MARKER_60_BLUE_EGG_COLLECTABLE, ACTOR_52_BLUE_EGG, ASSET_36D_SPRITE_BLUE_EGG,
|
MARKER_60_BLUE_EGG_COLLECTIBLE, ACTOR_52_BLUE_EGG, ASSET_36D_SPRITE_BLUE_EGG,
|
||||||
0, NULL,
|
0, NULL,
|
||||||
chCollectable_update, func_80326224, chCollectable_draw,
|
chCollectible_update, func_80326224, chCollectible_draw,
|
||||||
0, 0, 0.7f, 0
|
0, 0, 0.7f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ActorInfo D_80367D24 = {
|
extern ActorInfo D_80367D24 = {
|
||||||
MARKER_B5_RED_FEATHER_COLLECTABLE, ACTOR_129_RED_FEATHER, ASSET_580_SPRITE_RED_FEATHER,
|
MARKER_B5_RED_FEATHER_COLLECTIBLE, ACTOR_129_RED_FEATHER, ASSET_580_SPRITE_RED_FEATHER,
|
||||||
0, NULL,
|
0, NULL,
|
||||||
chCollectable_update, func_80326224, chCollectable_draw,
|
chCollectible_update, func_80326224, chCollectible_draw,
|
||||||
0, 0, 0.5f, 0
|
0, 0, 0.5f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ActorInfo D_80367D48 = {
|
extern ActorInfo D_80367D48 = {
|
||||||
MARKER_1E5_GOLD_FEATHER_COLLECTABLE, ACTOR_370_GOLD_FEATHER, ASSET_6D1_SPRITE_GOLDFEATHTER,
|
MARKER_1E5_GOLD_FEATHER_COLLECTIBLE, ACTOR_370_GOLD_FEATHER, ASSET_6D1_SPRITE_GOLDFEATHTER,
|
||||||
0, NULL,
|
0, NULL,
|
||||||
chCollectable_update, func_80326224, chCollectable_draw,
|
chCollectible_update, func_80326224, chCollectible_draw,
|
||||||
0, 0, 0.5f, 0
|
0, 0, 0.5f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void chcollectable_setState(Actor *arg0, s32 next_state){
|
void chCollectible_setState(Actor *arg0, s32 next_state){
|
||||||
switch(next_state){
|
switch(next_state){
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -55,15 +55,15 @@ void func_802D8C98(Actor *this, s32 arg1) {
|
|||||||
|
|
||||||
switch (this->marker->unk14_20)
|
switch (this->marker->unk14_20)
|
||||||
{
|
{
|
||||||
case MARKER_60_BLUE_EGG_COLLECTABLE:
|
case MARKER_60_BLUE_EGG_COLLECTIBLE:
|
||||||
phi_v0 = TRUE;
|
phi_v0 = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_B5_RED_FEATHER_COLLECTABLE:
|
case MARKER_B5_RED_FEATHER_COLLECTIBLE:
|
||||||
phi_v0 = (arg1 == 1) || (arg1 == 2) || (arg1 == 3);
|
phi_v0 = (arg1 == 1) || (arg1 == 2) || (arg1 == 3);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1E5_GOLD_FEATHER_COLLECTABLE:
|
case MARKER_1E5_GOLD_FEATHER_COLLECTIBLE:
|
||||||
phi_v0 = TRUE;
|
phi_v0 = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -73,10 +73,10 @@ void func_802D8C98(Actor *this, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this->unk10_12 = arg1;
|
this->unk10_12 = arg1;
|
||||||
chcollectable_setState(this, (phi_v0 ) ? 2 : 3);
|
chCollectible_setState(this, (phi_v0 ) ? 2 : 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool chcollectable_collectItem(Actor* actor, u32 arg1, enum asset_e dialogId, enum comusic_e sfxId, enum item_e itemId, f32 arg5){
|
bool chCollectible_collectItem(Actor* actor, u32 arg1, enum asset_e dialogId, enum comusic_e sfxId, enum item_e itemId, f32 arg5){
|
||||||
func_8025A6EC(sfxId,32000);
|
func_8025A6EC(sfxId,32000);
|
||||||
timedFunc_set_1(0.75f, (GenMethod_1)func_8035644C, arg1);
|
timedFunc_set_1(0.75f, (GenMethod_1)func_8035644C, arg1);
|
||||||
if(!func_802FADD4(0x1b)){
|
if(!func_802FADD4(0x1b)){
|
||||||
@@ -89,37 +89,37 @@ bool chcollectable_collectItem(Actor* actor, u32 arg1, enum asset_e dialogId, en
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
actor->unk60 = arg5;
|
actor->unk60 = arg5;
|
||||||
chcollectable_setState(actor, 1);
|
chCollectible_setState(actor, 1);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 chcollectable_collectEgg(ActorProp *arg0){
|
s32 chCollectible_collectEgg(ActorProp *arg0){
|
||||||
Actor *actPtr = NULL;
|
Actor *actPtr = NULL;
|
||||||
if(arg0 != NULL){
|
if(arg0 != NULL){
|
||||||
fxSparkle_blueEgg(&arg0->x);
|
fxSparkle_blueEgg(&arg0->x);
|
||||||
if(arg0->unk8_0)
|
if(arg0->unk8_0)
|
||||||
actPtr = marker_getActor(arg0->marker);
|
actPtr = marker_getActor(arg0->marker);
|
||||||
}
|
}
|
||||||
chcollectable_collectItem(actPtr, 5, 0xD9E, COMUSIC_C_EGG_COLLECTED, 0xD, 2.0f);
|
chCollectible_collectItem(actPtr, 5, 0xD9E, COMUSIC_C_EGG_COLLECTED, 0xD, 2.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void chcollectable_collectRedFeather(ActorProp *arg0){
|
void chCollectible_collectRedFeather(ActorProp *arg0){
|
||||||
Actor *actPtr = NULL;
|
Actor *actPtr = NULL;
|
||||||
fxSparkle_redFeather(&arg0->x);
|
fxSparkle_redFeather(&arg0->x);
|
||||||
if(arg0->unk8_0)
|
if(arg0->unk8_0)
|
||||||
actPtr = marker_getActor(arg0->marker);
|
actPtr = marker_getActor(arg0->marker);
|
||||||
chcollectable_collectItem(actPtr, 6, 0xD9F, COMUSIC_B_RED_FEATHER_COLLECTED, 0xF, 4.0f);
|
chCollectible_collectItem(actPtr, 6, 0xD9F, COMUSIC_B_RED_FEATHER_COLLECTED, 0xF, 4.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void chcollectable_collectGoldFeather(ActorProp *arg0){
|
void chCollectible_collectGoldFeather(ActorProp *arg0){
|
||||||
Actor *actPtr = NULL;
|
Actor *actPtr = NULL;
|
||||||
fxSparkle_goldFeather(&arg0->x);
|
fxSparkle_goldFeather(&arg0->x);
|
||||||
if(arg0->unk8_0)
|
if(arg0->unk8_0)
|
||||||
actPtr = marker_getActor(arg0->marker);
|
actPtr = marker_getActor(arg0->marker);
|
||||||
chcollectable_collectItem(actPtr, 7, 0xDA0, COMUSIC_14_GOLD_FEATHER_COLLECTED, ITEM_10_GOLD_FEATHER, 6.0f);
|
chCollectible_collectItem(actPtr, 7, 0xDA0, COMUSIC_14_GOLD_FEATHER_COLLECTED, ITEM_10_GOLD_FEATHER, 6.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
Actor *chCollectable_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
Actor *chCollectible_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
||||||
Actor *thisActor = marker_getActor(this);
|
Actor *thisActor = marker_getActor(this);
|
||||||
|
|
||||||
if(thisActor->unk28 != 0.0f){
|
if(thisActor->unk28 != 0.0f){
|
||||||
@@ -136,7 +136,7 @@ Actor *chCollectable_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
|||||||
return thisActor;
|
return thisActor;
|
||||||
}
|
}
|
||||||
|
|
||||||
void chCollectable_update(Actor *this) {
|
void chCollectible_update(Actor *this) {
|
||||||
f32 temp_f0;
|
f32 temp_f0;
|
||||||
f32 temp_f0_2;
|
f32 temp_f0_2;
|
||||||
f32 temp_f2;
|
f32 temp_f2;
|
||||||
@@ -163,7 +163,7 @@ void chCollectable_update(Actor *this) {
|
|||||||
if (this->unk60 > 0.0) {
|
if (this->unk60 > 0.0) {
|
||||||
this->unk60 -= time_getDelta();
|
this->unk60 -= time_getDelta();
|
||||||
} else {
|
} else {
|
||||||
chcollectable_setState(this, 2);
|
chCollectible_setState(this, 2);
|
||||||
}
|
}
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case 3:
|
case 3:
|
@@ -4,44 +4,42 @@
|
|||||||
|
|
||||||
extern bool func_80259254(f32[3], f32, f32, f32);
|
extern bool func_80259254(f32[3], f32, f32, f32);
|
||||||
|
|
||||||
void func_802CBAAC(Actor *this);
|
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80367010[] ={
|
ActorAnimationInfo chCrabAnimations[] ={
|
||||||
{ 0, 0.0f},
|
{ 0, 0.0f},
|
||||||
{0x1DA, 0.8f},
|
{ ASSET_1DA_ANIM_CRAB_IDLE, 0.8f},
|
||||||
{ 0x2C, 2.0f},
|
{ ASSET_2C_ANIM_CRAB_WALK, 2.0f},
|
||||||
{ 0x2C, 1.4f},
|
{ ASSET_2C_ANIM_CRAB_WALK, 1.4f},
|
||||||
{ 0x2C, 0.7f},
|
{ ASSET_2C_ANIM_CRAB_WALK, 0.7f},
|
||||||
{ 0x96, 0.5f},
|
{ ASSET_96_ANIM_CRAB_UPSIDEDOWN, 0.5f},
|
||||||
{ 0x97, 0.8f},
|
{ ASSET_97_ANIM_CRAB_FLIP_UPSIDEDOWN, 0.8f},
|
||||||
{0x155, 0.55f},
|
{ ASSET_155_ANIM_CRAB_FLIP_UPRIGHT, 0.55f},
|
||||||
{ 0x2C, 1.4f},
|
{ ASSET_2C_ANIM_CRAB_WALK, 1.4f},
|
||||||
{ 0x2C, 4.0f}
|
{ ASSET_2C_ANIM_CRAB_WALK, 4.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorAnimationInfo D_80367060[] = {
|
ActorAnimationInfo chCrabMutantAnimations[] = {
|
||||||
{0x000, 0.0f},
|
{0x000, 0.0f},
|
||||||
{0x1DB, 0.8f},
|
{ASSET_1DB_ANIM_MUTANT_CRAB_IDLE, 0.8f},
|
||||||
{0x156, 2.0f},
|
{ASSET_156_ANIM_MUTANT_CRAB_WALK, 2.0f},
|
||||||
{0x156, 1.4f},
|
{ASSET_156_ANIM_MUTANT_CRAB_WALK, 1.4f},
|
||||||
{0x156, 0.7f},
|
{ASSET_156_ANIM_MUTANT_CRAB_WALK, 0.7f},
|
||||||
{0x158, 0.5f},
|
{ASSET_158_ANIM_MUTANT_CRAB_UPSIDEDOWN, 0.5f},
|
||||||
{0x157, 0.8f},
|
{ASSET_157_ANIM_MUTANT_CRAB_FLIP_UPSIDEDOWN, 0.8f},
|
||||||
{0x159, 0.55f},
|
{ASSET_159_ANIM_MUTANT_CRAB_UPRIGHT, 0.55f},
|
||||||
{0x156, 1.4f},
|
{ASSET_156_ANIM_MUTANT_CRAB_WALK, 1.4f},
|
||||||
{0x156, 2.0f}
|
{ASSET_156_ANIM_MUTANT_CRAB_WALK, 2.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_802CB040(Actor *this) {
|
void __chCrab_802CB040(Actor *this) {
|
||||||
this->unk28 = randf2(1.5f, 2.3f);
|
this->unk28 = randf2(1.5f, 2.3f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB078(Actor *this) {
|
void __chCrab_802CB078(Actor *this) {
|
||||||
u32 temp_t9;
|
u32 temp_t9;
|
||||||
|
|
||||||
if ((this->modelCacheIndex != 0xF2) || func_8038B550()) {
|
if ((this->modelCacheIndex != ACTOR_F2_BLACK_SNIPPET) || func_8038B550()) {
|
||||||
temp_t9 = (u32) this->unk38_31 >> 0x16;
|
temp_t9 = (u32) this->unk38_31 >> 0x16;
|
||||||
if (this->unk38_31 != 0) {
|
if (this->unk38_31 != 0) {
|
||||||
this->unk38_31--;
|
this->unk38_31--;
|
||||||
@@ -49,7 +47,7 @@ void func_802CB078(Actor *this) {
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if( func_80329530(this, 1500)
|
if( func_80329530(this, 1500)
|
||||||
&& ( (this->modelCacheIndex == 0xF2) || func_803292E0(this))
|
&& ( (this->modelCacheIndex == ACTOR_F2_BLACK_SNIPPET) || func_803292E0(this))
|
||||||
) {
|
) {
|
||||||
this->unk28 = 0.0f;
|
this->unk28 = 0.0f;
|
||||||
func_80328A84(this, 3U);
|
func_80328A84(this, 3U);
|
||||||
@@ -58,42 +56,42 @@ void func_802CB078(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB140(Actor *this) {
|
void __chCrab_802CB140(Actor *this) {
|
||||||
func_80328A84(this, 2U);
|
func_80328A84(this, 2U);
|
||||||
func_802CB040(this);
|
__chCrab_802CB040(this);
|
||||||
func_80328CEC(this, (s32) this->yaw_ideal, 135, 175);
|
func_80328CEC(this, (s32) this->yaw_ideal, 135, 175);
|
||||||
this->unk38_31 = 150;
|
this->unk38_31 = 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB1A4(ActorMarker *marker, ActorMarker *other){
|
void __chCrab_touch(ActorMarker *marker, ActorMarker *other){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
if ((this->state == 4) && func_803294F0(this, 80, func_80329784(this))) {
|
if ((this->state == 4) && func_803294F0(this, 80, func_80329784(this))) {
|
||||||
FUNC_8030E8B4(SFX_1E_HITTING_AN_ENEMY_2, 1.0f, 28000, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_1E_HITTING_AN_ENEMY_2, 1.0f, 28000, this->position, 950, 1900);
|
||||||
func_802CB140(this);
|
__chCrab_802CB140(this);
|
||||||
func_80328A84(this, 1);
|
func_80328A84(this, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB22C(ActorMarker *marker, ActorMarker *other) {
|
void __chCrab_ow(ActorMarker *marker, ActorMarker *other) {
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
this->unk60 = 3.0f;
|
this->unk60 = 3.0f;
|
||||||
func_80328A84(this, 6);
|
func_80328A84(this, 6);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
if (marker->unk14_20 == 0x13) {
|
if (marker->unk14_20 == MARKER_13_SNIPPET) {
|
||||||
FUNC_8030E8B4(SFX_6E_VILE_EGH, 2.0f, 26000, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_6E_VILE_EGH, 2.0f, 26000, this->position, 950, 1900);
|
||||||
marker->unk14_20 = 0x16B;
|
marker->unk14_20 = MARKER_16B_SNIPPET_UPSIDEDOWN;
|
||||||
}
|
}
|
||||||
if (marker->unk14_20 == 0xDD) {
|
if (marker->unk14_20 == MARKER_DD_BLACK_SNIPPET) {
|
||||||
FUNC_8030E8B4(SFX_6E_VILE_EGH, 2.0f, 26000, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_6E_VILE_EGH, 2.0f, 26000, this->position, 950, 1900);
|
||||||
marker->unk14_20 = 0xDE;
|
marker->unk14_20 = MARKER_DE_BLACK_SNIPPET_UPSIDEDOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB310(ParticleEmitter *p_ctrl, f32 position[3]) {
|
void __chCrab_particleEmitterSetup(ParticleEmitter *p_ctrl, f32 position[3]) {
|
||||||
particleEmitter_setPosition(p_ctrl, position);
|
particleEmitter_setPosition(p_ctrl, position);
|
||||||
particleEmitter_setDrawMode(p_ctrl, 2);
|
particleEmitter_setDrawMode(p_ctrl, 2);
|
||||||
func_802EF9F8(p_ctrl, 0.7f);
|
func_802EF9F8(p_ctrl, 0.7f);
|
||||||
@@ -106,8 +104,8 @@ void func_802CB310(ParticleEmitter *p_ctrl, f32 position[3]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_802CB3C8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||||
func_802CB310(p_ctrl, position);
|
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(p_ctrl, model_id);
|
particleEmitter_setModel(p_ctrl, model_id);
|
||||||
func_802EFB70(p_ctrl, 0.5f, 0.8f);
|
func_802EFB70(p_ctrl, 0.5f, 0.8f);
|
||||||
@@ -116,8 +114,8 @@ void func_802CB3C8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_
|
|||||||
particleEmitter_emitN(p_ctrl, 2);
|
particleEmitter_emitN(p_ctrl, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB4B8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||||
func_802CB310(p_ctrl, position);
|
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(p_ctrl, model_id);
|
particleEmitter_setModel(p_ctrl, model_id);
|
||||||
func_802EFB70(p_ctrl, 0.5f, 0.8f);
|
func_802EFB70(p_ctrl, 0.5f, 0.8f);
|
||||||
@@ -126,8 +124,8 @@ void func_802CB4B8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_
|
|||||||
particleEmitter_emitN(p_ctrl, 6);
|
particleEmitter_emitN(p_ctrl, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB5A8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
void __chCrab_emitHeadPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||||
func_802CB310(p_ctrl, position);
|
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(p_ctrl, model_id);
|
particleEmitter_setModel(p_ctrl, model_id);
|
||||||
func_802EFB70(p_ctrl, 1.0f, 1.0f);
|
func_802EFB70(p_ctrl, 1.0f, 1.0f);
|
||||||
@@ -136,20 +134,20 @@ void func_802CB5A8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_
|
|||||||
particleEmitter_emitN(p_ctrl, 1);
|
particleEmitter_emitN(p_ctrl, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB6A0(void) {
|
void __chCrab_spawn_mutant_crab_jiggy(void) {
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
|
|
||||||
sp1C[0] = 13814.0f;
|
sp1C[0] = 13814.0f;
|
||||||
sp1C[1] = 3812.0f;
|
sp1C[1] = 3812.0f;
|
||||||
sp1C[2] = 0.0f;
|
sp1C[2] = 0.0f;
|
||||||
jiggySpawn(0x16U, sp1C);
|
jiggySpawn(JIGGY_16_CC_SNIPPETS, sp1C);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB6E4(ActorMarker *caller, enum asset_e text_id, s32 model_id){
|
void __chCrab_mutantTextCallback(ActorMarker *caller, enum asset_e text_id, s32 model_id){
|
||||||
if (text_id == 0xD33) {
|
if (text_id == ASSET_D33_DIALOG_MUTANT_CRAB_DEFEAT) {
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timed_setCameraToNode(0.0f, 4);
|
timed_setCameraToNode(0.0f, 4);
|
||||||
timedFunc_set_0(0.1f, func_802CB6A0);
|
timedFunc_set_0(0.1f, __chCrab_spawn_mutant_crab_jiggy);
|
||||||
func_80324E88(3.0f);
|
func_80324E88(3.0f);
|
||||||
func_80324E38(3.0f, 0);
|
func_80324E38(3.0f, 0);
|
||||||
return;
|
return;
|
||||||
@@ -157,28 +155,28 @@ void func_802CB6E4(ActorMarker *caller, enum asset_e text_id, s32 model_id){
|
|||||||
levelSpecificFlags_set(0xE, FALSE);
|
levelSpecificFlags_set(0xE, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_802CB76C(ActorMarker *marker, ActorMarker *other) {
|
bool __chCrab_802CB76C(ActorMarker *marker, ActorMarker *other) {
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
if ((this->modelCacheIndex == 0xF2) && !func_8038B550()) {
|
if ((this->modelCacheIndex == ACTOR_F2_BLACK_SNIPPET) && !func_8038B550()) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CB7C0(ActorMarker *marker, ActorMarker *other){
|
void __chCrab_die(ActorMarker *marker, ActorMarker *other){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
f32 sp48[3];
|
f32 jiggy_spawn_position[3];
|
||||||
f32 sp44;
|
f32 sp44;
|
||||||
bool sp40;
|
bool is_mutant_snippet;
|
||||||
bool sp3C;
|
bool is_black_snippet;
|
||||||
s32 phi_a2;
|
s32 model_id;
|
||||||
ParticleEmitter *p_ctrl;
|
ParticleEmitter *p_ctrl;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
sp40 = this->modelCacheIndex == 0xF5;
|
is_mutant_snippet = this->modelCacheIndex == ACTOR_F5_MUTIE_SNIPPET;
|
||||||
sp3C = this->modelCacheIndex == 0xF2;
|
is_black_snippet = this->modelCacheIndex == ACTOR_F2_BLACK_SNIPPET;
|
||||||
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 32750, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 32750, this->position, 950, 1900);
|
||||||
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 28000, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 28000, this->position, 950, 1900);
|
||||||
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2]));
|
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2]));
|
||||||
@@ -191,28 +189,34 @@ void func_802CB7C0(ActorMarker *marker, ActorMarker *other){
|
|||||||
) {
|
) {
|
||||||
this->depth_mode = MODEL_RENDER_DEPTH_COMPARE;
|
this->depth_mode = MODEL_RENDER_DEPTH_COMPARE;
|
||||||
if( !jiggyscore_isCollected(JIGGY_16_CC_SNIPPETS)
|
if( !jiggyscore_isCollected(JIGGY_16_CC_SNIPPETS)
|
||||||
&& ((actorArray_findClosestActorFromActorId(this->position, 0xF5, -1, &sp44) == NULL) || (3000.0f < sp44))) {
|
&& ((actorArray_findClosestActorFromActorId(this->position, ACTOR_F5_MUTIE_SNIPPET, -1, &sp44) == NULL) || (3000.0f < sp44))) {
|
||||||
sp48[0] = 13814.0f;
|
jiggy_spawn_position[0] = 13814.0f;
|
||||||
sp48[1] = 3812.0f;
|
jiggy_spawn_position[1] = 3812.0f;
|
||||||
sp48[2] = 0.0f;
|
jiggy_spawn_position[2] = 0.0f;
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||||
func_80324DBC(2.25f, 0xD33, 0xF, sp48, NULL, func_802CB6E4, NULL);
|
func_80324DBC(2.25f, ASSET_D33_DIALOG_MUTANT_CRAB_DEFEAT, 0xF, jiggy_spawn_position, NULL, __chCrab_mutantTextCallback, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p_ctrl = partEmitMgr_newEmitter(2);
|
p_ctrl = partEmitMgr_newEmitter(2);
|
||||||
phi_a2 = (sp40) ? 0x392 : (sp3C) ? 0x569 : 0x38C;
|
model_id = (is_mutant_snippet) ? ASSET_392_MODEL_MUTANT_CRAB_CLAW
|
||||||
func_802CB3C8(p_ctrl, this->position, phi_a2);
|
: (is_black_snippet) ? ASSET_569_MODEL_BLACK_CRAB_CLAW
|
||||||
|
: ASSET_38C_MODEL_CRAB_CLAW;
|
||||||
|
__chCrab_emitClawPiece(p_ctrl, this->position, model_id);
|
||||||
|
|
||||||
p_ctrl = partEmitMgr_newEmitter(6);
|
p_ctrl = partEmitMgr_newEmitter(6);
|
||||||
phi_a2 = (sp40) ? 0x391 : (sp3C) ? 0x568 : 0x38D;
|
model_id = (is_mutant_snippet) ? ASSET_391_MODEL_MUTANT_CRAB_LEG
|
||||||
func_802CB4B8(p_ctrl, this->position, phi_a2);
|
: (is_black_snippet) ? ASSET_568_MODEL_BLACK_CRAB_LEG
|
||||||
|
: ASSET_38D_MODEL_CRAB_LEG;
|
||||||
|
__chCrab_emitLegPiece(p_ctrl, this->position, model_id);
|
||||||
|
|
||||||
p_ctrl = partEmitMgr_newEmitter(1);
|
p_ctrl = partEmitMgr_newEmitter(1);
|
||||||
phi_a2 = (sp40) ? 0x390 : (sp3C) ? 0x567 : 0x38E;
|
model_id = (is_mutant_snippet) ? ASSET_390_MODEL_MUTANT_CRAB_HEAD
|
||||||
func_802CB5A8(p_ctrl, this->position, phi_a2);
|
: (is_black_snippet) ? ASSET_567_MODEL_BLACK_CRAB_HEAD
|
||||||
|
: ASSET_38E_MODEL_CRAB_HEAD;
|
||||||
|
__chCrab_emitHeadPiece(p_ctrl, this->position, model_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CBA34(Actor *this) {
|
void __chCrab_walkSfxUpdate(Actor *this) {
|
||||||
if (actor_animationIsAt(this, 0.4f)) {
|
if (actor_animationIsAt(this, 0.4f)) {
|
||||||
FUNC_8030E8B4(SFX_3D_TICKER_WALKING, 0.85f, 15000, this->position, 950, 1900);
|
FUNC_8030E8B4(SFX_3D_TICKER_WALKING, 0.85f, 15000, this->position, 950, 1900);
|
||||||
}
|
}
|
||||||
@@ -221,19 +225,19 @@ void func_802CBA34(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CBAAC(Actor *this) {
|
void chCrab_update(Actor *this) {
|
||||||
s32 sp34;
|
s32 sp34;
|
||||||
f32 sp30;
|
f32 sp30;
|
||||||
s32 sp2C;
|
bool is_mutant_snippet;
|
||||||
static s32 D_803670B0 = 0;
|
static s32 D_803670B0 = 0;
|
||||||
static s32 D_803670B4 = 0;
|
static s32 D_803670B4 = 0;
|
||||||
|
|
||||||
sp34 = func_8023DB5C();
|
sp34 = func_8023DB5C();
|
||||||
sp30 = time_getDelta();
|
sp30 = time_getDelta();
|
||||||
sp2C = this->modelCacheIndex == 0xF5;
|
is_mutant_snippet = this->modelCacheIndex == ACTOR_F5_MUTIE_SNIPPET;
|
||||||
if (!this->unk16C_4) {
|
if (!this->unk16C_4) {
|
||||||
marker_setCollisionScripts(this->marker, func_802CB1A4, func_802CB22C, func_802CB7C0);
|
marker_setCollisionScripts(this->marker, __chCrab_touch, __chCrab_ow, __chCrab_die);
|
||||||
func_803300C0(this->marker, &func_802CB76C);
|
func_803300C0(this->marker, &__chCrab_802CB76C);
|
||||||
this->unk124_0 = this->unk138_31 = FALSE;
|
this->unk124_0 = this->unk138_31 = FALSE;
|
||||||
this->unk138_24 = FALSE;
|
this->unk138_24 = FALSE;
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
@@ -260,13 +264,13 @@ void func_802CBAAC(Actor *this) {
|
|||||||
}
|
}
|
||||||
if( (map_get() == MAP_B_CC_CLANKERS_CAVERN)
|
if( (map_get() == MAP_B_CC_CLANKERS_CAVERN)
|
||||||
&& !mapSpecificFlags_get(0)
|
&& !mapSpecificFlags_get(0)
|
||||||
&& sp2C
|
&& is_mutant_snippet
|
||||||
&& !jiggyscore_isCollected(JIGGY_16_CC_SNIPPETS)
|
&& !jiggyscore_isCollected(JIGGY_16_CC_SNIPPETS)
|
||||||
&& func_80329530(this, 500) && !func_80329530(this, 200)
|
&& func_80329530(this, 500) && !func_80329530(this, 200)
|
||||||
&& !func_8028ECAC()
|
&& !func_8028ECAC()
|
||||||
) {
|
) {
|
||||||
if ((this->state != 6) && (this->state != 5)) {
|
if ((this->state != 6) && (this->state != 5)) {
|
||||||
func_80311480(0xD32, 0xF, this->position, NULL, func_802CB6E4, NULL);
|
func_80311480(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL);
|
||||||
mapSpecificFlags_set(0, TRUE);
|
mapSpecificFlags_set(0, TRUE);
|
||||||
levelSpecificFlags_set(0xE, TRUE);
|
levelSpecificFlags_set(0xE, TRUE);
|
||||||
this->unk138_24 = TRUE;
|
this->unk138_24 = TRUE;
|
||||||
@@ -296,9 +300,9 @@ void func_802CBAAC(Actor *this) {
|
|||||||
switch(this->state){
|
switch(this->state){
|
||||||
case 1: //L802CBE30
|
case 1: //L802CBE30
|
||||||
if (func_80328B38(this, 2, 0.03f)) {
|
if (func_80328B38(this, 2, 0.03f)) {
|
||||||
func_802CB040(this);
|
__chCrab_802CB040(this);
|
||||||
}
|
}
|
||||||
func_802CB078(this);
|
__chCrab_802CB078(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9: //L802CBE6C
|
case 9: //L802CBE6C
|
||||||
@@ -309,13 +313,13 @@ void func_802CBAAC(Actor *this) {
|
|||||||
|
|
||||||
case 2: //L802CBE9C
|
case 2: //L802CBE9C
|
||||||
func_80328FB0(this, 1.0f);
|
func_80328FB0(this, 1.0f);
|
||||||
if( func_8032CA80(this, (this->modelCacheIndex == 0xF2)? 0xD: 0)
|
if( func_8032CA80(this, (this->modelCacheIndex == ACTOR_F2_BLACK_SNIPPET)? 0xD: 0)
|
||||||
&& func_80329480(this)
|
&& func_80329480(this)
|
||||||
) {
|
) {
|
||||||
func_80328CEC(this, (s32) this->yaw, 90, 150);
|
func_80328CEC(this, (s32) this->yaw, 90, 150);
|
||||||
}
|
}
|
||||||
func_80328BD4(this, 1, 0.0f, 1, 0.0075f);
|
func_80328BD4(this, 1, 0.0f, 1, 0.0075f);
|
||||||
func_802CB078(this);
|
__chCrab_802CB078(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: //L802CBF44
|
case 3: //L802CBF44
|
||||||
@@ -343,8 +347,8 @@ void func_802CBAAC(Actor *this) {
|
|||||||
this->yaw_ideal = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
}
|
}
|
||||||
func_80328FB0(this, 7.0f);
|
func_80328FB0(this, 7.0f);
|
||||||
if (func_8032CA80(this, (this->modelCacheIndex == 0xF2)? 0xD : 0)) {
|
if (func_8032CA80(this, (this->modelCacheIndex == ACTOR_F2_BLACK_SNIPPET)? 0xD : 0)) {
|
||||||
func_802CB140(this);
|
__chCrab_802CB140(this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -354,10 +358,10 @@ void func_802CBAAC(Actor *this) {
|
|||||||
func_80328A84(this, 7);
|
func_80328A84(this, 7);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
if (this->marker->unk14_20 == 0x16B) {
|
if (this->marker->unk14_20 == 0x16B) {
|
||||||
this->marker->unk14_20 = 0x13;
|
this->marker->unk14_20 = MARKER_13_SNIPPET;
|
||||||
}
|
}
|
||||||
if (this->marker->unk14_20 == 0xDE) {
|
if (this->marker->unk14_20 == 0xDE) {
|
||||||
this->marker->unk14_20 = 0xDD;
|
this->marker->unk14_20 = MARKER_DD_BLACK_SNIPPET;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -385,16 +389,16 @@ void func_802CBAAC(Actor *this) {
|
|||||||
if (sp34 != D_803670B0) {
|
if (sp34 != D_803670B0) {
|
||||||
D_803670B0 = sp34;
|
D_803670B0 = sp34;
|
||||||
D_803670B4 = 1;
|
D_803670B4 = 1;
|
||||||
func_802CBA34(this);
|
__chCrab_walkSfxUpdate(this);
|
||||||
}
|
}
|
||||||
else if (D_803670B4 != 0) {
|
else if (D_803670B4 != 0) {
|
||||||
D_803670B4--;
|
D_803670B4--;
|
||||||
func_802CBA34(this);
|
__chCrab_walkSfxUpdate(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, D_80367010, func_802CBAAC, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
||||||
ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, D_80367010, func_802CBAAC, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
||||||
ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, D_80367060, func_802CBAAC, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, chCrabMutantAnimations, chCrab_update, func_80326224, func_80325888, 1900, 0, 0.8f, 0};
|
@@ -16,24 +16,24 @@ typedef struct {
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80372F80[] = {
|
ActorAnimationInfo D_80372F80[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x9A, 8000000.0f},
|
{ASSET_9A_ANIM_GRAVESTONE_IDLE, 8000000.0f},
|
||||||
{0x9A, 1.3f},
|
{ASSET_9A_ANIM_GRAVESTONE_IDLE, 1.3f},
|
||||||
{0x9B, 0.6f},
|
{ASSET_9B_ANIM_GRAVESTONE_WALK, 0.6f},
|
||||||
{0x9B, 0.75f},
|
{ASSET_9B_ANIM_GRAVESTONE_WALK, 0.75f},
|
||||||
{0x9A, 1.5f},
|
{ASSET_9A_ANIM_GRAVESTONE_IDLE, 1.5f},
|
||||||
{0x1ED, 1.0f},
|
{ASSET_1ED_ANIM_GRAVESTONE_OW, 1.0f},
|
||||||
{0x1EE, 2.4f}
|
{ASSET_1EE_ANIM_GRAVESTONE_DIE, 2.4f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80372FC0 = {
|
ActorInfo D_80372FC0 = {
|
||||||
MARKER_96_RIPPER, ACTOR_C7_RIPPER, ASSET_3C9_MODEL_RIPPER,
|
MARKER_96_GRAVESTONE, ACTOR_C7_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE,
|
||||||
0x1, D_80372F80,
|
0x1, D_80372F80,
|
||||||
func_8035F138, func_80326224, func_8035ECA0,
|
func_8035F138, func_80326224, func_8035ECA0,
|
||||||
3500, 0, 1.2f, 0
|
3500, 0, 1.2f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80372FE4 = {
|
ActorInfo D_80372FE4 = {
|
||||||
MARKER_297_GIANT_RIPPER, ACTOR_3C2_GIANT_RIPPER, ASSET_3C9_MODEL_RIPPER,
|
MARKER_297_GIANT_GRAVESTONE, ACTOR_3C2_GIANT_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE,
|
||||||
0x1, D_80372F80,
|
0x1, D_80372F80,
|
||||||
func_8035F138, func_80326224, func_8035ECA0,
|
func_8035F138, func_80326224, func_8035ECA0,
|
||||||
14000, 0, 3.2f, 0
|
14000, 0, 3.2f, 0
|
@@ -5,28 +5,28 @@
|
|||||||
extern f32 func_8028EBA4();
|
extern f32 func_8028EBA4();
|
||||||
AnimCtrl *player_getAnimCtrlPtr(void);
|
AnimCtrl *player_getAnimCtrlPtr(void);
|
||||||
|
|
||||||
Actor *func_802C80C0(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
Actor *__chJigsawDance_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
||||||
void func_802C811C(Actor * this);
|
void __chJigsawDance_update(Actor * this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_803662D0[] = {
|
ActorAnimationInfo chJigsawDanceAnimations[] = {
|
||||||
{0x00, 0.0f},
|
{0x00, 0.0f},
|
||||||
{0x00, 2.0f},
|
{0x00, 2.0f},
|
||||||
{0x76, 1.5f},
|
{ASSET_76_ANIM_JIGSAWDANCE_HOLD, 1.5f},
|
||||||
{0x76, 1.5f},
|
{ASSET_76_ANIM_JIGSAWDANCE_HOLD, 1.5f},
|
||||||
{0x30, 5.0f},
|
{ASSET_30_ANIM_JIGSAWDANCE_DANCE, 5.0f},
|
||||||
{0x00, 2.0f}
|
{0x00, 2.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80366300 = {0x68, 0x5A, 0x35E,
|
ActorInfo chJigsawDance = {MARKER_68_JIGSAW_DANCE, ACTOR_5A_JIGSAW_DANCE, ASSET_35E_MODEL_JIGSAW_DANCE,
|
||||||
1, D_803662D0,
|
1, chJigsawDanceAnimations,
|
||||||
func_802C811C, func_80326224, func_802C80C0,
|
__chJigsawDance_update, func_80326224, __chJigsawDance_draw,
|
||||||
0, 0, 0.0f, 0
|
0, 0, 0.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
Actor *func_802C80C0(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
Actor *__chJigsawDance_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
||||||
Actor *thisActor = marker_getActor(this);
|
Actor *thisActor = marker_getActor(this);
|
||||||
|
|
||||||
if(!thisActor->initialized){
|
if(!thisActor->initialized){
|
||||||
@@ -38,7 +38,7 @@ Actor *func_802C80C0(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802C811C(Actor * this){
|
void __chJigsawDance_update(Actor * this){
|
||||||
AnimCtrl *plyrMvmt;
|
AnimCtrl *plyrMvmt;
|
||||||
|
|
||||||
this->marker->collidable = 0;
|
this->marker->collidable = 0;
|
||||||
@@ -77,7 +77,7 @@ void func_802C811C(Actor * this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802C82C0(Actor * this, u32 arg1){
|
void chJigsawDance_setState(Actor * this, u32 arg1){
|
||||||
switch(arg1){
|
switch(arg1){
|
||||||
case 3:
|
case 3:
|
||||||
if(this->state == 1){
|
if(this->state == 1){
|
||||||
|
@@ -8,51 +8,46 @@ extern void func_80329904(ActorMarker*, s32, f32*);
|
|||||||
extern void func_80326310(Actor *);
|
extern void func_80326310(Actor *);
|
||||||
extern void func_8032BB88(Actor *, s32, s32);
|
extern void func_8032BB88(Actor *, s32, s32);
|
||||||
|
|
||||||
void func_802CDD78(Actor *this);
|
void chJinjo_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_803671B0[] = {
|
ActorAnimationInfo chJinjoAnimations[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x2D, 1000000.0f},
|
{ASSET_2D_ANIM_JINJO_IDLE, 1000000.0f},
|
||||||
{0x2D, 1.5f},
|
{ASSET_2D_ANIM_JINJO_IDLE, 1.5f},
|
||||||
{0x2F, 1.5f},
|
{ASSET_2F_ANIM_JINJO_HELP, 1.5f},
|
||||||
{0x31, 0.75f},
|
{ASSET_31_ANIM_JINJO_JUMP, 0.75f},
|
||||||
{0x2D, 1000000.0f},
|
{ASSET_2D_ANIM_JINJO_IDLE, 1000000.0f},
|
||||||
{0x31, 0.4f},
|
{ASSET_31_ANIM_JINJO_JUMP, 0.4f},
|
||||||
{0x130, 1.75f},
|
{ASSET_130_ANIM_JINJO_FLY_START, 1.75f},
|
||||||
{0x131, 2.13333f},
|
{ASSET_131_ANIM_JINJO_FLY_END, 2.13333f},
|
||||||
{0x31, 0.75f}
|
{ASSET_31_ANIM_JINJO_JUMP, 0.75f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367200 = { 0x5A, 0x60, 0x3C0, 0x1, D_803671B0, func_802CDD78, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo chJinjoBlue = { MARKER_5A_JINJO_BLUE, ACTOR_60_JINJO_BLUE, ASSET_3C0_MODEL_JINJO_BLUE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
ActorInfo D_80367224 = { 0x5B, 0x62, 0x3C2, 0x1, D_803671B0, func_802CDD78, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo chJinjoGreen = { MARKER_5B_JINJO_GREEN, ACTOR_62_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
ActorInfo D_80367248 = { 0x5E, 0x5E, 0x3BB, 0x1, D_803671B0, func_802CDD78, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo chJinjoYellow = { MARKER_5E_JINJO_YELLOW, ACTOR_5E_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
ActorInfo D_8036726C = { 0x5D, 0x61, 0x3C1, 0x1, D_803671B0, func_802CDD78, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo chJinjoPink = { MARKER_5D_JINJO_PINK, ACTOR_61_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
ActorInfo D_80367290 = { 0x5C, 0x5F, 0x3BC, 0x1, D_803671B0, func_802CDD78, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
ActorInfo chJinjoOrange = { MARKER_5C_JINJO_ORANGE, ACTOR_5F_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, func_80325888, 0, 0, 0.0f, 0};
|
||||||
|
|
||||||
s32 func_802CDB50(s32 arg0){
|
enum asset_e __chJinjo_getMeetDialogId(enum marker_e marker_id){
|
||||||
switch(arg0){
|
switch(marker_id){
|
||||||
case 0x5A:
|
case MARKER_5A_JINJO_BLUE: return ASSET_D98_DIALOG_JINJO_MEET_BLUE;
|
||||||
return 0xD98;
|
case MARKER_5B_JINJO_GREEN: return ASSET_D99_DIALOG_JINJO_MEET_GREEN;
|
||||||
case 0x5B:
|
case MARKER_5C_JINJO_ORANGE: return ASSET_D9B_DIALOG_JINJO_MEET_ORANGE;
|
||||||
return 0xD99;
|
case MARKER_5D_JINJO_PINK: return ASSET_D9A_DIALOG_JINJO_MEET_PINK;
|
||||||
case 0x5C:
|
case MARKER_5E_JINJO_YELLOW: return ASSET_D97_DIALOG_JINJO_MEET_YELLOW;
|
||||||
return 0xD9b;
|
|
||||||
case 0x5d:
|
|
||||||
return 0xD9a;
|
|
||||||
case 0x5e:
|
|
||||||
return 0xD97;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CDBA8(ActorMarker *this, s32 arg1){
|
void __chJinjo_802CDBA8(ActorMarker *this, ActorMarker *other){
|
||||||
Actor *actorPtr = marker_getActor(this);
|
Actor *actorPtr = marker_getActor(this);
|
||||||
ActorLocal_Jinjo *localPtr = &actorPtr->jinjo;
|
ActorLocal_Jinjo *localPtr = &actorPtr->jinjo;
|
||||||
|
|
||||||
if(actorPtr->state < 5){
|
if(actorPtr->state < 5){
|
||||||
if(!func_8031FF1C(BKPROG_E_JINJO_TEXT)){
|
if(!func_8031FF1C(BKPROG_E_JINJO_TEXT)){
|
||||||
func_80311480(func_802CDB50(actorPtr->marker->unk14_20), 4, 0, 0, 0, 0);
|
func_80311480(__chJinjo_getMeetDialogId(actorPtr->marker->unk14_20), 4, 0, 0, 0, 0);
|
||||||
func_80320004(BKPROG_E_JINJO_TEXT, 1);
|
func_80320004(BKPROG_E_JINJO_TEXT, 1);
|
||||||
}
|
}
|
||||||
func_80328B8C(actorPtr, 6, 0.0f , -1);
|
func_80328B8C(actorPtr, 6, 0.0f , -1);
|
||||||
@@ -63,7 +58,7 @@ void func_802CDBA8(ActorMarker *this, s32 arg1){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CDC9C(Actor *this, s16 arg1){
|
void __chJinjo_802CDC9C(Actor *this, s16 arg1){
|
||||||
f32 tmpf;
|
f32 tmpf;
|
||||||
|
|
||||||
tmpf = this->yaw;
|
tmpf = this->yaw;
|
||||||
@@ -77,7 +72,7 @@ void func_802CDC9C(Actor *this, s16 arg1){
|
|||||||
this->yaw = tmpf;
|
this->yaw = tmpf;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CDD3C(Actor * this){
|
void __chJinjo_802CDD3C(Actor * this){
|
||||||
ActorLocal_Jinjo *localPtr = &this->jinjo;
|
ActorLocal_Jinjo *localPtr = &this->jinjo;
|
||||||
if(localPtr->unkC != 0){
|
if(localPtr->unkC != 0){
|
||||||
func_802F9D38(localPtr->unkC);
|
func_802F9D38(localPtr->unkC);
|
||||||
@@ -85,7 +80,7 @@ void func_802CDD3C(Actor * this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802CDD78(Actor * this){
|
void chJinjo_update(Actor * this){
|
||||||
f32 sp7C[3];
|
f32 sp7C[3];
|
||||||
f32 sp70[3];
|
f32 sp70[3];
|
||||||
f32 sp6C;
|
f32 sp6C;
|
||||||
@@ -114,8 +109,8 @@ void func_802CDD78(Actor * this){
|
|||||||
local->unk0 = 1;
|
local->unk0 = 1;
|
||||||
local->unk4 = 0;
|
local->unk4 = 0;
|
||||||
local->unk8 = (this->position_y < func_80309B24(this->position));
|
local->unk8 = (this->position_y < func_80309B24(this->position));
|
||||||
this->marker->unkC = func_802CDBA8;
|
this->marker->unkC = __chJinjo_802CDBA8;
|
||||||
marker_setFreeMethod(this->marker, func_802CDD3C);
|
marker_setFreeMethod(this->marker, __chJinjo_802CDD3C);
|
||||||
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
|
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
}
|
}
|
||||||
@@ -168,7 +163,7 @@ void func_802CDD78(Actor * this){
|
|||||||
}//L802CE018
|
}//L802CE018
|
||||||
break;
|
break;
|
||||||
case 6:/* 47094 802CE024 02002025 */
|
case 6:/* 47094 802CE024 02002025 */
|
||||||
func_802CDC9C(this, sp66);
|
__chJinjo_802CDC9C(this, sp66);
|
||||||
if(actor_animationIsAt(this, 0.0f) && --(local->unk0) == 0){
|
if(actor_animationIsAt(this, 0.0f) && --(local->unk0) == 0){
|
||||||
func_80328B8C(this, 7, 0.0f, -1);
|
func_80328B8C(this, 7, 0.0f, -1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
@@ -221,7 +216,7 @@ void func_802CDD78(Actor * this){
|
|||||||
|
|
||||||
if(sp50){
|
if(sp50){
|
||||||
if(animctrl_getAnimTimer(this->animctrl) < 0.2)
|
if(animctrl_getAnimTimer(this->animctrl) < 0.2)
|
||||||
func_802CDC9C(this, sp66);
|
__chJinjo_802CDC9C(this, sp66);
|
||||||
|
|
||||||
if(actor_animationIsAt(this, 0.1f)){
|
if(actor_animationIsAt(this, 0.1f)){
|
||||||
local->unkC = func_802F9AA8(SFX_18_BIGBUTT_SLIDE);
|
local->unkC = func_802F9AA8(SFX_18_BIGBUTT_SLIDE);
|
||||||
@@ -286,8 +281,8 @@ void func_802CDD78(Actor * this){
|
|||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
}//L802CE630
|
}//L802CE630
|
||||||
if(!func_803114B0()){
|
if(!func_803114B0()){
|
||||||
switch(D_803671B0[this->state].index){
|
switch(chJinjoAnimations[this->state].index){
|
||||||
case 0x31:
|
case ASSET_31_ANIM_JINJO_JUMP:
|
||||||
if(actor_animationIsAt(this, 0.6f)){
|
if(actor_animationIsAt(this, 0.6f)){
|
||||||
if(local->unk8){
|
if(local->unk8){
|
||||||
func_8030E988(SFX_8_BANJO_LANDING_04, 1.8f, 18000, sp30, 120.0f, 1200.0f);
|
func_8030E988(SFX_8_BANJO_LANDING_04, 1.8f, 18000, sp30, 120.0f, 1200.0f);
|
||||||
@@ -296,7 +291,7 @@ void func_802CDD78(Actor * this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x2D: //L802CE6F4
|
case ASSET_2D_ANIM_JINJO_IDLE: //L802CE6F4
|
||||||
if(actor_animationIsAt(this, 0.2f)){
|
if(actor_animationIsAt(this, 0.2f)){
|
||||||
if(local->unk8){
|
if(local->unk8){
|
||||||
func_8030E988(SFX_17_JINJO_WHISTLE, 1.0f, 22000, sp30, 120.0f, 1200.0f);
|
func_8030E988(SFX_17_JINJO_WHISTLE, 1.0f, 22000, sp30, 120.0f, 1200.0f);
|
||||||
@@ -305,7 +300,7 @@ void func_802CDD78(Actor * this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x2F: //L802CE760
|
case ASSET_2F_ANIM_JINJO_HELP: //L802CE760
|
||||||
if(actor_animationIsAt(this, 0.2f)){
|
if(actor_animationIsAt(this, 0.2f)){
|
||||||
if(local->unk8){
|
if(local->unk8){
|
||||||
func_8030E988(SFX_27_JINJO_HI, 1.0f, 22000, sp30, 120.0f, 1200.0f);
|
func_8030E988(SFX_27_JINJO_HI, 1.0f, 22000, sp30, 120.0f, 1200.0f);
|
||||||
|
@@ -7,10 +7,10 @@ Actor *func_802D94B4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||||||
void func_802D9830(ActorMarker *marker, enum asset_e arg1, s32 arg2);
|
void func_802D9830(ActorMarker *marker, enum asset_e arg1, s32 arg2);
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
s16 unk0;
|
s16 learn_text;
|
||||||
s16 unk2;
|
s16 refresher_text;
|
||||||
s8 unk4;
|
s8 camera_node;
|
||||||
s8 unk5;
|
s8 ability;
|
||||||
} struct_core2_52290;
|
} struct_core2_52290;
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
@@ -31,16 +31,16 @@ ActorInfo D_80367DA0= {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct_core2_52290 D_80367DC4[] = {
|
struct_core2_52290 D_80367DC4[] = {
|
||||||
{0x0C23, 0x0C24, 0x0F, ABILITY_1_BEAK_BOMB},
|
{ASSET_C23_DIALOG_BEAKBOMB_LEARN, ASSET_C24_DIALOG_BEAKBOMB_REFRESHER, 0x0F, ABILITY_1_BEAK_BOMB},
|
||||||
{0x0B47, 0x0B4B, 0x16, ABILITY_6_EGGS},
|
{ASSET_B47_DIALOG_EGGS_LEARN, ASSET_B4B_DIALOG_EGGS_REFRESHER, 0x16, ABILITY_6_EGGS},
|
||||||
{0x0B48, 0x0B4C, 0x17, ABILITY_2_BEAK_BUSTER},
|
{ASSET_B48_DIALOG_BEAKBUSTER_LEARN, ASSET_B4C_DIALOG_BEAKBUSTER_REFRESHER, 0x17, ABILITY_2_BEAK_BUSTER},
|
||||||
{0x0B49, 0x0B4A, 0x18, ABILITY_10_TALON_TROT},
|
{ASSET_B49_DIALOG_TALON_TROT_LEARN, ASSET_B4A_DIALOG_TALON_TROT_REFRESHER, 0x18, ABILITY_10_TALON_TROT},
|
||||||
{0x0A1F, 0x0A23, 0x0C, ABILITY_D_SHOCK_JUMP},
|
{ASSET_A1F_DIALOG_SHOCKJUMP_LEARN, ASSET_A23_DIALOG_SHOCKJUMP_REFRESHER, 0x0C, ABILITY_D_SHOCK_JUMP},
|
||||||
{0x0A20, 0x0A22, 0x0D, ABILITY_9_FLY},
|
{ASSET_A20_DIALOG_FLY_LEARN, ASSET_A22_DIALOG_FLY_REFRESHER, 0x0D, ABILITY_9_FLY},
|
||||||
{0x0D35, 0x0D36, 0x01, ABILITY_12_WONDERWING},
|
{ASSET_D35_DIALOG_WONDERWING_LEARN, ASSET_D36_DIALOG_WONDERWING_REFRESHER, 0x01, ABILITY_12_WONDERWING},
|
||||||
{0x0C88, 0x0C89, 0x10, ABILITY_E_WADING_BOOTS},
|
{ASSET_C88_DIALOG_LONGLEG_LEARN, ASSET_C89_DIALOG_LONGLEG_REFRESHER, 0x10, ABILITY_E_WADING_BOOTS},
|
||||||
{0x0A84, 0x0A85, 0x19, ABILITY_11_TURBO_TALON},
|
{ASSET_A84_DIALOG_TURBOTRAINERS_LEARN, ASSET_A85_DIALOG_TURBOTRAINERS_REFRESHER, 0x19, ABILITY_11_TURBO_TALON},
|
||||||
{0x0F64, 0x0F65, 0x0E, ABILITY_13_1ST_NOTEDOOR}
|
{ASSET_F64_DIALOG_NOTEDOORS_LEARN, ASSET_F65_DIALOG_NOTEDOORS_REFRESHER, 0x0E, ABILITY_13_1ST_NOTEDOOR}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
@@ -136,18 +136,18 @@ void func_802D9600(Actor * this){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802D9658(Actor *this){
|
void func_802D9658(Actor *this){
|
||||||
timed_setCameraToNode(0.0f, D_80367DC4[this->unkF4_8-9].unk4);
|
timed_setCameraToNode(0.0f, D_80367DC4[this->unkF4_8-9].camera_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D9698(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
void func_802D9698(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
||||||
Actor *actor = marker_getActor(marker);
|
Actor *actor = marker_getActor(marker);
|
||||||
|
|
||||||
if( arg1 == D_80367DC4[actor->unkF4_8-9].unk0
|
if( arg1 == D_80367DC4[actor->unkF4_8-9].learn_text
|
||||||
&& item_getCount(ITEM_14_HEALTH) < item_getCount(ITEM_15_HEALTH_TOTAL)
|
&& item_getCount(ITEM_14_HEALTH) < item_getCount(ITEM_15_HEALTH_TOTAL)
|
||||||
){
|
){
|
||||||
func_80311480(ASSET_D39_TEXT_BOTTLES_REFILL_HEALTH, 7, 0, actor->marker, func_802D9698, func_802D9830);
|
func_80311480(ASSET_D39_TEXT_BOTTLES_REFILL_HEALTH, 7, 0, actor->marker, func_802D9698, func_802D9830);
|
||||||
}//L802D9738
|
}//L802D9738
|
||||||
else if(arg1 == D_80367DC4[actor->unkF4_8-9].unk0 || arg1 == ASSET_D39_TEXT_BOTTLES_REFILL_HEALTH){
|
else if(arg1 == D_80367DC4[actor->unkF4_8-9].learn_text || arg1 == ASSET_D39_TEXT_BOTTLES_REFILL_HEALTH){
|
||||||
func_80311480(func_802D93EC()? 0xa87 : func_802D9304(), 7, 0, actor->marker, func_802D9698, NULL);
|
func_80311480(func_802D93EC()? 0xa87 : func_802D9304(), 7, 0, actor->marker, func_802D9698, NULL);
|
||||||
}
|
}
|
||||||
else{//L802D97BC
|
else{//L802D97BC
|
||||||
@@ -206,16 +206,16 @@ void func_802D9830(ActorMarker *marker, enum asset_e arg1, s32 arg2){
|
|||||||
int func_802D997C(Actor *this){
|
int func_802D997C(Actor *this){
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
s32 sp28 = 0xe;
|
s32 sp28 = 0xe;
|
||||||
if(ability_isUnlocked(D_80367DC4[this->unkF4_8-9].unk5)){
|
if(ability_isUnlocked(D_80367DC4[this->unkF4_8-9].ability)){
|
||||||
sp28 = 0xf;
|
sp28 = 0xf;
|
||||||
sp2C = D_80367DC4[this->unkF4_8-9].unk2;
|
sp2C = D_80367DC4[this->unkF4_8-9].refresher_text;
|
||||||
}//L802D99EC
|
}//L802D99EC
|
||||||
else{
|
else{
|
||||||
func_80347A14(0);
|
func_80347A14(0);
|
||||||
this->unk138_24 = 1;
|
this->unk138_24 = 1;
|
||||||
sp2C = D_80367DC4[this->unkF4_8-9].unk0;
|
sp2C = D_80367DC4[this->unkF4_8-9].learn_text;
|
||||||
ability_unlock(D_80367DC4[this->unkF4_8-9].unk5);
|
ability_unlock(D_80367DC4[this->unkF4_8-9].ability);
|
||||||
switch(D_80367DC4[this->unkF4_8-9].unk5){
|
switch(D_80367DC4[this->unkF4_8-9].ability){
|
||||||
case ABILITY_9_FLY:
|
case ABILITY_9_FLY:
|
||||||
case ABILITY_D_SHOCK_JUMP:
|
case ABILITY_D_SHOCK_JUMP:
|
||||||
func_8030E6A4(SFX_113_PAD_APPEARS, 0.9f, 32000);
|
func_8030E6A4(SFX_113_PAD_APPEARS, 0.9f, 32000);
|
||||||
@@ -276,7 +276,7 @@ void func_802D9C90(Actor *this){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802D9CBC(Actor *this){
|
void func_802D9CBC(Actor *this){
|
||||||
if(ability_isUnlocked(D_80367DC4[this->unkF4_8 - 9].unk5)){
|
if(ability_isUnlocked(D_80367DC4[this->unkF4_8 - 9].ability)){
|
||||||
func_802D9BD8(this);
|
func_802D9BD8(this);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -350,7 +350,7 @@ void func_802D9D60(Actor *this){
|
|||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if(func_8028F20C() && func_8028F0D4() && !func_8028EC04()){
|
if(func_8028F20C() && func_8028F0D4() && !func_8028EC04()){
|
||||||
if( this->unkF4_8 == 0x12
|
if( this->unkF4_8 == 0x12
|
||||||
&& !ability_isUnlocked(D_80367DC4[this->unkF4_8-9].unk5)
|
&& !ability_isUnlocked(D_80367DC4[this->unkF4_8-9].ability)
|
||||||
&& (func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT)
|
&& (func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT)
|
||||||
){
|
){
|
||||||
player_getPosition(sp34);
|
player_getPosition(sp34);
|
||||||
|
@@ -13,22 +13,16 @@ void chshrapnel_update(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo chShrapnelAnimations[] = {
|
ActorAnimationInfo chShrapnelAnimations[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x1F4, 1.0f},
|
{ASSET_1F4_ANIM_SHRAPNEL_IDLE, 1.0f},
|
||||||
{0x1F4, 1.0f},
|
{ASSET_1F4_ANIM_SHRAPNEL_IDLE, 1.0f},
|
||||||
{0x92, 0.75f},
|
{ASSET_92_ANIM_SHRAPNEL_MOVE, 0.75f},
|
||||||
{0x92, 0.75f},
|
{ASSET_92_ANIM_SHRAPNEL_MOVE, 0.75f},
|
||||||
{0x1F4, 1.0f},
|
{ASSET_1F4_ANIM_SHRAPNEL_IDLE, 1.0f},
|
||||||
{0x1F4, 1.0f}
|
{ASSET_1F4_ANIM_SHRAPNEL_IDLE, 1.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 D_803673F8[3] = {0xDE, 0xA7, 0x71};
|
|
||||||
|
|
||||||
ActorInfo chShrapnelDescription = {
|
|
||||||
MARKER_65_SHRAPNEL, ACTOR_56_SHRAPNEL, ASSET_3EC_MODEL_SHRAPNEL,
|
|
||||||
0x1, chShrapnelAnimations,
|
|
||||||
chshrapnel_update, func_80326224, func_80325888,
|
|
||||||
2500, 0x333, 0.0f, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void chShrapnel_func_802D0A00(Actor *this) {
|
void chShrapnel_func_802D0A00(Actor *this) {
|
||||||
@@ -79,6 +73,7 @@ void chShrapnel_emitExplosion(Actor *this) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void chShrapnel_emitSmoke(Actor *this) {
|
void chShrapnel_emitSmoke(Actor *this) {
|
||||||
|
static s32 D_803673F8[3] = {0xDE, 0xA7, 0x71};
|
||||||
ParticleEmitter *temp_v0;
|
ParticleEmitter *temp_v0;
|
||||||
|
|
||||||
temp_v0 = partEmitMgr_newEmitter(6U);
|
temp_v0 = partEmitMgr_newEmitter(6U);
|
||||||
@@ -196,3 +191,9 @@ void chshrapnel_update(Actor *this) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ActorInfo chShrapnelDescription = {
|
||||||
|
MARKER_65_SHRAPNEL, ACTOR_56_SHRAPNEL, ASSET_3EC_MODEL_SHRAPNEL,
|
||||||
|
0x1, chShrapnelAnimations,
|
||||||
|
chshrapnel_update, func_80326224, func_80325888,
|
||||||
|
2500, 0x333, 0.0f, 0
|
||||||
|
};
|
@@ -3,25 +3,25 @@
|
|||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
bool func_8034A6FC(f32, f32);
|
bool func_8034A6FC(f32, f32);
|
||||||
void func_8035E84C(Actor *this);
|
void chTermite_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80372F10[] ={
|
ActorAnimationInfo chTermiteAnimations[] ={
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x5E, 1.2f},
|
{ASSET_5E_ANIM_BSANT_IDLE, 1.2f},
|
||||||
{0x5F, 0.7f},
|
{ASSET_5F_ANIM_BSANT_WALK, 0.7f},
|
||||||
{0x5E, 1.2f},
|
{ASSET_5E_ANIM_BSANT_IDLE, 1.2f},
|
||||||
{0x5F, 0.7f},
|
{ASSET_5F_ANIM_BSANT_WALK, 0.7f},
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x256, 0.7f},
|
{ASSET_256_ANIM_TERMITE_OW, 0.7f},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_8035DFD0(Actor *this) {
|
void __chTermite_updateRandomSpeed(Actor *this) {
|
||||||
this->velocity[0] = randf2(5.0f, 12.0f);
|
this->velocity[0] = randf2(5.0f, 12.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E008(Actor *this) {
|
void __chTermite_updateAnimationSpeed(Actor *this) {
|
||||||
if ((this->velocity[0] - 0.1 <= this->unk28) && (this->unk28 <= this->velocity[0] + 0.1)) {
|
if ((this->velocity[0] - 0.1 <= this->unk28) && (this->unk28 <= this->velocity[0] + 0.1)) {
|
||||||
this->unk28 = this->velocity[0];
|
this->unk28 = this->velocity[0];
|
||||||
} else {
|
} else {
|
||||||
@@ -30,25 +30,25 @@ void func_8035E008(Actor *this) {
|
|||||||
animctrl_setDuration(this->animctrl, ml_map_f(this->unk28, 5.0f, 12.0f, 0.54f, 0.36f));
|
animctrl_setDuration(this->animctrl, ml_map_f(this->unk28, 5.0f, 12.0f, 0.54f, 0.36f));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E0D0(Actor *this) {
|
void __chTermite_updateRandomRotationSpeed(Actor *this) {
|
||||||
this->velocity[1] = ((2*randf() * 3.1) - 3.1);
|
this->velocity[1] = ((2*randf() * 3.1) - 3.1);
|
||||||
this->velocity[1] += (this->velocity[1] >= 0.0f) ? 3.1 : -3.1;
|
this->velocity[1] += (this->velocity[1] >= 0.0f) ? 3.1 : -3.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E150(Actor *this) {
|
void __chTermite_updateYaw(Actor *this) {
|
||||||
s32 temp_f10;
|
s32 temp_f10;
|
||||||
s32 phi_v1;
|
s32 phi_v1;
|
||||||
|
|
||||||
temp_f10 = (s32) (this->velocity[1] + this->yaw);
|
temp_f10 = (s32) (this->velocity[1] + this->yaw);
|
||||||
if (temp_f10 >= 0x168) {
|
if (temp_f10 >= 360) {
|
||||||
this->yaw = (f32) (temp_f10 - 0x168);
|
this->yaw = (f32) (temp_f10 - 360);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
phi_v1 = (temp_f10 < 0) ? temp_f10 + 0x168 : temp_f10;
|
phi_v1 = (temp_f10 < 0) ? temp_f10 + 360 : temp_f10;
|
||||||
this->yaw = (f32) phi_v1;
|
this->yaw = (f32) phi_v1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E1B0(Actor *this) {
|
void __chTermite_updateWalkSFX(Actor *this) {
|
||||||
f32 sp24[3];
|
f32 sp24[3];
|
||||||
f32 sp20;
|
f32 sp20;
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ void func_8035E1B0(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E2A8(ParticleEmitter *pCtrl, f32 position[3]){
|
void __chTermite_setupParticleEmitter(ParticleEmitter *pCtrl, f32 position[3]){
|
||||||
particleEmitter_setPosition(pCtrl, position);
|
particleEmitter_setPosition(pCtrl, position);
|
||||||
particleEmitter_setDrawMode(pCtrl, 2);
|
particleEmitter_setDrawMode(pCtrl, 2);
|
||||||
func_802EF9F8(pCtrl, 0.7f);
|
func_802EF9F8(pCtrl, 0.7f);
|
||||||
@@ -77,68 +77,67 @@ void func_8035E2A8(ParticleEmitter *pCtrl, f32 position[3]){
|
|||||||
particleEmitter_setFade(pCtrl, 0.0f, 0.65f);
|
particleEmitter_setFade(pCtrl, 0.0f, 0.65f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E360(ParticleEmitter *pCtrl, f32 position[3]){
|
void __chTermite_emitLegs(ParticleEmitter *pCtrl, f32 position[3]){
|
||||||
func_8035E2A8(pCtrl, position);
|
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(pCtrl, 0x393);
|
particleEmitter_setModel(pCtrl, ASSET_393_MODEL_TERMITE_LEG);
|
||||||
func_802EFB70(pCtrl, 0.5f, 0.8f);
|
func_802EFB70(pCtrl, 0.5f, 0.8f);
|
||||||
particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
|
particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
|
||||||
particleEmitter_setParticleVelocityRange(pCtrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f);
|
particleEmitter_setParticleVelocityRange(pCtrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f);
|
||||||
particleEmitter_emitN(pCtrl, 6);
|
particleEmitter_emitN(pCtrl, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E44C(ParticleEmitter *pCtrl, f32 position[3]){
|
void __chTermite_emitHead(ParticleEmitter *pCtrl, f32 position[3]){
|
||||||
func_8035E2A8(pCtrl, position);
|
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(pCtrl, 0x394);
|
particleEmitter_setModel(pCtrl, ASSET_394_MODEL_TERMITE_HEAD);
|
||||||
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
||||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||||
particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
|
particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
|
||||||
particleEmitter_emitN(pCtrl, 1);
|
particleEmitter_emitN(pCtrl, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E540(ParticleEmitter *pCtrl, f32 position[3]){
|
void __chTermite_emitBody(ParticleEmitter *pCtrl, f32 position[3]){
|
||||||
func_8035E2A8(pCtrl, position);
|
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||||
particleEmitter_setModel(pCtrl, 0x395);
|
particleEmitter_setModel(pCtrl, ASSET_395_MODEL_TERMITE_BODY);
|
||||||
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
||||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||||
particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
|
particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
|
||||||
particleEmitter_emitN(pCtrl, 1);
|
particleEmitter_emitN(pCtrl, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E634(ParticleEmitter *pCtrl, f32 position[3]){
|
void __chTermite_emitEyes(ParticleEmitter *pCtrl, f32 position[3]){
|
||||||
func_8035E2A8(pCtrl, position);
|
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f);
|
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f);
|
||||||
particleEmitter_setModel(pCtrl, 0x396);
|
particleEmitter_setModel(pCtrl, ASSET_396_MODEL_TERMITE_EYES);
|
||||||
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
func_802EFB70(pCtrl, 1.0f, 1.0f);
|
||||||
particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f);
|
particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f);
|
||||||
particleEmitter_setParticleVelocityRange(pCtrl, -80.0f, 400.0f, -80.0f, 160.0f, 860.0f, 160.0f);
|
particleEmitter_setParticleVelocityRange(pCtrl, -80.0f, 400.0f, -80.0f, 160.0f, 860.0f, 160.0f);
|
||||||
particleEmitter_emitN(pCtrl, 2);
|
particleEmitter_emitN(pCtrl, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __chTermite_ow(ActorMarker *marker, ActorMarker *other_marker){
|
||||||
void func_8035E724(ActorMarker *marker, ActorMarker *other_marker){
|
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
func_80328AC8(this, 6);
|
func_80328AC8(this, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E750(ActorMarker *marker, ActorMarker *other_marker){
|
void __chTermite_die(ActorMarker *marker, ActorMarker *other_marker){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
func_8035E360(partEmitMgr_newEmitter(6), this->position);
|
__chTermite_emitLegs(partEmitMgr_newEmitter(6), this->position);
|
||||||
func_8035E44C(partEmitMgr_newEmitter(1), this->position);
|
__chTermite_emitHead(partEmitMgr_newEmitter(1), this->position);
|
||||||
func_8035E540(partEmitMgr_newEmitter(1), this->position);
|
__chTermite_emitBody(partEmitMgr_newEmitter(1), this->position);
|
||||||
func_8035E634(partEmitMgr_newEmitter(2), this->position);
|
__chTermite_emitEyes(partEmitMgr_newEmitter(2), this->position);
|
||||||
marker->collidable = FALSE;
|
marker->collidable = FALSE;
|
||||||
this->unk138_27 = 1;
|
this->unk138_27 = 1;
|
||||||
FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750);
|
FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750);
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
}
|
}
|
||||||
void func_8035E810(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(caller);
|
this = marker_getActor(caller);
|
||||||
@@ -146,14 +145,14 @@ void func_8035E810(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
|||||||
levelSpecificFlags_set(0xd, FALSE);
|
levelSpecificFlags_set(0xd, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035E84C(Actor *this) {
|
void chTermite_update(Actor *this) {
|
||||||
s32 sp34;
|
s32 sp34;
|
||||||
static s32 D_80372F48 = 0;
|
static s32 D_80372F48 = 0;
|
||||||
static s32 D_80372F4C = 0;
|
static s32 D_80372F4C = 0;
|
||||||
|
|
||||||
sp34 = func_8023DB5C();
|
sp34 = func_8023DB5C();
|
||||||
if (!this->unk16C_4) {
|
if (!this->unk16C_4) {
|
||||||
marker_setCollisionScripts(this->marker, NULL, func_8035E724, func_8035E750);
|
marker_setCollisionScripts(this->marker, NULL, __chTermite_ow, __chTermite_die);
|
||||||
this->unk124_0 = this->unk138_31 = FALSE;
|
this->unk124_0 = this->unk138_31 = FALSE;
|
||||||
this->unk138_24 = FALSE;
|
this->unk138_24 = FALSE;
|
||||||
this->unk16C_0 = TRUE;
|
this->unk16C_0 = TRUE;
|
||||||
@@ -166,7 +165,7 @@ void func_8035E84C(Actor *this) {
|
|||||||
&& func_8028ECAC() == 0
|
&& func_8028ECAC() == 0
|
||||||
&& player_getTransformation() == TRANSFORM_1_BANJO
|
&& player_getTransformation() == TRANSFORM_1_BANJO
|
||||||
) {
|
) {
|
||||||
func_80311480(0xB43, 7, this->position, this->marker, func_8035E810, NULL);
|
func_80311480(ASSET_B43_DIALOG_TERMITE_MEET_AS_BEAR, 7, this->position, this->marker, __chTermite_testCallback, NULL);
|
||||||
mapSpecificFlags_set(0, TRUE);
|
mapSpecificFlags_set(0, TRUE);
|
||||||
levelSpecificFlags_set(0xD, TRUE);
|
levelSpecificFlags_set(0xD, TRUE);
|
||||||
this->unk138_24 = TRUE;
|
this->unk138_24 = TRUE;
|
||||||
@@ -178,19 +177,19 @@ void func_8035E84C(Actor *this) {
|
|||||||
&& player_getTransformation() == TRANSFORM_2_TERMITE
|
&& player_getTransformation() == TRANSFORM_2_TERMITE
|
||||||
) {
|
) {
|
||||||
if (!levelSpecificFlags_get(0xB)) {
|
if (!levelSpecificFlags_get(0xB)) {
|
||||||
if (func_80311480(0xB41, 0, NULL, NULL, NULL, NULL)) {
|
if (func_80311480(ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, 0, NULL, NULL, NULL, NULL)) {
|
||||||
levelSpecificFlags_set(0xB, TRUE);
|
levelSpecificFlags_set(0xB, TRUE);
|
||||||
this->unk138_23 = TRUE;
|
this->unk138_23 = TRUE;
|
||||||
}
|
}
|
||||||
} else if (!levelSpecificFlags_get(0xC) && !this->unk138_23 && (func_80311480(0xB42, 0, NULL, NULL, NULL, NULL))) {
|
} else if (!levelSpecificFlags_get(0xC) && !this->unk138_23 && (func_80311480(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
|
||||||
levelSpecificFlags_set(0xC, TRUE);
|
levelSpecificFlags_set(0xC, TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch (this->state) {
|
switch (this->state) {
|
||||||
case 1:
|
case 1:
|
||||||
if (func_80328BD4(this, 2, 0.0f, 1, 0.06f)) {
|
if (func_80328BD4(this, 2, 0.0f, 1, 0.06f)) {
|
||||||
func_8035E0D0(this);
|
__chTermite_updateRandomRotationSpeed(this);
|
||||||
func_8035DFD0(this);
|
__chTermite_updateRandomSpeed(this);
|
||||||
this->unk28 = 0.0f;
|
this->unk28 = 0.0f;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -199,17 +198,17 @@ void func_8035E84C(Actor *this) {
|
|||||||
if (sp34 != D_80372F48) {
|
if (sp34 != D_80372F48) {
|
||||||
D_80372F48 = sp34;
|
D_80372F48 = sp34;
|
||||||
D_80372F4C = 1;
|
D_80372F4C = 1;
|
||||||
func_8035E1B0(this);
|
__chTermite_updateWalkSFX(this);
|
||||||
} else if (D_80372F4C != 0) {
|
} else if (D_80372F4C != 0) {
|
||||||
D_80372F4C--;
|
D_80372F4C--;
|
||||||
func_8035E1B0(this);
|
__chTermite_updateWalkSFX(this);
|
||||||
}
|
}
|
||||||
if (this->unk38_31 != 0) {
|
if (this->unk38_31 != 0) {
|
||||||
this->unk38_31--;
|
this->unk38_31--;
|
||||||
} else {
|
} else {
|
||||||
func_8035E150(this);
|
__chTermite_updateYaw(this);
|
||||||
if ((sp34 & 0x1F) == 0xE && 0.45 < randf()) {
|
if ((sp34 & 0x1F) == 0xE && 0.45 < randf()) {
|
||||||
func_8035E0D0(this);
|
__chTermite_updateRandomRotationSpeed(this);
|
||||||
}
|
}
|
||||||
if (func_8034A6FC(0.73f, 0.76f) && func_80329078(this, (s32) this->yaw, 750) ) {
|
if (func_8034A6FC(0.73f, 0.76f) && func_80329078(this, (s32) this->yaw, 750) ) {
|
||||||
this->yaw_ideal = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
@@ -218,10 +217,10 @@ void func_8035E84C(Actor *this) {
|
|||||||
this->unk38_31 = 0x3A;
|
this->unk38_31 = 0x3A;
|
||||||
}
|
}
|
||||||
if ((sp34 & 0x1F) == 3 && 0.58 < (f64) randf()) {
|
if ((sp34 & 0x1F) == 3 && 0.58 < (f64) randf()) {
|
||||||
func_8035DFD0(this);
|
__chTermite_updateRandomSpeed(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_8035E008(this);
|
__chTermite_updateAnimationSpeed(this);
|
||||||
func_80329030(this, 0);
|
func_80329030(this, 0);
|
||||||
func_80328BD4(this, 1, 0.0f, 1, 0.047f);
|
func_80328BD4(this, 1, 0.0f, 1, 0.047f);
|
||||||
return;
|
return;
|
||||||
@@ -234,10 +233,10 @@ void func_8035E84C(Actor *this) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// this data struct is at the end of the file so the local static vars
|
// this data struct is at the end of the file so the local static vars
|
||||||
// in func_8035E84C are in correct .data location
|
// in chTermite_update are in correct .data location
|
||||||
ActorInfo D_80372F50 = {
|
ActorInfo chTermite = {
|
||||||
0x4, 0x5, 0x350,
|
MARKER_4_TERMITE, ACTOR_5_TERMITE, ASSET_350_MODEL_TERMITE,
|
||||||
0x1, D_80372F10,
|
0x1, chTermiteAnimations,
|
||||||
func_8035E84C, func_80326224, func_80325888,
|
chTermite_update, func_80326224, func_80325888,
|
||||||
2000, 0, 0.0f, 0
|
2000, 0, 0.0f, 0
|
||||||
};
|
};
|
@@ -2,20 +2,23 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
extern f32 player_stateTimer_get(enum state_timer_e);
|
||||||
|
|
||||||
Actor *chtrainers_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
Actor *chtrainers_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||||
void chtrainers_update(Actor *this);
|
void chtrainers_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80366EA0[] = {
|
ActorAnimationInfo chTrainersAnimations[] = {
|
||||||
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
||||||
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
||||||
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f},
|
||||||
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f}
|
{ASSET_D6_ANIM_TURBO_TALON_TRAINERS, 1.5f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80366EC0 = {
|
ActorInfo chTrainers = {
|
||||||
MARKER_38_TURBO_TALON_TRAINERS, ACTOR_2C_TURBO_TALON_TRAINERS, ASSET_367_MODEL_TURBO_TALON_TRAINERS,
|
MARKER_38_TURBO_TALON_TRAINERS, ACTOR_2C_TURBO_TALON_TRAINERS, ASSET_367_MODEL_TURBO_TALON_TRAINERS,
|
||||||
0x0, D_80366EA0,
|
0x0, chTrainersAnimations,
|
||||||
chtrainers_update, func_80326224, chtrainers_draw,
|
chtrainers_update, func_80326224, chtrainers_draw,
|
||||||
0, 0, 0.0f, 0
|
0, 0, 0.0f, 0
|
||||||
};
|
};
|
||||||
@@ -94,7 +97,7 @@ void chtrainers_update(Actor *this){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 2://L802CA670
|
case 2://L802CA670
|
||||||
if(func_8028E80C(3) == 0.0f){
|
if(player_stateTimer_get(STATE_TIMER_3_TURBO_TALON) == 0.0f){
|
||||||
this->velocity[2] = 1.0f;
|
this->velocity[2] = 1.0f;
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
}
|
}
|
||||||
|
@@ -2,15 +2,18 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
extern f32 player_stateTimer_get(enum state_timer_e);
|
||||||
|
|
||||||
Actor *chwadingboots_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
Actor *chwadingboots_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||||
void chwadingboots_update(Actor *this);
|
void chwadingboots_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80367A00[] = {
|
ActorAnimationInfo D_80367A00[] = {
|
||||||
{0x67, 0.7f},
|
{ASSET_67_ANIM_WADINGBOOTS_WALK, 0.7f},
|
||||||
{0x67, 0.7f},
|
{ASSET_67_ANIM_WADINGBOOTS_WALK, 0.7f},
|
||||||
{0x67, 0.7f},
|
{ASSET_67_ANIM_WADINGBOOTS_WALK, 0.7f},
|
||||||
{0x67, 0.7f},
|
{ASSET_67_ANIM_WADINGBOOTS_WALK, 0.7f},
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367A20 = {
|
ActorInfo D_80367A20 = {
|
||||||
@@ -63,10 +66,10 @@ void chwadingboots_update(Actor *this){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(func_803203FC(0x10)) break;
|
if(func_803203FC(0x10)) break;
|
||||||
if(!func_80329530(this, 0xfa)) break;
|
if(!func_80329530(this, 250)) break;
|
||||||
if(player_getTransformation() != TRANSFORM_1_BANJO) break;
|
if(player_getTransformation() != TRANSFORM_1_BANJO) break;
|
||||||
|
|
||||||
if(func_80311480(0xda5, 0, NULL, NULL, NULL, NULL)){
|
if(func_80311480(ASSET_DA5_DIALOG_WADINGBOOTS_MEET, 0, NULL, NULL, NULL, NULL)){
|
||||||
func_803204E4(0x10, TRUE);
|
func_803204E4(0x10, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +83,7 @@ void chwadingboots_update(Actor *this){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 2://L802D6D74
|
case 2://L802D6D74
|
||||||
if(func_8028E80C(2) == 0.0f){
|
if(player_stateTimer_get(STATE_TIMER_2_LONGLEG) == 0.0f){
|
||||||
this->velocity[1] = 1.5f;
|
this->velocity[1] = 1.5f;
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
u8 D_8037C530;
|
u8 D_8037C530;
|
||||||
@@ -17,20 +18,20 @@ s32 func_80297C6C(void){
|
|||||||
void func_80297C78(void){
|
void func_80297C78(void){
|
||||||
D_8037C530 = 0;
|
D_8037C530 = 0;
|
||||||
func_80297C60(1);
|
func_80297C60(1);
|
||||||
func_802917C4(4);
|
stateTimer_clear(STATE_TIMER_4_UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80297CA8(void){
|
void func_80297CA8(void){
|
||||||
func_80297CCC(0.6f);
|
func_80297CCC(0.6f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80297CCC(f32 arg0){
|
void func_80297CCC(f32 value){
|
||||||
func_802917E4(4, arg0);
|
stateTimer_set(STATE_TIMER_4_UNKNOWN, value);
|
||||||
func_80297C60(3);
|
func_80297C60(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80297CF8(void){
|
void func_80297CF8(void){
|
||||||
if(func_802916CC(4)){
|
if(stateTimer_isDone(STATE_TIMER_4_UNKNOWN)){
|
||||||
func_80297C60(1);
|
func_80297C60(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -7,7 +7,7 @@ void *D_8037C5D0;
|
|||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
s32 func_802985F0(void){
|
s32 func_802985F0(void){
|
||||||
switch(_player_getTransformation())
|
switch(bsStoredState_getTransformation())
|
||||||
{
|
{
|
||||||
case TRANSFORM_2_TERMITE: //80298624
|
case TRANSFORM_2_TERMITE: //80298624
|
||||||
return ASSET_34F_MODEL_BANJO_TERMITE;
|
return ASSET_34F_MODEL_BANJO_TERMITE;
|
||||||
@@ -41,7 +41,7 @@ s32 func_802985F0(void){
|
|||||||
case MAP_88_CS_SPIRAL_MOUNTAIN_6:
|
case MAP_88_CS_SPIRAL_MOUNTAIN_6:
|
||||||
case MAP_89_CS_INTRO_BANJOS_HOUSE_2:
|
case MAP_89_CS_INTRO_BANJOS_HOUSE_2:
|
||||||
case MAP_8A_CS_INTRO_BANJOS_HOUSE_3:
|
case MAP_8A_CS_INTRO_BANJOS_HOUSE_3:
|
||||||
return 0x34d;
|
return ASSET_34D_MODEL_BANJOKAZOOIE_LOW_POLY;
|
||||||
|
|
||||||
case MAP_1_SM_SPIRAL_MOUNTAIN:
|
case MAP_1_SM_SPIRAL_MOUNTAIN:
|
||||||
case MAP_2_MM_MUMBOS_MOUNTAIN:
|
case MAP_2_MM_MUMBOS_MOUNTAIN:
|
||||||
@@ -58,10 +58,10 @@ s32 func_802985F0(void){
|
|||||||
case MAP_45_CCW_AUTUMN:
|
case MAP_45_CCW_AUTUMN:
|
||||||
case MAP_46_CCW_WINTER:
|
case MAP_46_CCW_WINTER:
|
||||||
case 0x56:
|
case 0x56:
|
||||||
return 0x34d;
|
return ASSET_34D_MODEL_BANJOKAZOOIE_LOW_POLY;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0x34e;
|
return ASSET_34E_MODEL_BANJOKAZOOIE_HIGH_POLY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,61 +0,0 @@
|
|||||||
#include <ultra64.h>
|
|
||||||
#include "functions.h"
|
|
||||||
#include "variables.h"
|
|
||||||
|
|
||||||
struct {
|
|
||||||
f32 unk0;
|
|
||||||
f32 unk4;
|
|
||||||
u8 xform_8;
|
|
||||||
} D_8037D180;
|
|
||||||
u8 D_8037D18C;
|
|
||||||
|
|
||||||
/* .code */
|
|
||||||
void func_8029A890(void){
|
|
||||||
func_802957FC();
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029A8B0(void){
|
|
||||||
func_80295804();
|
|
||||||
D_8037D180.unk0 = D_8037D180.unk4 = 0.0f;
|
|
||||||
D_8037D180.xform_8 = TRANSFORM_1_BANJO;
|
|
||||||
D_8037D18C = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum transformation_e _player_getTransformation(void){
|
|
||||||
return D_8037D180.xform_8;
|
|
||||||
}
|
|
||||||
|
|
||||||
f32 func_8029A900(void){
|
|
||||||
return D_8037D180.unk0;
|
|
||||||
}
|
|
||||||
|
|
||||||
f32 func_8029A90C(void){
|
|
||||||
return D_8037D180.unk4;
|
|
||||||
}
|
|
||||||
|
|
||||||
s32 func_8029A918(void){
|
|
||||||
return D_8037D18C;
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029A924(void){}
|
|
||||||
|
|
||||||
void func_8029A92C(void){
|
|
||||||
func_8029A968(0.0f);
|
|
||||||
func_8029A974(0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void player_setTransformation(enum transformation_e xform_id){
|
|
||||||
D_8037D180.xform_8 = xform_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029A968(f32 arg0){
|
|
||||||
D_8037D180.unk0 = arg0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029A974(f32 arg0){
|
|
||||||
D_8037D180.unk4 = arg0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029A980(s32 arg0){
|
|
||||||
D_8037D18C = arg0;
|
|
||||||
}
|
|
@@ -2,6 +2,7 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "core2/yaw.h"
|
#include "core2/yaw.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
f32 func_8024DDD8(f32[3], f32);
|
f32 func_8024DDD8(f32[3], f32);
|
||||||
extern void func_8024E71C(s32, f32*);
|
extern void func_8024E71C(s32, f32*);
|
||||||
@@ -30,8 +31,8 @@ enum bs_14420_e{
|
|||||||
|
|
||||||
BS14420_7_FLY = 0x7,
|
BS14420_7_FLY = 0x7,
|
||||||
BS14420_8_TROT,
|
BS14420_8_TROT,
|
||||||
|
BS14420_9_LONGLEG,
|
||||||
BS14420_A_WALRUS_SLED = 0xA,
|
BS14420_A_WALRUS_SLED,
|
||||||
BS14420_B_BEE,
|
BS14420_B_BEE,
|
||||||
BS14420_C_CLIMB,
|
BS14420_C_CLIMB,
|
||||||
BS14420_D_WONDERWING,
|
BS14420_D_WONDERWING,
|
||||||
@@ -62,16 +63,16 @@ Struct_core2_13FC0 D_80364650[14] = {
|
|||||||
{BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.4f},
|
{BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.4f},
|
||||||
{BS_94_CROC_DRONE, ASSET_E0_ANIM_BSCROC_WALK, 0.6f},
|
{BS_94_CROC_DRONE, ASSET_E0_ANIM_BSCROC_WALK, 0.6f},
|
||||||
{BS_95_WALRUS_DRONE, ASSET_120_ANIM_BSWALRUS_WALK, 0.7f},
|
{BS_95_WALRUS_DRONE, ASSET_120_ANIM_BSWALRUS_WALK, 0.7f},
|
||||||
{BS_96_SWIM_LOCKED, ASSET_39_ANIM_BSSWIM_SWIM, 0.8f},
|
{BS_96_SWIM_LOCKED, ASSET_39_ANIM_BSSWIM_MOVE, 0.8f},
|
||||||
{BS_97_DIVE_LOCKED, ASSET_71_ANIM_BANJO_BSDIVE_SWIM_SLOW, 0.75f},
|
{BS_97_DIVE_LOCKED, ASSET_71_ANIM_BSSWIM_DIVE_SLOW, 0.75f},
|
||||||
{BS_98_WALK_DRONE, ASSET_3_ANIM_BSWALK, 0.43f},
|
{BS_98_WALK_DRONE, ASSET_3_ANIM_BSWALK, 0.43f},
|
||||||
{BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f},
|
{BS_99_BFLY_DRONE, ASSET_38_ANIM_BSBFLY, 0.62f},
|
||||||
{BS_9A_BTROT_DRONE, ANIM_15_ANIM_BTROT_WALK, 0.53f},
|
{BS_9A_BTROT_DRONE, ASSET_15_ANIM_BSBTROT_WALK, 0.53f},
|
||||||
{BS_9B_LONGLEG_DRONE, ASSET_42_ANIM_BSLONGLEG_WALK, 0.8f},
|
{BS_9B_LONGLEG_DRONE, ASSET_42_ANIM_BSLONGLEG_WALK, 0.8f},
|
||||||
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
||||||
{BS_9D_BEE_DRONE, ASSET_1DC_ANIM_BEE_FLY, 0.38f},
|
{BS_9D_BEE_DRONE, ASSET_1DC_ANIM_BEE_FLY, 0.38f},
|
||||||
{BS_98_WALK_DRONE, ASSET_3_ANIM_BSWALK, 0.43f},
|
{BS_98_WALK_DRONE, ASSET_3_ANIM_BSWALK, 0.43f},
|
||||||
{BS_A4_WONDERWING_DRONE, ASSET_11_ANIM_BSWONDERWING_WALK, 0.53f}
|
{BS_A4_WONDERWING_DRONE, ASSET_11_ANIM_BSWHIRL_WALK, 0.53f}
|
||||||
};
|
};
|
||||||
|
|
||||||
Struct_core2_13FC0 D_803646C0[14] = {
|
Struct_core2_13FC0 D_803646C0[14] = {
|
||||||
@@ -80,10 +81,10 @@ Struct_core2_13FC0 D_803646C0[14] = {
|
|||||||
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
||||||
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
||||||
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
||||||
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f},
|
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BSSWIM_DIVE_IDLE, 2.0f},
|
||||||
{BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f},
|
{BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f},
|
||||||
{BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f},
|
{BS_99_BFLY_DRONE, ASSET_38_ANIM_BSBFLY, 0.62f},
|
||||||
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f},
|
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BSBTROT_IDLE, 1.2f},
|
||||||
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
||||||
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
||||||
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
||||||
@@ -97,10 +98,10 @@ Struct_core2_13FC0 D_80364730[14] = {
|
|||||||
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
||||||
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
||||||
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
||||||
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f},
|
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BSSWIM_DIVE_IDLE, 2.0f},
|
||||||
{BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f},
|
{BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f},
|
||||||
{BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f},
|
{BS_99_BFLY_DRONE, ASSET_38_ANIM_BSBFLY, 0.62f},
|
||||||
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f},
|
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BSBTROT_IDLE, 1.2f},
|
||||||
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
||||||
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
||||||
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
||||||
@@ -114,10 +115,10 @@ Struct_core2_13FC0 D_803647A0[14] = {
|
|||||||
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
{BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f},
|
||||||
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
{BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f},
|
||||||
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
{BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f},
|
||||||
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f},
|
{BS_97_DIVE_LOCKED, ASSET_70_ANIM_BSSWIM_DIVE_IDLE, 2.0f},
|
||||||
{BS_98_WALK_DRONE, ASSET_6F_ANIM_BSSTAND_IDLE, 5.5f},
|
{BS_98_WALK_DRONE, ASSET_6F_ANIM_BSSTAND_IDLE, 5.5f},
|
||||||
{BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f},
|
{BS_99_BFLY_DRONE, ASSET_38_ANIM_BSBFLY, 0.62f},
|
||||||
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f},
|
{BS_9A_BTROT_DRONE, ASSET_26_ANIM_BSBTROT_IDLE, 1.2f},
|
||||||
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
{BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f},
|
||||||
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
{BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f},
|
||||||
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
{BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f},
|
||||||
@@ -209,7 +210,7 @@ enum bs_e func_8029B458(void){
|
|||||||
enum bs_e sp1C;
|
enum bs_e sp1C;
|
||||||
|
|
||||||
sp1C = bs_getState();
|
sp1C = bs_getState();
|
||||||
switch(_player_getTransformation()){
|
switch(bsStoredState_getTransformation()){
|
||||||
case TRANSFORM_2_TERMITE:
|
case TRANSFORM_2_TERMITE:
|
||||||
return BS_38_ANT_FALL;
|
return BS_38_ANT_FALL;
|
||||||
|
|
||||||
@@ -386,7 +387,7 @@ f32 func_8029BA44(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum bs_e func_8029BA80(void){
|
enum bs_e func_8029BA80(void){
|
||||||
switch (_player_getTransformation())
|
switch (bsStoredState_getTransformation())
|
||||||
{
|
{
|
||||||
case TRANSFORM_3_PUMPKIN:
|
case TRANSFORM_3_PUMPKIN:
|
||||||
return BS_4B_PUMPKIN_FALL;
|
return BS_4B_PUMPKIN_FALL;
|
||||||
@@ -411,7 +412,7 @@ enum bs_e func_8029BA80(void){
|
|||||||
|
|
||||||
enum bs_14420_e func_8029BAF0(void){
|
enum bs_14420_e func_8029BAF0(void){
|
||||||
enum bs_e state_id = bs_getState();
|
enum bs_e state_id = bs_getState();
|
||||||
switch (_player_getTransformation())
|
switch (bsStoredState_getTransformation())
|
||||||
{
|
{
|
||||||
case TRANSFORM_3_PUMPKIN://L8029BB2C
|
case TRANSFORM_3_PUMPKIN://L8029BB2C
|
||||||
return BS14420_1_PUMPKIN;
|
return BS14420_1_PUMPKIN;
|
||||||
@@ -442,8 +443,8 @@ enum bs_14420_e func_8029BAF0(void){
|
|||||||
if (bsbtrot_inSet(state_id)) {
|
if (bsbtrot_inSet(state_id)) {
|
||||||
return BS14420_8_TROT;
|
return BS14420_8_TROT;
|
||||||
}
|
}
|
||||||
if (func_80291670(2) != 0.0f) {
|
if (stateTimer_get(STATE_TIMER_2_LONGLEG) != 0.0f) {
|
||||||
return 9;
|
return BS14420_9_LONGLEG;
|
||||||
}
|
}
|
||||||
if (miscflag_isTrue(0x18)) {
|
if (miscflag_isTrue(0x18)) {
|
||||||
return BS14420_5_UNDERWATER;
|
return BS14420_5_UNDERWATER;
|
||||||
@@ -547,7 +548,7 @@ enum bs_e func_8029BF4C(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum bs_e bs_getIdleState(void){
|
enum bs_e bs_getIdleState(void){
|
||||||
switch (_player_getTransformation()) {
|
switch (bsStoredState_getTransformation()) {
|
||||||
case TRANSFORM_3_PUMPKIN:
|
case TRANSFORM_3_PUMPKIN:
|
||||||
return BS_48_PUMPKIN_IDLE;
|
return BS_48_PUMPKIN_IDLE;
|
||||||
|
|
||||||
@@ -571,10 +572,10 @@ enum bs_e bs_getIdleState(void){
|
|||||||
if (miscflag_isTrue(0x18)) {
|
if (miscflag_isTrue(0x18)) {
|
||||||
return BS_2B_DIVE_IDLE;
|
return BS_2B_DIVE_IDLE;
|
||||||
}
|
}
|
||||||
if (func_80291670(3) != 0.0f) {
|
if (stateTimer_get(STATE_TIMER_3_TURBO_TALON) != 0.0f) {
|
||||||
return BS_15_BTROT_IDLE;
|
return BS_15_BTROT_IDLE;
|
||||||
}
|
}
|
||||||
if (func_80291670(2) != 0.0f) {
|
if (stateTimer_get(STATE_TIMER_2_LONGLEG) != 0.0f) {
|
||||||
return BS_26_LONGLEG_IDLE;
|
return BS_26_LONGLEG_IDLE;
|
||||||
}
|
}
|
||||||
if (player_inWater()) {
|
if (player_inWater()) {
|
||||||
@@ -583,7 +584,7 @@ enum bs_e bs_getIdleState(void){
|
|||||||
}
|
}
|
||||||
return BS_2B_DIVE_IDLE;
|
return BS_2B_DIVE_IDLE;
|
||||||
}
|
}
|
||||||
if (func_8029A918()) {
|
if (bsStoredState_getTrotFlag()) {
|
||||||
return BS_15_BTROT_IDLE;
|
return BS_15_BTROT_IDLE;
|
||||||
}
|
}
|
||||||
return BS_1_IDLE;
|
return BS_1_IDLE;
|
||||||
@@ -775,7 +776,7 @@ void func_8029C834(enum map_e map_id, s32 exit_id){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8029C848(AnimCtrl *arg0) {
|
void func_8029C848(AnimCtrl *arg0) {
|
||||||
switch(_player_getTransformation()) {
|
switch(bsStoredState_getTransformation()) {
|
||||||
case TRANSFORM_2_TERMITE: //L8029C880
|
case TRANSFORM_2_TERMITE: //L8029C880
|
||||||
animctrl_setIndex(arg0, ASSET_5E_ANIM_BSANT_IDLE);
|
animctrl_setIndex(arg0, ASSET_5E_ANIM_BSANT_IDLE);
|
||||||
animctrl_setDuration(arg0, 2.0f);
|
animctrl_setDuration(arg0, 2.0f);
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
extern int func_80258424(f32 vec[3], f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, f32 maxZ);
|
extern int func_80258424(f32 vec[3], f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, f32 maxZ);
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
@@ -220,8 +222,8 @@ bool func_8029D7B4(void){
|
|||||||
case MAP_7F_FP_WOZZAS_CAVE://L8029D84C
|
case MAP_7F_FP_WOZZAS_CAVE://L8029D84C
|
||||||
case MAP_8E_GL_FURNACE_FUN://L8029D84C
|
case MAP_8E_GL_FURNACE_FUN://L8029D84C
|
||||||
return func_8029D66C()
|
return func_8029D66C()
|
||||||
&& _player_getTransformation() == TRANSFORM_1_BANJO
|
&& bsStoredState_getTransformation() == TRANSFORM_1_BANJO
|
||||||
&& func_802916CC(2)
|
&& stateTimer_isDone(STATE_TIMER_2_LONGLEG)
|
||||||
&& func_8028ECAC() != BSGROUP_3_WONDERWING
|
&& func_8028ECAC() != BSGROUP_3_WONDERWING
|
||||||
&& func_8028ECAC() != BSGROUP_9_LONG_LEG
|
&& func_8028ECAC() != BSGROUP_9_LONG_LEG
|
||||||
&& miscflag_isFalse(MISC_FLAG_E_TOUCHING_WADING_BOOTS)
|
&& miscflag_isFalse(MISC_FLAG_E_TOUCHING_WADING_BOOTS)
|
||||||
|
@@ -27,8 +27,8 @@ f32 D_8037D240;
|
|||||||
void func_8029DBF0(void){
|
void func_8029DBF0(void){
|
||||||
s32 temp_s0;
|
s32 temp_s0;
|
||||||
switch(baModel_getModelId()){
|
switch(baModel_getModelId()){
|
||||||
case 0x34D: //L8029DC24
|
case ASSET_34D_MODEL_BANJOKAZOOIE_LOW_POLY: //L8029DC24
|
||||||
case 0x34E: //L8029DC24
|
case ASSET_34E_MODEL_BANJOKAZOOIE_HIGH_POLY: //L8029DC24
|
||||||
temp_s0 = (s32) ml_interpolate_f(D_8037D23C, 1.0f, 8.0f);
|
temp_s0 = (s32) ml_interpolate_f(D_8037D23C, 1.0f, 8.0f);
|
||||||
func_8033A45C(0x1B, temp_s0);
|
func_8033A45C(0x1B, temp_s0);
|
||||||
func_8033A45C(0x1D, temp_s0);
|
func_8033A45C(0x1D, temp_s0);
|
||||||
@@ -62,8 +62,8 @@ void func_8029DD6C(void) {
|
|||||||
|
|
||||||
func_8033A1FC();
|
func_8033A1FC();
|
||||||
switch (baModel_getModelId()) {
|
switch (baModel_getModelId()) {
|
||||||
case 0x34D:
|
case ASSET_34D_MODEL_BANJOKAZOOIE_LOW_POLY:
|
||||||
case 0x34E:
|
case ASSET_34E_MODEL_BANJOKAZOOIE_HIGH_POLY:
|
||||||
func_8033A45C(1, D_8037D238);
|
func_8033A45C(1, D_8037D238);
|
||||||
func_8033A45C(9, D_8037D238);
|
func_8033A45C(9, D_8037D238);
|
||||||
func_8033A45C(0xC, D_8037D238);
|
func_8033A45C(0xC, D_8037D238);
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
#include "prop.h"
|
#include "prop.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
extern f32 func_8024DDD8(f32[3], f32);
|
extern f32 func_8024DDD8(f32[3], f32);
|
||||||
extern int func_80259254(f32 vec[3], f32 x, f32 z, f32 val);
|
extern int func_80259254(f32 vec[3], f32 x, f32 z, f32 val);
|
||||||
@@ -197,7 +198,7 @@ bool player_isInVerticalRange(f32 position[3], f32 range) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int player_shouldSlideTrot(void){
|
int player_shouldSlideTrot(void){
|
||||||
return func_80291698(6)
|
return stateTimer_isActive(STATE_TIMER_6_UNKNOWN)
|
||||||
|| (1.0 == get_slope_timer() && func_80294610(0x40));
|
|| (1.0 == get_slope_timer() && func_80294610(0x40));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,7 +211,7 @@ int func_8028B2E8(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int player_isSliding(void){
|
int player_isSliding(void){
|
||||||
return func_80291698(5)
|
return stateTimer_isActive(STATE_TIMER_5_UNKNOWN)
|
||||||
|| 1.0 == get_slope_timer();
|
|| 1.0 == get_slope_timer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,19 +14,19 @@ void chMumbo_update(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80367490[] = {
|
ActorAnimationInfo D_80367490[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x6A, 2.6f},
|
{ASSET_6A_ANIM_MUMBO_SLEEP, 2.6f},
|
||||||
{0x6B, 1.33f},
|
{ASSET_6B_ANIM_MUMBO_WAKEUP, 1.33f},
|
||||||
{0x6C, 6.67f},
|
{ASSET_6C_ANIM_MUMBO_IDLE, 6.67f},
|
||||||
{0x6C, 6.67f},
|
{ASSET_6C_ANIM_MUMBO_IDLE, 6.67f},
|
||||||
{0x6D, 7.5f},
|
{ASSET_6D_ANIM_MUMBO_TRANSFORM, 7.5f},
|
||||||
{0x6E, 0.67f},
|
{ASSET_6E_ANIM_MUMBO_UNKNOWN, 0.67f},
|
||||||
{0x16E, 8.0f},
|
{ASSET_16E_ANIM_MUMBO_RECLINE, 8.0f},
|
||||||
{0x17F, 2.0f},
|
{ASSET_17F_ANIM_MUMBO_SWEEP, 2.0f},
|
||||||
{0x180, 0.7f},
|
{ASSET_180_ANIM_MUMBO_ROTATE, 0.7f},
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_803674E0 = {
|
ActorInfo D_803674E0 = {
|
||||||
0x6, 0x7, 0x3C6,
|
MARKER_6_MUMBO, ACTOR_7_MUMBO, ASSET_3C6_MODEL_MUMBO,
|
||||||
0x1, D_80367490,
|
0x1, D_80367490,
|
||||||
chMumbo_update, func_80326224, chMumbo_draw,
|
chMumbo_update, func_80326224, chMumbo_draw,
|
||||||
0, 0, 0.0f, 0
|
0, 0, 0.0f, 0
|
||||||
@@ -143,23 +143,23 @@ static void __chMumbo_textCallback(ActorMarker *caller, enum asset_e text_id, s3
|
|||||||
|
|
||||||
this = marker_getActor(caller);
|
this = marker_getActor(caller);
|
||||||
switch(text_id){
|
switch(text_id){
|
||||||
case 0xD8F: //L802D1A04
|
case ASSET_D8F_DIALOG_MUMBO_MEET: //L802D1A04
|
||||||
func_80311480((this->unk38_0) ? 0xDAA : 0xDAB, 0xe, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480((this->unk38_0) ? ASSET_DAA_DIALOG_MUMBO_HAS_ENOUGH_TOKENS : ASSET_DAB_DIALOG_MUMBO_NOT_ENOUGH_TOKENS, 0xe, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0xd90: //L802D1A40
|
case ASSET_D90_DIALOG_MUMBO_MAGIC_PAID_FOR: //L802D1A40
|
||||||
func_80320004(BKPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
|
func_80320004(BKPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
|
||||||
func_80311480(0xD8F + D_8037DDF0, 4, NULL, NULL, NULL, NULL);
|
func_80311480(ASSET_D8F_DIALOG_MUMBO_MEET + D_8037DDF0, 4, NULL, NULL, NULL, NULL);
|
||||||
gcpausemenu_80314AC8(1);
|
gcpausemenu_80314AC8(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xdaa: //L802D1A7C /* fall-through */
|
case ASSET_DAA_DIALOG_MUMBO_HAS_ENOUGH_TOKENS: //L802D1A7C /* fall-through */
|
||||||
func_80320004(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE, TRUE);
|
func_80320004(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE, TRUE);
|
||||||
case 0xdab: //L802D1A88
|
case ASSET_DAB_DIALOG_MUMBO_NOT_ENOUGH_TOKENS: //L802D1A88
|
||||||
func_8028F918(0);
|
func_8028F918(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xdaf: //L802D1A98
|
case ASSET_DAF_DIALOG_MUMBO_TREX_MISTAKE: //L802D1A98
|
||||||
this->unk138_24 = FALSE;
|
this->unk138_24 = FALSE;
|
||||||
if(this->unk38_31 != 0){
|
if(this->unk38_31 != 0){
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||||
@@ -169,9 +169,9 @@ static void __chMumbo_textCallback(ActorMarker *caller, enum asset_e text_id, s3
|
|||||||
func_80328B8C(this, 5, 0.0f, 1);
|
func_80328B8C(this, 5, 0.0f, 1);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0xdb0: //L802D1AF8
|
case ASSET_DB0_DIALOG_MUMBO_MISTAKE_0: //L802D1AF8
|
||||||
case 0xdb1: //L802D1AF8
|
case ASSET_DB1_DIALOG_MUMBO_MISTAKE_1: //L802D1AF8
|
||||||
case 0xdb2: //L802D1AF8
|
case ASSET_DB2_DIALOG_MUMBO_MISTAKE_2: //L802D1AF8
|
||||||
D_8037DDF0 = this->unk10_12;
|
D_8037DDF0 = this->unk10_12;
|
||||||
this->unk10_12 = 1;
|
this->unk10_12 = 1;
|
||||||
if(this->unk38_31){
|
if(this->unk38_31){
|
||||||
@@ -179,7 +179,7 @@ static void __chMumbo_textCallback(ActorMarker *caller, enum asset_e text_id, s3
|
|||||||
func_803463D4(ITEM_1C_MUMBO_TOKEN, -this->unk38_31);
|
func_803463D4(ITEM_1C_MUMBO_TOKEN, -this->unk38_31);
|
||||||
}
|
}
|
||||||
|
|
||||||
case 0xdae: //L802D1B48
|
case ASSET_DAE_DIALOG_MUMBO_TREX_START: //L802D1B48
|
||||||
func_80328B8C(this, 5, 0.0f, 1);
|
func_80328B8C(this, 5, 0.0f, 1);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -192,16 +192,16 @@ static void __chMumbo_textCallback(ActorMarker *caller, enum asset_e text_id, s3
|
|||||||
|
|
||||||
void chMumbo_func_802D1B8C(Actor *this, enum transformation_e transform_id) {
|
void chMumbo_func_802D1B8C(Actor *this, enum transformation_e transform_id) {
|
||||||
if (this->unk10_12 != 0) {
|
if (this->unk10_12 != 0) {
|
||||||
func_80311480(func_8031FF44(BK_PROG_BB_MUMBO_MISTAKE_INDEX, 2) + 0xDAF, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(func_8031FF44(BK_PROG_BB_MUMBO_MISTAKE_INDEX, 2) + ASSET_DAF_DIALOG_MUMBO_TREX_MISTAKE, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (func_8031FF1C(BKPROG_12_HAS_TRANSFORMED_BEFORE)) {
|
if (func_8031FF1C(BKPROG_12_HAS_TRANSFORMED_BEFORE)) {
|
||||||
if (this->velocity[0] == 0.0f) {
|
if (this->velocity[0] == 0.0f) {
|
||||||
func_80311480(transform_id + 0xD8F, 6, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(transform_id + ASSET_D8F_DIALOG_MUMBO_MEET, 6, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (map_get() == MAP_7A_GL_CRYPT && transform_id == TRANSFORM_3_PUMPKIN && !func_8031FF1C(BKPROG_F7_HAS_TRANSFORMED_IN_CRYPT)) {
|
if (map_get() == MAP_7A_GL_CRYPT && transform_id == TRANSFORM_3_PUMPKIN && !func_8031FF1C(BKPROG_F7_HAS_TRANSFORMED_IN_CRYPT)) {
|
||||||
func_80311480(0xDAD, 6, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_DAD_DIALOG_MUMBO_XFORM_IN_CRYPT, 6, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
func_80320004(BKPROG_F7_HAS_TRANSFORMED_IN_CRYPT, TRUE);
|
func_80320004(BKPROG_F7_HAS_TRANSFORMED_IN_CRYPT, TRUE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -209,7 +209,7 @@ void chMumbo_func_802D1B8C(Actor *this, enum transformation_e transform_id) {
|
|||||||
func_80328A84(this, 4U);
|
func_80328A84(this, 4U);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
func_80311480(0xD90, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_D90_DIALOG_MUMBO_MAGIC_PAID_FOR, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void chMumbo_update(Actor *this) {
|
void chMumbo_update(Actor *this) {
|
||||||
@@ -282,7 +282,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)
|
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)
|
||||||
) {
|
) {
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
func_80311480(0xD8F, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_D8F_DIALOG_MUMBO_MEET, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
func_80320004(BKPROG_11_HAS_MET_MUMBO, TRUE);
|
func_80320004(BKPROG_11_HAS_MET_MUMBO, TRUE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -293,7 +293,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
&& this->unk38_0
|
&& this->unk38_0
|
||||||
){
|
){
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
func_80311480(0xDAA, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_DAA_DIALOG_MUMBO_HAS_ENOUGH_TOKENS, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
|
||||||
func_80320004(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE, TRUE);
|
func_80320004(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE, TRUE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -331,7 +331,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
&& randf() < 0.01
|
&& randf() < 0.01
|
||||||
&& sp48
|
&& sp48
|
||||||
) {
|
) {
|
||||||
func_80311480(0xDAE, 6, NULL, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_DAE_DIALOG_MUMBO_TREX_START, 6, NULL, this->marker, __chMumbo_textCallback, NULL);
|
||||||
func_80320004(0xBA, 1);
|
func_80320004(0xBA, 1);
|
||||||
this->unk138_24 = TRUE;
|
this->unk138_24 = TRUE;
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
@@ -360,7 +360,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_8025A6EC(COMUSIC_2C_BUZZER, 22000);
|
func_8025A6EC(COMUSIC_2C_BUZZER, 22000);
|
||||||
if ((levelSpecificFlags_get(0x3E) == 0) && (func_80311480(0xDAC, 0, NULL, NULL, NULL, NULL) != 0)) {
|
if ((levelSpecificFlags_get(0x3E) == 0) && (func_80311480(ASSET_DAC_DIALOG_MUMBO_FAIL_TO_BUY, 0, NULL, NULL, NULL, NULL) != 0)) {
|
||||||
levelSpecificFlags_set(0x3E, 1);
|
levelSpecificFlags_set(0x3E, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -381,7 +381,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.01f)) {
|
if (actor_animationIsAt(this, 0.01f)) {
|
||||||
func_8025A70C(COMUSIC_1D_MUMBO_TRANSFORMATION);
|
func_8025A70C(COMUSIC_1D_MUMBO_TRANSFORMATION);
|
||||||
func_8025A58C(0, 0x3E8);
|
func_8025A58C(0, 1000);
|
||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.01f)) {
|
if (actor_animationIsAt(this, 0.01f)) {
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.79f)) {
|
if (actor_animationIsAt(this, 0.79f)) {
|
||||||
func_8025A58C(-1, 0x3E8);
|
func_8025A58C(-1, 1000);
|
||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.999f)) {
|
if (actor_animationIsAt(this, 0.999f)) {
|
||||||
if (!this->unk138_24) {
|
if (!this->unk138_24) {
|
||||||
@@ -418,7 +418,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
}
|
}
|
||||||
if (this->unk138_24) {
|
if (this->unk138_24) {
|
||||||
func_80328A84(this, 3);
|
func_80328A84(this, 3);
|
||||||
func_80311480(0xDAF, 6, NULL, this->marker, __chMumbo_textCallback, NULL);
|
func_80311480(ASSET_DAF_DIALOG_MUMBO_TREX_MISTAKE, 6, NULL, this->marker, __chMumbo_textCallback, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gcpausemenu_80314AC8(1);
|
gcpausemenu_80314AC8(1);
|
||||||
@@ -435,7 +435,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
sp48 = chMumbo_withinHorzDistToPlayer(0, -0x6B, 0xBC);
|
sp48 = chMumbo_withinHorzDistToPlayer(0, -0x6B, 0xBC);
|
||||||
}
|
}
|
||||||
if (sp48 != 0) {
|
if (sp48 != 0) {
|
||||||
func_80311480(0xDA7, 7, NULL, NULL, NULL, NULL);
|
func_80311480(ASSET_DA7_DIALOG_MUMBO_CCW_SUMMER, 7, NULL, NULL, NULL, NULL);
|
||||||
func_803204E4(BKPROG_11_HAS_MET_MUMBO, TRUE);
|
func_803204E4(BKPROG_11_HAS_MET_MUMBO, TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -451,7 +451,7 @@ void chMumbo_update(Actor *this) {
|
|||||||
sp48 = chMumbo_withinHorzDistToPlayer(0, -0x6B, 0xBC);
|
sp48 = chMumbo_withinHorzDistToPlayer(0, -0x6B, 0xBC);
|
||||||
}
|
}
|
||||||
if (sp48 != 0) {
|
if (sp48 != 0) {
|
||||||
func_80311480(0xDA8, 7, NULL, NULL, NULL, NULL);
|
func_80311480(ASSET_DA8_DIALOG_MUMBO_CCW_AUTUMN, 7, NULL, NULL, NULL, NULL);
|
||||||
func_803204E4(BKPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
|
func_803204E4(BKPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -502,7 +502,7 @@ Actor *chMumbo_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D2B94(s32 this, s32 arg1){
|
void chMumbo_detransformWarn(s32 this, s32 arg1){
|
||||||
s32 xform;
|
s32 xform;
|
||||||
xform = player_getTransformation();
|
xform = player_getTransformation();
|
||||||
if(xform == TRANSFORM_1_BANJO || xform == TRANSFORM_7_WISHWASHY || D_8037DDF2)
|
if(xform == TRANSFORM_1_BANJO || xform == TRANSFORM_7_WISHWASHY || D_8037DDF2)
|
||||||
@@ -512,15 +512,15 @@ void func_802D2B94(s32 this, s32 arg1){
|
|||||||
if(D_8037DDF3)
|
if(D_8037DDF3)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
func_80311480(func_8031FF74(BKPROG_83_MAGIC_GET_WEAK_TEXT, TRUE) ? 0xf5C: 0xf5b, 0xe, NULL, NULL, NULL, NULL);
|
func_80311480(func_8031FF74(BKPROG_83_MAGIC_GET_WEAK_TEXT, TRUE) ? ASSET_F5C_DIALOG_MUMBO_MAGIC_GET_WEAK_ABREV : ASSET_F5B_DIALOG_MUMBO_MAGIC_GET_WEAK_FULL, 0xe, NULL, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D2C24(s32 this, s32 arg1){
|
void chMumbo_detransformTrigger(s32 this, s32 arg1){
|
||||||
s32 xform;
|
s32 xform;
|
||||||
xform = player_getTransformation();
|
xform = player_getTransformation();
|
||||||
if(xform == TRANSFORM_1_BANJO || xform == TRANSFORM_7_WISHWASHY || D_8037DDF1)
|
if(xform == TRANSFORM_1_BANJO || xform == TRANSFORM_7_WISHWASHY || D_8037DDF1)
|
||||||
return;
|
return;
|
||||||
func_80311480(func_8031FF74(BKPROG_84_MAGIC_ALL_GONE_TEXT, TRUE) ? 0xf5e: 0xf5d, 0xe, NULL, NULL, NULL, NULL);
|
func_80311480(func_8031FF74(BKPROG_84_MAGIC_ALL_GONE_TEXT, TRUE) ? ASSET_F5E_DIALOG_MUMBO_MAGIC_RUN_OUT_ABREV: ASSET_F5D_DIALOG_MUMBO_MAGIC_RUN_OUT_FULL, 0xe, NULL, NULL, NULL, NULL);
|
||||||
D_8037DDF1++;
|
D_8037DDF1++;
|
||||||
func_8028FB88(TRANSFORM_1_BANJO);
|
func_8028FB88(TRANSFORM_1_BANJO);
|
||||||
}
|
}
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern void func_8028F7D4(f32, f32);
|
extern void func_8028F7D4(f32, f32);
|
||||||
void func_802D8528(Actor *this);
|
void chLevelCollectible_update(Actor *this);
|
||||||
extern void func_80329904(ActorMarker *, s32, f32*);
|
extern void func_80329904(ActorMarker *, s32, f32*);
|
||||||
extern ActorMarker *func_8028E86C(void);
|
extern ActorMarker *func_8028E86C(void);
|
||||||
extern void func_803252D0(f32, s32);
|
extern void func_803252D0(f32, s32);
|
||||||
@@ -11,53 +11,51 @@ extern void func_8035646C(s32);
|
|||||||
|
|
||||||
ActorAnimationInfo D_80367B50[] = {
|
ActorAnimationInfo D_80367B50[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x18A, 1.5f},
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f},
|
||||||
{0x18A, 1.5f},
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f},
|
||||||
{0x18A, 1.5f},
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f},
|
||||||
{0x18A, 1.5f},
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f},
|
||||||
{0x18A, 1.5f}
|
{ASSET_18A_ANIM_XMAS_GIFT, 1.5f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367B80 = {
|
ActorInfo D_80367B80 = {
|
||||||
MARKER_36_ORANGE_COLLECTABLE, ACTOR_29_ORANGE_COLLECTABLE, ASSET_2D2_MODEL_ORANGE,
|
MARKER_36_ORANGE_COLLECTIBLE, ACTOR_29_ORANGE_COLLECTIBLE, ASSET_2D2_MODEL_ORANGE,
|
||||||
0x5, NULL,
|
0x5, NULL,
|
||||||
func_802D8528, func_80326224, func_80325888,
|
chLevelCollectible_update, func_80326224, func_80325888,
|
||||||
0, 0, 0.6f,0
|
0, 0, 0.6f,0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367BA4 = {
|
ActorInfo D_80367BA4 = {
|
||||||
MARKER_37_GOLD_BULLION, ACTOR_2A_GOLD_BULLION, ASSET_3C7_MODEL_GOLD_BULLION,
|
MARKER_37_GOLD_BULLION, ACTOR_2A_GOLD_BULLION, ASSET_3C7_MODEL_GOLD_BULLION,
|
||||||
0x5, NULL,
|
0x5, NULL,
|
||||||
func_802D8528, func_80326224, func_80325888,
|
chLevelCollectible_update, func_80326224, func_80325888,
|
||||||
0, 0, 0.6f, 0
|
0, 0, 0.6f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367BC8 = {
|
ActorInfo D_80367BC8 = {
|
||||||
MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, ASSET_47F_MODEL_XMAS_GIFT_BLUE,
|
MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, ASSET_47F_MODEL_XMAS_GIFT_BLUE,
|
||||||
0x5, D_80367B50,
|
0x5, D_80367B50,
|
||||||
func_802D8528, func_80326224, func_80325888,
|
chLevelCollectible_update, func_80326224, func_80325888,
|
||||||
0, 0, 1.8f, 0
|
0, 0, 1.8f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367BEC = {
|
ActorInfo D_80367BEC = {
|
||||||
MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, ASSET_480_MODEL_XMAS_GIFT_GREEN,
|
MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, ASSET_480_MODEL_XMAS_GIFT_GREEN,
|
||||||
0x5, D_80367B50,
|
0x5, D_80367B50,
|
||||||
func_802D8528, func_80326224, func_80325888,
|
chLevelCollectible_update, func_80326224, func_80325888,
|
||||||
0, 0, 1.4f, 0
|
0, 0, 1.4f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80367C10 = {
|
ActorInfo D_80367C10 = {
|
||||||
MARKER_1FF_RED_PRESENT_COLLECTABLE, ACTOR_1F1_RED_PRESENT_COLLECTABLE, ASSET_481_MODEL_XMAS_GIFT_RED,
|
MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, ASSET_481_MODEL_XMAS_GIFT_RED,
|
||||||
0x5, D_80367B50,
|
0x5, D_80367B50,
|
||||||
func_802D8528, func_80326224, func_80325888,
|
chLevelCollectible_update, func_80326224, func_80325888,
|
||||||
0, 0, 1.4f, 0
|
0, 0, 1.4f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
struct31s D_80367C34 = {{0.2f, 0.4f}, {0.1f, 0.1f}, {0.0f, 0.01f}, {3.0f, 3.5f}, 0.1f, 0.1f};
|
|
||||||
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_802D7960(f32 position[3], enum asset_e sprite_id) {
|
void __chLevelCollectible_presentReturnEmitSparkles(f32 position[3], enum asset_e sprite_id) {
|
||||||
|
static struct31s D_80367C34 = {{0.2f, 0.4f}, {0.1f, 0.1f}, {0.0f, 0.01f}, {3.0f, 3.5f}, 0.1f, 0.1f};
|
||||||
ParticleEmitter *p_emitter;
|
ParticleEmitter *p_emitter;
|
||||||
|
|
||||||
p_emitter = partEmitMgr_newEmitter(1);
|
p_emitter = partEmitMgr_newEmitter(1);
|
||||||
@@ -70,7 +68,7 @@ void func_802D7960(f32 position[3], enum asset_e sprite_id) {
|
|||||||
particleEmitter_emitN(p_emitter, 1);
|
particleEmitter_emitN(p_emitter, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D7A40(f32 position[3], enum asset_e sprite_id) {
|
void __chLevelCollectible_presentCollectEmitSparkles(f32 position[3], enum asset_e sprite_id) {
|
||||||
ParticleEmitter *p_emitter;
|
ParticleEmitter *p_emitter;
|
||||||
|
|
||||||
p_emitter = partEmitMgr_newEmitter(8);
|
p_emitter = partEmitMgr_newEmitter(8);
|
||||||
@@ -86,68 +84,68 @@ void func_802D7A40(f32 position[3], enum asset_e sprite_id) {
|
|||||||
particleEmitter_emitN(p_emitter, 8);
|
particleEmitter_emitN(p_emitter, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_802D7B94(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
s32 __chLevelCollectible_dialogCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||||
return -(levelSpecificFlags_get(0x2A) + levelSpecificFlags_get(0x2B) + levelSpecificFlags_get(0x2C));
|
return -(levelSpecificFlags_get(0x2A) + levelSpecificFlags_get(0x2B) + levelSpecificFlags_get(0x2C));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_802D7BE8(enum asset_e text_id){
|
void __chLevelCollectible_callDialog(enum asset_e text_id){
|
||||||
func_80311174(text_id, 0, NULL, NULL, NULL, NULL, func_802D7B94);
|
func_80311174(text_id, 0, NULL, NULL, NULL, NULL, __chLevelCollectible_dialogCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D7C24(ActorMarker *marker, ActorMarker *other_marker) {
|
void __chLevelCollectible_collide(ActorMarker *marker, ActorMarker *other_marker) {
|
||||||
Actor *this;
|
Actor *this;
|
||||||
f32 pad28;
|
f32 pad28;
|
||||||
s32 var_a3;
|
s32 dialog_id;
|
||||||
f32 sp18[3];
|
f32 sp18[3];
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
var_a3 = 0;
|
dialog_id = 0;
|
||||||
if ((this->state == 1) || (this->state == 2)) {
|
if ((this->state == 1) || (this->state == 2)) {
|
||||||
sp18[0] = this->position[0];
|
sp18[0] = this->position[0];
|
||||||
sp18[1] = this->position[1];
|
sp18[1] = this->position[1];
|
||||||
sp18[2] = this->position[2];
|
sp18[2] = this->position[2];
|
||||||
switch (marker->unk14_20) {
|
switch (marker->unk14_20) {
|
||||||
case MARKER_36_ORANGE_COLLECTABLE:
|
case MARKER_36_ORANGE_COLLECTIBLE:
|
||||||
if (mapSpecificFlags_get(1))
|
if (mapSpecificFlags_get(1))
|
||||||
return;
|
return;
|
||||||
func_8035646C(8);
|
func_8035646C(8);
|
||||||
func_8030E6D4(SFX_B3_ORANGE_TALKING);
|
func_8030E6D4(SFX_B3_ORANGE_TALKING);
|
||||||
var_a3 = 0;
|
dialog_id = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_37_GOLD_BULLION:
|
case MARKER_37_GOLD_BULLION:
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||||
timedFunc_set_1(0.5f, func_8035646C, 9);
|
timedFunc_set_1(0.5f, func_8035646C, 9);
|
||||||
var_a3 = 0;
|
dialog_id = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1FD_BLUE_PRESENT_COLLECTABLE:
|
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||||
levelSpecificFlags_set(0x2A, 1);
|
levelSpecificFlags_set(0x2A, TRUE);
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||||
func_802D7A40(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
|
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
|
||||||
var_a3 = 0xC20;
|
dialog_id = ASSET_C20_DIALOG_PRESENT_COLLECTIBLE_MEET_BLUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1FE_GREEN_PRESENT_COLLECTABLE:
|
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||||
levelSpecificFlags_set(0x2B, 1);
|
levelSpecificFlags_set(0x2B, TRUE);
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||||
func_802D7A40(this->position, 0x712);
|
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_712_SPRITE_SPARKLE_GREEN);
|
||||||
var_a3 = 0xC21;
|
dialog_id = ASSET_C21_DIALOG_PRESENT_COLLECTIBLE_MEET_GREEN;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1FF_RED_PRESENT_COLLECTABLE:
|
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||||
levelSpecificFlags_set(0x2C, 1);
|
levelSpecificFlags_set(0x2C, TRUE);
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||||
func_802D7A40(this->position, ASSET_715_SPRITE_SPARKLE_RED);
|
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_715_SPRITE_SPARKLE_RED);
|
||||||
var_a3 = 0xC22;
|
dialog_id = ASSET_C22_DIALOG_PRESENT_COLLECTIBLE_MEET_RED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (var_a3 != 0) {
|
if (dialog_id != 0) {
|
||||||
timedFunc_set_1(0.5f, (GenMethod_1)func_802D7BE8, var_a3);
|
timedFunc_set_1(0.5f, (GenMethod_1)__chLevelCollectible_callDialog, dialog_id);
|
||||||
}
|
}
|
||||||
func_8028F030(this->modelCacheIndex);
|
func_8028F030(this->modelCacheIndex);
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
@@ -165,7 +163,7 @@ void func_802D7DE8(ActorMarker *marker, f32 arg1[3]) {
|
|||||||
sp4C = marker->unk14_20;
|
sp4C = marker->unk14_20;
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
ml_vec3f_to_vec3w(sp50, arg1);
|
ml_vec3f_to_vec3w(sp50, arg1);
|
||||||
if (sp4C == 0x37) {
|
if (sp4C == MARKER_37_GOLD_BULLION) {
|
||||||
if (mapSpecificFlags_get(0)) {
|
if (mapSpecificFlags_get(0)) {
|
||||||
mapSpecificFlags_set(1, TRUE);
|
mapSpecificFlags_set(1, TRUE);
|
||||||
} else {
|
} else {
|
||||||
@@ -197,16 +195,16 @@ void func_802D8030(Actor *this){
|
|||||||
|
|
||||||
local = (s32*)&this->local;
|
local = (s32*)&this->local;
|
||||||
*local = 1;
|
*local = 1;
|
||||||
this->marker->unkC = func_802D7C24;
|
this->marker->unkC = __chLevelCollectible_collide;
|
||||||
func_80328A84(this, 2);
|
func_80328A84(this, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D8068(Actor *this) {
|
void __chLevelCollectible_returnObj(Actor *this) {
|
||||||
s32 *local;
|
s32 *local;
|
||||||
f32 sp20;
|
f32 sp20;
|
||||||
|
|
||||||
local = (s32*)&this->local;
|
local = (s32*)&this->local;
|
||||||
if( (this->marker->unk14_20 != MARKER_36_ORANGE_COLLECTABLE)
|
if( (this->marker->unk14_20 != MARKER_36_ORANGE_COLLECTIBLE)
|
||||||
|| (this->unk78_13 == 0)
|
|| (this->unk78_13 == 0)
|
||||||
) {
|
) {
|
||||||
this->position[0] += this->velocity[0];
|
this->position[0] += this->velocity[0];
|
||||||
@@ -226,7 +224,7 @@ void func_802D8068(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->position[1] = sp20;
|
this->position[1] = sp20;
|
||||||
if (this->marker->unk14_20 != MARKER_36_ORANGE_COLLECTABLE) {
|
if (this->marker->unk14_20 != MARKER_36_ORANGE_COLLECTIBLE) {
|
||||||
FUNC_8030E8B4(SFX_21_EGG_BOUNCE_1, 0.76f, 25000, this->position, 1000, 2000);
|
FUNC_8030E8B4(SFX_21_EGG_BOUNCE_1, 0.76f, 25000, this->position, 1000, 2000);
|
||||||
} else {
|
} else {
|
||||||
FUNC_8030E8B4(SFX_B3_ORANGE_TALKING, 1.0f, 25000, this->position, 1000, 2000);
|
FUNC_8030E8B4(SFX_B3_ORANGE_TALKING, 1.0f, 25000, this->position, 1000, 2000);
|
||||||
@@ -235,19 +233,19 @@ void func_802D8068(Actor *this) {
|
|||||||
switch (this->marker->unk14_20) {
|
switch (this->marker->unk14_20) {
|
||||||
case MARKER_37_GOLD_BULLION:
|
case MARKER_37_GOLD_BULLION:
|
||||||
break;
|
break;
|
||||||
case MARKER_36_ORANGE_COLLECTABLE:
|
case MARKER_36_ORANGE_COLLECTIBLE:
|
||||||
func_803252D0(1.7f, 2);
|
func_803252D0(1.7f, 2);
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||||
break;
|
break;
|
||||||
case MARKER_1FD_BLUE_PRESENT_COLLECTABLE:
|
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||||
levelSpecificFlags_set(0x11, 1);
|
levelSpecificFlags_set(0x11, 1);
|
||||||
break;
|
break;
|
||||||
case MARKER_1FE_GREEN_PRESENT_COLLECTABLE:
|
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||||
levelSpecificFlags_set(0x12, 1);
|
levelSpecificFlags_set(0x12, 1);
|
||||||
break;
|
break;
|
||||||
case MARKER_1FF_RED_PRESENT_COLLECTABLE:
|
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||||
levelSpecificFlags_set(0x13, 1);
|
levelSpecificFlags_set(0x13, 1);
|
||||||
break;
|
break;
|
||||||
@@ -257,14 +255,14 @@ void func_802D8068(Actor *this) {
|
|||||||
func_80328A84(this, 2);
|
func_80328A84(this, 2);
|
||||||
}
|
}
|
||||||
switch (this->marker->unk14_20) {
|
switch (this->marker->unk14_20) {
|
||||||
case MARKER_1FD_BLUE_PRESENT_COLLECTABLE:
|
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||||
func_802D7960(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
|
__chLevelCollectible_presentReturnEmitSparkles(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
|
||||||
break;
|
break;
|
||||||
case MARKER_1FE_GREEN_PRESENT_COLLECTABLE:
|
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||||
func_802D7960(this->position, 0x712);
|
__chLevelCollectible_presentReturnEmitSparkles(this->position, 0x712);
|
||||||
break;
|
break;
|
||||||
case MARKER_1FF_RED_PRESENT_COLLECTABLE:
|
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||||
func_802D7960(this->position, ASSET_715_SPRITE_SPARKLE_RED);
|
__chLevelCollectible_presentReturnEmitSparkles(this->position, ASSET_715_SPRITE_SPARKLE_RED);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,15 +310,15 @@ void func_802D84F4(Actor *this){
|
|||||||
this->marker->propPtr->unk8_3 = ( this->state == 2 );
|
this->marker->propPtr->unk8_3 = ( this->state == 2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D8528(Actor *this){
|
void chLevelCollectible_update(Actor *this){
|
||||||
s32 marker_id;
|
s32 marker_id;
|
||||||
if(this->despawn_flag) return;
|
if(this->despawn_flag) return;
|
||||||
|
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
if( this->marker->unk14_20 == MARKER_1FD_BLUE_PRESENT_COLLECTABLE
|
if( this->marker->unk14_20 == MARKER_1FD_BLUE_PRESENT_COLLECTIBLE
|
||||||
|| this->marker->unk14_20 == MARKER_1FE_GREEN_PRESENT_COLLECTABLE
|
|| this->marker->unk14_20 == MARKER_1FE_GREEN_PRESENT_COLLECTIBLE
|
||||||
|| this->marker->unk14_20 == MARKER_1FF_RED_PRESENT_COLLECTABLE
|
|| this->marker->unk14_20 == MARKER_1FF_RED_PRESENT_COLLECTIBLE
|
||||||
){
|
){
|
||||||
if(jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)){
|
if(jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)){
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
@@ -339,7 +337,7 @@ void func_802D8528(Actor *this){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:// 802D8620
|
case 1:// 802D8620
|
||||||
func_802D8068(this);
|
__chLevelCollectible_returnObj(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:// 802D863C
|
case 2:// 802D863C
|
||||||
@@ -350,7 +348,7 @@ void func_802D8528(Actor *this){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:// 802D866C
|
case 4:// 802D866C
|
||||||
func_802D8068(this);
|
__chLevelCollectible_returnObj(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -364,15 +362,15 @@ void func_802D8528(Actor *this){
|
|||||||
case MARKER_37_GOLD_BULLION: //L802D86CC
|
case MARKER_37_GOLD_BULLION: //L802D86CC
|
||||||
func_802D83EC(this);
|
func_802D83EC(this);
|
||||||
break;
|
break;
|
||||||
case MARKER_36_ORANGE_COLLECTABLE: //L802D86DC
|
case MARKER_36_ORANGE_COLLECTIBLE: //L802D86DC
|
||||||
if(mapSpecificFlags_get(3) && map_get() == MAP_2_MM_MUMBOS_MOUNTAIN){
|
if(mapSpecificFlags_get(3) && map_get() == MAP_2_MM_MUMBOS_MOUNTAIN){
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MARKER_1FD_BLUE_PRESENT_COLLECTABLE:
|
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||||
case MARKER_1FE_GREEN_PRESENT_COLLECTABLE:
|
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||||
case MARKER_1FF_RED_PRESENT_COLLECTABLE:
|
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||||
func_802D84F4(this);
|
func_802D84F4(this);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -12,11 +12,11 @@ void func_802E08F0(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80368440[] = {
|
ActorAnimationInfo D_80368440[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{0x98, 1.2f}
|
{ASSET_98_ANIM_FIRE_SPARKLE, 1.2f}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80368450 = {
|
ActorInfo D_80368450 = {
|
||||||
0x72, 0xA2, 0x3AD,
|
MARKER_72_FIRE_SPARKLE, ACTOR_A2_FIRE_SPARKLE, ASSET_3AD_FIRE_SPARKLE,
|
||||||
0x1, D_80368440,
|
0x1, D_80368440,
|
||||||
func_802E08F0, func_80326224, func_80325888,
|
func_802E08F0, func_80326224, func_80325888,
|
||||||
0, 0, 0.0f, 0
|
0, 0, 0.0f, 0
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
#include "prop.h"
|
#include "prop.h"
|
||||||
#include "enums.h"
|
#include "enums.h"
|
||||||
@@ -68,7 +69,7 @@ bool func_8028E060(s32 arg0, s32 *arg1){
|
|||||||
|
|
||||||
void func_8028E0B0(ActorMarker *arg0){
|
void func_8028E0B0(ActorMarker *arg0){
|
||||||
bs_setState(bs_getIdleState());
|
bs_setState(bs_getIdleState());
|
||||||
func_8029A980(0);
|
bsStoredState_setTrot(FALSE);
|
||||||
miscflag_clear(0x16);
|
miscflag_clear(0x16);
|
||||||
miscflag_clear(0x18);
|
miscflag_clear(0x18);
|
||||||
}
|
}
|
||||||
@@ -151,7 +152,7 @@ void func_8028E0F0(s32 arg0, s32 arg1[3]) {
|
|||||||
}
|
}
|
||||||
func_8028F85C(&sp7C);
|
func_8028F85C(&sp7C);
|
||||||
func_80295A8C();
|
func_80295A8C();
|
||||||
func_8029A980(0);
|
bsStoredState_setTrot(FALSE);
|
||||||
miscflag_clear(0x16);
|
miscflag_clear(0x16);
|
||||||
miscflag_clear(0x18);
|
miscflag_clear(0x18);
|
||||||
func_8028E060(arg0, &sp6C);
|
func_8028E060(arg0, &sp6C);
|
||||||
@@ -195,7 +196,7 @@ void func_8028E4B0(void) {
|
|||||||
D_8037BFBC = (s32) D_8037BFD0;
|
D_8037BFBC = (s32) D_8037BFD0;
|
||||||
D_8037BFB8 = 1;
|
D_8037BFB8 = 1;
|
||||||
func_80295A8C();
|
func_80295A8C();
|
||||||
func_8029A980(0);
|
bsStoredState_setTrot(FALSE);
|
||||||
miscflag_clear(0x16);
|
miscflag_clear(0x16);
|
||||||
yaw_setIdeal(D_8037BFCC);
|
yaw_setIdeal(D_8037BFCC);
|
||||||
yaw_applyIdeal();
|
yaw_applyIdeal();
|
||||||
@@ -263,15 +264,15 @@ ActorMarker *player_getMarker(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
u32 player_getTransformation(void){
|
u32 player_getTransformation(void){
|
||||||
return _player_getTransformation();
|
return bsStoredState_getTransformation();
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8028E7EC(f32 arg0[3]){
|
void func_8028E7EC(f32 arg0[3]){
|
||||||
climbGetBottom(arg0);
|
climbGetBottom(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_8028E80C(s32 arg0){
|
f32 player_stateTimer_get(enum state_timer_e timer_id){
|
||||||
return func_80291670(arg0);
|
return stateTimer_get(timer_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_8028E82C(void){
|
f32 func_8028E82C(void){
|
||||||
@@ -353,7 +354,7 @@ void func_8028E9C4(s32 arg0, f32 arg1[3]) {
|
|||||||
|
|
||||||
case 5: //L8028EA2C
|
case 5: //L8028EA2C
|
||||||
_player_getPosition(arg1);
|
_player_getPosition(arg1);
|
||||||
switch(_player_getTransformation()){
|
switch(bsStoredState_getTransformation()){
|
||||||
case TRANSFORM_3_PUMPKIN: //L8028EA68
|
case TRANSFORM_3_PUMPKIN: //L8028EA68
|
||||||
if(map_get() == MAP_1B_MMM_MAD_MONSTER_MANSION){
|
if(map_get() == MAP_1B_MMM_MAD_MONSTER_MANSION){
|
||||||
arg1[1] += 100.0f;
|
arg1[1] += 100.0f;
|
||||||
@@ -483,7 +484,7 @@ enum bsgroup_e func_8028ECAC(void) {
|
|||||||
case BS_16_BTROT_WALK: //L8028EE10
|
case BS_16_BTROT_WALK: //L8028EE10
|
||||||
case BS_17_BTROT_EXIT: //L8028EE10
|
case BS_17_BTROT_EXIT: //L8028EE10
|
||||||
case BS_45_BTROT_SLIDE: //L8028EE10
|
case BS_45_BTROT_SLIDE: //L8028EE10
|
||||||
if(func_80291698(3)){
|
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)){
|
||||||
return BSGROUP_6_TURBO_TALON_TRAINERS;
|
return BSGROUP_6_TURBO_TALON_TRAINERS;
|
||||||
}
|
}
|
||||||
return BSGROUP_8_TROT;
|
return BSGROUP_8_TROT;
|
||||||
@@ -589,7 +590,7 @@ bool func_8028F098(void){
|
|||||||
bool func_8028F0D4(void){
|
bool func_8028F0D4(void){
|
||||||
enum transformation_e xform_id;
|
enum transformation_e xform_id;
|
||||||
|
|
||||||
xform_id = _player_getTransformation();
|
xform_id = bsStoredState_getTransformation();
|
||||||
return xform_id == TRANSFORM_1_BANJO
|
return xform_id == TRANSFORM_1_BANJO
|
||||||
|| xform_id == TRANSFORM_7_WISHWASHY;
|
|| xform_id == TRANSFORM_7_WISHWASHY;
|
||||||
}
|
}
|
||||||
@@ -769,8 +770,8 @@ s32 func_8028F6E4(enum bs_interrupt_e arg0, f32 arg1[3]){
|
|||||||
return bs_checkInterrupt(arg0);
|
return bs_checkInterrupt(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8028F710(s32 arg0, f32 arg1){
|
void player_stateTimer_set(enum state_timer_e timer_id, f32 value){
|
||||||
func_802917E4(arg0, arg1);
|
stateTimer_set(timer_id, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8028F738(f32 bottom[3], f32 top[3], f32 radius, u32 arg3){
|
void func_8028F738(f32 bottom[3], f32 top[3], f32 radius, u32 arg3){
|
||||||
|
@@ -98,7 +98,7 @@ void *D_80381450[10];
|
|||||||
s32 D_80381478[0X2C];
|
s32 D_80381478[0X2C];
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_802FA5D0(void){
|
void itemPrint_reset(void){
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for(i = 0; i < 0x2C; i++){
|
for(i = 0; i < 0x2C; i++){
|
||||||
@@ -120,7 +120,7 @@ void func_802FA69C(void){
|
|||||||
D_803692F8[i].unk14 = D_803692F8[i].unk0(i);
|
D_803692F8[i].unk14 = D_803692F8[i].unk0(i);
|
||||||
func_802FB104(D_803692F8[i].unk10, D_803692F8[i].unk14);
|
func_802FB104(D_803692F8[i].unk10, D_803692F8[i].unk14);
|
||||||
}
|
}
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802FA718(s32 arg0){
|
void func_802FA718(s32 arg0){
|
||||||
|
@@ -1449,7 +1449,7 @@ void func_8031FB6C(s32 arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8031FBA0(void) {
|
void func_8031FBA0(void) {
|
||||||
func_8029A8B0();
|
bsStoredState_clear();
|
||||||
func_8031FFAC();
|
func_8031FFAC();
|
||||||
func_8034646C();
|
func_8034646C();
|
||||||
jiggyscore_clearAll();
|
jiggyscore_clearAll();
|
||||||
|
@@ -32,10 +32,10 @@ void func_803216D0(enum map_e map){
|
|||||||
}
|
}
|
||||||
|
|
||||||
mapSavestate_init();
|
mapSavestate_init();
|
||||||
func_803464F8(D_80383300.level);
|
itemscore_levelReset(D_80383300.level);
|
||||||
jiggyscore_clearAllSpawned();
|
jiggyscore_clearAllSpawned();
|
||||||
levelSpecificFlags_clear();
|
levelSpecificFlags_clear();
|
||||||
func_8029A92C();
|
bsStoredState_clearTimers();
|
||||||
func_803219A8();
|
func_803219A8();
|
||||||
if( func_80320454(0x17, 0)
|
if( func_80320454(0x17, 0)
|
||||||
&& getGameMode() != 0
|
&& getGameMode() != 0
|
||||||
@@ -76,7 +76,7 @@ void func_80321854(void){
|
|||||||
){
|
){
|
||||||
func_803204E4(0x22, 1);
|
func_803204E4(0x22, 1);
|
||||||
}
|
}
|
||||||
func_8029A924(); //null
|
bsStoredState_8029A924(); //null
|
||||||
func_803465BC(); //null
|
func_803465BC(); //null
|
||||||
mapSavestate_free_all();
|
mapSavestate_free_all();
|
||||||
func_8032196C();
|
func_8032196C();
|
||||||
|
@@ -2,6 +2,9 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
extern f32 player_stateTimer_get(enum state_timer_e);
|
||||||
|
|
||||||
void func_803219F4(s32 arg0);
|
void func_803219F4(s32 arg0);
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
@@ -93,7 +96,7 @@ void func_803219F4(s32 arg0){
|
|||||||
|
|
||||||
void func_80321C34(void){
|
void func_80321C34(void){
|
||||||
if( D_80383310 == 4
|
if( D_80383310 == 4
|
||||||
&& func_8028E80C(3) == 0.0f
|
&& player_stateTimer_get(STATE_TIMER_3_TURBO_TALON) == 0.0f
|
||||||
){
|
){
|
||||||
func_803219F4(1);
|
func_803219F4(1);
|
||||||
}
|
}
|
||||||
|
@@ -1,65 +0,0 @@
|
|||||||
#include <ultra64.h>
|
|
||||||
#include "functions.h"
|
|
||||||
#include "variables.h"
|
|
||||||
|
|
||||||
typedef struct{
|
|
||||||
f32 unk0;
|
|
||||||
f32 unk4;
|
|
||||||
}Struct_Core2_A600_0;
|
|
||||||
|
|
||||||
/* .bss */
|
|
||||||
Struct_Core2_A600_0 D_8037C0A0[8];
|
|
||||||
|
|
||||||
/* .code */
|
|
||||||
f32 func_80291670(s32 arg0){
|
|
||||||
return D_8037C0A0[arg0].unk0;
|
|
||||||
}
|
|
||||||
|
|
||||||
f32 func_80291684(s32 arg0){
|
|
||||||
return D_8037C0A0[arg0].unk4;
|
|
||||||
}
|
|
||||||
|
|
||||||
int func_80291698(s32 arg0){
|
|
||||||
return D_8037C0A0[arg0].unk0 != 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
int func_802916CC(s32 arg0){
|
|
||||||
return D_8037C0A0[arg0].unk0 == 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
int func_80291700(s32 arg0, f32 arg1){
|
|
||||||
return (D_8037C0A0[arg0].unk0 < arg1) && (arg1 <= D_8037C0A0[arg0].unk4);
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_8029175C(void){}
|
|
||||||
|
|
||||||
void func_80291764(void){
|
|
||||||
int i;
|
|
||||||
for(i = 0; i < 7; i++){
|
|
||||||
D_8037C0A0[i].unk0 = 0.0f;
|
|
||||||
D_8037C0A0[i].unk4 = 0.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_802917C4(s32 arg0){
|
|
||||||
func_802917E4(arg0, 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_802917E4(s32 arg0, f32 arg1){
|
|
||||||
D_8037C0A0[arg0].unk0 = arg1;
|
|
||||||
D_8037C0A0[arg0].unk4 = arg1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_80291804(void){
|
|
||||||
int i;
|
|
||||||
f32 delta = time_getDelta();
|
|
||||||
for(i = 0; i < 7; i++){
|
|
||||||
D_8037C0A0[i].unk4 = D_8037C0A0[i].unk0;
|
|
||||||
if(0.0f != D_8037C0A0[i].unk4){
|
|
||||||
D_8037C0A0[i].unk0 -= delta;
|
|
||||||
if(D_8037C0A0[i].unk0 < 0.0f){
|
|
||||||
D_8037C0A0[i].unk0 = 0.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -244,7 +244,7 @@ void jiggySpawn(enum jiggy_e jiggy_id, f32 pos[3]) {
|
|||||||
temp_v0->unk10.position[2] = pos[2];
|
temp_v0->unk10.position[2] = pos[2];
|
||||||
temp_v0->unk0(&temp_v0->unk10);
|
temp_v0->unk0(&temp_v0->unk10);
|
||||||
jiggyscore_setSpawned(jiggy_id, TRUE);
|
jiggyscore_setSpawned(jiggy_id, TRUE);
|
||||||
if (!jiggyscore_isCollected(jiggy_id) && (jiggy_id != 0x3E) && (jiggy_id != 0xB)) {
|
if (!jiggyscore_isCollected(jiggy_id) && (jiggy_id != JIGGY_3E_GV_GRABBA) && (jiggy_id != JIGGY_0B_TTC_JINJO)) {
|
||||||
func_8024BD08(0);
|
func_8024BD08(0);
|
||||||
func_8025A55C(0, 4000, 5);
|
func_8025A55C(0, 4000, 5);
|
||||||
func_8025A6EC(COMUSIC_3D_JIGGY_SPAWN, 0x7FFF);
|
func_8025A6EC(COMUSIC_3D_JIGGY_SPAWN, 0x7FFF);
|
||||||
|
@@ -297,8 +297,8 @@ extern void func_80389C4C(s32, s32);
|
|||||||
extern void func_80389C74(s32, s32);
|
extern void func_80389C74(s32, s32);
|
||||||
extern void func_80389C9C(s32, s32);
|
extern void func_80389C9C(s32, s32);
|
||||||
extern void func_80389CC4(s32, s32);
|
extern void func_80389CC4(s32, s32);
|
||||||
extern void func_802D2B94(s32, s32);
|
extern void chMumbo_detransformWarn(s32, s32);
|
||||||
extern void func_802D2C24(s32, s32);
|
extern void chMumbo_detransformTrigger(s32, s32);
|
||||||
extern void func_8033443C(s32, s32);
|
extern void func_8033443C(s32, s32);
|
||||||
|
|
||||||
|
|
||||||
@@ -414,8 +414,8 @@ Method_core2_AD110 D_8036FE5C[] ={
|
|||||||
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
||||||
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
||||||
func_8033443C, TTC_func_80389BFC, func_80389C24, func_80389C4C,
|
func_8033443C, TTC_func_80389BFC, func_80389C24, func_80389C4C,
|
||||||
func_80389C74, func_80389C9C, func_80389CC4, func_802D2B94,
|
func_80389C74, func_80389C9C, func_80389CC4, chMumbo_detransformWarn,
|
||||||
func_802D2C24, func_8033443C, func_8033443C, func_8033443C,
|
chMumbo_detransformTrigger, func_8033443C, func_8033443C, func_8033443C,
|
||||||
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
||||||
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
||||||
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
func_8033443C, func_8033443C, func_8033443C, func_8033443C,
|
||||||
|
@@ -67,8 +67,8 @@ Struct_core2_B62B0_0 D_80370AC0[0xBB] = {
|
|||||||
{MARKER_218_LIMBO, 0x0001, {0x0588, 0x7584, 0x8100, 0x7584, 0x7604, 0x7604, 0x0684, 0x050C, 0x0A04, 0x0000, 0x2020}},
|
{MARKER_218_LIMBO, 0x0001, {0x0588, 0x7584, 0x8100, 0x7584, 0x7604, 0x7604, 0x0684, 0x050C, 0x0A04, 0x0000, 0x2020}},
|
||||||
{MARKER_99_TEEHEE, 0x0001, {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x0000, 0x0000, 0x0804, 0x0000, 0x2424}},
|
{MARKER_99_TEEHEE, 0x0001, {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x0000, 0x0000, 0x0804, 0x0000, 0x2424}},
|
||||||
{MARKER_296_TEEHEE_PURPLE, 0x0000, {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x0000, 0x0000, 0x0804, 0x0000, 0x2424}},
|
{MARKER_296_TEEHEE_PURPLE, 0x0000, {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x0000, 0x0000, 0x0804, 0x0000, 0x2424}},
|
||||||
{MARKER_96_RIPPER, 0x0001, {0x0A10, 0x890C, 0x8100, 0x8908, 0x8988, 0x8988, 0x0A84, 0x0914, 0x0984, 0x0000, 0x3024}},
|
{MARKER_96_GRAVESTONE, 0x0001, {0x0A10, 0x890C, 0x8100, 0x8908, 0x8988, 0x8988, 0x0A84, 0x0914, 0x0984, 0x0000, 0x3024}},
|
||||||
{MARKER_297_GIANT_RIPPER, 0x0001, {0x0A10, 0x890C, 0x8100, 0x8908, 0x8988, 0x8988, 0x0A84, 0x0914, 0x0984, 0x0000, 0x3024}},
|
{MARKER_297_GIANT_GRAVESTONE, 0x0001, {0x0A10, 0x890C, 0x8100, 0x8908, 0x8988, 0x8988, 0x0A84, 0x0914, 0x0984, 0x0000, 0x3024}},
|
||||||
{MARKER_127_BAT, 0x0001, {0x0804, 0x0804, 0x8100, 0x0804, 0x0804, 0x0804, 0x0804, 0x0804, 0x0804, 0x0000, 0x1424}},
|
{MARKER_127_BAT, 0x0001, {0x0804, 0x0804, 0x8100, 0x0804, 0x0804, 0x0804, 0x0804, 0x0804, 0x0804, 0x0000, 0x1424}},
|
||||||
{MARKER_254_PORTRAIT_CHOMPA_A, 0x0001, {0x0804, 0x0804, 0x2020, 0x0804, 0x0804, 0x0804, 0x0804, 0x080C, 0x0804, 0x0000, 0x3444}},
|
{MARKER_254_PORTRAIT_CHOMPA_A, 0x0001, {0x0804, 0x0804, 0x2020, 0x0804, 0x0804, 0x0804, 0x0804, 0x080C, 0x0804, 0x0000, 0x3444}},
|
||||||
{MARKER_1D1_PORTRAIT_CHOMPA_B, 0x0001, {0x0804, 0x0804, 0x1020, 0x0804, 0x0804, 0x0804, 0x0804, 0x080C, 0x0804, 0x0000, 0x1424}},
|
{MARKER_1D1_PORTRAIT_CHOMPA_B, 0x0001, {0x0804, 0x0804, 0x1020, 0x0804, 0x0804, 0x0804, 0x0804, 0x080C, 0x0804, 0x0000, 0x1424}},
|
||||||
@@ -114,9 +114,9 @@ Struct_core2_B62B0_0 D_80370AC0[0xBB] = {
|
|||||||
{0x0097, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000}},
|
{0x0097, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000}},
|
||||||
{0x0125, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404}},
|
{0x0125, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404}},
|
||||||
{0x0126, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404}},
|
{0x0126, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404}},
|
||||||
{MARKER_1FD_BLUE_PRESENT_COLLECTABLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
{MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
||||||
{MARKER_1FE_GREEN_PRESENT_COLLECTABLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
{MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
||||||
{MARKER_1FF_RED_PRESENT_COLLECTABLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
{MARKER_1FF_RED_PRESENT_COLLECTIBLE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004}},
|
||||||
{MARKER_20B_WOZZA, 0x7000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x7000}},
|
{MARKER_20B_WOZZA, 0x7000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x7000}},
|
||||||
{MARKER_20F_WOZZA_IN_CAVE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000}},
|
{MARKER_20F_WOZZA_IN_CAVE, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000}},
|
||||||
{0x0204, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7404, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
|
{0x0204, 0x0000, {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7404, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
|
||||||
|
@@ -191,7 +191,7 @@ void func_8034646C(void){
|
|||||||
D_80385FE4 = FALSE;
|
D_80385FE4 = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803464F8(enum level_e level){
|
void itemscore_levelReset(enum level_e level){
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < 6; i++){
|
for(i = 0; i < 6; i++){
|
||||||
@@ -212,7 +212,7 @@ void func_803464F8(enum level_e level){
|
|||||||
D_80385F30[ITEM_20_BLUE_PRESENT] = 0;
|
D_80385F30[ITEM_20_BLUE_PRESENT] = 0;
|
||||||
D_80385F30[ITEM_21_RED_PRESENT] = 0;
|
D_80385F30[ITEM_21_RED_PRESENT] = 0;
|
||||||
D_80385F30[ITEM_22_CATERPILLAR] = 0;
|
D_80385F30[ITEM_22_CATERPILLAR] = 0;
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
D_80385FE8 = 1;
|
D_80385FE8 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,13 +358,13 @@ void func_80346CE8(void){
|
|||||||
|
|
||||||
enum item_e carriedobj_actorId2ItemId(enum actor_e actor_id){
|
enum item_e carriedobj_actorId2ItemId(enum actor_e actor_id){
|
||||||
switch(actor_id){
|
switch(actor_id){
|
||||||
case ACTOR_29_ORANGE_COLLECTABLE: return ITEM_19_ORANGE;
|
case ACTOR_29_ORANGE_COLLECTIBLE: return ITEM_19_ORANGE;
|
||||||
case ACTOR_2A9_ACORN: return ITEM_23_ACORNS;
|
case ACTOR_2A9_ACORN: return ITEM_23_ACORNS;
|
||||||
case ACTOR_2A2_CATERPILLAR: return ITEM_22_CATERPILLAR;
|
case ACTOR_2A2_CATERPILLAR: return ITEM_22_CATERPILLAR;
|
||||||
case ACTOR_2A_GOLD_BULLION: return ITEM_18_GOLD_BULLIONS;
|
case ACTOR_2A_GOLD_BULLION: return ITEM_18_GOLD_BULLIONS;
|
||||||
case ACTOR_1ED_BLUE_PRESENT_COLLECTABLE: return ITEM_20_BLUE_PRESENT;
|
case ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE: return ITEM_20_BLUE_PRESENT;
|
||||||
case ACTOR_1EF_GREEN_PRESENT_COLLECTABLE: return ITEM_1F_GREEN_PRESENT;
|
case ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE: return ITEM_1F_GREEN_PRESENT;
|
||||||
case ACTOR_1F1_RED_PRESENT_COLLECTABLE: return ITEM_21_RED_PRESENT;
|
case ACTOR_1F1_RED_PRESENT_COLLECTIBLE: return ITEM_21_RED_PRESENT;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -548,7 +548,7 @@ void func_80347984(void){}
|
|||||||
|
|
||||||
void func_8034798C(void){
|
void func_8034798C(void){
|
||||||
D_80385F30[ITEM_E_JIGGY] = jiggyscore_leveltotal(level_get());
|
D_80385F30[ITEM_E_JIGGY] = jiggyscore_leveltotal(level_get());
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
//restore item counts from savestate
|
//restore item counts from savestate
|
||||||
@@ -558,7 +558,7 @@ void func_803479C0(u8 *arg0){
|
|||||||
D_80385F30[ITEM_F_RED_FEATHER] = arg0[2];
|
D_80385F30[ITEM_F_RED_FEATHER] = arg0[2];
|
||||||
D_80385F30[ITEM_10_GOLD_FEATHER] = arg0[3];
|
D_80385F30[ITEM_10_GOLD_FEATHER] = arg0[3];
|
||||||
D_80385F30[ITEM_26_JIGGY_TOTAL] = D_80385F30[ITEM_2B_UNKNOWN] = arg0[4];
|
D_80385F30[ITEM_26_JIGGY_TOTAL] = D_80385F30[ITEM_2B_UNKNOWN] = arg0[4];
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -593,5 +593,5 @@ void func_80347AA8(void) {
|
|||||||
func_803204E4(0xC1, FALSE);
|
func_803204E4(0xC1, FALSE);
|
||||||
func_803204E4(0xC0, FALSE);
|
func_803204E4(0xC0, FALSE);
|
||||||
item_set(ITEM_16_LIFE, D_80386068);
|
item_set(ITEM_16_LIFE, D_80386068);
|
||||||
func_802FA5D0();
|
itemPrint_reset();
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ s32 func_802930C0(struct_C0E0 *arg0, s32 arg1){
|
|||||||
if(arg1 < 0)
|
if(arg1 < 0)
|
||||||
return 0;
|
return 0;
|
||||||
else{
|
else{
|
||||||
switch(_player_getTransformation()){
|
switch(bsStoredState_getTransformation()){
|
||||||
case TRANSFORM_2_TERMITE: //L80293110
|
case TRANSFORM_2_TERMITE: //L80293110
|
||||||
return func_80293070(arg0, arg1, &D_803637F0);
|
return func_80293070(arg0, arg1, &D_803637F0);
|
||||||
case TRANSFORM_3_PUMPKIN: //L80293124
|
case TRANSFORM_3_PUMPKIN: //L80293124
|
||||||
|
@@ -349,7 +349,7 @@ void fxegg_ass_update(void) {
|
|||||||
if (0.6 < func_8033EA14(1)) {
|
if (0.6 < func_8033EA14(1)) {
|
||||||
projectile_getPosition(projectile_indx, sp80);
|
projectile_getPosition(projectile_indx, sp80);
|
||||||
if (fxegg_isCollidingWithPlayer(sp80)) {
|
if (fxegg_isCollidingWithPlayer(sp80)) {
|
||||||
chcollectable_collectEgg(NULL);
|
chCollectible_collectEgg(NULL);
|
||||||
func_8033E984();
|
func_8033E984();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,14 +16,14 @@ void func_80360828(Actor *this);
|
|||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_80373090[] = {
|
ActorAnimationInfo D_80373090[] = {
|
||||||
{0, 0.0f},
|
{0, 0.0f},
|
||||||
{ 0xAE, 12.0f},
|
{ ASSET_AE_ANIM_BAT_ROOST, 12.0f},
|
||||||
{ 0xAD, 0.3f},
|
{ ASSET_AD_ANIM_BAT_TAKE_FLIGHT, 0.3f},
|
||||||
{ 0x9D, 2.0f},
|
{ ASSET_9D_ANIM_BAT_FLY, 2.0f},
|
||||||
{ 0x9D, 0.4f},
|
{ ASSET_9D_ANIM_BAT_FLY, 0.4f},
|
||||||
{ 0x9D, 0.35f},
|
{ ASSET_9D_ANIM_BAT_FLY, 0.35f},
|
||||||
{ 0xAD, 0.2f},
|
{ ASSET_AD_ANIM_BAT_TAKE_FLIGHT, 0.2f},
|
||||||
{0x2A9, 0.4f},
|
{ ASSET_2A9_ANIM_BAT_FALL, 0.4f},
|
||||||
{0x2AA, 0.85f},
|
{ ASSET_2AA_ANIM_BAT_DIE, 0.85f},
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_803730D8 = {
|
ActorInfo D_803730D8 = {
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "core2/statetimer.h"
|
||||||
|
|
||||||
extern f32 func_802944A8(void);
|
extern f32 func_802944A8(void);
|
||||||
|
|
||||||
@@ -154,9 +155,9 @@ void func_80294BDC(void) {
|
|||||||
}
|
}
|
||||||
if (D_8037C2E4 == 1.0) {
|
if (D_8037C2E4 == 1.0) {
|
||||||
if (sp24 & 0x10) {
|
if (sp24 & 0x10) {
|
||||||
func_802917E4(5, 0.18f);
|
stateTimer_set(STATE_TIMER_5_UNKNOWN, 0.18f);
|
||||||
} else if (sp24 & 0x40) {
|
} else if (sp24 & 0x40) {
|
||||||
func_802917E4(6, 0.18f);
|
stateTimer_set(STATE_TIMER_6_UNKNOWN, 0.18f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user