236 script->functionTemp[0] = 0;
239 if (
script->functionTemp[0] == 0) {
250 script->functionTempPtr[1] = npc;
264 script->functionTemp[0] = 1;
267 npc =
script->functionTempPtr[1];
280 if (moveSpeed < 1.0) {
284 if (dist <= moveSpeed) {
296 script->functionTemp[0] = 0;
299 if (
script->functionTemp[0] == 0) {
313 script->functionTempPtr[1] = npc;
338 script->functionTemp[0] =1;
341 npc =
script->functionTempPtr[1];
383 script->functionTempPtr[1] = npc;
398 if (
script->varTable[6] == 0) {
405 npc =
script->functionTempPtr[1];
427 if (
script->functionTemp[2] == 0) {
430 if (
script->functionTemp[2] < 0) {
433 if (
script->functionTemp[2] > 0) {
485 script->functionTempPtr[0] = npc;
503 npc =
script->functionTempPtr[0];
533 script->functionTempPtr[0] = npc;
545 npc =
script->functionTempPtr[0];
856 if (duration > 10.0f) {
859 npc->
scale.
x = (10.0f - duration) / 10.0f;
893 partner->moveToPos.x = targetX;
896 partner->moveToPos.y = targetY;
899 partner->moveToPos.z = targetZ;
923 if (
partner->jumpVel <= 0.0f) {
933 partner->scale.x = scale / 10.0f;
BSS s32 PopupMenu_SelectedIndex
#define sfx_play_sound_at_position
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
s32 evt_get_variable(Evt *script, Bytecode var)
f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration)
void disable_npc_blur(Npc *npc)
void partner_clear_player_tracking(Npc *partner)
void enable_npc_blur(Npc *npc)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
s32 partner_is_flying(void)
void enable_partner_ai(void)
f32 evt_get_float_variable(Evt *script, Bytecode var)
s32 create_basic_npc(NpcBlueprint *blueprint)
void npc_surface_spawn_fx(Npc *npc, SurfaceInteractMode mode)
Enemy * get_enemy(s32 npcID)
Looks for an enemy matching the specified npcID.
void npc_set_palswap_1(Npc *npc, s32 palIndexA, s32 palIndexB, s32 timeHoldA, s32 timeAB)
void enable_npc_shadow(Npc *npc)
void disable_npc_shadow(Npc *npc)
void free_npc_by_index(s32 listIndex)
void npc_set_imgfx_params(Npc *npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
void npc_set_decoration(Npc *npc, s32 idx, s32 decorationType)
Npc * get_npc_unsafe(s32 npcID)
void npc_set_palswap_2(Npc *npc, s32 timeHoldB, s32 timeBA, s32 palIndexC, s32 palIndexD)
void npc_set_palswap_mode_A(Npc *npc, s32 arg1)
Npc * get_npc_by_index(s32 listIndex)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
void set_npc_yaw(Npc *npc, f32 yaw)
void set_npc_sprite(Npc *npc, s32 anim, AnimID *extraAnimList)
Npc * get_npc_safe(s32 npcID)
void set_npc_animation(Npc *npc, u32 animID)
ApiStatus _npc_jump_to(Evt *script, s32 isInitialCall, s32 snapYaw)
Npc * resolve_npc(Evt *script, s32 npcIdOrPtr)
s32 partner_can_use_ability(void)
ApiStatus SetNpcPaletteSwapping(Evt *script, b32 isInitialCall)
ApiStatus PlaySoundAtNpc(Evt *script, b32 isInitialCall)
ApiStatus SetNpcRotationPivot(Evt *script, b32 isInitialCall)
ApiStatus DeleteNpc(Evt *script, b32 isInitialCall)
ApiStatus PartnerIsFlying(Evt *script, b32 isInitialCall)
ApiStatus DisablePartnerAI(Evt *script, b32 isInitialCall)
ApiStatus ClearPartnerMoveHistory(Evt *script, b32 isInitialCall)
ApiStatus SetNpcPaletteSwapMode(Evt *script, b32 isInitialCall)
ApiStatus GetNpcAnimation(Evt *script, b32 isInitialCall)
ApiStatus SetNpcImgFXFlags(Evt *script, b32 isInitialCall)
ApiStatus PartnerCanUseAbility(Evt *script, b32 isInitialCall)
ApiStatus EnableNpcShadow(Evt *script, b32 isInitialCall)
ApiStatus GetNpcPos(Evt *script, b32 isInitialCall)
ApiStatus SetNpcDecoration(Evt *script, b32 isInitialCall)
ApiStatus SetNpcImgFXParams(Evt *script, b32 isInitialCall)
ApiStatus SetNpcSpeed(Evt *script, b32 isInitialCall)
ApiStatus NpcSetHomePosToCurrent(Evt *script, b32 isInitialCall)
ApiStatus GetCurrentPartnerID(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
ApiStatus SetNpcPaletteSwapLower(Evt *script, b32 isInitialCall)
ApiStatus SetNpcScale(Evt *script, b32 isInitialCall)
ApiStatus SetNpcRenderMode(Evt *script, b32 isInitialCall)
ApiStatus EnablePartnerAI(Evt *script, b32 isInitialCall)
ApiStatus NpcFaceNpc(Evt *script, b32 isInitialCall)
ApiStatus GetNpcYaw(Evt *script, b32 isInitialCall)
ApiStatus SetNpcRotation(Evt *script, b32 isInitialCall)
ApiStatus BringPartnerOut(Evt *script, b32 isInitialCall)
ApiStatus CreateNpc(Evt *script, b32 isInitialCall)
ApiStatus InterpNpcYaw(Evt *script, b32 isInitialCall)
ApiStatus NpcJump1(Evt *script, b32 isInitialCall)
ApiStatus SetNpcPos(Evt *script, b32 isInitialCall)
ApiStatus NpcJump0(Evt *script, b32 isInitialCall)
ApiStatus NpcFacePlayer(Evt *script, b32 isInitialCall)
ApiStatus SetNpcJumpscale(Evt *script, b32 isInitialCall)
ApiStatus PutPartnerAway(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimationSpeed(Evt *script, b32 isInitialCall)
ApiStatus SetNpcCollisionChannel(Evt *script, b32 isInitialCall)
ApiStatus SetNpcSprite(Evt *script, b32 isInitialCall)
ApiStatus SetNpcYaw(Evt *script, b32 isInitialCall)
ApiStatus GetPartnerPos(Evt *script, b32 isInitialCall)
ApiStatus GetNpcPointer(Evt *script, b32 isInitialCall)
ApiStatus NpcMoveTo(Evt *script, b32 isInitialCall)
ApiStatus SetNpcFlagBits(Evt *script, b32 isInitialCall)
ApiStatus func_802CF56C(Evt *script, b32 isInitialCall)
ApiStatus EnableNpcBlur(Evt *script, b32 isInitialCall)
ApiStatus SetNpcCollisionSize(Evt *script, b32 isInitialCall)
ApiStatus NpcFlyTo(Evt *script, b32 isInitialCall)
ApiStatus func_802CF54C(Evt *script, b32 isInitialCall)
void(* onRender)(struct Npc *)
void(* onUpdate)(struct Npc *)
PartnerAnimations gPartnerAnimations[12]
PlayerStatus gPlayerStatus