3API_CALLABLE(N(MonitorPlayerOrbiting)) {
7 s32 prevAngle, curAngle;
12 orbit = script->functionTempPtr[1] =
heap_malloc(
sizeof(*orbit));
30 orbit = script->functionTempPtr[1];
31 switch (orbit->
state) {
35 if (dist < orbit->startRadius) {
45 if (dist < orbit->startRadius) {
58 if (dist < orbit->startRadius) {
66 if (
fabsf(deltaAngle) > 90.0f) {
81 if (dist < orbit->orbitRadius) {
@ PLAYER_ORBIT_COMPLETE_ROTATION
@ PLAYER_ORBIT_CHANGE_DIRECTION
@ PLAYER_ORBIT_LEFT_REGION
@ PLAYER_ORBIT_CONTINUE_ORBIT
@ ORBIT_STATE_STARTING_ORBIT
@ ORBIT_STATE_FIRST_FRAME
@ ORBIT_STATE_SECOND_FRAME
@ ORBIT_STATE_MAINTAIN_ORBIT
@ ORBIT_STATE_BREAK_ORBIT
s32 evt_get_variable(Evt *script, Bytecode var)
f32 get_xz_dist_to_player(f32, f32)
f32 get_clamped_angle_diff(f32, f32)
void * heap_malloc(s32 size)
void(* eventListener)(struct PlayerOrbitState *, s32)
void(* eventListener)(PlayerOrbitState *, s32)
PlayerStatus gPlayerStatus