User Tools

Site Tools


super_mario_64:function_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
super_mario_64:function_list [2020/11/02 18:32]
someone2639 [Function List] updated to use the most recent decomp map; uses function prototypes to list args rather than a description
super_mario_64:function_list [2022/08/24 19:04]
someone2639 fixed an error in 8029E914
Line 1: Line 1:
 ====== Function List ====== ====== Function List ======
-^ Address ^ Function Prototype ^+This is a list of functions in Super Mario 64, and their prototypes. For using these functions with assembly hacking, refer to the [[:​cpu_abi|CPU ABI]] page. 
 + 
 +^ Address ^ Function ​Name/Prototype ^
 | 04000040 | ipl3_entry | | 04000040 | ipl3_entry |
 | 80246000 | entry_point | | 80246000 | entry_point |
Line 197: Line 199:
 | 802518A8 | ''​u32 mario_get_terrain_sound_addend(struct MarioState *m);''​ | | 802518A8 | ''​u32 mario_get_terrain_sound_addend(struct MarioState *m);''​ |
 | 80251A48 | resolve_and_return_wall_collisions | | 80251A48 | resolve_and_return_wall_collisions |
-| 80251AFC | ''​f32 vec3f_find_ceil(Vec3f pos, f32 height, struct Surface **ceil);''​ |+| 80251AFC | ''​%%f32 vec3f_find_ceil(Vec3f pos, f32 height, struct Surface **ceil);%%''​ |
 | 80251B54 | ''​s32 mario_facing_downhill(struct MarioState *m, s32 turnYaw);''​ | | 80251B54 | ''​s32 mario_facing_downhill(struct MarioState *m, s32 turnYaw);''​ |
 | 80251BD4 | ''​u32 mario_floor_is_slippery(struct MarioState *m);''​ | | 80251BD4 | ''​u32 mario_floor_is_slippery(struct MarioState *m);''​ |
Line 500: Line 502:
 | 8026A090 | ''​void play_knockback_sound(struct MarioState *m);''​ | | 8026A090 | ''​void play_knockback_sound(struct MarioState *m);''​ |
 | 8026A12C | ''​s32 lava_boost_on_wall(struct MarioState *m);''​ | | 8026A12C | ''​s32 lava_boost_on_wall(struct MarioState *m);''​ |
-| 8026A224 | ''​s32 ​check_fall_damage_or_get_stuck(struct MarioState *m, u32 hardFallAction);''​ |+| 8026A224 | ''​s32 ​check_fall_damage(struct MarioState *m, u32 hardFallAction);''​ |
 | 8026A400 | ''​s32 check_kick_or_dive_in_air(struct MarioState *m);''​ | | 8026A400 | ''​s32 check_kick_or_dive_in_air(struct MarioState *m);''​ |
 | 8026A494 | ''​s32 should_get_stuck_in_ground(struct MarioState *m);''​ | | 8026A494 | ''​s32 should_get_stuck_in_ground(struct MarioState *m);''​ |
Line 1349: Line 1351:
 | 8029E714 | ''​s16 obj_turn_toward_object(struct Object *obj, struct Object *target, s16 angleIndex, s16 turnAmount);''​ | | 8029E714 | ''​s16 obj_turn_toward_object(struct Object *obj, struct Object *target, s16 angleIndex, s16 turnAmount);''​ |
 | 8029E8BC | ''​void obj_set_parent_relative_pos(struct Object *obj, s16 relX, s16 relY, s16 relZ);''​ | | 8029E8BC | ''​void obj_set_parent_relative_pos(struct Object *obj, s16 relX, s16 relY, s16 relZ);''​ |
-| 8029E914 | ''​void ​cur_obj_set_pos_to_home_with_debug(void);''​ |+| 8029E914 | ''​void ​obj_set_pos(struct Objec *obj, f32 x, f32 y, f32 z);''​ |
 | 8029E96C | ''​void obj_set_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);''​ | | 8029E96C | ''​void obj_set_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);''​ |
 | 8029E9AC | spawn_object_abs_with_rot | | 8029E9AC | spawn_object_abs_with_rot |
Line 1367: Line 1369:
 | 8029F148 | ''​void obj_copy_angle(struct Object *dst, struct Object *src);''​ | | 8029F148 | ''​void obj_copy_angle(struct Object *dst, struct Object *src);''​ |
 | 8029F188 | ''​void obj_set_gfx_pos_from_pos(struct Object *obj);''​ | | 8029F188 | ''​void obj_set_gfx_pos_from_pos(struct Object *obj);''​ |
-| 8029F1B0 | ''​void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);''​ |+| 8029F1B0 | ''​%%void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);%%''​ |
 | 8029F200 | ''​void linear_mtxf_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);''​ | | 8029F200 | ''​void linear_mtxf_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);''​ |
 | 8029F274 | ''​void linear_mtxf_transpose_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);''​ | | 8029F274 | ''​void linear_mtxf_transpose_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);''​ |
Line 1464: Line 1466:
 | 802A1D7C | ''​s32 cur_obj_detect_steep_floor(s16 steepAngleDegrees);''​ | | 802A1D7C | ''​s32 cur_obj_detect_steep_floor(s16 steepAngleDegrees);''​ |
 | 802A1F3C | ''​s32 cur_obj_resolve_wall_collisions(void);''​ | | 802A1F3C | ''​s32 cur_obj_resolve_wall_collisions(void);''​ |
-| 802A20F4 | ''​void ​cur_obj_update_floor_and_walls(void);''​ |+| 802A20F4 | ''​void ​cur_obj_update_floor(void);''​ |
 | 802A21D4 | ''​void cur_obj_update_floor_and_resolve_wall_collisions(s16 steepSlopeDegrees);''​ | | 802A21D4 | ''​void cur_obj_update_floor_and_resolve_wall_collisions(s16 steepSlopeDegrees);''​ |
 | 802A2320 | ''​void cur_obj_update_floor_and_walls(void);''​ | | 802A2320 | ''​void cur_obj_update_floor_and_walls(void);''​ |
Line 2150: Line 2152:
 | 802C9B68 | ''​void unload_object(struct Object *obj);''​ | | 802C9B68 | ''​void unload_object(struct Object *obj);''​ |
 | 802C9C00 | ''​void deallocate_object(struct ObjectNode *freeList, struct ObjectNode *obj);''​ | | 802C9C00 | ''​void deallocate_object(struct ObjectNode *freeList, struct ObjectNode *obj);''​ |
 +| 802C9E5C | ''​void snap_object_to_floor(struct Object *obj);''​ |
 | 802C9F04 | create_object | | 802C9F04 | create_object |
 | 802CA028 | ''​void mark_obj_for_deletion(struct Object *obj);''​ | | 802CA028 | ''​void mark_obj_for_deletion(struct Object *obj);''​ |
Line 2171: Line 2174:
 | 802CA918 | ''​void print_surfaceinfo(void);''​ | | 802CA918 | ''​void print_surfaceinfo(void);''​ |
 | 802CA94C | ''​void print_stageinfo(void);''​ | | 802CA94C | ''​void print_stageinfo(void);''​ |
-| 802CA990 | ''​void print_string_array_info(const char **strArr);''​ |+| 802CA990 | ''​%%void print_string_array_info(const char **strArr);%%''​ |
 | 802CAA6C | ''​void print_effectinfo(void);''​ | | 802CAA6C | ''​void print_effectinfo(void);''​ |
 | 802CAAA8 | ''​void print_enemyinfo(void);''​ | | 802CAAA8 | ''​void print_enemyinfo(void);''​ |
Line 2235: Line 2238:
 | 802CF77C | ''​int get_top_left_tile_idx(s8 player);''​ | | 802CF77C | ''​int get_top_left_tile_idx(s8 player);''​ |
 | 802CF804 | make_skybox_rect | | 802CF804 | make_skybox_rect |
-| 802CFA2C | ''​void draw_skybox_tile_grid(Gfx **dlist, s8 background, s8 player, s8 colorIndex);''​ |+| 802CFA2C | ''​%%void draw_skybox_tile_grid(Gfx **dlist, s8 background, s8 player, s8 colorIndex);​%%''​ |
 | 802CFC68 | ''​void *create_skybox_ortho_matrix(s8 player);''​ | | 802CFC68 | ''​void *create_skybox_ortho_matrix(s8 player);''​ |
 | 802CFD88 | init_skybox_display_list | | 802CFD88 | init_skybox_display_list |
Line 2246: Line 2249:
 | 802D0BB0 | movtex_gen_quads_id | | 802D0BB0 | movtex_gen_quads_id |
 | 802D0C84 | ''​void *get_quad_collection_from_id(u32 id);''​ | | 802D0C84 | ''​void *get_quad_collection_from_id(u32 id);''​ |
-| 802D0F28 | ''​void movtex_change_texture_format(u32 quadCollectionId,​ Gfx **gfx);''​ |+| 802D0F28 | ''​%%void movtex_change_texture_format(u32 quadCollectionId,​ Gfx **gfx);%%''​ |
 | 802D104C | geo_movtex_draw_water_regions | | 802D104C | geo_movtex_draw_water_regions |
 | 802D1330 | ''​void update_moving_texture_offset(s16 *movtexVerts,​ s32 attr);''​ | | 802D1330 | ''​void update_moving_texture_offset(s16 *movtexVerts,​ s32 attr);''​ |
Line 2416: Line 2419:
 | 802E2414 | ''​void spawn_macro_objects_hardcoded(s16 areaIndex, s16 *macroObjList);''​ | | 802E2414 | ''​void spawn_macro_objects_hardcoded(s16 areaIndex, s16 *macroObjList);''​ |
 | 802E2690 | ''​void spawn_macro_objects_hardcoded(s16 areaIndex, s16 *macroObjList);''​ | | 802E2690 | ''​void spawn_macro_objects_hardcoded(s16 areaIndex, s16 *macroObjList);''​ |
-| 802E28EC | ''​void spawn_special_objects(s16 areaIndex, s16 **specialObjList);''​ |+| 802E28EC | ''​%%void spawn_special_objects(s16 areaIndex, s16 **specialObjList);​%%''​ |
 | 802E2CF0 | ''​void render_hud_tex_lut(s32 x, s32 y, u8 *texture);''​ | | 802E2CF0 | ''​void render_hud_tex_lut(s32 x, s32 y, u8 *texture);''​ |
 | 802E2E58 | ''​void render_hud_small_tex_lut(s32 x, s32 y, u8 *texture);''​ | | 802E2E58 | ''​void render_hud_small_tex_lut(s32 x, s32 y, u8 *texture);''​ |
Line 3263: Line 3266:
 | 8031C050 | m64_read_s16 | | 8031C050 | m64_read_s16 |
 | 8031C080 | m64_read_compressed_u16 | | 8031C080 | m64_read_compressed_u16 |
 +| 8031C0C4 | ''​seq_channel_layer_process_script''​ |
 | 8031CE54 | get_instrument | | 8031CE54 | get_instrument |
 | 8031CFD4 | set_instrument | | 8031CFD4 | set_instrument |
Line 3364: Line 3368:
 | 80323A60 | osContStartReadData | | 80323A60 | osContStartReadData |
 | 80323B24 | osContGetReadData | | 80323B24 | osContGetReadData |
-| 80323BCC | __osPackReadData |+| 80323BCC | %%__osPackReadData%% |
 | 80323CC0 | osContInit | | 80323CC0 | osContInit |
-| 80323EBC | __osContGetInitData | +| 80323EBC | %%__osContGetInitData%% 
-| 80323F8C | __osPackRequestData |+| 80323F8C | %%__osPackRequestData%% |
 | 80324080 | osEepromProbe | | 80324080 | osEepromProbe |
-| 803240F0 | __ull_rshift | +| 803240F0 | %%__ull_rshift%% 
-| 8032411C | __ull_rem | +| 8032411C | %%__ull_rem%% 
-| 80324158 | __ull_div | +| 80324158 | %%__ull_div%% 
-| 80324194 | __ll_lshift | +| 80324194 | %%__ll_lshift%% 
-| 803241C0 | __ll_rem | +| 803241C0 | %%__ll_rem%% 
-| 803241FC | __ll_div | +| 803241FC | %%__ll_div%% 
-| 80324258 | __ll_mul | +| 80324258 | %%__ll_mul%% 
-| 80324288 | __ull_divremi | +| 80324288 | %%__ull_divremi%% 
-| 803242E8 | __ll_mod | +| 803242E8 | %%__ll_mod%% 
-| 80324384 | __ll_rshift |+| 80324384 | %%__ll_rshift%% |
 | 803243B0 | osInvalDCache | | 803243B0 | osInvalDCache |
 | 80324460 | osPiStartDma | | 80324460 | osPiStartDma |
Line 3391: Line 3395:
 | 80325010 | guPerspective | | 80325010 | guPerspective |
 | 80325070 | osGetTime | | 80325070 | osGetTime |
-| 80325100 | __d_to_ll | +| 80325100 | %%__d_to_ll%% 
-| 8032511C | __f_to_ll | +| 8032511C | %%__f_to_ll%% 
-| 80325138 | __d_to_ull | +| 80325138 | %%__d_to_ull%% 
-| 803251D8 | __f_to_ull | +| 803251D8 | %%__f_to_ull%% 
-| 80325274 | __ll_to_d | +| 80325274 | %%__ll_to_d%% 
-| 8032528C | __ll_to_f | +| 8032528C | %%__ll_to_f%% 
-| 803252A4 | __ull_to_d | +| 803252A4 | %%__ull_to_d%% 
-| 803252D8 | __ull_to_f |+| 803252D8 | %%__ull_to_f%% |
 | 80325310 | cosf | | 80325310 | cosf |
 | 80325480 | sinf | | 80325480 | sinf |
Line 3413: Line 3417:
 | 80325DA0 | osAiGetLength | | 80325DA0 | osAiGetLength |
 | 80325DB0 | osAiSetNextBuffer | | 80325DB0 | osAiSetNextBuffer |
-| 80325E60 | __osTimerServicesInit | +| 80325E60 | %%__osTimerServicesInit%% 
-| 80325EEC | __osTimerInterrupt | +| 80325EEC | %%__osTimerInterrupt%% 
-| 80326064 | __osSetTimerIntr | +| 80326064 | %%__osSetTimerIntr%% 
-| 803260D8 | __osInsertTimer |+| 803260D8 | %%__osInsertTimer%% |
 | 80326260 | _Printf | | 80326260 | _Printf |
 | 803273F0 | memcpy | | 803273F0 | memcpy |
 | 8032741C | strlen | | 8032741C | strlen |
 | 80327444 | strchr | | 80327444 | strchr |
-| 80327490 | __osDequeueThread | +| 80327490 | %%__osDequeueThread%% 
-| 803274D0 | __osDisableInt | +| 803274D0 | %%__osDisableInt%% 
-| 803274F0 | __osRestoreInt | +| 803274F0 | %%__osRestoreInt%% 
-| 80327510 | __osViInit | +| 80327510 | %%__osViInit%% 
-| 80327640 | __osExceptionPreamble | +| 80327640 | %%__osExceptionPreamble%% 
-| 80327650 | __osException |+| 80327650 | %%__osException%% |
 | 80327B98 | send_mesg | | 80327B98 | send_mesg |
-| 80327C80 | __osEnqueueAndYield | +| 80327C80 | %%__osEnqueueAndYield%% 
-| 80327D10 | __osEnqueueThread | +| 80327D10 | %%__osEnqueueThread%% 
-| 80327D58 | __osPopThread | +| 80327D58 | %%__osPopThread%% 
-| 80327D68 | __osDispatchThread | +| 80327D68 | %%__osDispatchThread%% 
-| 80327EA8 | __osCleanupThread |+| 80327EA8 | %%__osCleanupThread%% |
 | 80327EB0 | osVirtualToPhysical | | 80327EB0 | osVirtualToPhysical |
-| 80327F30 | __osSpSetStatus | +| 80327F30 | %%__osSpSetStatus%% 
-| 80327F40 | __osSpSetPc | +| 80327F40 | %%__osSpSetPc%% 
-| 80327F80 | __osSpRawStartDma | +| 80327F80 | %%__osSpRawStartDma%% 
-| 80328010 | __osSpDeviceBusy | +| 80328010 | %%__osSpDeviceBusy%% 
-| 80328040 | __osSpGetStatus |+| 80328040 | %%__osSpGetStatus%% |
 | 80328050 | osGetThreadPri | | 80328050 | osGetThreadPri |
-| 80328070 | __osViGetCurrentContext | +| 80328070 | %%__osViGetCurrentContext%% 
-| 80328080 | __osViSwapContext |+| 80328080 | %%__osViSwapContext%% |
 | 803283E0 | osGetCount | | 803283E0 | osGetCount |
-| 803283F0 | __osPiCreateAccessQueue | +| 803283F0 | %%__osPiCreateAccessQueue%% 
-| 80328440 | __osPiGetAccess | +| 80328440 | %%__osPiGetAccess%% 
-| 80328484 | __osPiRelAccess |+| 80328484 | %%__osPiRelAccess%% |
 | 803284B0 | osPiRawStartDma | | 803284B0 | osPiRawStartDma |
-| 80328590 | __osDevMgrMain | +| 80328590 | %%__osDevMgrMain%% 
-| 80328710 | __osSetSR | +| 80328710 | %%__osSetSR%% 
-| 80328720 | __osGetSR | +| 80328720 | %%__osGetSR%% 
-| 80328730 | __osSetFpcCsr | +| 80328730 | %%__osSetFpcCsr%% 
-| 80328740 | __osSiRawReadIo | +| 80328740 | %%__osSiRawReadIo%% 
-| 80328790 | __osSiRawWriteIo |+| 80328790 | %%__osSiRawWriteIo%% |
 | 803287E0 | osMapTLBRdb | | 803287E0 | osMapTLBRdb |
 | 80328840 | osPiRawReadIo | | 80328840 | osPiRawReadIo |
-| 803288A0 | __osSiCreateAccessQueue | +| 803288A0 | %%__osSiCreateAccessQueue%% 
-| 803288F0 | __osSiGetAccess | +| 803288F0 | %%__osSiGetAccess%% 
-| 80328934 | __osSiRelAccess | +| 80328934 | %%__osSiRelAccess%% 
-| 80328960 | __osSiRawStartDma |+| 80328960 | %%__osSiRawStartDma%% |
 | 80328A10 | osSetTimer | | 80328A10 | osSetTimer |
 | 80328AF0 | osEepromWrite | | 80328AF0 | osEepromWrite |
-| 80328CA0 | __osPackEepWriteData | +| 80328CA0 | %%__osPackEepWriteData%% 
-| 80328DAC | __osEepStatus |+| 80328DAC | %%__osEepStatus%% |
 | 80328FD0 | osJamMesg | | 80328FD0 | osJamMesg |
 | 80329120 | osPiGetCmdQueue | | 80329120 | osPiGetCmdQueue |
 | 80329150 | osEepromRead | | 80329150 | osEepromRead |
-| 80329340 | __osPackEepReadData |+| 80329340 | %%__osPackEepReadData%% |
 | 80329450 | guMtxF2L | | 80329450 | guMtxF2L |
 | 80329550 | guMtxIdentF | | 80329550 | guMtxIdentF |
Line 3472: Line 3476:
 | 80329608 | guMtxL2F | | 80329608 | guMtxL2F |
 | 803296C0 | guNormalize | | 803296C0 | guNormalize |
-| 80329750 | __osAiDeviceBusy | +| 80329750 | %%__osAiDeviceBusy%% 
-| 80329780 | __osSetCompare |+| 80329780 | %%__osSetCompare%% |
 | 80329790 | _Litob | | 80329790 | _Litob |
 | 80329A90 | _Ldtob | | 80329A90 | _Ldtob |
Line 3483: Line 3487:
 | 8032AACC | process_command_register | | 8032AACC | process_command_register |
 | 8032AAF8 | kdebugserver | | 8032AAF8 | kdebugserver |
-| 8032ACE0 | __osSyncPutChars |+| 8032ACE0 | %%__osSyncPutChars%% |
 | 8032AE10 | osSetIntMask | | 8032AE10 | osSetIntMask |
 | 8032AE70 | osDestroyThread | | 8032AE70 | osDestroyThread |
-| 8032AF70 | __osProbeTLB | +| 8032AF70 | %%__osProbeTLB%% 
-| 8032B030 | __osSiDeviceBusy |+| 8032B030 | %%__osSiDeviceBusy%% |
 | 8032B060 | lldiv | | 8032B060 | lldiv |
 | 8032B160 | ldiv | | 8032B160 | ldiv |
-| 8032B1F0 | __osGetCause | +| 8032B1F0 | %%__osGetCause%% 
-| 8032B200 | __osAtomicDec |+| 8032B200 | %%__osAtomicDec%% |
 | 8032B260 | rspF3DBootStart | | 8032B260 | rspF3DBootStart |
 | 8032B330 | rspF3DBootEnd | | 8032B330 | rspF3DBootEnd |
Line 3566: Line 3570:
 | 8037C360 | ''​void geo_call_global_function_nodes(struct GraphNode *graphNode, s32 callContext);''​ | | 8037C360 | ''​void geo_call_global_function_nodes(struct GraphNode *graphNode, s32 callContext);''​ |
 | 8037C3D0 | ''​void geo_reset_object_node(struct GraphNodeObject *graphNode);''​ | | 8037C3D0 | ''​void geo_reset_object_node(struct GraphNodeObject *graphNode);''​ |
-| 8037C448 | ''​void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);''​ |+| 8037C448 | ''​%%void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);%%''​ |
 | 8037C51C | ''​void geo_obj_init_spawninfo(struct GraphNodeObject *graphNode, struct SpawnInfo *spawn);''​ | | 8037C51C | ''​void geo_obj_init_spawninfo(struct GraphNodeObject *graphNode, struct SpawnInfo *spawn);''​ |
-| 8037C658 | ''​void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);''​ | +| 8037C658 | ''​%%void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);%%''​ | 
-| 8037C708 | ''​void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);''​ | +| 8037C708 | ''​%%void geo_obj_init_animation_accel(struct GraphNodeObject *graphNode, struct Animation **animPtrAddr,​ u32 animAccel);%%''​ | 
-| 8037C7D8 | ''​s32 retrieve_animation_index(s32 frame, u16 **attributes);''​ |+| 8037C7D8 | ''​%%s32 retrieve_animation_index(s32 frame, u16 **attributes);​%%''​ |
 | 8037C844 | ''​s16 geo_update_animation_frame(struct GraphNodeObject_sub *obj, s32 *accelAssist);''​ | | 8037C844 | ''​s16 geo_update_animation_frame(struct GraphNodeObject_sub *obj, s32 *accelAssist);''​ |
 | 8037C9E8 | ''​void geo_retreive_animation_translation(struct GraphNodeObject *obj, Vec3f position);''​ | | 8037C9E8 | ''​void geo_retreive_animation_translation(struct GraphNodeObject *obj, Vec3f position);''​ |
Line 3679: Line 3683:
 | 80380E8C | ''​s32 find_wall_collisions(struct WallCollisionData *colData);''​ | | 80380E8C | ''​s32 find_wall_collisions(struct WallCollisionData *colData);''​ |
 | 80381038 | ''​struct Surface *find_ceil_from_list(struct SurfaceNode *surfaceNode,​ s32 x, s32 y, s32 z, f32 *pheight);''​ | | 80381038 | ''​struct Surface *find_ceil_from_list(struct SurfaceNode *surfaceNode,​ s32 x, s32 y, s32 z, f32 *pheight);''​ |
-| 80381264 | ''​f32 find_ceil(f32 posX, f32 posY, f32 posZ, struct Surface **pceil);''​ |+| 80381264 | ''​%%f32 find_ceil(f32 posX, f32 posY, f32 posZ, struct Surface **pceil);%%''​ |
 | 80381470 | ''​f32 unused_obj_find_floor_height(struct Object *obj);''​ | | 80381470 | ''​f32 unused_obj_find_floor_height(struct Object *obj);''​ |
-| 803814B8 | ''​f32 find_floor_height_and_data(f32 xPos, f32 yPos, f32 zPos, struct FloorGeometry **floorGeo);''​ |+| 803814B8 | ''​%%f32 find_floor_height_and_data(f32 xPos, f32 yPos, f32 zPos, struct FloorGeometry **floorGeo);​%%''​ |
 | 8038156C | ''​struct Surface *find_floor_from_list(struct SurfaceNode *surfaceNode,​ s32 x, s32 y, s32 z, f32 *pheight);''​ | | 8038156C | ''​struct Surface *find_floor_from_list(struct SurfaceNode *surfaceNode,​ s32 x, s32 y, s32 z, f32 *pheight);''​ |
 | 80381794 | ''​f32 find_floor_height(f32 x, f32 y, f32 z);''​ | | 80381794 | ''​f32 find_floor_height(f32 x, f32 y, f32 z);''​ |
-| 803817E0 | ''​f32 unused_find_dynamic_floor(f32 xPos, f32 yPos, f32 zPos, struct Surface **pfloor);''​ | +| 803817E0 | ''​%%f32 unused_find_dynamic_floor(f32 xPos, f32 yPos, f32 zPos, struct Surface **pfloor);%%''​ | 
-| 80381900 | ''​f32 find_floor(f32 xPos, f32 yPos, f32 zPos, struct Surface **pfloor);''​ |+| 80381900 | ''​%%f32 find_floor(f32 xPos, f32 yPos, f32 zPos, struct Surface **pfloor);%%''​ |
 | 80381BA0 | ''​f32 find_water_level(f32 x, f32 z);''​ | | 80381BA0 | ''​f32 find_water_level(f32 x, f32 z);''​ |
 | 80381D3C | ''​f32 find_poison_gas_level(f32 x, f32 z);''​ | | 80381D3C | ''​f32 find_poison_gas_level(f32 x, f32 z);''​ |
Line 3693: Line 3697:
 | 80382490 | ''​struct SurfaceNode *alloc_surface_node(void);''​ | | 80382490 | ''​struct SurfaceNode *alloc_surface_node(void);''​ |
 | 803824F8 | ''​void alloc_surface_pools(void);''​ | | 803824F8 | ''​void alloc_surface_pools(void);''​ |
 +| 80382590 | ''​void clear_spatial_partition(SpatialPartitionCell *cells);''​ |
 | 803825D0 | clear_static_surfaces | | 803825D0 | clear_static_surfaces |
 | 803825FC | ''​void add_surface_to_cell(s16 dynamic, s16 cellX, s16 cellZ, struct Surface *surface);''​ | | 803825FC | ''​void add_surface_to_cell(s16 dynamic, s16 cellX, s16 cellZ, struct Surface *surface);''​ |
Line 3700: Line 3705:
 | 80382990 | ''​s16 upper_cell_index(s16 coord);''​ | | 80382990 | ''​s16 upper_cell_index(s16 coord);''​ |
 | 80382A2C | ''​void add_surface(struct Surface *surface, s32 dynamic);''​ | | 80382A2C | ''​void add_surface(struct Surface *surface, s32 dynamic);''​ |
-| 80382B7C | ''​struct Surface *read_surface_data(s16 *vertexData,​ s16 **vertexIndices);''​ |+| 80382B7C | ''​%%struct Surface *read_surface_data(s16 *vertexData,​ s16 **vertexIndices);​%%''​ |
 | 80382F84 | ''​s32 surface_has_force(s16 surfaceType);''​ | | 80382F84 | ''​s32 surface_has_force(s16 surfaceType);''​ |
 | 80382FEC | ''​s32 surf_has_no_cam_collision(s16 surfaceType);''​ | | 80382FEC | ''​s32 surf_has_no_cam_collision(s16 surfaceType);''​ |
 | 80383068 | load_static_surfaces | | 80383068 | load_static_surfaces |
-| 803831D0 | ''​s16 *read_vertex_data(s16 **data);''​ | +| 803831D0 | ''​%%s16 *read_vertex_data(s16 **data);%%''​ | 
-| 80383228 | ''​void load_environmental_regions(s16 **data);''​ |+| 80383228 | ''​%%void load_environmental_regions(s16 **data);%%''​ |
 | 80383340 | ''​void alloc_surface_pools(void);''​ | | 80383340 | ''​void alloc_surface_pools(void);''​ |
 | 803833B8 | ''​void load_area_terrain(s16 index, s16 *data, s8 *surfaceRooms,​ s16 *macroObjects);''​ | | 803833B8 | ''​void load_area_terrain(s16 index, s16 *data, s8 *surfaceRooms,​ s16 *macroObjects);''​ |
 | 803835A4 | ''​void clear_dynamic_surfaces(void);''​ | | 803835A4 | ''​void clear_dynamic_surfaces(void);''​ |
 | 80383604 | ''​void unused_80383604(void);''​ | | 80383604 | ''​void unused_80383604(void);''​ |
-| 80383614 | ''​void transform_object_vertices(s16 **data, s16 *vertexData);''​ | +| 80383614 | ''​%%void transform_object_vertices(s16 **data, s16 *vertexData);​%%''​ | 
-| 80383828 | ''​void load_object_surfaces(s16 **data, s16 *vertexData);''​ |+| 80383828 | ''​%%void load_object_surfaces(s16 **data, s16 *vertexData);​%%''​ |
 | 803839CC | ''​void load_object_collision_model(void);''​ | | 803839CC | ''​void load_object_collision_model(void);''​ |
 | 80383B70 | ''​void goto_behavior_unused(const BehaviorScript *bhvAddr);''​ | | 80383B70 | ''​void goto_behavior_unused(const BehaviorScript *bhvAddr);''​ |
Line 3767: Line 3772:
 | 8038546C | ''​s32 bhv_cmd_nop_4(void);''​ | | 8038546C | ''​s32 bhv_cmd_nop_4(void);''​ |
 | 803854CC | ''​s32 bhv_cmd_begin(void);''​ | | 803854CC | ''​s32 bhv_cmd_begin(void);''​ |
 +| 8038556C | ''​s32 bhv_cmd_set_int_random_from_table(void);''​ |
 | 803856A0 | ''​s32 bhv_cmd_load_collision_data(void);''​ | | 803856A0 | ''​s32 bhv_cmd_load_collision_data(void);''​ |
 | 80385700 | ''​s32 bhv_cmd_set_home(void);''​ | | 80385700 | ''​s32 bhv_cmd_set_home(void);''​ |
Line 3854: Line 3860:
 | 80177560 | lvl_init_act_selector_values_and_stars | | 80177560 | lvl_init_act_selector_values_and_stars |
 | 80177610 | lvl_update_obj_and_load_act_button_actions | | 80177610 | lvl_update_obj_and_load_act_button_actions |
-| 80177710 | __main__ |+| 80177710 | %%__main__%% |
 | 80177820 | empty_mem_block | | 80177820 | empty_mem_block |
 | 80177924 | into_free_memblock | | 80177924 | into_free_memblock |
Line 4472: Line 4478:
 ===== References ===== ===== References =====
   * https://​sites.google.com/​site/​kazemario64/​tons-of-functions   * https://​sites.google.com/​site/​kazemario64/​tons-of-functions
 +  * https://​github.com/​n64decomp/​sm64/​
super_mario_64/function_list.txt · Last modified: 2023/08/23 03:57 by ZenonX