mirror of
https://github.com/pmret/papermario.git
synced 2024-11-09 12:32:38 +01:00
a1f7a21114
* rodata migration * a5dd0 rodata migration * e79b0 rodata migration * more rodata migration * more migration * goombario rodata * SetNpcCollision32 * removing old stuff * oops * UnkBackgroundFunc * removing unnecessary files * UnkBackgroundFunc2 * UnkStarFuncs * . * misc star decomp and AddHP * oops * AddFP * fix offset, update symbol_addrs * . * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "f602284b3e" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "f602284b3e" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * re-disasm * fix effect disasm * oops * fix lullaby
281 lines
10 KiB
C
281 lines
10 KiB
C
#ifndef _FUNCTIONS_H_
|
|
#define _FUNCTIONS_H_
|
|
|
|
#include "ultra64.h"
|
|
#include "common_structs.h"
|
|
#include "enums.h"
|
|
|
|
|
|
void nuBoot(void);
|
|
void boot_idle(void);
|
|
void boot_main(void);
|
|
|
|
void osCleanupThread(void);
|
|
|
|
void func_80070A90(s32, f32, f32, f32);
|
|
void func_80070AF0(s32, f32, f32, f32);
|
|
|
|
s32 heap_malloc(s32 size);
|
|
HeapNode* _heap_create(s32* addr, u32 size);
|
|
s32 dma_copy(s32 romStart, s32 romEnd, void* vramDest);
|
|
|
|
s32 get_global_byte(s32 index);
|
|
s32 get_global_flag(s32 index);
|
|
s32 get_area_byte(s32 index);
|
|
s32 get_area_flag(s32 index);
|
|
|
|
Shadow* get_shadow_by_index(s32 index);
|
|
|
|
void render_player_model();
|
|
|
|
f32 integrate_gravity(void);
|
|
f32 get_clamped_angle_diff(f32, f32);
|
|
|
|
u32 get_entity_type(s32 arg0);
|
|
Entity* get_entity_by_index(s32 index);
|
|
s32 create_entity(StaticEntityData*, s32, s32, s32, s32, s32);
|
|
void func_80070550(s32, f32, f32, f32, f32, f32, s32, s32);
|
|
void func_802E263C(Entity* entity);
|
|
|
|
void step_game_loop(void);
|
|
s32 resume_all_group(s32 groupFlags);
|
|
|
|
void create_shadow_callback(Shadow* entity);
|
|
void func_802E10F4(Entity* entity);
|
|
void func_802E114C(void);
|
|
void func_802E117C(void);
|
|
void save_game_at_player_position(void);
|
|
void func_802E1204(Entity* entity);
|
|
void func_802E1270(Entity* entity);
|
|
void func_802E1298(void);
|
|
void func_802E12F8(void);
|
|
void func_802E1328(Entity* entity);
|
|
void func_802E1350(Entity* entity);
|
|
void func_802E13B8(Entity* entity);
|
|
void func_802E1400(Entity* entity);
|
|
void func_802E1460(Entity* entity);
|
|
void func_802E14D8(Entity* entity);
|
|
void func_802E1614(Entity* entity);
|
|
void func_802E1660(Entity* entity);
|
|
void func_802E1740(Entity* entity);
|
|
void func_802E176C(Entity* entity);
|
|
s32 func_802E17A8(Entity* entity);
|
|
void func_802E1EA8(Entity* entity);
|
|
void func_802E1EDC(Entity* entity);
|
|
void func_802E234C(Entity* entity);
|
|
f32 func_802E31EC(Entity* entity);
|
|
void func_802E328C(Entity* entity);
|
|
s32 func_802E3BA4(Entity* entity);
|
|
void entity_init_BlueSwitch(Entity* entity);
|
|
void entity_init_HugeBlueSwitch(Entity* entity);
|
|
|
|
UNK_TYPE func_80072230(s32, f32, f32, f32, f32, s32);
|
|
UNK_TYPE func_80072350(s32, f32, f32, f32, f32, f32, f32, s32, s32);
|
|
void func_800706D0(s32, f32, f32, f32);
|
|
|
|
// Text
|
|
PrintContext* load_string(s32 stringID, s32* a1);
|
|
void get_screen_coords(Cam camID, f32 x, f32 y, f32 z, f32* outX, f32* outY, f32* outZ);
|
|
|
|
void parent_collider_to_model(s32 colliderID, s16 modelIndex);
|
|
void clone_model(u16 srcModelID, u16 newModelID);
|
|
Model* get_model_from_list_index(s32 listIndex);
|
|
s32 get_model_list_index_from_tree_index(s32 treeIndex);
|
|
void get_model_center_and_size(s32 modelID, f32* centerX, f32* centerY, f32* centerZ, f32* sizeX, f32* sizeY,
|
|
f32* sizeZ);
|
|
s32 collision_main_above(void);
|
|
s32 do_lateral_collision(s32, PlayerStatus*, f32*, f32*, f32*, f32, f32);
|
|
Npc* make_disguise_npc(s32 peachDisguise);
|
|
|
|
s32 partner_player_can_pause(void);
|
|
|
|
void func_80027088(s32);
|
|
|
|
void func_8006F8F0(f32, f32, f32);
|
|
void func_8006FEF0(s32, f32, f32, f32, f32);
|
|
void func_80070190(s32, f32, f32, f32, s32, f32, s32, s32);
|
|
|
|
void func_80071090(s32, f32, f32, f32, s32);
|
|
void func_80071750(s32, f32, f32, f32, f32, s32);
|
|
void func_800720B0(s32, f32, f32, f32, f32, s32);
|
|
void func_80072950(s32, f32, f32, f32, f32, s32 time);
|
|
|
|
void update_collider_transform(s16 colliderID);
|
|
void get_collider_center(s32 colliderID, f32* x, f32* y, f32* z);
|
|
|
|
s32 is_trigger_bound(Trigger*, Bytecode* script);
|
|
Trigger* create_trigger(TriggerDefinition* def);
|
|
s32 _bound_script_trigger_handler(Trigger* trigger);
|
|
Trigger* get_trigger_by_id(s32 triggerID);
|
|
|
|
Actor* get_actor(ActorID actorID);
|
|
ActorPart* get_actor_part(Actor* actor, s32 partIndex);
|
|
s32 add_coins(s32 amt);
|
|
|
|
void func_800494C0(Npc* npc, s32 arg1, s32 arg2);
|
|
|
|
s32 func_800DF15C(PlayerStatus*, f32*, f32*, f32*, s32, f32, s32*);
|
|
|
|
s32 get_variable(ScriptInstance* script, Bytecode var);
|
|
s32 set_variable(ScriptInstance* script, Bytecode var, s32 value);
|
|
f32 get_float_variable(ScriptInstance* script, Bytecode var);
|
|
f32 set_float_variable(ScriptInstance* script, Bytecode var, f32 value);
|
|
void set_script_timescale(ScriptInstance* script, f32 timescale);
|
|
f32 sin_deg(f32 x);
|
|
f32 cos_deg(f32 x);
|
|
f32 sin_rad(f32 x);
|
|
f32 cos_rad(f32 x);
|
|
s32 round(f32);
|
|
f32 atan2(f32 startX, f32 startZ, f32 endX, f32 endZ);
|
|
f32 clamp_angle(f32 theta);
|
|
s32 sign(s32 value);
|
|
s32 func_80055448(s32);
|
|
s32 func_80055464(s32, s32);
|
|
void func_800561A4(s32);
|
|
s32 osGetId();
|
|
|
|
void mem_clear(s8* data, s32 numBytes);
|
|
|
|
s32* create_icon(s32 iconIndex);
|
|
void set_icon_render_pos(s32 iconIndex, s32 posX, s32 posY);
|
|
|
|
void set_curtain_scale_goal(f32 scale);
|
|
void set_curtain_fade(f32 scale);
|
|
|
|
void fx_walk_normal(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
|
|
void fx_emote(s32, Npc*, f32, f32, f32, f32, f32, s32, s32*);
|
|
|
|
f32 func_800E0088(f32, f32);
|
|
void func_800E06C0(s32);
|
|
void close_status_menu(void);
|
|
void func_800EB168(s32);
|
|
|
|
Shadow* create_shadow_type(s32 type, f32 x, f32 y, f32 z);
|
|
|
|
PlayerData* get_player_data(void);
|
|
|
|
// Pause
|
|
s32 pause_interp_vertical_scroll(s32 deltaBefore);
|
|
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy);
|
|
|
|
s32 func_800DCB7C(s32, f32*, f32*, f32*, f32*);
|
|
s32 func_800DDC44(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
|
|
|
Npc* get_npc_by_index(s32 listIndex);
|
|
|
|
// Partner
|
|
void func_800EBA3C(Npc* partner);
|
|
void func_800EBB40(Npc* partner);
|
|
void enable_partner_ai(void);
|
|
void enable_partner_walking(Npc* partner, s32 val);
|
|
void enable_partner_flying(Npc* partner, s32 val);
|
|
void update_player_move_history(Npc* partner);
|
|
s32 is_current_partner_flying(void);
|
|
void func_800ED5D0(Npc* partner);
|
|
void clear_partner_move_history(Npc* partner);
|
|
|
|
void set_background_color_blend(u8 r, u8 g, u8 b, u8 a);
|
|
|
|
void set_parter_tether_distance(f32);
|
|
s32 does_script_exist(s32 id);
|
|
s32 does_script_exist_by_ref(ScriptInstance* script);
|
|
ScriptInstance* start_script(Bytecode* initialLine, s32 priority, s32 initialState);
|
|
ScriptInstance* start_script_in_group(Bytecode* initialLine, u8 priority, u8 initialState, u8 groupFlags);
|
|
|
|
void set_animation_rate(ActorID actorID, s32 partIndex, f32 rate);
|
|
void func_8011B7C0(u16, s32, s32);
|
|
AnimatedMesh* get_anim_mesh(s32 arg0);
|
|
void set_transition_stencil_zoom_0(s32, f32);
|
|
void set_transition_stencil_zoom_1(s32, f32);
|
|
void func_80137DC0(s32, f32*, f32*);
|
|
s32 set_transition_stencil_color(s32, u8, u8, u8);
|
|
void set_transition_stencil_center(s32, s32, s32, s32);
|
|
s32 rand_int(s32);
|
|
void sort_items(void);
|
|
s32 is_ability_active(s32 arg0);
|
|
f32 update_lerp(Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
|
|
|
|
s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign,
|
|
s32 pickupVar);
|
|
s32 make_item_entity_delayed(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 pickupVar);
|
|
void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z);
|
|
ItemEntity* get_item_entity(s32 itemEntityIndex);
|
|
s32 make_item_entity_nodelay(s32 itemID, f32 x, f32 y, f32 z, ItemSpawnMode itemSpawnMode, s32 pickupVar);
|
|
void set_item_entity_flags(s32 itemEntityIndex, s32 flag);
|
|
|
|
s32 bind_dynamic_entity_7(s32* updateFunc, s32* drawFunc);
|
|
s32 get_dynamic_entity(s32 arg0);
|
|
|
|
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height);
|
|
|
|
void disable_player_shadow(void);
|
|
void move_player(s32 duration, f32 heading, f32 speed);
|
|
s32 enable_player_input(void);
|
|
|
|
Npc* get_npc_safe(NpcId npcId);
|
|
Npc* get_npc_unsafe(NpcId npcId);
|
|
Npc* resolve_npc(ScriptInstance* script, NpcId npcIdOrPtr);
|
|
void set_npc_yaw(Npc* npcPtr, f32 angle);
|
|
void npc_move_heading(Npc* npc, f32 speed, f32 yaw);
|
|
void disable_npc_blur(Npc* npc);
|
|
|
|
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by);
|
|
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz);
|
|
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta);
|
|
|
|
s32 func_801499EC(s32 soundID, s32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
|
s32 play_sound_at_position(s32 soundID, s32 value2, f32 posX, f32 posY, f32 posZ);
|
|
s32 set_music_track(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
|
|
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);
|
|
|
|
s32 basic_window_update(void);
|
|
s32 basic_hidden_window_update(void);
|
|
|
|
void player_create_target_list(Actor* actor);
|
|
void enemy_create_target_list(Actor* actor);
|
|
|
|
void set_actor_yaw(ActorID actorID, s32 yaw);
|
|
void set_part_yaw(ActorID actorID, s32 partIndex, s32 value);
|
|
|
|
ActorPart* get_actor_part(Actor* actor, s32 partIndex);
|
|
|
|
void add_part_decoration(ActorPart* part, s32 decorationIndex, DecorationId decorationType);
|
|
void add_actor_decoration(Actor* actor, s32 decorationIndex, DecorationId decorationType);
|
|
void remove_part_decoration(ActorPart* part, s32 decorationIndex);
|
|
void remove_actor_decoration(Actor* actor, s32 decorationIndex);
|
|
|
|
s32 heroes_is_ability_active(Actor* actor, Ability ability);
|
|
|
|
void create_part_shadow(ActorID actorID, s32 partIndex);
|
|
void remove_part_shadow(ActorID actorID, s32 partIndex);
|
|
void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part); // arg0 unused
|
|
|
|
ScriptInstance* get_script_by_index(s32 index);
|
|
|
|
void suspend_all_group(s32 groupFlags);
|
|
void kill_script(ScriptInstance* instanceToKill);
|
|
void exec_entity_updatecmd(Entity* entity);
|
|
|
|
void func_802D7460(f32 x, f32 y, f32 z, s32 arg3);
|
|
void func_802D74C0(f32 x, f32 y, f32 z, s32 arg3);
|
|
|
|
void show_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount);
|
|
void func_80070B50(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
|
void func_800718D0(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
|
void func_80070BB0(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
|
void func_80071FF0(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
|
void func_80070970(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
|
|
void func_800709D0(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
|
void func_80070130(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
|
|
void func_800701F0(s32 arg0, f32 arg1, f32 arg2, f32 arg3);
|
|
void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg);
|
|
void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angleDeg);
|
|
|
|
// Dead functions:
|
|
f32 func_8002AF70(f32 startX, f32 startZ, f32 endX, f32 endZ); // atan2
|
|
Npc* func_8003E4BC(NpcId npcId); // get_npc_safe
|
|
Npc* func_8003E534(NpcId npcId); // get_npc_safe
|
|
void func_80075170(s32, f32, f32, f32, f32); // func_8006FEF0
|
|
|
|
#endif
|