papermario/src/code_a5dd0_len_114e0.c
2020-10-21 20:07:00 -04:00

429 lines
13 KiB
C

#include "code_a5dd0_len_114e0.h"
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_entities);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_shadows);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FBC0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FBD8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FD68);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FD98);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FE44);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FE68);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", render_entities);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", render_shadows);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_entity_transform_matrix);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_shadow_transform_matrix);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_entity_inverse_rotation_matrix);
Entity* get_entity_by_index(s32 index) {
return (*gCurrentEntityListPtr)[index & 0xFFF];
}
Shadow* get_shadow_by_index(s32 index) {
return (*gCurrentShadowListPtr)[index & 0xFFF];
}
EntityList* get_entity_list(void) {
EntityList* ret;
if (!GAME_STATUS->isBattle) {
ret = &gWorldEntityList;
} else {
ret = &gBattleEntityList;
}
return ret;
}
ShadowList* get_shadow_list(void) {
ShadowList* ret;
if (!GAME_STATUS->isBattle) {
ret = &gWorldShadowList;
} else {
ret = &gBattleShadowList;
}
return ret;
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80110678);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_entity_type);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", delete_entity);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", delete_entity_and_unload_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011085C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", entity_get_collision_flags);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801109DC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", test_player_entity_aabb);
s32 is_player_action_state(ActionState actionState) {
return actionState == gPlayerActionState;
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80110BCC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80110BF8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_area_specific_entity_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", clear_entity_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80110E58);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80110F10);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801110B4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", is_entity_data_loaded);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_simple_entity_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_split_entity_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80111790);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801117DC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", create_entity);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", create_shadow_from_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", MakeEntity, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80111E9C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80111F2C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", AssignScript, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", AssignAreaFlag, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", AssignBlockFlag, ScriptInstance* script, s32 isInitialCall);
ApiStatus AssignFlag(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Trigger* trigger;
if (isInitialCall == TRUE) {
trigger = get_entity_by_index(gLastCreatedEntityIndex)->trigger;
trigger->flags.bytes.genericFlagIndex = get_variable_index(script, *args);
return ApiStatus_DONE2;
}
return ApiStatus_DONE1;
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", AssignPanelFlag, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", AssignCrateFlag, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", create_entity_shadow);
INCLUDE_ASM(Shadow*, "code_a5dd0_len_114e0", create_shadow_type, s32 type, f32 x, f32 y, f32 z);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112328);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112344);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801125E8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_standard_shadow_scale);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_npc_shadow_scale);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_peach_shadow_scale);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112B20);
void NOP_state(void) {
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112B98);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112BBC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", _set_game_mode);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112D84);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112DD4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112DFC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112E24);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112E4C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", step_current_game_mode);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112EEC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", render_ui);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112FC4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", appendGfx_model);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80114B58);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_tile_header);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80115498);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_model_property);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", _load_model_textures);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_model_textures);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80115CA8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", clear_model_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", init_model_data);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", calculate_model_sizes);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011620C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80116674);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80116698);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", render_models);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", appendGfx_model_group);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80117D00);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80117E74);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011800C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801180E8);
Model* get_model_from_list_index(s32 listIndex) {
return (*gCurrentModelListPtr)[listIndex];
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_data_for_models);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", load_model_transforms);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_model_list_index_from_tree_index, s32 treeIndex);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B090);
INCLUDE_ASM(void, "code_a5dd0_len_114e0", get_model_center_and_size, s32 modelID, f32* centerX, f32* centerY,
f32* centerZ, f32* sizeX, f32* sizeY, f32* sizeZ);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B1C0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B1D8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B37C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B5D0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B660);
INCLUDE_ASM(void, "code_a5dd0_len_114e0", clone_model, u16 srcModelID, u16 newModelID);
INCLUDE_ASM(void, "code_a5dd0_len_114e0", func_8011B7C0, u16 arg0, s32 arg1, s32 arg2);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011B950);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BAE8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", enable_world_fog);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", disable_world_fog);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_world_fog_dist);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_world_fog_color);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", is_world_fog_enabled);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_world_fog_distance);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_world_fog_color);
void set_tex_panner(Model* model, s8 texPannerID) {
model->texPannerID = texPannerID;
}
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_main_pan_u);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_main_pan_v);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_aux_pan_u);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_aux_pan_v);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BC7C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BCB4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BCD0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BCEC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BE14);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_background_color_blend);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", get_background_color_blend);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BEB4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BF14);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BF98);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011BFD4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C028);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C0DC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C130);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C164);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C2B0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C2EC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C32C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011C80C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011CFBC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D72C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D7E4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D82C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D890);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D8D0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", queue_render_task);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011D9B8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011DE80);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011DFD0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E014);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E058);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E09C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E0DC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E150);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E1C4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E224);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E310);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E398);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E400);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E438);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E4B8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E5E0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E718);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011E8BC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011EA54);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011EBF0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011F058);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011F118);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011F304);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011F3E8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011F4D4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011FA54);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011FF74);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011FF98);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011FFB4);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8011FFE0);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120000);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120028);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8012003C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8012004C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120064);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8012008C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8012009C);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801200B8);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801200EC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120118);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", play_model_animation);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120198);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120234);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801203AC);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120420);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120474);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120530);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80120678);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801206F8);