2020-07-18 02:47:33 +02:00
|
|
|
#ifndef _FUNCTIONS_H_
|
|
|
|
#define _FUNCTIONS_H_
|
|
|
|
|
|
|
|
#include "ultra64.h"
|
2021-04-08 19:42:36 +02:00
|
|
|
#include "common.h"
|
|
|
|
#include "map.h"
|
2020-08-15 02:49:33 +02:00
|
|
|
#include "enums.h"
|
2021-09-30 01:01:31 +02:00
|
|
|
#include "stdlib/stdarg.h"
|
2022-10-17 11:51:58 +02:00
|
|
|
#include "libc/xstdio.h"
|
2020-07-18 02:47:33 +02:00
|
|
|
|
2021-03-29 02:05:56 +02:00
|
|
|
f32 fabsf(f32 f);
|
2022-01-14 19:09:45 +01:00
|
|
|
f64 fabs(f64 f);
|
2021-04-08 19:42:36 +02:00
|
|
|
f32 cosine(s16 arg0);
|
2020-12-25 00:39:47 +01:00
|
|
|
|
|
|
|
void nuBoot(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void boot_idle(void* data);
|
2022-12-11 08:43:29 +01:00
|
|
|
void boot_main(void* data);
|
2020-12-25 00:39:47 +01:00
|
|
|
|
2022-03-20 11:12:30 +01:00
|
|
|
void is_debug_init(void);
|
2023-05-22 16:38:20 +02:00
|
|
|
void is_debug_panic(const char* message, char* file, s32 line);
|
2022-03-20 11:12:30 +01:00
|
|
|
|
2021-04-29 19:09:30 +02:00
|
|
|
f32 signF(f32 val);
|
2021-01-03 10:34:04 +01:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
s32 func_8002ACDC(void);
|
2023-02-02 12:23:17 +01:00
|
|
|
void load_obfuscation_shims(void);
|
2022-03-20 11:12:30 +01:00
|
|
|
|
2021-04-24 20:56:22 +02:00
|
|
|
void* heap_malloc(s32 size);
|
2021-11-07 04:10:53 +01:00
|
|
|
void* _heap_malloc(HeapNode* head, u32 size);
|
2022-03-20 11:12:30 +01:00
|
|
|
void* _heap_malloc_tail(HeapNode* head, u32 size);
|
2021-11-07 17:58:57 +01:00
|
|
|
u32 _heap_free(HeapNode* heapNodeList, void* addrToFree);
|
2021-11-11 05:38:52 +01:00
|
|
|
void* _heap_realloc(HeapNode* heapNodeList, void* addr, u32 newSize);
|
2021-11-07 17:58:57 +01:00
|
|
|
HeapNode* _heap_create(HeapNode* addr, u32 size);
|
2022-07-17 18:38:19 +02:00
|
|
|
u32 dma_copy(Addr romStart, Addr romEnd, void* vramDest);
|
2022-03-30 14:07:13 +02:00
|
|
|
f32 rand_float(void);
|
2021-10-29 19:57:15 +02:00
|
|
|
void copy_matrix(Matrix4f src, Matrix4f dest);
|
2020-08-27 00:54:55 +02:00
|
|
|
|
2022-05-28 17:15:51 +02:00
|
|
|
s8 set_global_byte(s32 index, s32 value);
|
2020-09-22 05:10:53 +02:00
|
|
|
s32 get_global_byte(s32 index);
|
2022-05-28 17:15:51 +02:00
|
|
|
s32 set_global_flag(s32 index);
|
|
|
|
s32 clear_global_flag(s32 index);
|
2020-09-19 17:16:02 +02:00
|
|
|
s32 get_global_flag(s32 index);
|
2022-05-28 17:15:51 +02:00
|
|
|
s8 set_area_byte(s32 index, s32 value);
|
2020-09-22 05:10:53 +02:00
|
|
|
s32 get_area_byte(s32 index);
|
2022-05-28 17:15:51 +02:00
|
|
|
s32 set_area_flag(s32 index);
|
|
|
|
s32 clear_area_flag(s32 index);
|
2020-09-19 17:16:02 +02:00
|
|
|
s32 get_area_flag(s32 index);
|
|
|
|
|
2020-09-25 23:18:09 +02:00
|
|
|
Shadow* get_shadow_by_index(s32 index);
|
2021-04-23 13:55:30 +02:00
|
|
|
s32 get_time_freeze_mode(void);
|
2021-08-25 14:34:03 +02:00
|
|
|
void render_player_model(void);
|
2021-04-26 19:47:38 +02:00
|
|
|
s16 get_game_mode(void);
|
2021-08-22 15:10:06 +02:00
|
|
|
s32 is_picking_up_item(void);
|
2020-09-25 23:18:09 +02:00
|
|
|
|
2020-10-03 22:04:49 +02:00
|
|
|
f32 integrate_gravity(void);
|
2021-09-27 03:00:51 +02:00
|
|
|
void gravity_use_fall_parms(void);
|
2020-12-20 04:47:09 +01:00
|
|
|
f32 get_clamped_angle_diff(f32, f32);
|
2023-10-14 21:43:12 +02:00
|
|
|
b32 startup_fade_screen_in(s16 subtractAlpha);
|
|
|
|
b32 startup_fade_screen_out(s16 addAlpha);
|
|
|
|
void startup_fade_screen_update(void);
|
2020-10-03 22:04:49 +02:00
|
|
|
|
2020-11-08 01:30:14 +01:00
|
|
|
u32 get_entity_type(s32 arg0);
|
2020-11-18 06:32:18 +01:00
|
|
|
Entity* get_entity_by_index(s32 index);
|
2022-07-17 18:38:19 +02:00
|
|
|
s32 create_entity(EntityBlueprint* bp, ...);
|
2021-06-30 04:27:12 +02:00
|
|
|
void entity_shattering_idle(Entity* entity);
|
2023-05-20 19:26:11 +02:00
|
|
|
void show_damage_fx(Actor* actor, f32 x, f32 y, f32 z, s32 damage);
|
2020-11-18 06:32:18 +01:00
|
|
|
|
2022-03-30 14:07:13 +02:00
|
|
|
s32 entity_raycast_down(f32*, f32*, f32*, f32*, f32*, f32*);
|
|
|
|
|
2021-02-08 16:53:44 +01:00
|
|
|
void step_game_loop(void);
|
2021-02-08 19:02:14 +01:00
|
|
|
s32 resume_all_group(s32 groupFlags);
|
2021-04-29 19:38:02 +02:00
|
|
|
f32 length2D(f32 x, f32 y);
|
2021-06-30 04:27:12 +02:00
|
|
|
void player_input_to_move_vector(f32* angle, f32* magnitude);
|
2021-09-16 14:19:12 +02:00
|
|
|
void game_input_to_move_vector(f32* x, f32* y);
|
2021-06-16 11:52:15 +02:00
|
|
|
void exec_ShakeCamX(s32 arg0, s32 arg1, s32 arg2, f32 arg3);
|
2021-09-08 00:02:00 +02:00
|
|
|
void exec_ShakeCam1(s32 arg0, s32 arg1, s32 arg2);
|
2024-10-08 05:15:38 +02:00
|
|
|
|
|
|
|
// returns the angle that the player is facing "toward" in world-space.
|
|
|
|
// this will always be to the left or the right relative to the current camera position.
|
|
|
|
// note that this is NOT the direction the player character is moving, nor the orientation of the sprite itself.
|
|
|
|
// think of this as the direction of a hammer impact relative to the center of the player.
|
|
|
|
f32 player_get_side_angle(void);
|
2021-04-29 19:38:02 +02:00
|
|
|
|
2022-11-02 13:30:07 +01:00
|
|
|
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style);
|
2021-02-08 16:53:44 +01:00
|
|
|
|
2021-06-16 11:52:15 +02:00
|
|
|
void set_entity_model_flags(s32 idx, s32 newFlags);
|
|
|
|
void clear_entity_model_flags(s32 idx, s32 newFlags);
|
|
|
|
void exec_entity_model_commandlist(s32 idx);
|
2021-09-22 13:17:46 +02:00
|
|
|
RenderTask* queue_render_task(RenderTask* task);
|
2021-07-31 16:32:19 +02:00
|
|
|
|
2022-07-17 18:38:19 +02:00
|
|
|
s32 create_mesh_animator(s16* animPos, s16* animBuffer);
|
|
|
|
void load_mesh_animator_tree(s32 index, StaticAnimatorNode** tree);
|
|
|
|
|
2021-09-02 13:17:40 +02:00
|
|
|
void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);
|
|
|
|
|
2022-08-07 14:42:54 +02:00
|
|
|
s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, PAL_PTR palette, s16 posX,
|
2021-11-12 13:23:43 +01:00
|
|
|
s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity);
|
|
|
|
|
2022-02-19 15:39:34 +01:00
|
|
|
void render_frame(s32 flag);
|
|
|
|
void clear_windows(void);
|
2022-02-13 09:19:59 +01:00
|
|
|
void update_window_hierarchy(s32 windowIndex, u8 arg1);
|
2022-11-02 13:30:07 +01:00
|
|
|
void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, s32* maxLinesPerPage, s32* arg6, u16 charset);
|
2022-02-08 19:24:51 +01:00
|
|
|
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc);
|
|
|
|
void decode_yay0(void* src, void* dst);
|
|
|
|
|
2022-04-29 06:32:16 +02:00
|
|
|
s32 ai_check_player_dist(Enemy* enemy, s32 arg1, f32 arg2, f32 arg3);
|
2022-03-20 11:12:30 +01:00
|
|
|
|
2022-02-08 19:24:51 +01:00
|
|
|
//pause
|
|
|
|
void pause_init(void);
|
|
|
|
void pause_handle_input(s32 buttonsPressed, s32 buttonsHeld);
|
|
|
|
void pause_cleanup(void);
|
|
|
|
|
2021-12-13 10:27:28 +01:00
|
|
|
// file menu stuff
|
2024-10-31 01:21:15 +01:00
|
|
|
void filemenu_init(s32 mode);
|
2022-10-16 16:22:18 +02:00
|
|
|
void filemenu_cleanup(void);
|
|
|
|
void filemenu_update(void);
|
2024-10-31 01:21:15 +01:00
|
|
|
s32 filemenu_get_exit_mode(void);
|
2022-03-10 10:55:38 +01:00
|
|
|
void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row);
|
|
|
|
void filemenu_set_cursor_alpha(s32 arg0);
|
2021-12-13 10:27:28 +01:00
|
|
|
void filemenu_set_cursor_goal_pos(s32 windowIndex, s32 posX, s32 posY);
|
2022-08-17 03:15:54 +02:00
|
|
|
u8* filemenu_get_menu_message(s32 idx);
|
2021-12-13 10:27:28 +01:00
|
|
|
|
2022-03-20 11:12:30 +01:00
|
|
|
void gfx_task_background(void);
|
|
|
|
|
2022-01-14 19:54:45 +01:00
|
|
|
void update_enemy_shadows(void);
|
|
|
|
void update_hero_shadows(void);
|
|
|
|
|
2021-07-31 16:32:19 +02:00
|
|
|
// append gfx funcs
|
2022-05-31 20:39:46 +02:00
|
|
|
void appendGfx_background_texture(void);
|
2022-08-26 12:13:57 +02:00
|
|
|
void appendGfx_enemy_actor(void*);
|
|
|
|
void appendGfx_enemy_actor_blur(void*);
|
2023-01-25 03:33:20 +01:00
|
|
|
void appendGfx_enemy_actor_reflection(void*);
|
2022-08-26 12:13:57 +02:00
|
|
|
void appendGfx_partner_actor(void*);
|
|
|
|
void appendGfx_partner_actor_blur(void*);
|
2023-01-25 03:33:20 +01:00
|
|
|
void appendGfx_partner_actor_reflection(void*);
|
2022-08-26 12:13:57 +02:00
|
|
|
void appendGfx_player_actor(void*);
|
|
|
|
void appendGfx_player_actor_blur(Actor*);
|
2023-01-25 03:33:20 +01:00
|
|
|
void appendGfx_player_actor_reflection(void*);
|
2021-06-16 11:52:15 +02:00
|
|
|
|
2023-08-21 20:07:08 +02:00
|
|
|
void force_disable_actor_blur(Actor*);
|
2022-02-08 19:33:05 +01:00
|
|
|
|
2022-11-25 16:16:13 +01:00
|
|
|
void player_handle_floor_collider_type(s32 colliderID);
|
|
|
|
f32 player_fall_distance(void);
|
2021-09-27 03:00:51 +02:00
|
|
|
void func_800E4AD8(s32 arg0);
|
2021-06-30 04:27:12 +02:00
|
|
|
f32 player_check_collision_below(f32, s32* colliderID);
|
2024-10-08 05:15:38 +02:00
|
|
|
b32 can_trigger_loading_zone(void);
|
2023-05-20 19:26:11 +02:00
|
|
|
void update_damage_popups(void);
|
2023-05-09 05:48:11 +02:00
|
|
|
void show_action_rating(s32, Actor*, f32, f32, f32);
|
2023-05-20 19:26:11 +02:00
|
|
|
s32 render_with_adjusted_palettes(s32, ActorPart*, s32, Matrix4f, s32);
|
2021-06-16 11:52:15 +02:00
|
|
|
|
2022-01-06 14:40:01 +01:00
|
|
|
HeapNode* general_heap_create(void);
|
2021-07-16 20:27:27 +02:00
|
|
|
void* general_heap_malloc(s32 size);
|
2021-12-13 10:27:28 +01:00
|
|
|
s32 general_heap_free(void* data);
|
|
|
|
|
|
|
|
s32 integer_log(s32 number, u32 base);
|
|
|
|
|
|
|
|
void set_battle_stage(s32);
|
|
|
|
void load_battle(s32);
|
2021-07-16 20:27:27 +02:00
|
|
|
|
2021-06-30 04:27:12 +02:00
|
|
|
void entity_Shadow_init(Shadow* entity);
|
|
|
|
void entity_SaveBlock_idle(Entity* entity);
|
|
|
|
void entity_SaveBlock_pause_game(void);
|
|
|
|
void entity_SaveBlock_resume_game(void);
|
|
|
|
void entity_SaveBlock_save_data(void);
|
|
|
|
void entity_SaveBlock_show_tutorial_message(Entity* entity);
|
|
|
|
void entity_SaveBlock_wait_for_close_tutorial(Entity* entity);
|
|
|
|
void entity_SaveBlock_show_choice_message(void);
|
|
|
|
void entity_SaveBlock_show_result_message(void);
|
|
|
|
void entity_SaveBlock_wait_for_close_result(Entity* entity);
|
|
|
|
void entity_SaveBlock_wait_for_close_choice(Entity* entity);
|
|
|
|
void entity_SaveBlock_init(Entity* entity);
|
|
|
|
void entity_GreenStompSwitch_idle(Entity* entity);
|
|
|
|
void entity_GreenStompSwitch_retract(Entity* entity);
|
|
|
|
void entity_GreenStompSwitch_extend(Entity* entity);
|
|
|
|
void entity_HugeBlueSwitch_idle(Entity* entity);
|
|
|
|
void entity_small_switch_idle(Entity* entity);
|
|
|
|
void entity_RedSwitch_wait_and_reset(Entity* entity);
|
|
|
|
void entity_base_switch_anim_init(Entity* entity);
|
|
|
|
s32 entity_RedSwitch_animate_scale(Entity* entity);
|
|
|
|
void entity_base_switch_start_bound_script(Entity* entity);
|
|
|
|
void entity_base_switch_animate_scale(Entity* entity);
|
|
|
|
void entity_base_switch_init(Entity* entity);
|
|
|
|
f32 entity_block_hit_init_scale(Entity* entity);
|
|
|
|
void entity_block_hit_animate_scale(Entity* entity);
|
|
|
|
s32 entity_block_handle_collision(Entity* entity);
|
|
|
|
void entity_BlueSwitch_init(Entity* entity);
|
|
|
|
void entity_HugeBlueSwitch_init(Entity* entity);
|
|
|
|
|
2021-07-19 13:49:30 +02:00
|
|
|
s32 dispatch_damage_event_actor_0(Actor* actor, s32 damageAmount, s32 event);
|
|
|
|
|
2020-10-17 05:47:10 +02:00
|
|
|
// Text
|
2021-09-02 17:46:27 +02:00
|
|
|
MessagePrintState* msg_get_printer_for_msg(s32 msgID, s32* a1);
|
2022-07-08 14:57:08 +02:00
|
|
|
s32 msg_printer_load_msg(s32 msgID, MessagePrintState* printer);
|
2022-03-22 22:27:22 +01:00
|
|
|
void msg_printer_set_origin_pos(MessagePrintState* msgPrintState, s32 x, s32 y);
|
2021-04-22 05:19:31 +02:00
|
|
|
|
2021-08-16 20:14:58 +02:00
|
|
|
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ);
|
2020-10-17 05:47:10 +02:00
|
|
|
|
2022-01-08 11:11:20 +01:00
|
|
|
void parent_collider_to_model(s16 colliderID, s16 modelIndex);
|
2020-08-10 09:42:50 +02:00
|
|
|
void clone_model(u16 srcModelID, u16 newModelID);
|
2021-10-29 19:57:15 +02:00
|
|
|
struct Model* get_model_from_list_index(s32 listIndex);
|
2022-06-13 18:34:22 +02:00
|
|
|
s32 create_model_animator(s16* animPos);
|
2020-09-25 23:18:09 +02:00
|
|
|
s32 get_model_list_index_from_tree_index(s32 treeIndex);
|
2021-06-30 04:27:12 +02:00
|
|
|
s32 get_transform_group_index(s32);
|
2021-05-08 07:34:57 +02:00
|
|
|
void get_model_center_and_size(u16 modelID, f32* centerX, f32* centerY, f32* centerZ, f32* sizeX, f32* sizeY,
|
2020-09-19 17:17:53 +02:00
|
|
|
f32* sizeZ);
|
2024-10-08 05:15:38 +02:00
|
|
|
HitID collision_main_above(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
void collision_lava_reset_check_additional_overlaps(void);
|
2021-06-30 04:27:12 +02:00
|
|
|
s32 player_test_lateral_overlap(s32, PlayerStatus*, f32*, f32*, f32*, f32, f32);
|
|
|
|
Npc* peach_make_disguise_npc(s32 peachDisguise);
|
2022-09-15 21:39:16 +02:00
|
|
|
void peach_set_disguise_anim(AnimID);
|
2020-09-18 03:28:34 +02:00
|
|
|
|
2022-02-13 09:19:59 +01:00
|
|
|
s32 draw_box(s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
|
2022-12-29 06:08:13 +01:00
|
|
|
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32, s32, s32, s32, s32, s32, s32),
|
|
|
|
void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, Matrix4f outMtx);
|
2021-09-02 17:46:27 +02:00
|
|
|
s32 get_msg_width(s32 msgID, u16 charset);
|
2021-07-16 20:27:27 +02:00
|
|
|
|
2023-10-22 14:39:20 +02:00
|
|
|
s32 partner_can_open_world_menus(void);
|
2021-03-15 14:30:09 +01:00
|
|
|
s32 disable_player_static_collisions(void);
|
|
|
|
s32 disable_player_input(void);
|
2021-04-29 19:09:30 +02:00
|
|
|
void func_80027088(s32);
|
2021-04-22 05:19:31 +02:00
|
|
|
void set_time_freeze_mode(s32);
|
2020-11-23 19:48:34 +01:00
|
|
|
|
2021-06-21 06:30:57 +02:00
|
|
|
s32 get_map_IDs_by_name(const char* mapName, s16* areaID, s16* mapID);
|
|
|
|
|
2023-02-03 09:50:48 +01:00
|
|
|
void transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32* outX, f32* outY, f32* outZ, f32* outW);
|
2021-07-31 16:32:19 +02:00
|
|
|
void try_player_footstep_sounds(s32 arg0);
|
|
|
|
void phys_update_interact_collider(void);
|
2022-09-08 14:21:07 +02:00
|
|
|
void phys_reset_spin_history(void);
|
2022-03-22 22:56:28 +01:00
|
|
|
s32 phys_adjust_cam_on_landing(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
s32 phys_should_player_be_sliding(void);
|
2021-08-25 14:34:03 +02:00
|
|
|
void phys_init_integrator_for_current_state(void);
|
|
|
|
void phys_player_land(void);
|
2021-09-27 03:00:51 +02:00
|
|
|
void phys_main_collision_below(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
void phys_peach_update(void);
|
|
|
|
void check_input_spin(void);
|
2021-04-29 19:09:30 +02:00
|
|
|
|
2023-03-16 07:41:26 +01:00
|
|
|
b32 npc_test_move_simple_without_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
2020-10-20 01:48:16 +02:00
|
|
|
|
2020-08-10 09:42:50 +02:00
|
|
|
void update_collider_transform(s16 colliderID);
|
2020-08-27 00:54:55 +02:00
|
|
|
void get_collider_center(s32 colliderID, f32* x, f32* y, f32* z);
|
|
|
|
|
2022-01-16 14:28:09 +01:00
|
|
|
s32 is_another_trigger_bound(Trigger*, EvtScript* script);
|
|
|
|
Trigger* create_trigger(TriggerBlueprint* def);
|
|
|
|
s32 evt_trigger_on_activate_exec_script(Trigger* trigger);
|
2020-11-23 20:19:13 +01:00
|
|
|
Trigger* get_trigger_by_id(s32 triggerID);
|
2020-09-06 17:53:48 +02:00
|
|
|
|
2021-10-03 19:42:38 +02:00
|
|
|
Actor* get_actor(s32 actorID);
|
2023-02-17 08:44:14 +01:00
|
|
|
ActorPart* get_actor_part(Actor* actor, s32 partID);
|
2021-02-04 12:28:01 +01:00
|
|
|
s32 add_coins(s32 amt);
|
2022-02-08 19:33:05 +01:00
|
|
|
s32 is_partner_ability_active(s32);
|
2022-04-19 09:03:12 +02:00
|
|
|
s32 count_power_plus(s32);
|
2020-10-08 21:03:58 +02:00
|
|
|
|
2021-08-29 15:44:17 +02:00
|
|
|
s32 phys_can_player_interact(void);
|
|
|
|
|
2021-06-30 04:27:12 +02:00
|
|
|
void ai_enemy_play_sound(Npc* npc, s32 arg1, s32 arg2);
|
2020-10-08 21:03:58 +02:00
|
|
|
|
2024-03-06 08:32:00 +01:00
|
|
|
HitID player_test_move_without_slipping(PlayerStatus*, f32*, f32*, f32*, f32, f32, s32*);
|
|
|
|
HitID player_test_move_with_slipping(PlayerStatus* playerStatus, f32* posX, f32* posY, f32* posZ, f32 speed, f32 heading);
|
2021-02-18 12:54:07 +01:00
|
|
|
|
2021-08-29 18:51:56 +02:00
|
|
|
s32 evt_get_variable(Evt* script, Bytecode var);
|
|
|
|
s32 evt_set_variable(Evt* script, Bytecode var, s32 value);
|
|
|
|
f32 evt_get_float_variable(Evt* script, Bytecode var);
|
|
|
|
f32 evt_set_float_variable(Evt* script, Bytecode var, f32 value);
|
2022-06-17 11:21:13 +02:00
|
|
|
s32 evt_get_variable_index(Evt* script, s32 var);
|
2021-08-22 23:50:10 +02:00
|
|
|
void set_script_timescale(Evt* script, f32 timescale);
|
2020-07-18 02:47:33 +02:00
|
|
|
f32 sin_deg(f32 x);
|
|
|
|
f32 cos_deg(f32 x);
|
2020-10-26 02:12:01 +01:00
|
|
|
f32 sin_rad(f32 x);
|
2021-01-20 16:42:05 +01:00
|
|
|
f32 cos_rad(f32 x);
|
|
|
|
s32 round(f32);
|
2020-08-15 06:27:01 +02:00
|
|
|
f32 atan2(f32 startX, f32 startZ, f32 endX, f32 endZ);
|
2020-08-15 16:26:43 +02:00
|
|
|
f32 clamp_angle(f32 theta);
|
2020-11-10 17:27:02 +01:00
|
|
|
s32 sign(s32 value);
|
2022-08-06 14:14:04 +02:00
|
|
|
|
2023-10-14 21:43:12 +02:00
|
|
|
b32 check_player_action_debug(void);
|
2020-09-27 03:02:29 +02:00
|
|
|
|
2021-06-30 04:27:12 +02:00
|
|
|
s32 battle_heap_create(void);
|
|
|
|
|
2021-08-16 20:14:58 +02:00
|
|
|
s32 test_ray_zones(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
|
|
|
|
f32* hitDepth, f32* nx, f32* ny, f32* nz);
|
2021-08-13 19:27:57 +02:00
|
|
|
s32 test_ray_colliders(s32 ignoreFlags, f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX,
|
|
|
|
f32* hitY, f32* hitZ, f32* hitDepth, f32* hitNx, f32* hitNy, f32* hitNz);
|
2024-03-06 08:32:00 +01:00
|
|
|
|
|
|
|
/// Test a general ray from a given starting position and direction against all entities.
|
|
|
|
/// If one is hit, returns the position and normal of the hit and the length along the ray on the output params.
|
|
|
|
/// All output params are invalid when a value of `NO_COLLIDER` is returned.
|
|
|
|
/// @param startX origin x position of the ray
|
|
|
|
/// @param startY origin y position of the ray
|
|
|
|
/// @param startZ origin z position of the ray
|
|
|
|
/// @param dirX normalized x direction of the ray
|
|
|
|
/// @param dirY normalized y direction of the ray
|
|
|
|
/// @param dirZ normalized z direction of the ray
|
|
|
|
/// @param[out] hitX normalized x position of the hit
|
|
|
|
/// @param[out] hitY normalized y position of the hit
|
|
|
|
/// @param[out] hitZ normalized z position of the hit
|
|
|
|
/// @param[in,out] hitDepth as input, maximum length of the ray; as output, distance along the ray of the hit
|
|
|
|
/// @param[out] hitNx x normal direction of the hit
|
|
|
|
/// @param[out] hitNy y normal direction of the hit
|
|
|
|
/// @param[out] hitNz z normal direction of the hit
|
|
|
|
/// @returns entity index or `NO_COLLIDER` is none is hit
|
2021-08-13 19:27:57 +02:00
|
|
|
s32 test_ray_entities(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
|
|
|
|
f32* hitDepth, f32* hitNx, f32* hitNy, f32* hitNz);
|
2021-06-30 04:27:12 +02:00
|
|
|
|
2021-09-26 14:04:12 +02:00
|
|
|
void mem_clear(void* data, s32 numBytes);
|
2021-03-07 19:32:24 +01:00
|
|
|
|
2023-10-14 21:43:12 +02:00
|
|
|
void startup_set_fade_screen_color(s16 color);
|
|
|
|
void startup_set_fade_screen_alpha(s16 alpha);
|
2021-04-01 20:00:29 +02:00
|
|
|
|
2021-06-30 04:27:12 +02:00
|
|
|
f32 get_xz_dist_to_player(f32, f32);
|
2020-12-22 15:58:31 +01:00
|
|
|
void func_800E06C0(s32);
|
2023-05-20 19:26:11 +02:00
|
|
|
void close_status_bar(void);
|
2021-08-29 15:44:17 +02:00
|
|
|
Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState);
|
2022-01-16 14:28:09 +01:00
|
|
|
Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState);
|
2021-08-29 15:44:17 +02:00
|
|
|
Evt* restart_script(Evt* script);
|
|
|
|
void clear_virtual_entity_list(void);
|
|
|
|
void reset_model_animators(void);
|
|
|
|
void init_virtual_entity_list(void);
|
|
|
|
void init_model_animators(void);
|
2022-07-17 18:38:19 +02:00
|
|
|
void play_model_animation(s32, s16*);
|
2021-08-29 15:44:17 +02:00
|
|
|
s32 heap_free(void* ptr);
|
2022-01-14 19:54:45 +01:00
|
|
|
|
2022-09-08 14:21:07 +02:00
|
|
|
void load_battle_hit_asset(const char* hitName);
|
|
|
|
void load_data_for_models(struct ModelNode* model, s32 romOffset, s32 size);
|
|
|
|
void load_player_actor(void);
|
|
|
|
|
2022-01-14 19:54:45 +01:00
|
|
|
void btl_state_update_normal_start(void);
|
|
|
|
void btl_state_draw_normal_start(void);
|
|
|
|
void btl_state_update_begin_turn(void);
|
|
|
|
void btl_state_draw_begin_turn(void);
|
|
|
|
void btl_state_update_begin_player_turn(void);
|
|
|
|
void btl_state_draw_begin_player_turn(void);
|
|
|
|
void btl_state_update_switch_to_player(void);
|
|
|
|
void btl_state_draw_switch_to_player(void);
|
|
|
|
void btl_state_update_begin_partner_turn(void);
|
|
|
|
void btl_state_draw_begin_partner_turn(void);
|
2021-07-31 16:32:19 +02:00
|
|
|
void btl_state_update_switch_to_partner(void);
|
2022-01-14 19:54:45 +01:00
|
|
|
void btl_state_draw_switch_to_partner(void);
|
2023-01-10 07:33:09 +01:00
|
|
|
void btl_state_update_9(void);
|
2023-01-11 09:38:04 +01:00
|
|
|
void btl_state_draw_9(void);
|
2022-01-14 19:54:45 +01:00
|
|
|
void btl_state_update_prepare_menu(void);
|
|
|
|
void btl_state_draw_prepare_menu(void);
|
|
|
|
void btl_state_update_end_turn(void);
|
|
|
|
void btl_state_draw_end_turn(void);
|
|
|
|
void btl_state_update_1C(void);
|
|
|
|
void btl_state_draw_1C(void);
|
|
|
|
void btl_state_update_victory(void);
|
|
|
|
void btl_state_draw_victory(void);
|
|
|
|
void btl_state_update_end_training_battle(void);
|
|
|
|
void btl_state_draw_end_training_battle(void);
|
|
|
|
void btl_state_update_end_battle(void);
|
|
|
|
void btl_state_draw_end_battle(void);
|
|
|
|
void btl_state_update_defend(void);
|
|
|
|
void btl_state_draw_defend(void);
|
|
|
|
void btl_state_update_run_away(void);
|
|
|
|
void btl_state_draw_run_away(void);
|
|
|
|
void btl_state_update_defeat(void);
|
|
|
|
void btl_state_draw_defeat(void);
|
|
|
|
void btl_state_update_change_partner(void);
|
|
|
|
void btl_state_draw_change_partner(void);
|
|
|
|
void btl_state_update_player_move(void);
|
|
|
|
void btl_state_draw_player_move(void);
|
|
|
|
void btl_state_update_end_player_turn(void);
|
|
|
|
void btl_state_update_partner_move(void);
|
2022-03-10 10:55:38 +01:00
|
|
|
void btl_state_draw_end_player_turn(void);
|
2022-01-14 19:54:45 +01:00
|
|
|
void btl_state_draw_partner_move(void);
|
|
|
|
void btl_state_update_end_partner_turn(void);
|
|
|
|
void btl_state_draw_end_partner_turn(void);
|
|
|
|
void btl_state_update_next_enemy(void);
|
|
|
|
void btl_state_draw_next_enemy(void);
|
|
|
|
void btl_state_update_enemy_move(void);
|
|
|
|
void btl_state_draw_enemy_move(void);
|
|
|
|
void btl_state_update_first_strike(void);
|
|
|
|
void btl_state_draw_first_stike(void);
|
|
|
|
void btl_state_update_partner_striking_first(void);
|
|
|
|
void btl_state_draw_partner_striking_first(void);
|
|
|
|
void btl_state_update_enemy_striking_first(void);
|
|
|
|
void btl_state_draw_enemy_striking_first(void);
|
|
|
|
void btl_state_update_end_demo_battle(void);
|
|
|
|
void btl_state_draw_end_demo_battle(void);
|
|
|
|
|
|
|
|
void btl_state_update_player_menu(void);
|
|
|
|
void btl_state_draw_player_menu(void);
|
|
|
|
void btl_state_update_partner_menu(void);
|
|
|
|
void btl_state_draw_partner_menu(void);
|
|
|
|
void btl_state_update_peach_menu(void);
|
|
|
|
void btl_state_draw_peach_menu(void);
|
|
|
|
void btl_state_update_twink_menu(void);
|
|
|
|
void btl_state_draw_twink_menu(void);
|
|
|
|
void btl_state_update_select_target(void);
|
|
|
|
void btl_state_draw_select_target(void);
|
|
|
|
void btl_state_update_22(void);
|
|
|
|
void btl_state_draw_22(void);
|
|
|
|
|
|
|
|
void btl_state_update_celebration(void);
|
2022-02-08 19:33:05 +01:00
|
|
|
void btl_draw_upgrade_windows(s32);
|
2022-01-14 19:54:45 +01:00
|
|
|
void btl_state_draw_celebration(void);
|
|
|
|
|
2023-05-20 19:26:11 +02:00
|
|
|
void btl_bonk_cleanup(void);
|
2023-10-14 21:43:12 +02:00
|
|
|
void set_actor_anim_by_ref(Actor*, ActorPart*, AnimID);
|
2023-05-20 19:26:11 +02:00
|
|
|
void update_action_ratings(void);
|
|
|
|
void update_health_bars(void);
|
2022-05-16 21:18:18 +02:00
|
|
|
s32 btl_cam_is_moving_done(void);
|
2022-08-26 12:13:57 +02:00
|
|
|
void btl_popup_messages_update(void);
|
|
|
|
void btl_popup_messages_draw_world_geometry(void);
|
2022-01-14 19:54:45 +01:00
|
|
|
void func_80255FD8(void);
|
|
|
|
|
2023-10-22 14:39:20 +02:00
|
|
|
void set_actor_glow_pal(Actor* actor, s32 arg1);
|
2022-01-14 19:54:45 +01:00
|
|
|
|
2021-10-29 19:57:15 +02:00
|
|
|
void btl_set_popup_duration(s32 duration);
|
2021-08-29 15:44:17 +02:00
|
|
|
void switch_to_partner(s32 arg0);
|
2022-06-17 11:21:13 +02:00
|
|
|
s8 get_current_partner_id(void);
|
2021-08-29 15:44:17 +02:00
|
|
|
|
|
|
|
void delete_trigger(Trigger* toDelete);
|
|
|
|
void kill_script_by_ID(s32 id);
|
|
|
|
void set_script_priority(Evt* script, s32 priority);
|
|
|
|
void set_script_group(Evt* script, s32 groupFlags);
|
|
|
|
void suspend_group_others(Evt* script, s32 groupFlags);
|
|
|
|
void resume_group_others(Evt* script, s32 groupFlags);
|
|
|
|
s32 suspend_all_script(s32 id);
|
|
|
|
s32 resume_all_script(s32 id);
|
2020-10-30 04:56:54 +01:00
|
|
|
|
2021-10-03 17:44:16 +02:00
|
|
|
s32 create_shadow_type(s32 type, f32 x, f32 y, f32 z);
|
2024-10-01 04:50:46 +02:00
|
|
|
b32 is_point_outside_territory(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ);
|
2020-11-02 20:53:06 +01:00
|
|
|
PlayerData* get_player_data(void);
|
|
|
|
|
2023-03-16 07:41:26 +01:00
|
|
|
b32 npc_raycast_down_around(s32, f32*, f32*, f32*, f32*, f32, f32);
|
2023-08-21 20:07:08 +02:00
|
|
|
b32 npc_raycast_down_sides(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32* hitDepth);
|
2024-10-08 05:15:38 +02:00
|
|
|
b32 npc_raycast_up(s32, f32*, f32*, f32*, f32*);
|
2024-03-06 08:32:00 +01:00
|
|
|
HitID npc_raycast_up_corners(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32* hitDepth, f32 yaw, f32 radius);
|
2024-10-08 05:15:38 +02:00
|
|
|
HitID player_raycast_up_corners(PlayerStatus*, f32*, f32*, f32*, f32*, f32);
|
2024-03-06 08:32:00 +01:00
|
|
|
HitID player_raycast_below_cam_relative(PlayerStatus* playerStatus, f32* outX, f32* outY, f32* outZ, f32* outLength,
|
2022-04-11 08:34:35 +02:00
|
|
|
f32* hitRx, f32* hitRz, f32* hitDirX, f32* hitDirZ);
|
2023-03-16 07:41:26 +01:00
|
|
|
b32 npc_test_move_taller_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
|
|
|
b32 npc_test_move_simple_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
2021-06-30 04:27:12 +02:00
|
|
|
s32 npc_test_move_complex_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
2020-12-22 14:24:49 +01:00
|
|
|
|
2020-10-19 01:27:14 +02:00
|
|
|
// Partner
|
2023-03-16 07:41:26 +01:00
|
|
|
EvtScript* partner_get_enter_map_script(void);
|
2022-04-29 06:32:16 +02:00
|
|
|
void partner_handle_before_battle(void);
|
2021-06-30 04:27:12 +02:00
|
|
|
void partner_walking_update_player_tracking(Npc* partner);
|
|
|
|
void partner_walking_update_motion(Npc* partner);
|
2020-11-09 00:26:29 +01:00
|
|
|
void enable_partner_ai(void);
|
2021-06-30 04:27:12 +02:00
|
|
|
void partner_walking_enable(Npc* partner, s32 val);
|
|
|
|
void partner_flying_enable(Npc* partner, s32 val);
|
|
|
|
void partner_flying_update_player_tracking(Npc* partner);
|
|
|
|
s32 partner_is_flying(void);
|
|
|
|
void partner_flying_update_motion(Npc* partner);
|
|
|
|
void partner_clear_player_tracking(Npc* partner);
|
2020-10-19 01:27:14 +02:00
|
|
|
|
2021-06-30 04:27:12 +02:00
|
|
|
void partner_set_tether_distance(f32);
|
2022-05-05 16:08:16 +02:00
|
|
|
|
|
|
|
void btl_delete_player_actor(Actor* player);
|
|
|
|
|
2022-07-08 14:57:08 +02:00
|
|
|
s32 cancel_message(MessagePrintState* msgPrintState);
|
|
|
|
|
|
|
|
void set_message_images(MessageImageData* images);
|
|
|
|
|
2022-05-05 16:08:16 +02:00
|
|
|
void kill_all_scripts(void);
|
2020-09-27 19:57:40 +02:00
|
|
|
s32 does_script_exist(s32 id);
|
2021-08-22 23:50:10 +02:00
|
|
|
s32 does_script_exist_by_ref(Evt* script);
|
2022-01-16 14:28:09 +01:00
|
|
|
Evt* start_script(EvtScript* source, s32 priority, s32 initialState);
|
|
|
|
Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 groupFlags);
|
2021-07-20 12:51:11 +02:00
|
|
|
f32 get_player_normal_yaw(void);
|
|
|
|
void set_standard_shadow_scale(Shadow* shadow, f32 scale);
|
2022-04-05 14:53:40 +02:00
|
|
|
void set_npc_shadow_scale(Shadow* shadow, f32 height, f32 npcRadius);
|
2022-07-08 14:57:08 +02:00
|
|
|
void set_npc_animation(Npc* npc, u32 animID);
|
2021-07-20 12:51:11 +02:00
|
|
|
void set_peach_shadow_scale(Shadow* shadow, f32 scale);
|
2022-03-30 14:07:13 +02:00
|
|
|
s32 is_block_on_ground(Entity* block);
|
2023-10-14 21:43:12 +02:00
|
|
|
void set_actor_anim(s32 actorID, s32 partID, AnimID animID);
|
|
|
|
void set_actor_anim_rate(s32 actorID, s32 partID, f32 rate);
|
2023-11-24 05:06:58 +01:00
|
|
|
void mdl_group_set_visibility(u16, s32, s32);
|
2022-10-16 16:22:18 +02:00
|
|
|
void init_enter_world_shared(void);
|
|
|
|
s16 update_enter_map_screen_overlay(s16* progress);
|
2023-02-15 09:18:27 +01:00
|
|
|
s16 update_exit_map_screen_overlay(s16* progress);
|
2021-06-30 04:27:12 +02:00
|
|
|
void set_screen_overlay_params_front(u8, f32);
|
2021-12-13 10:27:28 +01:00
|
|
|
void set_screen_overlay_params_back(u8, f32);
|
2021-06-30 04:27:12 +02:00
|
|
|
void set_screen_overlay_alpha(s32, f32);
|
2022-05-27 15:03:19 +02:00
|
|
|
void get_screen_overlay_params(s32, u8* type, f32* zoom);
|
2021-12-13 10:27:28 +01:00
|
|
|
void set_screen_overlay_color(s32, u8, u8, u8);
|
2021-06-30 04:27:12 +02:00
|
|
|
void set_screen_overlay_center(s32, s32, s32, s32);
|
2020-08-14 06:20:11 +02:00
|
|
|
s32 rand_int(s32);
|
2020-08-15 04:24:08 +02:00
|
|
|
void sort_items(void);
|
|
|
|
s32 is_ability_active(s32 arg0);
|
2021-09-16 14:19:12 +02:00
|
|
|
s32 is_starting_conversation(void);
|
2021-10-03 19:42:38 +02:00
|
|
|
f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration);
|
2021-04-08 19:42:36 +02:00
|
|
|
void sin_cos_deg(f32 rad, f32* outSinTheta, f32* outCosTheta);
|
2020-07-18 02:47:33 +02:00
|
|
|
|
2021-08-29 15:44:17 +02:00
|
|
|
void set_main_pan_u(s32 texPannerID, s32 value);
|
|
|
|
void set_main_pan_v(s32 texPannerID, s32 value);
|
|
|
|
void set_aux_pan_u(s32 texPannerID, s32 value);
|
|
|
|
void set_aux_pan_v(s32 texPannerID, s32 value);
|
|
|
|
|
2021-05-01 21:03:42 +02:00
|
|
|
void enable_world_fog(void);
|
|
|
|
void set_world_fog_dist(s32 start, s32 end);
|
|
|
|
void set_world_fog_color(s32 r, s32 g, s32 b, s32 a);
|
2022-08-17 03:15:54 +02:00
|
|
|
s32 is_world_fog_enabled(void);
|
|
|
|
void get_world_fog_color(s32* r, s32* g, s32* b, s32* a);
|
2021-10-22 16:01:27 +02:00
|
|
|
void enable_entity_fog(void);
|
|
|
|
void set_entity_fog_dist(s32 start, s32 end);
|
|
|
|
void set_entity_fog_color(s32 r, s32 g, s32 b, s32 a);
|
2021-05-01 21:03:42 +02:00
|
|
|
|
2021-10-29 19:57:15 +02:00
|
|
|
struct ModelTransformGroup* get_transform_group(s32 index);
|
2023-07-18 11:07:58 +02:00
|
|
|
void mdl_make_transform_group(u16 modelID);
|
2022-07-08 14:57:08 +02:00
|
|
|
void enable_transform_group(u16 modelID);
|
|
|
|
void disable_transform_group(u16 modelID);
|
2022-09-06 17:26:53 +02:00
|
|
|
void set_map_transition_effect(ScreenTransition);
|
2022-07-08 14:57:08 +02:00
|
|
|
|
|
|
|
void set_tex_panner(struct Model* model, s32 texPannerID);
|
|
|
|
void set_custom_gfx(s32 customGfxIndex, Gfx* pre, Gfx* post);
|
2021-05-08 07:34:57 +02:00
|
|
|
|
2023-05-20 19:26:11 +02:00
|
|
|
s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 angle, s32 pickupVar);
|
2021-01-06 15:19:41 +01:00
|
|
|
s32 make_item_entity_delayed(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 pickupVar);
|
2020-10-22 03:39:50 +02:00
|
|
|
void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z);
|
2020-10-27 00:10:32 +01:00
|
|
|
ItemEntity* get_item_entity(s32 itemEntityIndex);
|
2021-10-03 19:42:38 +02:00
|
|
|
s32 make_item_entity_nodelay(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupVar);
|
2020-10-30 03:15:51 +01:00
|
|
|
void set_item_entity_flags(s32 itemEntityIndex, s32 flag);
|
2022-11-11 20:34:36 +01:00
|
|
|
void clear_item_entity_flags(s32 index, s32 flags);
|
2020-09-06 17:53:48 +02:00
|
|
|
|
2022-11-22 05:12:28 +01:00
|
|
|
s32 create_worker_frontUI(void (*updateFunc)(void), void (*drawFunc)(void));
|
|
|
|
Worker* get_worker(s32 idx);
|
2022-01-16 14:28:09 +01:00
|
|
|
Trigger* bind_trigger_1(EvtScript* script, s32 flags, s32 triggerFlagIndex, s32 triggerVar0, s32 triggerVar1, s32 priority);
|
2021-03-07 19:32:24 +01:00
|
|
|
|
2020-08-21 17:04:57 +02:00
|
|
|
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height);
|
|
|
|
|
2020-09-22 02:56:17 +02:00
|
|
|
void disable_player_shadow(void);
|
2020-10-29 17:08:00 +01:00
|
|
|
void move_player(s32 duration, f32 heading, f32 speed);
|
2021-03-07 19:32:24 +01:00
|
|
|
s32 enable_player_input(void);
|
2021-09-16 14:19:12 +02:00
|
|
|
s32 enable_player_static_collisions(void);
|
2023-10-14 21:43:12 +02:00
|
|
|
b32 check_input_jump(void);
|
|
|
|
b32 check_input_hammer(void);
|
2020-09-22 02:56:17 +02:00
|
|
|
|
2021-10-03 19:42:38 +02:00
|
|
|
Npc* resolve_npc(Evt* script, s32 npcIdOrPtr);
|
2021-09-16 14:19:12 +02:00
|
|
|
void enable_npc_blur(Npc* npc);
|
2020-11-23 20:19:13 +01:00
|
|
|
void disable_npc_blur(Npc* npc);
|
2022-05-05 16:08:16 +02:00
|
|
|
void enable_partner_blur(void);
|
|
|
|
void disable_partner_blur(void);
|
2020-08-15 07:00:29 +02:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void partner_initialize_data(void);
|
|
|
|
|
2020-08-15 07:55:16 +02:00
|
|
|
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by);
|
|
|
|
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz);
|
2020-08-15 16:26:43 +02:00
|
|
|
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta);
|
2020-08-15 07:55:16 +02:00
|
|
|
|
2022-08-06 14:14:04 +02:00
|
|
|
//TODO -- remove these and use audio/public.h instead
|
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
enum AuResult bgm_set_track_volumes(s32 playerIndex, s16 trackVolSet);
|
2022-10-25 12:04:54 +02:00
|
|
|
enum AuResult bgm_clear_track_volumes(s32 playerIndex, s16 trackVolSet);
|
2022-10-16 16:22:18 +02:00
|
|
|
enum AuResult bgm_set_variation(s32 playerIndex, s16 arg1);
|
|
|
|
void bgm_quiet_max_volume(void);
|
|
|
|
void bgm_reset_max_volume(void);
|
|
|
|
void bgm_reset_volume(void);
|
|
|
|
s32 bgm_init_music_players(void);
|
2021-03-26 15:46:45 +01:00
|
|
|
s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
|
2021-11-14 21:23:07 +01:00
|
|
|
void bgm_set_battle_song(s32, s32);
|
|
|
|
void bgm_push_battle_song(void);
|
2022-08-06 14:14:04 +02:00
|
|
|
s32 bgm_adjust_proximity(s32 playerIndex, s32 arg1, s16 arg2);
|
2022-09-11 18:23:47 +02:00
|
|
|
void func_801491E4(Matrix4f mtx, s32, s32, s32, s32, s32 alpha);
|
2022-07-08 14:57:08 +02:00
|
|
|
s32 func_8014A964(s32 playerIndex, s32 songID, s32 variation, s32 fadeInTime, s16 arg4, s16 arg5);
|
2022-08-06 14:14:04 +02:00
|
|
|
|
|
|
|
#include "audio/public.h"
|
2020-09-25 23:18:09 +02:00
|
|
|
|
2022-02-13 09:19:59 +01:00
|
|
|
void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
|
2022-02-08 19:24:51 +01:00
|
|
|
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
|
2022-02-13 09:19:59 +01:00
|
|
|
void basic_hidden_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
|
2022-02-08 19:24:51 +01:00
|
|
|
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
|
2021-02-16 11:32:34 +01:00
|
|
|
|
2023-10-14 21:43:12 +02:00
|
|
|
void create_current_pos_target_list(Actor* actor);
|
|
|
|
void create_home_target_list(Actor* actor);
|
2020-12-30 09:18:27 +01:00
|
|
|
|
2021-10-03 19:42:38 +02:00
|
|
|
void set_actor_yaw(s32 actorID, s32 yaw);
|
2023-02-17 08:44:14 +01:00
|
|
|
void set_part_yaw(s32 actorID, s32 partID, s32 value);
|
2020-12-30 09:18:27 +01:00
|
|
|
|
2021-10-03 19:42:38 +02:00
|
|
|
void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationType);
|
|
|
|
void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType);
|
2020-12-30 09:18:27 +01:00
|
|
|
void remove_part_decoration(ActorPart* part, s32 decorationIndex);
|
|
|
|
void remove_actor_decoration(Actor* actor, s32 decorationIndex);
|
|
|
|
|
2021-10-03 19:42:38 +02:00
|
|
|
s32 player_team_is_ability_active(Actor* actor, s32 ability);
|
2020-12-30 09:18:27 +01:00
|
|
|
|
2023-02-17 08:44:14 +01:00
|
|
|
void create_part_shadow(s32 actorID, s32 partID);
|
|
|
|
void remove_part_shadow(s32 actorID, s32 partID);
|
2021-11-04 07:08:36 +01:00
|
|
|
void create_part_shadow_by_ref(s32 arg0, ActorPart* part);
|
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void spawn_drops(Enemy* enemy);
|
|
|
|
|
2023-05-20 19:26:11 +02:00
|
|
|
void set_part_pal_adjustment(ActorPart*, s32);
|
2021-11-12 13:23:43 +01:00
|
|
|
char* int_to_string(s32, char*, s32);
|
2020-09-25 23:18:09 +02:00
|
|
|
|
2021-08-22 23:50:10 +02:00
|
|
|
Evt* get_script_by_index(s32 index);
|
2022-05-31 20:39:46 +02:00
|
|
|
Evt* get_script_by_id(s32 id);
|
2022-06-13 18:34:22 +02:00
|
|
|
s32 partner_test_enemy_collision(Npc* enemy);
|
2020-09-25 23:18:09 +02:00
|
|
|
|
2021-08-26 23:52:45 +02:00
|
|
|
s32 get_lava_reset_pos(f32* x, f32* y, f32* z);
|
|
|
|
void start_rumble(s32, s32);
|
2022-03-30 14:07:13 +02:00
|
|
|
void update_locomotion_state(void);
|
2022-03-22 22:27:22 +01:00
|
|
|
void start_rumble_type(u32);
|
2021-09-16 14:19:12 +02:00
|
|
|
void start_falling(void);
|
2022-05-31 20:39:46 +02:00
|
|
|
void start_bounce_a(void);
|
2022-04-08 20:30:01 +02:00
|
|
|
void start_bounce_b(void);
|
2021-08-26 23:52:45 +02:00
|
|
|
|
2022-05-31 20:39:46 +02:00
|
|
|
void update_input(void);
|
|
|
|
void update_max_rumble_duration(void);
|
2023-07-18 11:07:58 +02:00
|
|
|
void mdl_reset_transform_flags(void);
|
2022-11-22 05:12:28 +01:00
|
|
|
void update_workers(void);
|
2022-05-31 20:39:46 +02:00
|
|
|
void update_triggers(void);
|
|
|
|
void update_scripts(void);
|
|
|
|
void update_messages(void);
|
|
|
|
void update_entities(void);
|
|
|
|
void func_80138198(void);
|
|
|
|
void bgm_update_music_settings(void);
|
2022-10-25 12:04:54 +02:00
|
|
|
s32 func_8014AD40(void);
|
2022-05-31 20:39:46 +02:00
|
|
|
void update_ambient_sounds(void);
|
|
|
|
void update_windows(void);
|
|
|
|
void player_render_interact_prompts(void);
|
|
|
|
void func_802C3EE4(void);
|
|
|
|
void render_screen_overlay_backUI(void);
|
2022-11-22 05:12:28 +01:00
|
|
|
void render_workers_backUI(void);
|
2022-05-31 20:39:46 +02:00
|
|
|
void render_effects_UI(void);
|
|
|
|
void render_window_root(void);
|
|
|
|
void render_messages(void);
|
2022-11-22 05:12:28 +01:00
|
|
|
void render_workers_frontUI(void);
|
2022-05-31 20:39:46 +02:00
|
|
|
void render_screen_overlay_frontUI(void);
|
|
|
|
void render_curtains(void);
|
|
|
|
void fio_init_flash(void);
|
|
|
|
void func_80028838(void);
|
|
|
|
void clear_screen_overlays(void);
|
|
|
|
void bgm_reset_sequence_players(void);
|
|
|
|
void reset_ambient_sounds(void);
|
|
|
|
void poll_rumble(void);
|
2022-07-08 14:57:08 +02:00
|
|
|
void bgm_pop_song(void);
|
|
|
|
void bgm_push_song(s32 songID, s32 variation);
|
|
|
|
void bgm_pop_battle_song(void);
|
|
|
|
s32 play_ambient_sounds(s32 fadeInTime, s32 fadeOutTime);
|
|
|
|
s32 get_fortress_key_count(void);
|
|
|
|
s32 subtract_fortress_keys(s32 amt);
|
|
|
|
s32 add_star_points(s32 amt);
|
|
|
|
s32 add_star_pieces(s32 amt);
|
|
|
|
s32 make_item_entity_at_player(s32 itemID, s32 arg1, s32 pickupMsgFlags);
|
2022-05-31 20:39:46 +02:00
|
|
|
|
2021-06-21 06:30:57 +02:00
|
|
|
void set_action_state(s32 actionState);
|
2022-09-13 08:26:57 +02:00
|
|
|
s32 get_collider_flags(s32 colliderID);
|
2023-02-21 09:24:25 +01:00
|
|
|
void suggest_player_anim_always_forward(AnimID anim);
|
|
|
|
void suggest_player_anim_allow_backward(AnimID anim);
|
2021-06-21 06:30:57 +02:00
|
|
|
void subtract_hp(s32 amt);
|
2022-03-10 10:55:38 +01:00
|
|
|
void draw_status_ui(void);
|
2023-10-22 14:39:20 +02:00
|
|
|
void open_status_bar_slowly(void);
|
2021-06-21 06:30:57 +02:00
|
|
|
|
2020-10-13 03:28:01 +02:00
|
|
|
void suspend_all_group(s32 groupFlags);
|
2021-08-22 23:50:10 +02:00
|
|
|
void kill_script(Evt* instanceToKill);
|
2021-06-30 04:27:12 +02:00
|
|
|
void exec_entity_commandlist(Entity* entity);
|
2020-10-13 03:28:01 +02:00
|
|
|
|
2022-06-10 20:06:12 +02:00
|
|
|
void show_start_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3);
|
|
|
|
void show_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3);
|
2020-12-30 08:03:05 +01:00
|
|
|
|
2023-05-20 19:26:11 +02:00
|
|
|
void show_next_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32);
|
2021-02-28 02:05:02 +01:00
|
|
|
void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg);
|
2022-01-20 14:08:24 +01:00
|
|
|
void add_xz_vec3f_copy1(Vec3f* vector, f32 speed, f32 angleDeg);
|
2022-05-22 09:48:09 +02:00
|
|
|
void add_xz_vec3f_copy2(Vec3f* vector, f32 speed, f32 angleDeg);
|
2021-02-28 02:05:02 +01:00
|
|
|
void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angleDeg);
|
2021-02-12 22:31:22 +01:00
|
|
|
|
2023-04-26 01:33:17 +02:00
|
|
|
void draw_prev_frame_buffer_at_screen_pos(s32, s32, s32, s32, f32);
|
2021-12-13 10:27:28 +01:00
|
|
|
void func_8013A4D0(void);
|
2021-06-21 06:30:57 +02:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void btl_draw_ui(void);
|
|
|
|
void btl_restore_world_cameras(void);
|
|
|
|
|
2022-08-26 12:13:57 +02:00
|
|
|
void btl_popup_messages_draw_ui(void);
|
2021-11-17 15:43:50 +01:00
|
|
|
void btl_cam_set_target_pos(f32, f32, f32);
|
2022-02-08 19:33:05 +01:00
|
|
|
void btl_cam_unfreeze(void);
|
|
|
|
|
2021-11-17 15:43:50 +01:00
|
|
|
void deduct_current_move_fp(void);
|
|
|
|
void load_partner_actor(void);
|
|
|
|
void dispatch_event_partner(s32);
|
|
|
|
void dispatch_event_player(s32);
|
|
|
|
s32 btl_are_all_enemies_defeated(void);
|
2022-05-05 16:08:16 +02:00
|
|
|
s32 btl_check_enemies_defeated(void);
|
2021-11-17 15:43:50 +01:00
|
|
|
s32 btl_check_player_defeated(void);
|
2022-08-17 03:15:54 +02:00
|
|
|
void btl_show_battle_message(s32 messageIndex, s32 duration);
|
2021-11-17 15:43:50 +01:00
|
|
|
void btl_update_ko_status(void);
|
|
|
|
void reset_actor_turn_info(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void startup_draw_prim_rect(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
|
2022-11-01 08:41:14 +01:00
|
|
|
void startup_draw_prim_rect_COPY(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
|
2022-03-10 10:55:38 +01:00
|
|
|
void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7);
|
2021-11-17 15:43:50 +01:00
|
|
|
void reset_all_actor_sounds(Actor*);
|
2023-05-20 19:26:11 +02:00
|
|
|
void decrement_status_bar_disabled(void);
|
|
|
|
void increment_status_bar_disabled(void);
|
2021-11-17 15:43:50 +01:00
|
|
|
void btl_delete_actor(Actor* actor);
|
2022-01-10 16:55:26 +01:00
|
|
|
void create_status_debuff(s32, s32);
|
|
|
|
void create_status_static(s32, s32);
|
|
|
|
void create_status_transparent(s32, s32);
|
|
|
|
void remove_status_chill_out(s32);
|
2021-12-18 05:09:33 +01:00
|
|
|
void remove_status_debuff(s32);
|
|
|
|
void remove_status_icon_boost_hammer(s32);
|
|
|
|
void remove_status_icon_boost_jump(s32);
|
|
|
|
void remove_status_icon_boost_partner(s32);
|
|
|
|
void remove_status_icon_danger(s32);
|
|
|
|
void remove_status_icon_peril(s32);
|
|
|
|
void remove_status_icon_surprise(s32);
|
|
|
|
void remove_status_static(s32);
|
|
|
|
void remove_status_transparent(s32);
|
2022-01-10 16:55:26 +01:00
|
|
|
void remove_all_status_icons(s32);
|
|
|
|
s32 create_status_icon_set(void);
|
2021-11-17 15:43:50 +01:00
|
|
|
s32 find_item(s32);
|
|
|
|
|
2021-11-14 21:16:52 +01:00
|
|
|
void enable_background_wave(void);
|
|
|
|
|
2022-10-07 20:45:58 +02:00
|
|
|
void set_map_change_fade_rate(s16);
|
2022-10-16 00:24:05 +02:00
|
|
|
void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType);
|
2022-06-26 12:21:38 +02:00
|
|
|
|
2021-07-08 17:53:00 +02:00
|
|
|
// State funcs
|
|
|
|
void state_init_startup(void);
|
|
|
|
void state_step_startup(void);
|
|
|
|
void state_drawUI_startup(void);
|
|
|
|
void state_init_logos(void);
|
|
|
|
void state_step_logos(void);
|
|
|
|
void state_drawUI_logos(void);
|
|
|
|
void state_init_title_screen(void);
|
|
|
|
void state_step_title_screen(void);
|
|
|
|
void state_drawUI_title_screen(void);
|
|
|
|
void state_init_enter_demo(void);
|
|
|
|
void state_step_enter_world(void);
|
|
|
|
void state_init_change_map(void);
|
|
|
|
void state_step_change_map(void);
|
|
|
|
void state_drawUI_change_map(void);
|
2023-09-16 05:53:00 +02:00
|
|
|
void state_init_game_over(void);
|
|
|
|
void state_step_game_over(void);
|
|
|
|
void state_drawUI_game_over(void);
|
2021-07-08 17:53:00 +02:00
|
|
|
void state_init_enter_world(void);
|
|
|
|
void state_drawUI_enter_world(void);
|
|
|
|
void state_init_world(void);
|
|
|
|
void state_step_world(void);
|
|
|
|
void state_drawUI_world(void);
|
|
|
|
void state_init_battle(void);
|
|
|
|
void state_step_battle(void);
|
|
|
|
void state_drawUI_battle(void);
|
|
|
|
void state_init_end_battle(void);
|
|
|
|
void state_step_end_battle(void);
|
|
|
|
void state_drawUI_end_battle(void);
|
|
|
|
void state_init_pause(void);
|
|
|
|
void state_step_pause(void);
|
|
|
|
void state_drawUI_pause(void);
|
|
|
|
void state_init_unpause(void);
|
|
|
|
void state_step_unpause(void);
|
|
|
|
void state_drawUI_unpause(void);
|
|
|
|
void state_init_language_select(void);
|
|
|
|
void state_step_language_select(void);
|
|
|
|
void state_drawUI_language_select(void);
|
|
|
|
void state_init_exit_language_select(void);
|
|
|
|
void state_step_exit_language_select(void);
|
|
|
|
void state_drawUI_exit_language_select(void);
|
|
|
|
void state_init_file_select(void);
|
|
|
|
void state_step_file_select(void);
|
|
|
|
void state_drawUI_file_select(void);
|
|
|
|
void state_init_exit_file_select(void);
|
|
|
|
void state_step_exit_file_select(void);
|
|
|
|
void state_drawUI_exit_file_select(void);
|
|
|
|
void state_init_intro(void);
|
|
|
|
void state_step_intro(void);
|
|
|
|
void state_drawUI_intro(void);
|
|
|
|
void state_init_demo(void);
|
|
|
|
void state_step_demo(void);
|
|
|
|
void state_drawUI_demo(void);
|
|
|
|
|
2023-04-26 01:33:17 +02:00
|
|
|
void btl_set_player_idle_anims(void);
|
2022-09-08 14:21:07 +02:00
|
|
|
|
2023-02-02 12:23:17 +01:00
|
|
|
void shim_create_audio_system_obfuscated(void);
|
|
|
|
void shim_load_engine_data_obfuscated(void);
|
|
|
|
void shim_general_heap_create_obfuscated(void);
|
|
|
|
void shim_battle_heap_create_obfuscated(void);
|
2023-03-06 08:44:48 +01:00
|
|
|
void appendGfx_ispy_icon(void);
|
|
|
|
void interact_inspect_setup(void);
|
|
|
|
void interact_speech_setup(void);
|
|
|
|
void pulse_stone_notification_setup(void);
|
|
|
|
void appendGfx_speech_bubble(void);
|
|
|
|
void appendGfx_pulse_stone_icon(void);
|
|
|
|
void ispy_notification_setup(void);
|
2021-04-01 20:00:29 +02:00
|
|
|
|
|
|
|
void initialize_curtains(void);
|
|
|
|
void update_curtains(void);
|
|
|
|
// render_curtains
|
|
|
|
void set_curtain_scale_goal(f32 scale);
|
|
|
|
void set_curtain_scale(f32 scale);
|
|
|
|
void set_curtain_draw_callback(UNK_FUN_PTR(callback));
|
|
|
|
void set_curtain_fade_goal(f32 fade);
|
|
|
|
void set_curtain_fade(f32 fade);
|
|
|
|
|
2021-09-30 01:01:31 +02:00
|
|
|
void crash_screen_init(void);
|
|
|
|
void crash_screen_set_draw_info(u16* frameBufPtr, s16 width, s16 height);
|
|
|
|
|
2022-09-08 14:12:26 +02:00
|
|
|
void basic_ai_wander_init(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_wander(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_loiter(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_found_player_jump_init(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_found_player_jump(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_chase_init(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_chase(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
|
|
|
void basic_ai_lose_player(Evt* script, MobileAISettings* npcAISettings, EnemyDetectVolume* territory);
|
2022-04-29 06:32:16 +02:00
|
|
|
void basic_ai_suspend(Evt* script);
|
2021-10-22 16:01:27 +02:00
|
|
|
|
2024-10-23 07:44:44 +02:00
|
|
|
s32 create_worker_scene(void (*updateFunc)(void), void (*renderFunc)(void));
|
2022-01-03 18:36:01 +01:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void init_entity_models(void);
|
2021-06-30 04:27:12 +02:00
|
|
|
f32 phys_get_spin_history(s32 lag, s32* x, s32* y, s32* z);
|
2023-04-20 10:15:58 +02:00
|
|
|
void imgfx_update(u32, ImgFXType, s32, s32, s32, s32, s32);
|
|
|
|
s32 imgfx_appendGfx_component(s32, ImgFXTexture*, u32, Matrix4f);
|
|
|
|
void imgfx_update_cache(void);
|
|
|
|
s32 imgfx_get_free_instances(s32);
|
2022-11-22 05:12:28 +01:00
|
|
|
void free_worker(s32);
|
2021-04-08 19:42:36 +02:00
|
|
|
|
2024-10-24 02:18:00 +02:00
|
|
|
b32 ai_check_fwd_collisions(Npc* npc, f32 time, f32* outYaw, f32* outDistFwd, f32* outDistCW, f32* outDistCCW);
|
2022-09-08 14:12:26 +02:00
|
|
|
void basic_ai_loiter_init(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume* territory);
|
|
|
|
void PatrolAI_LoiterInit(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume* territory);
|
2022-02-08 19:33:05 +01:00
|
|
|
|
|
|
|
s32 func_80263230(Actor*, Actor*);
|
2023-10-22 14:39:20 +02:00
|
|
|
void set_part_glow_pal(ActorPart*, s32);
|
|
|
|
void clear_actor_static_pal_adjustments(Actor*);
|
2023-10-14 21:43:12 +02:00
|
|
|
void set_actor_flash_mode(Actor* actor, s32 arg1);
|
2021-12-29 13:22:01 +01:00
|
|
|
void remove_player_buffs(s32);
|
2023-05-20 19:26:11 +02:00
|
|
|
s32 is_actor_health_bar_visible(Actor*);
|
2021-06-15 10:05:16 +02:00
|
|
|
|
|
|
|
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta);
|
2021-07-18 17:21:37 +02:00
|
|
|
|
2022-01-06 14:40:01 +01:00
|
|
|
void load_font(s32 font);
|
2023-03-08 16:40:22 +01:00
|
|
|
#if VERSION_IQUE
|
2023-03-04 04:40:20 +01:00
|
|
|
void load_font_data(Addr offset, u32 size, void* dest);
|
|
|
|
#else
|
2023-02-21 15:37:27 +01:00
|
|
|
void load_font_data(Addr offset, u16 size, void* dest);
|
2023-03-04 04:40:20 +01:00
|
|
|
#endif
|
2021-04-29 19:09:30 +02:00
|
|
|
|
2021-07-16 13:08:22 +02:00
|
|
|
void* load_asset_by_name(const char* assetName, u32* decompressedSize);
|
|
|
|
|
2022-05-27 15:03:19 +02:00
|
|
|
Gfx* mdl_get_copied_gfx(s32 copyIndex);
|
|
|
|
void mdl_get_copied_vertices(s32 copyIndex, Vtx** firstVertex, Vtx** copiedVertices, s32* numCopied);
|
2021-07-31 16:32:19 +02:00
|
|
|
void mdl_draw_hidden_panel_surface(Gfx** arg0, u16 treeIndex);
|
2024-10-24 02:18:00 +02:00
|
|
|
b32 is_point_visible(f32 x, f32 y, f32 z, s32 depthQueryID, f32* screenX, f32* screenY);
|
2021-12-13 10:27:28 +01:00
|
|
|
void set_screen_overlay_center_worldpos(s32 idx, s32 posIdx, s32 x, s32 y, s32 z);
|
2022-09-08 14:21:07 +02:00
|
|
|
void* mdl_get_next_texture_address(s32);
|
2022-10-16 16:22:18 +02:00
|
|
|
s32 cancel_current_message(void);
|
2021-10-29 03:19:44 +02:00
|
|
|
void draw_msg(s32 msgID, s32 posX, s32 posY, s32 opacity, s32 palette, u8 style);
|
2023-11-24 05:06:58 +01:00
|
|
|
void mdl_get_shroud_tint_params(u8* r, u8* g, u8* b, u8* a);
|
2021-07-31 16:32:19 +02:00
|
|
|
|
2021-08-25 23:29:43 +02:00
|
|
|
s32 entity_base_block_idle(Entity* entity);
|
2023-10-22 14:39:20 +02:00
|
|
|
void add_star_power(s32 amt);
|
2021-08-25 23:29:43 +02:00
|
|
|
s32 recover_hp(s32 amt);
|
|
|
|
s32 recover_fp(s32 amt);
|
|
|
|
s32 entity_can_collide_with_jumping_player(Entity* entity);
|
|
|
|
void entity_base_block_init(Entity* entity);
|
2021-08-29 16:09:41 +02:00
|
|
|
s32 entity_start_script(Entity* entity);
|
2022-10-16 16:22:18 +02:00
|
|
|
void init_item_entity_list(void);
|
|
|
|
void init_script_list(void);
|
|
|
|
void init_entity_data(void);
|
|
|
|
void init_trigger_list(void);
|
|
|
|
void partner_init_after_battle(s32 arg0);
|
|
|
|
void load_map_script_lib(void);
|
2021-09-26 00:13:36 +02:00
|
|
|
void remove_item_entity_by_index(s32 index);
|
2021-08-25 23:29:43 +02:00
|
|
|
void set_entity_commandlist(Entity* entity, s32* entityScript);
|
2023-05-09 05:46:47 +02:00
|
|
|
s32 is_player_dismounted(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void func_800EF300(void);
|
|
|
|
void func_800EF314(void);
|
|
|
|
void func_800EF43C(void);
|
2021-08-25 23:29:43 +02:00
|
|
|
void func_800EF3E4(void);
|
2021-08-29 16:09:41 +02:00
|
|
|
void enable_player_shadow(void);
|
2021-09-25 14:14:28 +02:00
|
|
|
s32 get_msg_lines(s32 messageID);
|
2022-02-13 09:19:59 +01:00
|
|
|
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void* drawContents, void* drawContentsArg, s8 parent);
|
2022-03-22 22:27:22 +01:00
|
|
|
void set_window_update(s32 panelID, s32);
|
2022-03-10 10:55:38 +01:00
|
|
|
void set_windows_visible(s32 groupIdx);
|
2022-01-31 11:10:02 +01:00
|
|
|
|
2021-09-25 14:14:28 +02:00
|
|
|
void partner_disable_input(void);
|
2022-06-26 12:21:38 +02:00
|
|
|
void partner_set_goal_pos(s32 x, s32 z);
|
2021-10-01 14:54:52 +02:00
|
|
|
void close_message(MessagePrintState* msgPrintState);
|
|
|
|
void show_foreground_models_unchecked(void);
|
|
|
|
void hide_foreground_models_unchecked(void);
|
|
|
|
void show_foreground_models(void);
|
|
|
|
void hide_foreground_models(void);
|
|
|
|
void btl_set_state(s32 battleState);
|
2021-10-06 08:22:42 +02:00
|
|
|
void draw_entity_model_A(s32, Mtx*);
|
2022-06-09 15:49:57 +02:00
|
|
|
void draw_entity_model_B(s32, Mtx*, s32, Vec3s*);
|
2022-05-27 15:03:19 +02:00
|
|
|
void draw_entity_model_C(s32, Mtx*);
|
2022-06-12 19:22:06 +02:00
|
|
|
void draw_entity_model_D(s32, Mtx*, s32, Vec3s*);
|
2022-05-27 15:03:19 +02:00
|
|
|
void draw_entity_model_E(s32, Mtx*);
|
2021-10-06 08:22:42 +02:00
|
|
|
void free_entity_model_by_index(s32 idx);
|
2022-05-16 21:18:18 +02:00
|
|
|
void btl_cam_use_preset(s32);
|
2024-09-23 20:42:15 +02:00
|
|
|
void btl_cam_set_params(b16, s16, s16, s16, s32, s32, s32, s32);
|
2021-10-17 21:34:18 +02:00
|
|
|
void btl_cam_set_zoffset(s16);
|
|
|
|
void btl_cam_target_actor(s32);
|
|
|
|
void btl_cam_set_zoom(s16);
|
|
|
|
void btl_cam_move(s16);
|
2024-09-23 20:42:15 +02:00
|
|
|
void btl_cam_disable_clamp_x(void);
|
2022-02-08 19:33:05 +01:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void initialize_battle(void);
|
|
|
|
|
2021-10-17 21:34:18 +02:00
|
|
|
void dispatch_event_actor(Actor*, s32);
|
2022-02-08 19:33:05 +01:00
|
|
|
s32 dispatch_damage_event_actor_1(Actor* actor, s32 damageAmount, s32 event);
|
|
|
|
|
2022-10-16 00:24:05 +02:00
|
|
|
void reset_battle_status(void);
|
2021-10-17 21:34:18 +02:00
|
|
|
void btl_show_variable_battle_message(s32, s32, s32);
|
|
|
|
s32 btl_is_popup_displayed(void);
|
2022-05-16 21:18:18 +02:00
|
|
|
void btl_cam_use_preset_immediately(s32);
|
2021-10-19 17:15:38 +02:00
|
|
|
s32 inflict_status(Actor*, s32, s32);
|
2021-10-25 12:28:45 +02:00
|
|
|
s32 try_inflict_status(Actor*, s32, s32);
|
2022-02-08 19:33:05 +01:00
|
|
|
s32 inflict_status_set_duration(Actor* actor, s32 statusTypeKey, s32 statusDurationKey, s32 duration);
|
2023-11-24 05:06:58 +01:00
|
|
|
void mdl_set_all_tint_type(s32);
|
2021-12-22 15:59:52 +01:00
|
|
|
void load_model_animator_tree(s32, StaticAnimatorNode**);
|
2021-10-25 13:29:47 +02:00
|
|
|
|
2022-02-08 19:33:05 +01:00
|
|
|
s32 inflict_partner_ko(Actor* target, s32 statusTypeKey, s32 duration);
|
|
|
|
s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags);
|
|
|
|
|
2022-08-26 12:13:57 +02:00
|
|
|
void btl_popup_messages_init(void);
|
2022-01-20 14:08:24 +01:00
|
|
|
|
2022-05-05 16:08:16 +02:00
|
|
|
void remove_all_effects(void);
|
2021-10-25 13:29:47 +02:00
|
|
|
void update_effects(void);
|
|
|
|
void update_cameras(void);
|
|
|
|
void clear_render_tasks(void);
|
2022-11-22 05:12:28 +01:00
|
|
|
void clear_worker_list(void);
|
2021-10-25 13:29:47 +02:00
|
|
|
void clear_printers(void);
|
|
|
|
void clear_item_entity_data(void);
|
|
|
|
void clear_player_data(void);
|
2021-08-25 23:29:43 +02:00
|
|
|
|
2022-04-11 08:34:35 +02:00
|
|
|
void phys_update_jump(void);
|
|
|
|
void phys_update_falling(void);
|
|
|
|
void check_input_midair_jump(void);
|
|
|
|
void collision_check_player_overlaps(void);
|
|
|
|
|
|
|
|
void update_player_input(void);
|
|
|
|
void phys_update_action_state(void);
|
|
|
|
void collision_main_lateral(void);
|
2022-11-25 16:16:13 +01:00
|
|
|
void handle_floor_behavior(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
void check_input_open_menus(void);
|
2023-05-20 19:26:11 +02:00
|
|
|
void check_input_status_bar(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
|
2022-10-16 00:24:05 +02:00
|
|
|
void update_player(void);
|
|
|
|
|
2021-09-28 09:47:55 +02:00
|
|
|
void enforce_hpfp_limits(void);
|
2021-12-18 05:04:54 +01:00
|
|
|
s32 should_collider_allow_interact(s32);
|
2021-12-15 20:12:43 +01:00
|
|
|
void show_coin_counter(void);
|
|
|
|
s32 add_item(s32 itemID);
|
|
|
|
s32 add_badge(s32 itemID);
|
2022-04-05 11:52:06 +02:00
|
|
|
void hide_coin_counter_immediately(void);
|
2021-12-15 20:12:43 +01:00
|
|
|
void hide_popup_menu(void);
|
|
|
|
void destroy_popup_menu(void);
|
2022-09-08 14:21:07 +02:00
|
|
|
void reset_player_status(void);
|
2022-10-16 00:24:05 +02:00
|
|
|
void player_reset_data(void);
|
|
|
|
void partner_reset_data(void);
|
2022-09-08 14:21:07 +02:00
|
|
|
s32 has_valid_conversation_npc(void);
|
|
|
|
s32 func_800E06D8(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void func_800E01DC(void);
|
2022-11-25 16:16:13 +01:00
|
|
|
void collision_lateral_peach(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
void func_800E5520(void);
|
2023-10-22 14:39:20 +02:00
|
|
|
void clear_world_menus(void);
|
|
|
|
void setup_status_bar_for_battle(void);
|
|
|
|
void enable_status_bar_input(void);
|
|
|
|
void disable_status_bar_input(void);
|
|
|
|
b32 can_control_status_bar(void);
|
2023-05-20 19:26:11 +02:00
|
|
|
void status_bar_respond_to_changes(void);
|
2023-10-22 14:39:20 +02:00
|
|
|
void status_bar_always_show_on(void);
|
|
|
|
void status_bar_always_show_off(void);
|
2022-04-11 08:34:35 +02:00
|
|
|
void func_800F0C9C(void);
|
2024-10-23 07:44:44 +02:00
|
|
|
void star_power_shimmer_start(s32, f32, f32, f32);
|
|
|
|
void star_power_shimmer_init(void);
|
|
|
|
void star_power_shimmer_update(void);
|
|
|
|
void star_power_shimmer_draw(void);
|
2021-12-15 20:12:43 +01:00
|
|
|
s32 get_item_count(void);
|
|
|
|
s32 get_stored_empty_count(void);
|
|
|
|
s32 get_stored_count(void);
|
|
|
|
s32 get_item_empty_count(void);
|
|
|
|
void shop_open_item_select_popup(s32 mode);
|
|
|
|
void hide_coin_counter(void);
|
2023-10-22 14:39:20 +02:00
|
|
|
void set_message_text_var(s32 msgID, s32 index);
|
|
|
|
void set_message_int_var(s32 value, s32 index);
|
2021-12-15 20:12:43 +01:00
|
|
|
s32 store_item(s32 itemID);
|
2023-10-22 14:39:20 +02:00
|
|
|
void open_status_bar_quickly(void);
|
2023-04-26 01:33:17 +02:00
|
|
|
void show_immune_bonk(f32 x, f32 y, f32 z, s32, s32, s32);
|
2023-05-20 19:26:11 +02:00
|
|
|
void show_primary_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a);
|
2021-12-25 02:34:55 +01:00
|
|
|
s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion);
|
2022-02-08 19:33:05 +01:00
|
|
|
void disable_actor_blur(Actor*);
|
2022-01-03 18:36:01 +01:00
|
|
|
void reset_actor_blur(Actor*);
|
2022-02-08 19:33:05 +01:00
|
|
|
void enable_actor_blur(Actor*);
|
2023-02-15 09:18:27 +01:00
|
|
|
void apply_shock_effect(Actor*);
|
2023-10-14 21:43:12 +02:00
|
|
|
void part_glow_off(s32, ActorPart*, s32 yaw, b32 arg3);
|
|
|
|
void part_flash_off(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection);
|
|
|
|
void part_flash_on(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection);
|
2022-08-10 15:36:38 +02:00
|
|
|
void _add_part_decoration(ActorPart*);
|
2022-02-08 19:33:05 +01:00
|
|
|
void _remove_part_decoration(ActorPart* part, s32 decorationIndex);
|
2023-10-14 21:43:12 +02:00
|
|
|
void remove_part_decor_none(ActorPart*, s32);
|
|
|
|
void remove_part_decor_golden_flames(ActorPart*, s32);
|
|
|
|
void remove_part_decor_sweat(ActorPart*, s32);
|
|
|
|
void remove_part_decor_seeing_stars(ActorPart*, s32);
|
|
|
|
void remove_part_decor_red_flames(ActorPart*, s32);
|
|
|
|
void remove_part_decor_smoky_trail(ActorPart*, s32);
|
|
|
|
void remove_part_decor_fiery_trail(ActorPart*, s32);
|
|
|
|
void remove_part_decor_whirlwind(ActorPart*, s32);
|
|
|
|
void remove_part_decor_steam(ActorPart*, s32);
|
|
|
|
void remove_part_decor_sparkles(ActorPart*, s32);
|
|
|
|
void remove_part_decor_bowser_aura(ActorPart*, s32);
|
|
|
|
void remove_part_decor_radiating_stars(ActorPart*, s32);
|
2023-05-20 19:26:11 +02:00
|
|
|
void status_bar_ignore_changes(void);
|
2023-04-20 10:15:58 +02:00
|
|
|
void imgfx_release_instance(u32);
|
2021-12-12 14:53:19 +01:00
|
|
|
|
2022-05-31 20:39:46 +02:00
|
|
|
void set_script_flags(Evt* script, s32 flags);
|
|
|
|
void clear_script_flags(Evt* script, s32 flags);
|
|
|
|
|
2022-02-21 17:05:36 +01:00
|
|
|
void disable_player_blur(void);
|
|
|
|
void enable_player_blur(void);
|
2023-08-21 20:07:08 +02:00
|
|
|
void reset_player_blur(void);
|
|
|
|
void force_disable_player_blur(void);
|
|
|
|
void force_disable_player_blur_immediately(void);
|
2022-02-21 17:05:36 +01:00
|
|
|
|
2022-05-27 15:03:19 +02:00
|
|
|
void func_8023E104(void);
|
|
|
|
void func_8023E11C(void);
|
|
|
|
|
2023-02-17 08:44:14 +01:00
|
|
|
void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partID);
|
2022-02-21 17:05:36 +01:00
|
|
|
|
2021-12-20 16:59:25 +01:00
|
|
|
void init_encounters_ui(void);
|
|
|
|
void initialize_collision(void);
|
|
|
|
void render_entities(void);
|
|
|
|
void render_player(void);
|
2024-10-23 07:44:44 +02:00
|
|
|
void render_workers_scene(void);
|
|
|
|
void render_effects_scene(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
s32 get_asset_offset(char*, s32*);
|
2023-05-20 19:26:11 +02:00
|
|
|
void initialize_status_bar(void);
|
|
|
|
void status_bar_start_blinking_fp(void);
|
|
|
|
s32 is_status_bar_visible(void);
|
|
|
|
void status_bar_start_blinking_starpoints(void);
|
|
|
|
void status_bar_stop_blinking_starpoints(void);
|
|
|
|
void status_bar_start_blinking_hp(void);
|
|
|
|
void status_bar_start_blinking_sp(void);
|
|
|
|
void status_bar_stop_blinking_fp(void);
|
|
|
|
void status_bar_stop_blinking_hp(void);
|
|
|
|
void status_bar_stop_blinking_sp(void);
|
|
|
|
void status_bar_start_blinking_sp_bars(s32 numBarsToBlink);
|
|
|
|
void status_bar_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits);
|
|
|
|
void status_bar_draw_stat(s32 id, s32 x, s32 y, s32, s32);
|
2021-12-20 16:59:25 +01:00
|
|
|
void set_background_size(s16, s16, s16, s16);
|
2023-11-24 05:06:58 +01:00
|
|
|
void set_background(BackgroundHeader*);
|
2023-10-22 14:39:20 +02:00
|
|
|
void set_max_star_power(s8);
|
2023-05-20 19:26:11 +02:00
|
|
|
void sync_status_bar(void);
|
2024-09-23 20:42:15 +02:00
|
|
|
void create_cameras(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void func_80045AC0(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void func_8005AF84(void);
|
2023-02-18 09:13:07 +01:00
|
|
|
void npc_follow_init(Npc*, s32, FollowAnims*, f32, f32, s32, s32);
|
2023-01-18 07:58:17 +01:00
|
|
|
void npc_update_npc_tracking(Npc*);
|
|
|
|
void npc_follow_npc(Npc*);
|
2021-12-20 16:59:25 +01:00
|
|
|
void create_encounters(void);
|
|
|
|
void update_encounters_neutral(void);
|
|
|
|
void update_encounters_pre_battle(void);
|
|
|
|
void update_encounters_conversation(void);
|
|
|
|
void update_encounters_post_battle(void);
|
2022-02-19 15:39:34 +01:00
|
|
|
void load_map_bg(char* optAssetName);
|
2021-12-20 16:59:25 +01:00
|
|
|
void reset_background_settings(void);
|
|
|
|
void func_80138188(void);
|
2022-02-08 19:33:05 +01:00
|
|
|
void func_80266970(Actor*);
|
2023-05-20 19:26:11 +02:00
|
|
|
void show_actor_health_bar(Actor*);
|
|
|
|
void hide_actor_health_bar(Actor*);
|
|
|
|
void clear_part_pal_adjustment(ActorPart*);
|
2023-10-14 21:43:12 +02:00
|
|
|
void calculate_camera_yinterp_rate(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void load_tattle_flags(s32);
|
2022-04-11 08:34:35 +02:00
|
|
|
s32 use_consumable(s32 invSlot);
|
2021-12-20 16:59:25 +01:00
|
|
|
void remove_consumable(void);
|
|
|
|
void delete_shadow(s32);
|
2022-12-12 13:31:29 +01:00
|
|
|
void partner_reset_tether_distance(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void save_tattle_flags(s32);
|
2022-01-10 16:55:26 +01:00
|
|
|
void update_merlee_messages(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void draw_merlee_messages(void);
|
2022-01-10 16:55:26 +01:00
|
|
|
void show_merlee_message(s16, s16);
|
|
|
|
s32 is_merlee_message_done(void);
|
2022-02-24 16:12:33 +01:00
|
|
|
void close_action_command_instruction_popup(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void draw_encounters_conversation(void);
|
|
|
|
void draw_encounters_post_battle(void);
|
|
|
|
void draw_encounters_pre_battle(void);
|
|
|
|
void draw_encounters_neutral(void);
|
|
|
|
void show_first_strike_message(void);
|
|
|
|
void entity_upgrade_block_hide_content(s32);
|
2022-01-19 12:21:19 +01:00
|
|
|
s32 lookup_defense(s32*, s32);
|
2022-02-08 19:33:05 +01:00
|
|
|
s32 lookup_status_chance(s32*, s32);
|
2022-02-02 18:19:52 +01:00
|
|
|
void peach_check_for_parasol_input(void);
|
|
|
|
void peach_sync_disguise_npc(void);
|
2024-10-08 05:15:38 +02:00
|
|
|
b32 check_conversation_trigger(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
|
|
|
|
void clear_player_status(void);
|
|
|
|
void clear_entity_models(void);
|
2022-07-08 14:57:08 +02:00
|
|
|
void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*));
|
2021-12-20 16:59:25 +01:00
|
|
|
void clear_animator_list(void);
|
|
|
|
void clear_model_data(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void init_sprite_shading_data(void);
|
2021-12-20 16:59:25 +01:00
|
|
|
void clear_sprite_shading_data(void);
|
|
|
|
void clear_character_set(void);
|
|
|
|
void clear_trigger_data(void);
|
|
|
|
void clear_script_list(void);
|
2023-10-14 21:43:12 +02:00
|
|
|
void clear_entity_data(b32);
|
2021-12-20 16:59:25 +01:00
|
|
|
void clear_effect_data(void);
|
|
|
|
|
2022-03-30 14:07:13 +02:00
|
|
|
void clear_saved_variables(void);
|
|
|
|
void clear_area_flags(void);
|
2022-03-22 22:56:28 +01:00
|
|
|
|
2022-03-26 11:37:14 +01:00
|
|
|
f32 get_player_normal_pitch(void);
|
|
|
|
void partner_kill_ability_script(void);
|
|
|
|
void func_800EF3D4(s32);
|
2022-06-17 08:14:21 +02:00
|
|
|
|
2023-07-18 11:07:58 +02:00
|
|
|
void mdl_update_transform_matrices(void);
|
2023-11-24 05:06:58 +01:00
|
|
|
void mdl_group_set_custom_gfx(u16, s32, s32, b32);
|
2022-06-17 08:14:21 +02:00
|
|
|
|
2022-10-16 16:22:18 +02:00
|
|
|
void backup_map_collision_data(void);
|
2023-05-20 19:26:11 +02:00
|
|
|
void reset_status_bar(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void btl_save_world_cameras(void);
|
|
|
|
void load_battle_section(void);
|
|
|
|
void btl_update(void);
|
|
|
|
void update_item_entities(void);
|
2023-01-22 16:35:43 +01:00
|
|
|
void iterate_models(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
void restore_map_collision_data(void);
|
2023-06-29 14:06:23 +02:00
|
|
|
void mdl_load_all_textures(struct ModelNode* model, s32 romOffset, s32 size);
|
2023-07-18 11:07:58 +02:00
|
|
|
void mdl_calculate_model_sizes(void);
|
2022-10-16 16:22:18 +02:00
|
|
|
|
2020-07-18 02:47:33 +02:00
|
|
|
#endif
|