diff --git a/PAPER_MARIO.u.yaml b/PAPER_MARIO.u.yaml index 449ec3d37f..996bb4e293 100644 --- a/PAPER_MARIO.u.yaml +++ b/PAPER_MARIO.u.yaml @@ -5757,308 +5757,1164 @@ ranges: # All label addresses are RAM addresses # Order does not matter labels: - - [0x80125c00, "EntryPoint"] - - [0x80025C60, "PAPERMARIO_func_80025C60"] - - [0x8005E9B0, "nuScCreateScheduler"] - - [0x8005EBE0, "nuScExecuteAudio"] - - [0x8005ED14, "nuScExecuteGraphics"] - - [0x8005EE30, "nuScAddClient"] - - [0x8005EEBC, "nuScRemoveClient"] - - [0x8005EF38, "nuScResetClientMesgType"] - - [0x8005EF78, "nuScGetGfxMQ"] - - [0x8005EF84, "nuScGetAudioMQ"] - - [0x8005EF90, "nuScSetFrameBufferNum"] - - [0x8005EF9C, "nuScGetFrameRate"] - - [0x8005EFA8, "nuScEventHandler"] - - [0x8005F0C0, "nuScEventBroadcast"] - - [0x8005F120, "nuScWaitTaskReady"] - - [0x8005F250, "nuGfxFuncSet"] - - [0x8005F290, "nuGfxPreNMIFuncSet"] - - [0x8005F2D0, "nuGfxTaskAllEndWait"] - - [0x8005F2F0, "nuGfxSetCfb"] - - [0x8005F400, "nuGfxDisplayOff"] - - [0x8005F430, "nuGfxDisplayOn"] - - [0x8005F450, "nuPiInit"] - - [0x8005F490, "nuPiReadRom"] - - [0x8005F560, "nuGfxInit"] - - [0x8005F610, "nuContInit"] - - [0x8005F650, "nuContDataGet"] - - [0x8005F6B0, "nuContPakMgrInit"] - - [0x8005F6D4, "nuContPakMgrRemove"] - - [0x8005F6F8, "contPakOpen"] - - [0x8005F748, "contPakFree"] - - [0x8005F770, "contPakFileReadWrite"] - - [0x8005F7B0, "contPakFileOpen"] - - [0x8005F864, "contPakFileDelete"] - - [0x8005F8A4, "contPakFileState"] - - [0x8005F8D0, "contPakFileNum"] - - [0x8005F8FC, "contPakRepairId"] - - [0x8005F920, "osMotorStop"] - - [0x8005FB10, "contRmbControl"] - - [0x8005FC8C, "nuContRmbMgrInit"] - - [0x8005FCEC, "nuContRmbMgrRemove"] - - [0x8005FD10, "contRmbCheckMesg"] - - [0x8005FD58, "contRmbStartMesg"] - - [0x8005FE90, "nuContRmbStart"] - - [0x8005FEF0, "nuContRmbCheck"] - - [0x8005FF90, "nuContRmbModeSet"] - - [0x800600A0, "nuContRmbForceStop"] - - [0x800600C0, "nuContRmbForceStopEnd"] - - [0x800600E0, "nuPiReadRomOverlay"] - - [0x800601F0, "nuGfxThreadStart"] - - [0x80060248, "nuGfxThread"] - - [0x80060310, "nuGfxSwapCfbFuncSet"] - - [0x80060350, "nuGfxSwapCfb"] - - [0x80060370, "nuGfxRetraceWait"] - - [0x800603F0, "nuSiCallBackAdd"] - - [0x80060490, "nuSiCallBackRemove"] - - [0x80060510, "nuContMgrInit"] - - [0x800605E8, "nuContMgrRemove"] - - [0x8006060C, "nuContDataClose"] - - [0x80060634, "nuContDataOpen"] - - [0x8006065C, "contRetrace"] - - [0x80060738, "contReadData"] - - [0x800607B4, "contReadNW"] - - [0x80060870, "contQuery"] - - [0x800608C0, "nuContDataLock"] - - [0x800608F0, "nuContDataUnLock"] - - [0x80060920, "nuContQueryRead"] - - [0x80060940, "osSetIntMask"] - - [0x800609E0, "osCreatePiManager"] - - [0x80060B70, "osEPiRawStartDma"] - - [0x80060D60, "osEPiWriteIo"] - - [0x80060DC0, "osEPiReadIo"] - - [0x80060E20, "osEPiStartDma"] - - [0x80060EC0, "osEPiLinkHandle"] - - [0x80060F10, "osCartRomInit"] - - [0x80061090, "osDevMgrMain"] - - [0x80061450, "osPiCreateAccessQueue"] - - [0x800614A4, "osPiGetAccess"] - - [0x80061510, "osPiRelAccess"] - - [0x80061540, "osAiGetLength"] - - [0x80061550, "osAiGetStatus"] - - [0x80061560, "osAiSetFrequency"] - - [0x80061680, "osAiSetNextBuffer"] - - [0x80061720, "osInvalDCache"] - - [0x800617D0, "osInvalICache"] - - [0x80061850, "osWritebackDCache"] - - [0x800618D0, "osWritebackDCacheAll"] - - [0x80061900, "osContStartQuery"] - - [0x80061980, "osContGetQuery"] - - [0x800619A0, "osContStartReadData"] - - [0x80061A28, "osContGetReadData"] - - [0x80061AC4, "osPackReadData"] - - [0x80061B80, "osContInit"] - - [0x80061D1C, "osContGetInitData"] - - [0x80061DD0, "osPackRequestData"] - - [0x80061E90, "osVirtualToPhysical"] - - [0x80061EF0, "sqrtf"] - - [0x80061F00, "coss"] - - [0x80061F30, "guFrustumF"] - - [0x80062060, "guFrustum"] - - [0x800621B0, "guLookAtF"] - - [0x80062530, "guLookAt"] - - [0x800628C0, "guLookAtHiliteF"] - - [0x80063244, "guLookAtHilite"] - - [0x80063320, "guLookAtReflectF"] - - [0x80063898, "guLookAtReflect"] - - [0x80063910, "guOrthoF"] - - [0x80063A40, "guOrtho"] - - [0x80063B90, "guPerspectiveF"] - - [0x80063D40, "guPerspective"] - - [0x80063F10, "guPositionF"] - - [0x800640E8, "guPosition"] - - [0x800642D0, "guRotateAnglesF"] - - [0x80064458, "guRotateAngles"] - - [0x800645F0, "sins"] - - [0x80064650, "bcopy"] - - [0x80064970, "bzero"] - - [0x80064A10, "strchr"] - - [0x80064A50, "strlen"] - - [0x80064A74, "memcpy"] - - [0x80064AA0, "_Printf"] - - [0x80065020, "_Putfld"] - - [0x800654F0, "sprintf"] - - [0x80065548, "proutSprintf"] - - [0x80065580, "osCreateMesgQueue"] - - [0x800655B0, "osJamMesg"] - - [0x800656F0, "osRecvMesg"] - - [0x80065820, "osSendMesg"] - - [0x80065950, "osSetEventMesg"] - - [0x80065A00, "osGetCount"] - - [0x80065A10, "osSpTaskLoad"] - - [0x80065C1C, "osSpTaskStartGo"] - - [0x80065C50, "osSpTaskYield"] - - [0x80065C70, "osSpTaskYielded"] - - [0x80065CC0, "osSiRawStartDma"] - - [0x80065D70, "osSiCreateAccessQueue"] - - [0x80065DC4, "osSiGetAccess"] - - [0x80065E30, "osSiRelAccess"] - - [0x80065E60, "osCreateThread"] - - [0x80065F30, "osGetThreadPri"] - - [0x80065F50, "osSetThreadPri"] - - [0x80066020, "osStartThread"] - - [0x80066140, "osStopThread"] - - [0x80066200, "osDequeueThread"] - - [0x80066240, "osYieldThread"] - - [0x80066290, "osGetActiveQueue"] - - [0x800662A0, "osGetTime"] - - [0x80066330, "osSetTime"] - - [0x80066350, "osSetTimer"] - - [0x80066480, "osTimerServicesInit"] - - [0x800664D4, "osTimerInterrupt"] - - [0x80066610, "osSetTimerIntr"] - - [0x80066690, "osInsertTimer"] - - [0x800667A0, "osMapTLB"] - - [0x80066860, "osProbeTLB"] - - [0x80066920, "osUnmapTLB"] - - [0x80066960, "osUnmapTLBAll"] - - [0x800669B0, "osViGetCurrentFramebuffer"] - - [0x800669F0, "osViGetNextFramebuffer"] - - [0x80066A30, "osViGetCurrentMode"] - - [0x80066A70, "osCreateViManager"] - - [0x80066C10, "viMgrMain"] - - [0x80066DB0, "osViSetEvent"] - - [0x80066E10, "osViSetMode"] - - [0x80066E60, "osViSetSpecialFeatures"] - - [0x80066FD0, "osViSetYScale"] - - [0x80067020, "osViSwapBuffer"] - - [0x80067070, "osViSwapContext"] - - [0x80067380, "osViBlack"] - - [0x800673E0, "osViRepeatLine"] - - [0x80067440, "guMtxIdent"] - - [0x800674A0, "guMtxIdentF"] - - [0x80067500, "guMtxF2L"] - - [0x80067580, "guMtxL2F"] - - [0x80067600, "guMtxCatF"] - - [0x80067700, "guScale"] - - [0x800677C0, "guScaleF"] - - [0x80067820, "guTranslate"] - - [0x80067900, "guTranslateF"] - - [0x80067960, "guMtxCat"] - - [0x800679E0, "guMtxXFML"] - - [0x80067A70, "guMtxXFMF"] - - [0x80067B20, "guRotateF"] - - [0x80067C80, "guRotate"] - - [0x80067E00, "osMotorAccess"] - - [0x80067F44, "osMotorInit"] - - [0x80068190, "osPfsAllocateFile"] - - [0x8006849C, "osPfsDeclearPage"] - - [0x800685C0, "osPfsDeleteFile"] - - [0x8006876C, "osPfsReleasePages"] - - [0x800687E0, "osPfsReadWriteFile"] - - [0x80068C20, "osPfsFileState"] - - [0x80068DC0, "osPfsFindFile"] - - [0x80068F80, "osPfsFreeBlocks"] - - [0x80069090, "osPfsNumFiles"] - - [0x80069190, "osPfsInitPak"] - - [0x80069388, "osPfsCheckRamArea"] - - [0x80069460, "osPfsRepairId"] - - [0x800694C0, "osPfsGetStatus"] - - [0x800695B0, "osPfsRequestOneChannel"] - - [0x80069644, "osPfsGetOneChannelData"] - - [0x800696D0, "osPfsSelectBank"] - - [0x80069740, "osSumcalc"] - - [0x80069774, "osIdCheckSum"] - - [0x800697B8, "osRepairPackId"] - - [0x80069AA4, "osCheckPackId"] - - [0x80069C08, "osGetId"] - - [0x80069DD4, "osCheckId"] - - [0x80069E8C, "osPfsRWInode"] - - [0x8006A1D0, "osContRamRead"] - - [0x8006A3C0, "osContRamWrite"] - - [0x8006A630, "osAfterPreNMI"] - - [0x8006A708, "osInitialize"] - - [0x8006AA00, "osExceptionPreamble"] - - [0x8006AA34, "savecontext"] - - [0x8006AB34, "savercp"] - - [0x8006AB6C, "endrcp"] - - [0x8006AC08, "handle_interrupt"] - - [0x8006AC0C, "next_interrupt"] - - [0x8006AC44, "IP6_Hdlr"] - - [0x8006AC50, "IP7_Hdlr"] - - [0x8006AC5C, "counter"] - - [0x8006AC80, "cart"] - - [0x8006ACC8, "rcp"] - - [0x8006AD2C, "sp_other_break"] - - [0x8006AD3C, "vi"] - - [0x8006AD64, "ai"] - - [0x8006AD90, "si"] - - [0x8006ADB8, "pi"] - - [0x8006AE0C, "dp"] - - [0x8006AE30, "NoMoreRcpInts"] - - [0x8006AE3C, "prenmi"] - - [0x8006AE6C, "firstnmi"] - - [0x8006AEA0, "sw2"] - - [0x8006AEC4, "sw1"] - - [0x8006AEE8, "handle_break"] - - [0x8006AF00, "redispatch"] - - [0x8006AF34, "enqueueRunning"] - - [0x8006AF4C, "panic"] - - [0x8006AF7C, "send_mesg"] - - [0x8006AFC4, "send_done"] - - [0x8006B038, "handle_CPU"] - - [0x8006B06C, "osEnqueueAndYield"] - - [0x8006B16C, "noEnqueue"] - - [0x8006B174, "osEnqueueThread"] - - [0x8006B1BC, "osPopThread"] - - [0x8006B1CC, "osNop"] - - [0x8006B1D4, "osDispatchThread"] - - [0x8006B1F4, "osDispatchThreadSave"] - - [0x8006B350, "osCleanupThread"] - - [0x8006B360, "osDisableInt"] - - [0x8006B3D0, "osRestoreInt"] - - [0x8006B3F0, "osSetGlobalIntMask"] - - [0x8006B430, "osResetGlobalIntMask"] - - [0x8006B480, "osPiRawStartDma"] - - [0x8006B550, "osPiGetCmdQueue"] - - [0x8006B570, "osEPiRawReadIo"] - - [0x8006B6E0, "osEPiRawWriteIo"] - - [0x8006B850, "osAiDeviceBusy"] - - [0x8006B870, "bcmp"] - - [0x8006B980, "_Litob"] - - [0x8006BBD0, "_Ldtob"] - - [0x8006C01C, "_Ldunscale"] - - [0x8006C0B4, "_Genld"] - - [0x8006C660, "osGetCause"] - - [0x8006C670, "osGetSR"] - - [0x8006C680, "osSetCompare"] - - [0x8006C690, "osSetFpcCsr"] - - [0x8006C6A0, "osSetSR"] - - [0x8006C6B0, "osSetWatchLo"] - - [0x8006C6C0, "osSpDeviceBusy"] - - [0x8006C6E0, "osSpGetStatus"] - - [0x8006C6F0, "osSpSetStatus"] - - [0x8006C700, "osSpSetPc"] - - [0x8006C730, "osSpRawStartDma"] - - [0x8006C7C0, "osSiRawReadIo"] - - [0x8006C810, "osSiRawWriteIo"] - - [0x8006C860, "osContAddressCrc"] - - [0x8006C8CC, "osContDataCrc"] - - [0x8006C950, "osDestroyThread"] - - [0x8006CA30, "osMapTLBRdb"] - - [0x8006CA90, "osViInit"] - - [0x8006CBA0, "osViGetCurrentContext"] - - [0x8006CBC0, "guNormalize"] - - [0x8006CC20, "osPfsChecker"] - - [0x8006D080, "corrupted_init"] - - [0x8006D1D8, "corrupted"] - - [0x8006D340, "osPfsIsPlug"] - - [0x8006D4BC, "osPfsRequestData"] - - [0x8006D560, "osPfsGetInitData"] - - [0x8006D620, "ldiv"] - - [0x8006D6A4, "lldiv"] - - [0x8006D7E0, "osSiDeviceBusy"] - - [0x8006ED40, "strcpy"] - - [0x8006ED70, "strcmp"] - - [0x8006EDB0, "memset"] - - [0x8006EDF0, "decode_yay0"] - - [0x8006EF68, "osFlashInit"] - - [0x8006F0B8, "osFlashReadStatus"] - - [0x8006F184, "osFlashReadId"] - - [0x8006F29C, "osFlashClearStatus"] - - [0x8006F308, "osFlashAllErase"] - - [0x8006F424, "osFlashSectorErase"] - - [0x8006F550, "osFlashWriteBuffer"] - - [0x8006F61C, "osFlashWriteArray"] - - [0x8006F75C, "osFlashReadArray"] \ No newline at end of file + - [0x80025C00, "entry_point"] + - [0x80025F70, "boot_main"] + - [0x8002605C, "gfxRetrace_Callback"] + - [0x8002670C, "gfxPreNMI_Callback"] + - [0x80026740, "step_game_loop"] + - [0x80026B08, "gfx_draw_frame"] + - [0x80026DDC, "load_engine_data"] + - [0x80028874, "update_input"] + - [0x80028EE0, "poll_rumble"] + - [0x80028F08, "start_rumble"] + - [0x80028FF0, "length2D"] + - [0x80029030, "_heap_create"] + - [0x8002906C, "_heap_malloc"] + - [0x80029164, "_heap_malloc_tail"] + - [0x8002921C, "_heap_free"] + - [0x800292C4, "_heap_realloc"] + - [0x800293D4, "cosine"] + - [0x800294B0, "sign"] + - [0x800294C4, "int_to_string"] + - [0x80029600, "mem_clear"] + - [0x80029620, "transform_point"] + - [0x80029720, "copy_matrix"] + - [0x8002973C, "dma_copy"] + - [0x80029900, "_advance_rng"] + - [0x800299FC, "rand_int"] + - [0x80029A7C, "signF"] + - [0x80029AC4, "round"] + - [0x80029B24, "clamp_angle"] + - [0x80029C28, "get_clamped_angle_diff"] + - [0x80029C80, "atan2"] + - [0x80029E20, "get_player_normal_yaw"] + - [0x80029E50, "get_player_normal_pitch"] + - [0x80029ED4, "dist2D"] + - [0x80029F2C, "dist3D"] + - [0x80029F9C, "add_vec2D_polar"] + - [0x8002A034, "_wrap_trig_lookup_value"] + - [0x8002A0B4, "sin_cos_rad"] + - [0x8002A16C, "sin_rad"] + - [0x8002A1D0, "cos_rad"] + - [0x8002A234, "sin_cos_deg"] + - [0x8002A2EC, "sin_deg"] + - [0x8002A350, "cos_deg"] + - [0x8002A3B4, "update_lerp"] + - [0x8002AC00, "general_heap_create"] + - [0x8002AC28, "general_heap_malloc"] + - [0x8002AC50, "general_heap_malloc_tail"] + - [0x8002AC78, "general_heap_free"] + - [0x8002ACA0, "battle_heap_create"] + - [0x8002ACE4, "heap_malloc"] + - [0x8002AD2C, "heap_free"] + - [0x8002AD74, "collision_heap_create"] + - [0x8002ADB0, "collision_heap_malloc"] + - [0x8002ADF4, "collision_heap_free"] + - [0x8002AE40, "get_spirits_rescued"] + - [0x8002AF40, "fio_calc_header_checksum"] + - [0x8002AF70, "fio_validate_header_checksums"] + - [0x8002AFD8, "fio_has_valid_backup"] + - [0x8002B04C, "fio_flush_backups"] + - [0x8002B0D0, "fio_calc_file_checksum"] + - [0x8002B0F8, "fio_validate_file_checksum"] + - [0x8002B154, "fio_fetch_saved_file_info"] + - [0x8002B2D0, "fio_load_game"] + - [0x8002B374, "fio_save_game"] + - [0x8002B42C, "fio_erase_game"] + - [0x8002B490, "fio_deserialize_state"] + - [0x8002B630, "fio_serialize_state"] + - [0x8002B84C, "fio_init_flash"] + - [0x8002B868, "fio_read_flash"] + - [0x8002B948, "fio_write_flash"] + - [0x8002BA1C, "fio_erase_flash"] + - [0x8002BF40, "crash_delay_msec"] + - [0x8002C208, "crash_printf_string"] + - [0x8002C2B8, "crash_print_fpr"] + - [0x8002C3B0, "crash_show_handler"] + - [0x8002C81C, "crash_monitor_thread"] + - [0x8002C8B0, "crash_create_monitor"] + - [0x8002CA40, "nuGfxTaskMgr"] + - [0x8002CB38, "nuGfxTaskMgrInit"] + - [0x8002CCC4, "nuGfxTaskStart"] + - [0x8002CE30, "nuSiMgrInit"] + - [0x8002CF28, "nuSiSendMesg"] + - [0x8002CF8C, "nuSiMgrStop"] + - [0x8002CFAC, "nuSiMgrRestart"] + - [0x8002CFD0, "nuSiMgrThread"] + - [0x8002D400, "update_cameras"] + - [0x8002D73C, "render_frame"] + - [0x8002E314, "set_cam_viewport"] + - [0x8002E4E8, "get_cam_viewport"] + - [0x8002E538, "get_screen_coords"] + - [0x8002DEF4, "create_cameras_a"] + - [0x8002E038, "create_cameras_b"] + - [0x8002E16C, "initialize_next_camera"] + - [0x8002E910, "do_camera_type_4"] + - [0x8002ECF8, "do_camera_type_2"] + - [0x8002F290, "do_camera_type_1"] + - [0x8002F850, "do_camera_type_0"] + - [0x8002F990, "do_camera_type_6"] + - [0x8002FCE0, "do_camera_type_unused"] + - [0x80030000, "do_camera_type_5"] + - [0x80030458, "test_ray_zone_aabb"] + - [0x80031494, "do_camera_type_3"] + - [0x800334F0, "set_game_mode"] + - [0x80033528, "get_game_mode"] + - [0x800338D0, "start_battle_countdown"] + - [0x800338E4, "step_battle"] + - [0x8003497C, "step_pause_menu"] + - [0x80035D54, "step_world"] + - [0x80038080, "init_demo_data"] + - [0x800380F4, "next_demo_scene"] + - [0x80038478, "mtx_ident_mirror_y"] + - [0x8003852C, "init_npc_list"] + - [0x800389CC, "free_npc"] + - [0x80038ADC, "get_npc_by_index"] + - [0x8003A7F0, "render_npcs"] + - [0x8003AA54, "npc_move_heading"] + - [0x8003AAEC, "get_npc_unsafe"] + - [0x8003AB48, "get_npc_safe"] + - [0x8003ABA0, "enable_npc_shadow"] + - [0x8003ABFC, "disable_npc_shadow"] + - [0x8003AD24, "enable_npc_blur"] + - [0x8003ADAC, "disable_npc_blur"] + - [0x8003ADF8, "update_npc_blur"] + - [0x8003AE38, "render_npc_blur"] + - [0x8003B340, "set_npc_yaw"] + - [0x8003E400, "clear_encounter_status"] + - [0x8003E678, "make_npcs"] + - [0x8003E730, "kill_encounter"] + - [0x8003E7AC, "kill_enemy"] + - [0x8003E2E0, "COPY_set_defeated"] + - [0x8003E94C, "bind_enemy_ai"] + - [0x8003E9B4, "bind_enemy_aux"] + - [0x8003EA1C, "bind_enemy_interact"] + - [0x8003EA84, "bind_npc_ai"] + - [0x8003EB50, "bind_npc_aux"] + - [0x8003EC1C, "bind_npc_interact"] + - [0x8003ECE8, "get_enemy"] + - [0x8003ED68, "get_enemy_safe"] + - [0x8003EDF0, "get_defeated"] + - [0x8003EE40, "set_defeated"] + - [0x8003F398, "GetCamLookAtObjVector"] + - [0x8003F3F4, "HasMerleeCasts"] + - [0x8003F580, "OnDefeatEnemy"] + - [0x8003F6E8, "OnFleeBattleDrops"] + - [0x80041C5C, "show_first_strike_message"] + - [0x800436B0, "create_npcs"] + - [0x80044180, "SetEncounterStatusFlags"] + - [0x80044264, "LoadDemoBattle"] + - [0x80044298, "MakeNpcs"] + - [0x80044340, "RemoveNpc"] + - [0x80044478, "RemoveEncounter"] + - [0x8004457C, "GetBattleOutcome"] + - [0x80044600, "GetOwnerEncountered"] + - [0x800446B4, "start_battle"] + - [0x8004462C, "DoNpcDefeat"] + - [0x80044840, "StartBattle"] + - [0x80044860, "StartBattleWith"] + - [0x8004489C, "StartBossBattle"] + - [0x80044A38, "SetBattleMusic"] + - [0x80044A78, "BindNpcAI"] + - [0x80044BAC, "BindNpcIdle"] + - [0x80044C2C, "RestartNpcAI"] + - [0x80044CF0, "EnableNpcAI"] + - [0x80044DA4, "SetNpcAux"] + - [0x80044EB8, "BindNpcAux"] + - [0x80044F38, "RestartNpcAux"] + - [0x80044FF0, "EnableNpcAux"] + - [0x800450A4, "BindNpcInteract"] + - [0x80045140, "BindNpcHit"] + - [0x800451DC, "BindNpcDefeat"] + - [0x8004525C, "SetSelfVar"] + - [0x800452C0, "GetSelfVar"] + - [0x80045320, "SetNpcVar"] + - [0x800453BC, "GetNpcVar"] + - [0x8004545C, "SetSelfRotation"] + - [0x8004550C, "SetSelfEnemyFlags"] + - [0x80045524, "SetSelfEnemyFlagBits"] + - [0x80045614, "GetSelfNpcID"] + - [0x80045640, "ClearDefeatedEnemies"] + - [0x80045688, "SetEnemyFlagBits"] + - [0x80045734, "GetSelfAnimationFromTable"] + - [0x80077E38, "NpcDefeat"] + - [0x80048D50, "get_coin_drop_amount"] + - [0x80048280, "spawn_drops"] + - [0x80048FD4, "is_point_within_region"] + - [0x8004B074, "nuAuDmaCallBack"] + - [0x8004B224, "nuAuDmaNew"] + - [0x8004B268, "nuAuCleanDMABuffers"] + - [0x8004B3EC, "alLink"] + - [0x8004B40C, "alUnlink"] + - [0x800542BC, "al_LoadINIT"] + - [0x8005447C, "al_CopyFileTableEntry"] + - [0x800544F8, "al_LoadPER"] + - [0x800545B4, "al_LoadPRG"] + - [0x800547C8, "al_LoadBank"] + - [0x80054E00, "al_DmaCopy"] + - [0x80054F74, "al_CopyWords"] + - [0x80054FC0, "al_LoadBKHeaders"] + - [0x800565C0, "alAudioFrame"] + - [0x80057F90, "alHeapAlloc"] + - [0x80059EF4, "render_effects"] + - [0x8005A450, "remove_effect"] + - [0x8005A4E0, "remove_all_effects"] + - [0x8005A564, "play_effect"] + - [0x8005A6C0, "load_map_script_lib"] + - [0x8005A6F4, "load_map_by_IDs"] + - [0x8005ABD8, "get_current_map_config"] + - [0x8005ABE8, "get_current_map_header"] + - [0x8005ABF8, "get_map_IDs_by_name"] + - [0x8005ACE8, "load_asset_by_name"] + - [0x8005ADD0, "get_asset_offset"] + - [0x8005AEA0, "allocate_hit_tables"] + - [0x8005AF94, "initialize_collision"] + - [0x8005AFC0, "load_hit_asset"] + - [0x8005B058, "load_collision"] + - [0x8005B1A0, "load_stage_collision"] + - [0x8005B23C, "load_hit_data"] + - [0x8005B780, "parent_collider_to_model"] + - [0x8005B9A0, "_add_hit_vert_to_buffer"] + - [0x8005B9F4, "_get_hit_vert_index_from_buffer"] + - [0x8005BA24, "update_collider_transform"] + - [0x8005BDA8, "get_collider_type_by_id"] + - [0x8005BE10, "get_collider_center"] + - [0x8005BE84, "test_ray_triangle_general"] + - [0x8005C49C, "test_down_ray_triangle"] + - [0x8005C7A4, "test_up_ray_triangle"] + - [0x8005CCD0, "test_ray_colliders"] + - [0x8005D124, "test_ray_zones"] + - [0x8005D2DC, "test_up_ray_collider"] + - [0x8005D448, "test_ray_entities"] + - [0x8005DE10, "get_npc_pos"] + - [0x8005E8B0, "nuBoot"] + - [0x8005E90C, "boot_idle"] + - [0x8005E9B0, "nuScCreateScheduler"] + - [0x8005EBE0, "nuScExecuteAudio"] + - [0x8005ED14, "nuScExecuteGraphics"] + - [0x8005EE30, "nuScAddClient"] + - [0x8005EEBC, "nuScRemoveClient"] + - [0x8005EF38, "nuScResetClientMesgType"] + - [0x8005EF78, "nuScGetGfxMQ"] + - [0x8005EF84, "nuScGetAudioMQ"] + - [0x8005EF90, "nuScSetFrameBufferNum"] + - [0x8005EF9C, "nuScGetFrameRate"] + - [0x8005EFA8, "nuScEventHandler"] + - [0x8005F0C0, "nuScEventBroadcast"] + - [0x8005F120, "nuScWaitTaskReady"] + - [0x8005F250, "nuGfxFuncSet"] + - [0x8005F290, "nuGfxPreNMIFuncSet"] + - [0x8005F2D0, "nuGfxTaskAllEndWait"] + - [0x8005F2F0, "nuGfxSetCfb"] + - [0x8005F400, "nuGfxDisplayOff"] + - [0x8005F430, "nuGfxDisplayOn"] + - [0x8005F450, "nuPiInit"] + - [0x8005F490, "nuPiReadRom"] + - [0x8005F560, "nuGfxInit"] + - [0x8005F610, "nuContInit"] + - [0x8005F650, "nuContDataGet"] + - [0x8005F6B0, "nuContPakMgrInit"] + - [0x8005F6D4, "nuContPakMgrRemove"] + - [0x8005F6F8, "contPakOpen"] + - [0x8005F748, "contPakFree"] + - [0x8005F770, "contPakFileReadWrite"] + - [0x8005F7B0, "contPakFileOpen"] + - [0x8005F864, "contPakFileDelete"] + - [0x8005F8A4, "contPakFileState"] + - [0x8005F8D0, "contPakFileNum"] + - [0x8005F8FC, "contPakRepairId"] + - [0x8005F920, "osMotorStop"] + - [0x8005FB10, "contRmbControl"] + - [0x8005FC8C, "nuContRmbMgrInit"] + - [0x8005FCEC, "nuContRmbMgrRemove"] + - [0x8005FD10, "contRmbCheckMesg"] + - [0x8005FD58, "contRmbStartMesg"] + - [0x8005FE90, "nuContRmbStart"] + - [0x8005FEF0, "nuContRmbCheck"] + - [0x8005FF90, "nuContRmbModeSet"] + - [0x800600A0, "nuContRmbForceStop"] + - [0x800600C0, "nuContRmbForceStopEnd"] + - [0x800600E0, "nuPiReadRomOverlay"] + - [0x800601F0, "nuGfxThreadStart"] + - [0x80060248, "nuGfxThread"] + - [0x80060310, "nuGfxSwapCfbFuncSet"] + - [0x80060350, "nuGfxSwapCfb"] + - [0x80060370, "nuGfxRetraceWait"] + - [0x800603F0, "nuSiCallBackAdd"] + - [0x80060490, "nuSiCallBackRemove"] + - [0x80060510, "nuContMgrInit"] + - [0x800605E8, "nuContMgrRemove"] + - [0x8006060C, "nuContDataClose"] + - [0x80060634, "nuContDataOpen"] + - [0x8006065C, "contRetrace"] + - [0x80060738, "contReadData"] + - [0x800607B4, "contReadNW"] + - [0x80060870, "contQuery"] + - [0x800608C0, "nuContDataLock"] + - [0x800608F0, "nuContDataUnLock"] + - [0x80060920, "nuContQueryRead"] + - [0x80060940, "osSetIntMask"] + - [0x800609E0, "osCreatePiManager"] + - [0x80060B70, "osEPiRawStartDma"] + - [0x80060D60, "osEPiWriteIo"] + - [0x80060DC0, "osEPiReadIo"] + - [0x80060E20, "osEPiStartDma"] + - [0x80060EC0, "osEPiLinkHandle"] + - [0x80060F10, "osCartRomInit"] + - [0x80061090, "osDevMgrMain"] + - [0x80061450, "osPiCreateAccessQueue"] + - [0x800614A4, "osPiGetAccess"] + - [0x80061510, "osPiRelAccess"] + - [0x80061540, "osAiGetLength"] + - [0x80061550, "osAiGetStatus"] + - [0x80061560, "osAiSetFrequency"] + - [0x80061680, "osAiSetNextBuffer"] + - [0x80061720, "osInvalDCache"] + - [0x800617D0, "osInvalICache"] + - [0x80061850, "osWritebackDCache"] + - [0x800618D0, "osWritebackDCacheAll"] + - [0x80061900, "osContStartQuery"] + - [0x80061980, "osContGetQuery"] + - [0x800619A0, "osContStartReadData"] + - [0x80061A28, "osContGetReadData"] + - [0x80061AC4, "osPackReadData"] + - [0x80061B80, "osContInit"] + - [0x80061D1C, "osContGetInitData"] + - [0x80061DD0, "osPackRequestData"] + - [0x80061E90, "osVirtualToPhysical"] + - [0x80061EF0, "sqrtf"] + - [0x80061F00, "coss"] + - [0x80061F30, "guFrustumF"] + - [0x80062060, "guFrustum"] + - [0x800621B0, "guLookAtF"] + - [0x80062530, "guLookAt"] + - [0x800628C0, "guLookAtHiliteF"] + - [0x80063244, "guLookAtHilite"] + - [0x80063320, "guLookAtReflectF"] + - [0x80063898, "guLookAtReflect"] + - [0x80063910, "guOrthoF"] + - [0x80063A40, "guOrtho"] + - [0x80063B90, "guPerspectiveF"] + - [0x80063D40, "guPerspective"] + - [0x80063F10, "guPositionF"] + - [0x800640E8, "guPosition"] + - [0x800642D0, "guRotateAnglesF"] + - [0x80064458, "guRotateAngles"] + - [0x800645F0, "sins"] + - [0x80064650, "bcopy"] + - [0x80064970, "bzero"] + - [0x80064A10, "strchr"] + - [0x80064A50, "strlen"] + - [0x80064A74, "memcpy"] + - [0x80064AA0, "_Printf"] + - [0x80065020, "_Putfld"] + - [0x800654F0, "sprintf"] + - [0x80065548, "proutSprintf"] + - [0x80065580, "osCreateMesgQueue"] + - [0x800655B0, "osJamMesg"] + - [0x800656F0, "osRecvMesg"] + - [0x80065820, "osSendMesg"] + - [0x80065950, "osSetEventMesg"] + - [0x80065A00, "osGetCount"] + - [0x80065A10, "osSpTaskLoad"] + - [0x80065C1C, "osSpTaskStartGo"] + - [0x80065C50, "osSpTaskYield"] + - [0x80065C70, "osSpTaskYielded"] + - [0x80065CC0, "osSiRawStartDma"] + - [0x80065D70, "osSiCreateAccessQueue"] + - [0x80065DC4, "osSiGetAccess"] + - [0x80065E30, "osSiRelAccess"] + - [0x80065E60, "osCreateThread"] + - [0x80065F30, "osGetThreadPri"] + - [0x80065F50, "osSetThreadPri"] + - [0x80066020, "osStartThread"] + - [0x80066140, "osStopThread"] + - [0x80066200, "osDequeueThread"] + - [0x80066240, "osYieldThread"] + - [0x80066290, "osGetActiveQueue"] + - [0x800662A0, "osGetTime"] + - [0x80066330, "osSetTime"] + - [0x80066350, "osSetTimer"] + - [0x80066480, "osTimerServicesInit"] + - [0x800664D4, "osTimerInterrupt"] + - [0x80066610, "osSetTimerIntr"] + - [0x80066690, "osInsertTimer"] + - [0x800667A0, "osMapTLB"] + - [0x80066860, "osProbeTLB"] + - [0x80066920, "osUnmapTLB"] + - [0x80066960, "osUnmapTLBAll"] + - [0x800669B0, "osViGetCurrentFramebuffer"] + - [0x800669F0, "osViGetNextFramebuffer"] + - [0x80066A30, "osViGetCurrentMode"] + - [0x80066A70, "osCreateViManager"] + - [0x80066C10, "viMgrMain"] + - [0x80066DB0, "osViSetEvent"] + - [0x80066E10, "osViSetMode"] + - [0x80066E60, "osViSetSpecialFeatures"] + - [0x80066FD0, "osViSetYScale"] + - [0x80067020, "osViSwapBuffer"] + - [0x80067070, "osViSwapContext"] + - [0x80067380, "osViBlack"] + - [0x800673E0, "osViRepeatLine"] + - [0x80067440, "guMtxIdent"] + - [0x800674A0, "guMtxIdentF"] + - [0x80067500, "guMtxF2L"] + - [0x80067580, "guMtxL2F"] + - [0x80067600, "guMtxCatF"] + - [0x80067700, "guScale"] + - [0x800677C0, "guScaleF"] + - [0x80067820, "guTranslate"] + - [0x80067900, "guTranslateF"] + - [0x80067960, "guMtxCat"] + - [0x800679E0, "guMtxXFML"] + - [0x80067A70, "guMtxXFMF"] + - [0x80067B20, "guRotateF"] + - [0x80067C80, "guRotate"] + - [0x80067E00, "osMotorAccess"] + - [0x80067F44, "osMotorInit"] + - [0x80068190, "osPfsAllocateFile"] + - [0x8006849C, "osPfsDeclearPage"] + - [0x800685C0, "osPfsDeleteFile"] + - [0x8006876C, "osPfsReleasePages"] + - [0x800687E0, "osPfsReadWriteFile"] + - [0x80068C20, "osPfsFileState"] + - [0x80068DC0, "osPfsFindFile"] + - [0x80068F80, "osPfsFreeBlocks"] + - [0x80069090, "osPfsNumFiles"] + - [0x80069190, "osPfsInitPak"] + - [0x80069388, "osPfsCheckRamArea"] + - [0x80069460, "osPfsRepairId"] + - [0x800694C0, "osPfsGetStatus"] + - [0x800695B0, "osPfsRequestOneChannel"] + - [0x80069644, "osPfsGetOneChannelData"] + - [0x800696D0, "osPfsSelectBank"] + - [0x80069740, "osSumcalc"] + - [0x80069774, "osIdCheckSum"] + - [0x800697B8, "osRepairPackId"] + - [0x80069AA4, "osCheckPackId"] + - [0x80069C08, "osGetId"] + - [0x80069DD4, "osCheckId"] + - [0x80069E8C, "osPfsRWInode"] + - [0x8006A1D0, "osContRamRead"] + - [0x8006A3C0, "osContRamWrite"] + - [0x8006A630, "osAfterPreNMI"] + - [0x8006A708, "osInitialize"] + - [0x8006AA00, "osExceptionPreamble"] + - [0x8006AA34, "savecontext"] + - [0x8006AB34, "savercp"] + - [0x8006AB6C, "endrcp"] + - [0x8006AC08, "handle_interrupt"] + - [0x8006AC0C, "next_interrupt"] + - [0x8006AC44, "IP6_Hdlr"] + - [0x8006AC50, "IP7_Hdlr"] + - [0x8006AC5C, "counter"] + - [0x8006AC80, "cart"] + - [0x8006ACC8, "rcp"] + - [0x8006AD2C, "sp_other_break"] + - [0x8006AD3C, "vi"] + - [0x8006AD64, "ai"] + - [0x8006AD90, "si"] + - [0x8006ADB8, "pi"] + - [0x8006AE0C, "dp"] + - [0x8006AE30, "NoMoreRcpInts"] + - [0x8006AE3C, "prenmi"] + - [0x8006AE6C, "firstnmi"] + - [0x8006AEA0, "sw2"] + - [0x8006AEC4, "sw1"] + - [0x8006AEE8, "handle_break"] + - [0x8006AF00, "redispatch"] + - [0x8006AF34, "enqueueRunning"] + - [0x8006AF4C, "panic"] + - [0x8006AF7C, "send_mesg"] + - [0x8006AFC4, "send_done"] + - [0x8006B038, "handle_CPU"] + - [0x8006B06C, "osEnqueueAndYield"] + - [0x8006B16C, "noEnqueue"] + - [0x8006B174, "osEnqueueThread"] + - [0x8006B1BC, "osPopThread"] + - [0x8006B1CC, "osNop"] + - [0x8006B1D4, "osDispatchThread"] + - [0x8006B1F4, "osDispatchThreadSave"] + - [0x8006B350, "osCleanupThread"] + - [0x8006B360, "osDisableInt"] + - [0x8006B3D0, "osRestoreInt"] + - [0x8006B3F0, "osSetGlobalIntMask"] + - [0x8006B430, "osResetGlobalIntMask"] + - [0x8006B480, "osPiRawStartDma"] + - [0x8006B550, "osPiGetCmdQueue"] + - [0x8006B570, "osEPiRawReadIo"] + - [0x8006B6E0, "osEPiRawWriteIo"] + - [0x8006B850, "osAiDeviceBusy"] + - [0x8006B870, "bcmp"] + - [0x8006B980, "_Litob"] + - [0x8006BBD0, "_Ldtob"] + - [0x8006C01C, "_Ldunscale"] + - [0x8006C0B4, "_Genld"] + - [0x8006C660, "osGetCause"] + - [0x8006C670, "osGetSR"] + - [0x8006C680, "osSetCompare"] + - [0x8006C690, "osSetFpcCsr"] + - [0x8006C6A0, "osSetSR"] + - [0x8006C6B0, "osSetWatchLo"] + - [0x8006C6C0, "osSpDeviceBusy"] + - [0x8006C6E0, "osSpGetStatus"] + - [0x8006C6F0, "osSpSetStatus"] + - [0x8006C700, "osSpSetPc"] + - [0x8006C730, "osSpRawStartDma"] + - [0x8006C7C0, "osSiRawReadIo"] + - [0x8006C810, "osSiRawWriteIo"] + - [0x8006C860, "osContAddressCrc"] + - [0x8006C8CC, "osContDataCrc"] + - [0x8006C950, "osDestroyThread"] + - [0x8006CA30, "osMapTLBRdb"] + - [0x8006CA90, "osViInit"] + - [0x8006CBA0, "osViGetCurrentContext"] + - [0x8006CBC0, "guNormalize"] + - [0x8006CC20, "osPfsChecker"] + - [0x8006D080, "corrupted_init"] + - [0x8006D1D8, "corrupted"] + - [0x8006D340, "osPfsIsPlug"] + - [0x8006D4BC, "osPfsRequestData"] + - [0x8006D560, "osPfsGetInitData"] + - [0x8006D620, "ldiv"] + - [0x8006D6A4, "lldiv"] + - [0x8006D7E0, "osSiDeviceBusy"] + - [0x8006ED40, "strcpy"] + - [0x8006ED70, "strcmp"] + - [0x8006EDB0, "memset"] + - [0x8006EDF0, "decode_yay0"] + - [0x8006EF68, "osFlashInit"] + - [0x8006F0B8, "osFlashReadStatus"] + - [0x8006F184, "osFlashReadId"] + - [0x8006F29C, "osFlashClearStatus"] + - [0x8006F308, "osFlashAllErase"] + - [0x8006F424, "osFlashSectorErase"] + - [0x8006F550, "osFlashWriteBuffer"] + - [0x8006F61C, "osFlashWriteArray"] + - [0x8006F75C, "osFlashReadArray"] + - [0x8006FAD0, "fx_walk_large"] + - [0x8006FB30, "fx_walk_normal"] + - [0x8006FE90, "fx_emote"] + - [0x80070790, "fx_sweat"] + - [0x800707F0, "fx_sleep_bubble"] + - [0x80072C90, "load_battle"] + - [0x80072D2C, "setup_demo_player"] + - [0x80072E14, "load_demo_battle"] + - [0x800DDFD0, "test_below_player"] + - [0x800DE54C, "trace_below_player"] + - [0x800DEA08, "trace_above_player"] + - [0x800DF460, "test_player_lateral"] + - [0x800DFA00, "check_input_use_partner"] + - [0x800DFC50, "clear_player_status"] + - [0x800E00B0, "enable_player_shadow"] + - [0x800E00E4, "disable_player_shadow"] + - [0x800E0114, "enable_player_physics"] + - [0x800E0140, "disable_player_physics"] + - [0x800E1138, "render_player"] + - [0x800E1168, "render_player_model"] + - [0x800E12F4, "make_player_display_list"] + - [0x800E1704, "make_spinning_player_display_list"] + - [0x800E1BC4, "update_below_player"] + - [0x800E2778, "move_player"] + - [0x800E4FCC, "check_input_midair_jump"] + - [0x800E5DA4, "set_action_state"] + - [0x800E5F68, "update_locomotion_state"] + - [0x800E5FD0, "start_falling"] + - [0x800E6034, "start_bounce_a"] + - [0x800E608C, "start_bounce_b"] + - [0x800E60E0, "check_input_hammer"] + - [0x800E6160, "check_input_jump"] + - [0x800E6268, "check_input_spin"] + - [0x800E728C, "check_input_status_menu"] + - [0x800E73A0, "clear_player_data"] + - [0x800E7564, "get_player_data"] + - [0x800E7574, "add_item"] + - [0x800E75EC, "get_item_count"] + - [0x800E7620, "get_item_empty_count"] + - [0x800E7644, "find_item"] + - [0x800E76CC, "sort_items"] + - [0x800E773C, "add_badge"] + - [0x800E77C4, "store_item"] + - [0x800E7814, "get_stored_count"] + - [0x800E7848, "get_stored_empty_count"] + - [0x800E786C, "enforce_hpfp_limits"] + - [0x800E7934, "initialize_status_menu"] + - [0x800E7CA4, "status_menu_draw_number"] + - [0x800E7E34, "status_menu_draw_stat"] + - [0x800E80B4, "update_status_menu"] + - [0x800E92D8, "coin_counter_draw_content"] + - [0x800E93DC, "update_coin_counter"] + - [0x800E9518, "show_coin_counter"] + - [0x800E9698, "hide_coin_counter"] + - [0x800E96F8, "ShowCoinCounter"] + - [0x800E9760, "open_status_menu_long"] + - [0x800E978C, "open_status_menu_short"] + - [0x800E9910, "is_status_menu_visible"] + - [0x800E9920, "status_menu_start_blinking_hp"] + - [0x800E9964, "status_menu_stop_blinking_hp"] + - [0x800E998C, "status_menu_start_blinking_fp"] + - [0x800E99F0, "status_menu_stop_blinking_fp"] + - [0x800E99F4, "status_menu_start_blinking_coins"] + - [0x800E9A38, "status_menu_stop_blinking_coins"] + - [0x800E9A60, "status_menu_start_blinking_sp"] + - [0x800E9A94, "status_menu_stop_blinking_sp"] + - [0x800E9AB8, "status_menu_start_blinking_sp_bars"] + - [0x800E9AE4, "status_menu_start_blinking_starpoints"] + - [0x800E9B0C, "status_menu_stop_blinking_starpoints"] + - [0x800E9B30, "decrement_status_menu_disabled"] + - [0x800E9B54, "increment_status_menu_disabled"] + - [0x800E9B6C, "sync_status_menu"] + - [0x800E9BB0, "reset_status_menu"] + - [0x800E9D48, "is_ability_active"] + - [0x800EA0B8, "is_partner_ability_active"] + - [0x800EA0C0, "add_coins"] + - [0x800EA128, "add_star_points"] + - [0x800EA170, "add_star_pieces"] + - [0x800EA1B4, "increment_max_SP"] + - [0x800EA1D8, "set_max_SP"] + - [0x800EA1F4, "add_SP"] + - [0x800EA264, "recover_fp"] + - [0x800EA2CC, "recover_hp"] + - [0x800EA334, "subtract_hp"] + - [0x800EA360, "has_full_hp"] + - [0x800EA37C, "has_full_fp"] + - [0x800EA398, "add_fortress_keys"] + - [0x800EA3B8, "subtract_fortress_keys"] + - [0x800EA3E4, "get_fortress_key_count"] + - [0x800EA400, "use_consumable"] + - [0x800EA47C, "remove_consumable"] + - [0x800EB314, "use_partner_ability"] + - [0x800EB8A8, "enable_partner_walking"] + - [0x800ED310, "enable_partner_flying"] + - [0x800EF328, "enable_partner_ai"] + - [0x800ED4B8, "update_player_move_history"] + - [0x800EF45C, "clear_partner_move_history"] + - [0x800F4648, "draw_submenu_title"] + - [0x800F52E0, "draw_box"] + - [0x8010F6D0, "update_entities"] + - [0x8010FA98, "update_shadows"] + - [0x801105E8, "get_entity_by_index"] + - [0x80110604, "get_shadow_by_index"] + - [0x80110620, "get_entity_list"] + - [0x8011064C, "get_shadow_list"] + - [0x80110AAC, "test_player_entity_aabb"] + - [0x80110BB0, "is_player_action_state"] + - [0x80110C14, "load_entity_data"] + - [0x801118C4, "create_entity"] + - [0x80111BD8, "create_shadow_from_data"] + - [0x80111D38, "MakeEntity"] + - [0x80111FB0, "AssignScript"] + - [0x80111FF8, "AssignAreaFlag"] + - [0x801120B8, "AssignFlag"] + - [0x8011206C, "AssignBlockFlag"] + - [0x80112114, "AssignPanelFlag"] + - [0x80112170, "AssignCrateFlag"] + - [0x801121CC, "create_entity_shadow"] + - [0x80112260, "create_shadow_type"] + - [0x8011285C, "set_standard_shadow_scale"] + - [0x801129D4, "set_shadow_scale_peach"] + - [0x80112E78, "step_current_game_mode"] + - [0x80112F58, "render_ui"] + - [0x80114D6C, "load_tile_header"] + - [0x80115B0C, "get_model_property"] + - [0x80115B44, "_load_model_textures"] + - [0x80115C24, "load_model_textures"] + - [0x80115D44, "clear_model_data"] + - [0x80115FE8, "init_model_data"] + - [0x8011612C, "calculate_model_sizes"] + - [0x80116B90, "render_models"] + - [0x8011AD30, "get_model_from_list_index"] + - [0x8011AD48, "load_data_for_models"] + - [0x8011ADC8, "load_model_transforms"] + - [0x8011B010, "get_model_list_index_from_tree_index"] + - [0x8011B0EC, "get_model_center_and_size"] + - [0x8011B6F0, "clone_model"] + - [0x8011BB88, "set_fog_color"] + - [0x8011BBD8, "get_fog_color"] + - [0x8011BC14, "set_tex_panner"] + - [0x8011BC1C, "set_main_pan_u"] + - [0x8011BC34, "set_main_pan_v"] + - [0x8011BC4C, "set_aux_pan_u"] + - [0x8011BC64, "set_aux_pan_v"] + - [0x8011D910, "queue_render_task"] + - [0x80120148, "play_model_animation"] + - [0x80123660, "clear_character_set"] + - [0x80123674, "clear_printers"] + - [0x80123708, "load_font_data"] + - [0x80123734, "load_font"] + - [0x801237D8, "update_messages"] + - [0x80123898, "_update_message"] + - [0x80124204, "render_messages"] + - [0x801256A4, "initialize_printer"] + - [0x80125804, "dma_load_string"] + - [0x8012588C, "load_message_to_buffer"] + - [0x80125900, "load_string"] + - [0x8012591C, "_load_string"] + - [0x80125A68, "load_message_to_printer"] + - [0x80125AB8, "clamp_printer_coords"] + - [0x80125B08, "cancel_message"] + - [0x80125B2C, "set_message_images"] + - [0x80125B3C, "set_message_string"] + - [0x80125BE8, "set_message_value"] + - [0x80125C70, "close_message"] + - [0x80125DF4, "get_char_width"] + - [0x80125F68, "get_string_properties"] + - [0x80126474, "get_string_width"] + - [0x801264EC, "draw_string"] + - [0x8012769C, "draw_number"] + - [0x8012CC08, "_draw_message_box"] + - [0x80130B0C, "draw_coin_sparkles"] + - [0x80130F58, "get_item_entity"] + - [0x80130FF0, "clear_item_entity_data"] + - [0x801310CC, "init_item_entity_list"] + - [0x801313F4, "make_item_entity"] + - [0x80131A94, "make_item_entity_nodelay"] + - [0x80131AC8, "make_item_entity_delayed"] + - [0x80131B00, "init_got_item"] + - [0x80131EEC, "update_item_entities"] + - [0x801321A4, "draw_item_entity"] + - [0x80132C80, "draw_item_entities"] + - [0x801230B0, "stub_item_entity_nodraw"] + - [0x80133930, "remove_item_entity_by_reference"] + - [0x801339FC, "remove_item_entity_by_index"] + - [0x80133B0C, "test_item_player_collision"] + - [0x80134148, "set_item_entity_flags"] + - [0x80134188, "clear_item_entity_flags"] + - [0x8013420C, "set_item_entity_position"] + - [0x80134250, "update_item_entity_collectable"] + - [0x80135658, "update_item_entity_static"] + - [0x801356DC, "update_item_entity_temp"] + - [0x801382A0, "set_map_transition_effect"] + - [0x80141300, "init_menu_icon_list"] + - [0x801414A4, "create_icon"] + - [0x80141610, "update_menu_icons"] + - [0x80142BFC, "render_menu_icon"] + - [0x801436B4, "render_menu_icons"] + - [0x80144298, "draw_menu_icon"] + - [0x801447A8, "draw_icon_0"] + - [0x801447C4, "draw_icon_1"] + - [0x80147368, "play_ambient_sounds"] + - [0x801447FC, "set_menu_icon_script"] + - [0x801448B0, "get_menu_icon_script"] + - [0x801448D4, "get_menu_icon"] + - [0x801448F4, "free_icon"] + - [0x80144984, "set_icon_render_pos"] + - [0x801449AC, "get_icon_render_pos"] + - [0x80144A00, "set_icon_flags"] + - [0x80144A2C, "clear_icon_flags"] + - [0x80145320, "clear_saved_variables"] + - [0x80145390, "clear_area_flags"] + - [0x801453E0, "clear_global_flag"] + - [0x80145450, "set_global_flag"] + - [0x801454BC, "get_global_flag"] + - [0x80145520, "set_global_byte"] + - [0x80145538, "get_global_byte"] + - [0x8014554C, "clear_area_flag"] + - [0x801455A0, "set_area_flag"] + - [0x801455F0, "get_area_flag"] + - [0x80145638, "set_area_byte"] + - [0x80145650, "get_area_byte"] + - [0x80145670, "default_trigger_function_handler"] + - [0x80145680, "clear_trigger_data"] + - [0x80145728, "init_trigger_list"] + - [0x8014576C, "create_trigger"] + - [0x80145860, "update_triggers"] + - [0x80145BF4, "delete_trigger"] + - [0x80145C6C, "is_trigger_bound"] + - [0x80145CD0, "get_trigger_by_id"] + - [0x80145D70, "load_map_bg"] + - [0x80145E28, "read_background_size"] + - [0x80145E70, "set_background_size"] + - [0x80147264, "UpdateMusicPlayers"] + - [0x80149AB8, "_play_sound"] + - [0x80149C6C, "stop_sound"] + - [0x80149CB4, "play_sound"] + - [0x80149CD8, "play_sound_at_player"] + - [0x80149D08, "play_sound_at_npc"] + - [0x80149D5C, "play_sound_at_position"] + - [0x8014A430, "get_default_variation_for_song"] + - [0x8014A7E0, "_set_music_track"] + - [0x8014A918, "set_music_track"] + - [0x802C3000, "sort_scripts"] + - [0x802C3148, "find_script_labels"] + - [0x802C31DC, "clear_script_list"] + - [0x802C32EC, "init_script_list"] + - [0x802C33E0, "start_script"] + - [0x802C35D0, "start_script_in_group"] + - [0x802C37C8, "start_child_script"] + - [0x802C3D04, "restart_script"] + - [0x802C3D74, "update_scripts"] + - [0x802C3F3C, "kill_script"] + - [0x802C40AC, "kill_script_by_ID"] + - [0x802C4114, "kill_all_scripts"] + - [0x802C4164, "does_script_exist"] + - [0x802C41A4, "does_script_exist_by_ref"] + - [0x802C41D8, "set_script_priority"] + - [0x802C41E0, "set_script_timescale"] + - [0x802C4200, "set_global_timespace"] + - [0x802C420C, "get_global_timespace"] + - [0x802C4218, "set_script_group"] + - [0x802C4220, "bind_trigger"] + - [0x802C42A8, "bind_trigger_1"] + - [0x802C42D8, "suspend_group_script"] + - [0x802C437C, "resume_group_script"] + - [0x802C4420, "suspend_all_script"] + - [0x802C448C, "resume_all_script"] + - [0x802C44F8, "suspend_group_script_index"] + - [0x802C4570, "resume_group_script_index"] + - [0x802C45E8, "suspend_all_group"] + - [0x802C4648, "resume_all_group"] + - [0x802C46A8, "suspend_group_others"] + - [0x802C471C, "resume_group_others"] + - [0x802C4790, "get_script_by_index"] + - [0x802C47A8, "get_script_by_id"] + - [0x802C47E8, "set_script_flags"] + - [0x802C4880, "clear_script_flags"] + - [0x802C4920, "fixed_var_to_float"] + - [0x802C496C, "float_to_fixed_var"] + - [0x802C4998, "si_handle_return"] + - [0x802C49B8, "si_handle_label"] + - [0x802C49C0, "si_handle_goto"] + - [0x802C4A00, "si_handle_Loop"] + - [0x802C4A48, "si_handle_end_loop"] + - [0x802C4B0C, "si_handle_break_loop"] + - [0x802C4B5C, "si_handle_wait"] + - [0x802C4BB8, "si_handle_wait_seconds"] + - [0x802C4C40, "si_handle_if_equal"] + - [0x802C4CA0, "si_handle_if_not_equal"] + - [0x802C4D00, "si_handle_if_less"] + - [0x802C4D64, "si_handle_if_greater"] + - [0x802C4DC8, "si_handle_if_less_equal"] + - [0x802C4E2C, "si_handle_if_greater_equal"] + - [0x802C4E90, "si_handle_if_AND"] + - [0x802C4EE8, "si_handle_if_not_AND"] + - [0x802C4F40, "si_handle_else"] + - [0x802C4F6C, "si_handle_end_if"] + - [0x802C4F74, "si_handle_switch"] + - [0x802C4FE4, "si_handle_switch_const"] + - [0x802C5030, "si_handle_case_equal"] + - [0x802C50BC, "si_handle_case_not_equal"] + - [0x802C5148, "si_handle_case_less"] + - [0x802C51D8, "si_handle_case_less_equal"] + - [0x802C5268, "si_handle_case_greater"] + - [0x802C52F8, "si_handle_case_greater_equal"] + - [0x802C5388, "si_handle_case_range"] + - [0x802C5444, "si_handle_case_default"] + - [0x802C549C, "si_handle_case_AND"] + - [0x802C5518, "si_handle_case_equal_OR"] + - [0x802C55B8, "si_handle_case_equal_AND"] + - [0x802C565C, "si_handle_end_case_group"] + - [0x802C56D4, "si_handle_break_case"] + - [0x802C5718, "si_handle_end_switch"] + - [0x802C5744, "si_handle_set_var"] + - [0x802C5790, "si_handle_set_const"] + - [0x802C57B8, "si_handle_set_float"] + - [0x802C5804, "si_handle_add"] + - [0x802C5868, "si_handle_subtract"] + - [0x802C58CC, "si_handle_multiply"] + - [0x802C5934, "si_handle_divide"] + - [0x802C59BC, "si_handle_mod"] + - [0x802C5A84, "si_handle_addF"] + - [0x802C5AEC, "si_handle_subtractF"] + - [0x802C5B54, "si_handle_multiplyF"] + - [0x802C5BC0, "si_handle_divideF"] + - [0x802C5C28, "si_handle_set_int_buffer_ptr"] + - [0x802C5C5C, "si_handle_set_float_buffer_ptr"] + - [0x802C5C90, "si_handle_get_1_word"] + - [0x802C5CC4, "si_handle_get_2_word"] + - [0x802C5D2C, "si_handle_get_3_word"] + - [0x802C5DB4, "si_handle_get_4_word"] + - [0x802C5E5C, "si_handle_get_Nth_word"] + - [0x802C5EB4, "si_handle_get_1_float"] + - [0x802C5F0C, "si_handle_get_2_float"] + - [0x802C5F9C, "si_handle_get_3_float"] + - [0x802C605C, "si_handle_get_4_float"] + - [0x802C614C, "si_handle_get_Nth_float"] + - [0x802C61AC, "si_handle_set_array"] + - [0x802C61E0, "si_handle_set_flag_array"] + - [0x802C6214, "si_handle_allocate_array"] + - [0x802C6270, "si_handle_AND"] + - [0x802C62D4, "si_handle_AND_const"] + - [0x802C632C, "si_handle_OR"] + - [0x802C6390, "si_handle_OR_const"] + - [0x802C63E8, "si_handle_call"] + - [0x802C646C, "si_handle_exec1"] + - [0x802C6524, "si_handle_exec2"] + - [0x802C65FC, "si_handle_exec_wait"] + - [0x802C6640, "si_handle_jump"] + - [0x802C667C, "_bound_script_trigger_handler"] + - [0x802C6714, "si_handle_bind"] + - [0x802C6824, "DeleteTrigger"] + - [0x802C6850, "si_handle_unbind"] + - [0x802C6870, "si_handle_kill"] + - [0x802C689C, "si_handle_set_priority"] + - [0x802C68D8, "si_handle_set_timescale"] + - [0x802C6914, "si_handle_set_group"] + - [0x802C6950, "si_handle_suspend_all"] + - [0x802C697C, "si_handle_resume_all"] + - [0x802C69A8, "si_handle_suspend_others"] + - [0x802C69E4, "si_handle_resume_others"] + - [0x802C6A20, "si_handle_suspend"] + - [0x802C6A4C, "si_handle_resume"] + - [0x802C6A78, "si_handle_does_script_exist"] + - [0x802C6B54, "si_handle_bind_lock"] + - [0x802C6C78, "si_handle_thread"] + - [0x802C6D4C, "si_handle_end_thread"] + - [0x802C6D6C, "si_handle_child_thread"] + - [0x802C6DF4, "si_handle_end_child_thread"] + - [0x802C6E1C, "si_handle_print_debug_var"] + - [0x802C7404, "si_execute_next_command"] + - [0x802C7A54, "si_handle_end"] + - [0x802C7ABC, "get_variable"] + - [0x802C7DA8, "get_variable_index"] + - [0x802C7F20, "get_variable_index_alt"] + - [0x802C8098, "set_variable"] + - [0x802C842C, "get_float_variable"] + - [0x802C8640, "set_float_variable"] + - [0x802C8890, "si_goto_label"] + - [0x802C88FC, "si_skip_if"] + - [0x802C8978, "si_skip_else"] + - [0x802C89E4, "si_goto_end_case"] + - [0x802C8A60, "si_goto_next_case"] + - [0x802C8AE4, "si_goto_end_loop"] + - [0x802C8B60, "TranslateModel"] + - [0x802C8C64, "RotateModel"] + - [0x802C8D88, "ScaleModel"] + - [0x802C8F28, "CloneModel"] + - [0x802C8E8C, "GetModelIndex"] + - [0x802C8F80, "GetModelCenter"] + - [0x802C9000, "SetTexPanner"] + - [0x802C907C, "SetModelFlag10"] + - [0x802C9208, "EnableTexPanning"] + - [0x802C9288, "EnableModel"] + - [0x802C9308, "SetGroupEnabled"] + - [0x802C9364, "SetTexPanOffset"] + - [0x802C9518, "SetModelFlags"] + - [0x802C97B4, "TranslateGroup"] + - [0x802C98D8, "RotateGroup"] + - [0x802C9A1C, "ScaleGroup"] + - [0x802C9B98, "EnableGroup"] + - [0x802C9CE8, "modify_collider_family_flags"] + - [0x802C9DCC, "ModifyColliderFlags"] + - [0x802C9ED8, "ResetFromLava"] + - [0x802CA0AC, "GetColliderCenter"] + - [0x802CA114, "ParentColliderToModel"] + - [0x802CA188, "UpdateColliderTransform"] + - [0x802CA304, "goto_map"] + - [0x802CA400, "GotoMap"] + - [0x802CA420, "GotoMapSpecial"] + - [0x802CA440, "GotoMapByID"] + - [0x802CA460, "GetEntryID"] + - [0x802CA490, "GetMapID"] + - [0x802CA4C0, "GetLoadType"] + - [0x802CA4F4, "SetRenderMode"] + - [0x802CA558, "PlaySoundAtModel"] + - [0x802CA614, "PlaySoundAtCollider"] + - [0x802CA6C0, "SetCamEnabled"] + - [0x802CA774, "SetCamFlag80"] + - [0x802CA828, "SetCamPerspective"] + - [0x802CAB18, "SetCamViewport"] + - [0x802CAD98, "SetCamBGColor"] + - [0x802CAF2C, "SetCamTarget"] + - [0x802CB2A8, "ShakeCam"] + - [0x802CB56C, "exec_ShakeCam1"] + - [0x802CB5C8, "exec_ShakeCamX"] + - [0x802CB680, "SetCamLeadPlayer"] + - [0x802CB79C, "PanToTarget"] + - [0x802CB860, "UseSettingsFrom"] + - [0x802CB9F8, "LoadSettings"] + - [0x802CBAB4, "SetCamType"] + - [0x802CBB48, "SetCamPitch"] + - [0x802CBBE4, "SetCamDistance"] + - [0x802CBC58, "SetCamPosA"] + - [0x802CBCF4, "SetCamPosB"] + - [0x802CBD90, "SetCamPosC"] + - [0x802CBE2C, "SetPanTarget"] + - [0x802CBEF0, "SetCamSpeed"] + - [0x802CBF64, "GetCamType"] + - [0x802CBFF4, "GetCamPitch"] + - [0x802CC084, "GetCamDistance"] + - [0x802CC0F4, "GetCamPosA"] + - [0x802CC184, "GetCamPosB"] + - [0x802CC214, "GetCamPosC"] + - [0x802CC2A4, "GetCamPosition"] + - [0x802CC354, "WaitForCam"] + - [0x802CC3EC, "SetCamProperties"] + - [0x802CC660, "AdjustCam"] + - [0x802CC8C8, "ResetCam"] + - [0x802CCB18, "draw_anim_models"] + - [0x802CCFE4, "SetAnimModelPosition"] + - [0x802CD090, "GetAnimModelPosition"] + - [0x802CD12C, "AddAnimModelPosition"] + - [0x802CD1F0, "SetAnimModelRotation"] + - [0x802CD29C, "SetAnimModelScale"] + - [0x802CCCEC, "LoadModelAnimation"] + - [0x802CCE6C, "PlayModelAnimation"] + - [0x802CCF6C, "ChangeModelAnimation"] + - [0x802CDB0C, "set_npc_animation"] + - [0x802CDC1C, "DeleteNpc"] + - [0x802CDC58, "GetNpcPointer"] + - [0x802CDCB0, "SetNpcPos"] + - [0x802CDDB0, "SetNpcRotation"] + - [0x802CDED4, "SetNpcScale"] + - [0x802CDF8C, "SetNpcCollisionSize"] + - [0x802CE01C, "SetNpcSpeed"] + - [0x802CE088, "SetNpcJumpscale"] + - [0x802CE0F4, "SetNpcAnimation"] + - [0x802CE160, "GetNpcAnimation"] + - [0x802CE22C, "NpcMoveTo"] + - [0x802CE434, "_npc_jump_to"] + - [0x802CE6C4, "NpcJump0"] + - [0x802CE6E0, "NpcJump1"] + - [0x802CE6FC, "NpcFlyTo"] + - [0x802CEA10, "GetNpcYaw"] + - [0x802CEA84, "SetNpcYaw"] + - [0x802CEB04, "InterpNpcYaw"] + - [0x802CECC8, "NpcFacePlayer"] + - [0x802CEE80, "NpcFaceNpc"] + - [0x802CF060, "SetNpcFlagBits"] + - [0x802CF0F4, "GetNpcPos"] + - [0x802CF268, "EnableNpcShadow"] + - [0x802CF2EC, "EnableNpcBlur"] + - [0x802CF370, "ClearPartnerMoveHistory"] + - [0x802CF3BC, "NpcSetHomePosToCurrent"] + - [0x802CF438, "GetPartnerPos"] + - [0x802CF4E8, "DisablePartnerAI"] + - [0x802CF52C, "EnablePartnerAI"] + - [0x802CF5B8, "BringPartnerOut"] + - [0x802CF988, "PutPartnerAway"] + - [0x802CFC74, "GetCurrentPartnerID"] + - [0x802D0118, "SetNpcEffect"] + - [0x802D01AC, "PlaySoundAtNpc"] + - [0x802D02B0, "SpeakToPlayer"] + - [0x802D02CC, "EndSpeech"] + - [0x802D02E8, "ContinueSpeech"] + - [0x802D0304, "SpeakToNpc"] + - [0x802D0320, "_show_message"] + - [0x802D0894, "ShowMessageAtScreenPos"] + - [0x802D095C, "ShowMessageAtWorldPos"] + - [0x802D0A98, "CloseMessage"] + - [0x802D0AFC, "SwitchMessage"] + - [0x802D0B6C, "ShowChoice"] + - [0x802D0BF8, "CloseChoice"] + - [0x802D0C20, "CancelMessage"] + - [0x802D0C48, "CancelMessageAndBlock"] + - [0x802D0C70, "SetMessageImages"] + - [0x802D0CEC, "SetMessageString"] + - [0x802D0D44, "SetMessageValue"] + - [0x802D0DA0, "HidePlayerShadow"] + - [0x802D0DE4, "DisablePlayerPhysics"] + - [0x802D0E28, "DisablePlayerInput"] + - [0x802D0EF0, "SetPlayerPos"] + - [0x802D0FB0, "SetPlayerCollisionSize"] + - [0x802D1024, "SetPlayerSpeed"] + - [0x802D1054, "SetPlayerJumpscale"] + - [0x802D1084, "SetPlayerAnimation"] + - [0x802D10D8, "SetPlayerActionState"] + - [0x802D1134, "MovePlayerTo"] + - [0x802D14E0, "player_jump"] + - [0x802D18E8, "PlayerJump"] + - [0x802D1904, "PlayerJump1"] + - [0x802D1920, "PlayerJump2"] + - [0x802D193C, "InterpPlayerYaw"] + - [0x802D1B04, "PlayerFaceNpc"] + - [0x802D1D28, "GetPlayerTargetYaw"] + - [0x802D1D60, "SetPlayerFlagBits"] + - [0x802D1DD0, "GetPlayerActionState"] + - [0x802D1DFC, "GetPlayerPos"] + - [0x802D1E94, "GetPlayerAnimation"] + - [0x802D1EC0, "FullyRestoreHPandFP"] + - [0x802D1EE0, "FullyRestoreSP"] + - [0x802D1EFC, "EnablePartner"] + - [0x802D1F38, "DisablePartner"] + - [0x802D1F70, "ForceExitHeading"] + - [0x802D216C, "UseExitHeading"] + - [0x802D2AA8, "DisablePulseStone"] + - [0x802D2B0C, "GetCurrentPartner"] + - [0x802D2B88, "Disable8bitMario"] + - [0x802D2CD8, "PlaySoundAtPlayer"] + - [0x802D3474, "CreateImageObj"] + - [0x802D3624, "RemoveImageObj"] + - [0x802D36E0, "SetObjPosition"] + - [0x802D3840, "SetObjRotation"] + - [0x802D38EC, "SetObjScale"] + - [0x802D39FC, "SetObjJumpScale"] + - [0x802D3C58, "JumpObj"] + - [0x802D45B0, "MakeLerp"] + - [0x802D462C, "UpdateLerp"] + - [0x802D46B0, "RandInt"] + - [0x802D4708, "GetAngleBetweenNPCs"] + - [0x802D47B4, "GetAngleToNPC"] + - [0x802D4830, "GetAngleToPlayer"] + - [0x802D48AC, "AwaitPlayerApproach"] + - [0x802D4964, "IsPlayerWithin"] + - [0x802D4A5C, "AwaitPlayerLeave"] + - [0x802D4B14, "AddVectorPolar"] + - [0x802D5430, "LoadPath"] + - [0x802D4DAC, "setup_path_data"] + - [0x802D5524, "GetNextPathPos"] + - [0x802D5770, "GetDist2D"] + - [0x802D58E0, "SetValueByRef"] + - [0x802D593C, "GetValueByRef"] + - [0x802D5998, "EnableStatusMenu"] + - [0x802D59DC, "ShowStatusMenu"] + - [0x802D5A28, "SetGameMode"] + - [0x802D5A58, "ClampAngleInt"] + - [0x802D5AB4, "ClampAngleFloat"] + - [0x802D5CE0, "FadeOutMusic"] + - [0x802D5D4C, "SetMusicTrack"] + - [0x802D5DF4, "FadeInMusic"] + - [0x802D611C, "PlayAmbientSounds"] + - [0x802D6150, "PlaySound"] + - [0x802D61DC, "PlaySoundAt"] + - [0x802D62B8, "StopSound"] + - [0x802D6314, "UseDoorSounds"] + - [0x802D636C, "PlaySoundAtF"] + - [0x802D6858, "RemoveKeyItemAt"] + - [0x802D688C, "RemoveItemAt"] + - [0x802D68C8, "AddKeyItem"] + - [0x802D699C, "HasKeyItem"] + - [0x802D6A14, "FindKeyItem"] + - [0x802D6A98, "AddItem"] + - [0x802D6B18, "FindItem"] + - [0x802D6B9C, "RemoveItem"] + - [0x802D6C4C, "CountFortessKeys"] + - [0x802D6C94, "RemoveFortressKeys"] + - [0x802D6CC0, "MakeItemEntity"] + - [0x802D6DC0, "DropItemEntity"] + - [0x802D6EC0, "DropItemEntityB"] + - [0x802D6FCC, "RemoveItemEntity"] + - [0x802D6FF8, "AddBadge"] + - [0x802D7050, "RemoveBadge"] + - [0x802D70D0, "SetItemPos"] + - [0x802D7194, "SetItemFlags"] + - [0x802D7278, "AddCoin"] + - [0x802D72B4, "AddStarPoints"] + - [0x802D72F0, "AddStarPieces"] + - [0x802D732C, "GetItemPower"] + - [0x802D73A4, "ShowGotItem"] + - [0x802D78A0, "ShowEmote"] + - [0x802D8028, "ShowSleepBubble"] + - [0x802D7AE4, "RemoveEffect"] + - [0x802D829C, "PlayEffect"] + - [0x802D9700, "SetSpriteShading"] + - [0x802D9A3C, "EnableSpriteShading"] + - [0x802D9A90, "GetDemoState"] + - [0x802D9ACC, "DemoPressButton"] + - [0x802D9AF8, "DemoReleaseButton"] + - [0x802D9B34, "DemoSetButtons"] + - [0x802D9B64, "DemoJoystickRadial"] + - [0x802D9C10, "DemoJoystickXY"] + - [0x802D9CB0, "ShakeCam1"] + - [0x802D9CE8, "ShakeCamX"] + - [0x802DC8F4, "spr_appendMDL_component"] + - [0x802DCD00, "spr_transform_point"] + - [0x802DCEDC, "spr_draw_component"] + - [0x802DD0DC, "_spr_sign_extend_12bit"] + - [0x802DD0FC, "_spr_sign_extend_16bit"] + - [0x802DD11C, "update_component"] + - [0x802DDC40, "render_sprite"] + - [0x802DEB0C, "load_sprite"] + - [0x802E11A0, "save_game_at_player_position"] + - [0x802E8CCC, "player_enter_blue_pipe"] + - [0x802E8E4C, "push_entity_matrix"] \ No newline at end of file diff --git a/papermario/asm/CODE_163400.s b/papermario/asm/CODE_163400.s index efd61bba4c..37ab50d537 100644 --- a/papermario/asm/CODE_163400.s +++ b/papermario/asm/CODE_163400.s @@ -198,14 +198,14 @@ func_80242E00: /* 163698 80242E38 8E220000 */ lw $v0, ($s1) /* 16369C 80242E3C 14400012 */ bnez $v0, .L80242E88 /* 1636A0 80242E40 00948021 */ addu $s0, $a0, $s4 -/* 1636A4 80242E44 0C00CD4A */ jal func_80033528 +/* 1636A4 80242E44 0C00CD4A */ jal get_game_mode /* 1636A8 80242E48 00000000 */ nop /* 1636AC 80242E4C 00021400 */ sll $v0, $v0, 0x10 /* 1636B0 80242E50 00021403 */ sra $v0, $v0, 0x10 /* 1636B4 80242E54 2403000F */ addiu $v1, $zero, 0xf /* 1636B8 80242E58 10430008 */ beq $v0, $v1, .L80242E7C /* 1636BC 80242E5C 00000000 */ nop -/* 1636C0 80242E60 0C00CD4A */ jal func_80033528 +/* 1636C0 80242E60 0C00CD4A */ jal get_game_mode /* 1636C4 80242E64 00000000 */ nop /* 1636C8 80242E68 00021400 */ sll $v0, $v0, 0x10 /* 1636CC 80242E6C 00021403 */ sra $v0, $v0, 0x10 @@ -1484,7 +1484,7 @@ func_80244060: /* 1648E4 80244084 3C068025 */ lui $a2, 0x8025 /* 1648E8 80244088 8CC69B98 */ lw $a2, -0x6468($a2) /* 1648EC 8024408C 02252821 */ addu $a1, $s1, $a1 -/* 1648F0 80244090 0C051261 */ jal func_80144984 +/* 1648F0 80244090 0C051261 */ jal set_icon_render_pos /* 1648F4 80244094 02463021 */ addu $a2, $s2, $a2 /* 1648F8 80244098 8E040000 */ lw $a0, ($s0) /* 1648FC 8024409C 0C0511F8 */ jal func_801447E0 @@ -1635,7 +1635,7 @@ func_80244264: /* 164AD8 80244278 4600C306 */ mov.s $f12, $f24 /* 164ADC 8024427C 44061000 */ mfc1 $a2, $f2 /* 164AE0 80244280 44070000 */ mfc1 $a3, $f0 -/* 164AE4 80244284 0C00A720 */ jal func_80029C80 +/* 164AE4 80244284 0C00A720 */ jal atan2 /* 164AE8 80244288 4600B386 */ mov.s $f14, $f22 /* 164AEC 8024428C 3C08DC08 */ lui $t0, 0xdc08 /* 164AF0 80244290 35080008 */ ori $t0, $t0, 8 @@ -2065,7 +2065,7 @@ func_802448E0: /* 16516C 8024490C AFB3001C */ sw $s3, 0x1c($sp) /* 165170 80244910 AFB20018 */ sw $s2, 0x18($sp) /* 165174 80244914 AFB10014 */ sw $s1, 0x14($sp) -/* 165178 80244918 0C00A5CF */ jal func_8002973C +/* 165178 80244918 0C00A5CF */ jal dma_copy /* 16517C 8024491C AFB00010 */ sw $s0, 0x10($sp) /* 165180 80244920 0000802D */ daddu $s0, $zero, $zero /* 165184 80244924 3C128025 */ lui $s2, 0x8025 @@ -2075,12 +2075,12 @@ func_802448E0: .L80244934: /* 165194 80244934 8E240000 */ lw $a0, ($s1) /* 165198 80244938 26310004 */ addiu $s1, $s1, 4 -/* 16519C 8024493C 0C050529 */ jal func_801414A4 +/* 16519C 8024493C 0C050529 */ jal create_icon /* 1651A0 80244940 26100001 */ addiu $s0, $s0, 1 /* 1651A4 80244944 0040202D */ daddu $a0, $v0, $zero /* 1651A8 80244948 3C052000 */ lui $a1, 0x2000 /* 1651AC 8024494C 34A50080 */ ori $a1, $a1, 0x80 -/* 1651B0 80244950 0C051280 */ jal func_80144A00 +/* 1651B0 80244950 0C051280 */ jal set_icon_flags /* 1651B4 80244954 AE440000 */ sw $a0, ($s2) /* 1651B8 80244958 1A00FFF6 */ blez $s0, .L80244934 /* 1651BC 8024495C 26520004 */ addiu $s2, $s2, 4 @@ -2122,7 +2122,7 @@ func_802449B8: /* 16523C 802449DC 3C128007 */ lui $s2, 0x8007 /* 165240 802449E0 265279C4 */ addiu $s2, $s2, 0x79c4 .L802449E4: -/* 165244 802449E4 0C00ACB4 */ jal func_8002B2D0 +/* 165244 802449E4 0C00ACB4 */ jal fio_load_game /* 165248 802449E8 0200202D */ daddu $a0, $s0, $zero /* 16524C 802449EC 14400003 */ bnez $v0, .L802449FC /* 165250 802449F0 00000000 */ nop @@ -2152,7 +2152,7 @@ func_80244A30: /* 1652A4 80244A44 82620004 */ lb $v0, 4($s3) /* 1652A8 80244A48 1440000E */ bnez $v0, .L80244A84 /* 1652AC 80244A4C 0260202D */ daddu $a0, $s3, $zero -/* 1652B0 80244A50 0C00ABF6 */ jal func_8002AFD8 +/* 1652B0 80244A50 0C00ABF6 */ jal fio_has_valid_backup /* 1652B4 80244A54 00000000 */ nop /* 1652B8 80244A58 3C04800E */ lui $a0, 0x800e /* 1652BC 80244A5C 248495E8 */ addiu $a0, $a0, -0x6a18 @@ -2212,7 +2212,7 @@ func_80244B00: .L80244B1C: /* 16537C 80244B1C 8E240000 */ lw $a0, ($s1) /* 165380 80244B20 26310004 */ addiu $s1, $s1, 4 -/* 165384 80244B24 0C05123D */ jal func_801448F4 +/* 165384 80244B24 0C05123D */ jal free_icon /* 165388 80244B28 26100001 */ addiu $s0, $s0, 1 /* 16538C 80244B2C 1A00FFFB */ blez $s0, .L80244B1C /* 165390 80244B30 00000000 */ nop @@ -2353,7 +2353,7 @@ func_80244CAC: /* 165570 80244D10 3C108025 */ lui $s0, 0x8025 /* 165574 80244D14 2610C0B0 */ addiu $s0, $s0, -0x3f50 /* 165578 80244D18 8E040048 */ lw $a0, 0x48($s0) -/* 16557C 80244D1C 0C051261 */ jal func_80144984 +/* 16557C 80244D1C 0C051261 */ jal set_icon_render_pos /* 165580 80244D20 24C6000A */ addiu $a2, $a2, 0xa /* 165584 80244D24 8E040048 */ lw $a0, 0x48($s0) /* 165588 80244D28 08091352 */ j func_80244D48 @@ -2363,7 +2363,7 @@ func_80244CAC: /* 165590 80244D30 3C108025 */ lui $s0, 0x8025 /* 165594 80244D34 2610C0B0 */ addiu $s0, $s0, -0x3f50 /* 165598 80244D38 8E04004C */ lw $a0, 0x4c($s0) -/* 16559C 80244D3C 0C051261 */ jal func_80144984 +/* 16559C 80244D3C 0C051261 */ jal set_icon_render_pos /* 1655A0 80244D40 24C6000A */ addiu $a2, $a2, 0xa /* 1655A4 80244D44 8E04004C */ lw $a0, 0x4c($s0) func_80244D48: @@ -2385,7 +2385,7 @@ func_80244D48: /* 1655E0 80244D80 3C108025 */ lui $s0, 0x8025 /* 1655E4 80244D84 2610C0B0 */ addiu $s0, $s0, -0x3f50 /* 1655E8 80244D88 8E040040 */ lw $a0, 0x40($s0) -/* 1655EC 80244D8C 0C051261 */ jal func_80144984 +/* 1655EC 80244D8C 0C051261 */ jal set_icon_render_pos /* 1655F0 80244D90 24C6000A */ addiu $a2, $a2, 0xa /* 1655F4 80244D94 8E040040 */ lw $a0, 0x40($s0) /* 1655F8 80244D98 0809136E */ j func_80244DB8 @@ -2395,7 +2395,7 @@ func_80244D48: /* 165600 80244DA0 3C108025 */ lui $s0, 0x8025 /* 165604 80244DA4 2610C0B0 */ addiu $s0, $s0, -0x3f50 /* 165608 80244DA8 8E040044 */ lw $a0, 0x44($s0) -/* 16560C 80244DAC 0C051261 */ jal func_80144984 +/* 16560C 80244DAC 0C051261 */ jal set_icon_render_pos /* 165610 80244DB0 24C6000A */ addiu $a2, $a2, 0xa /* 165614 80244DB4 8E040044 */ lw $a0, 0x44($s0) func_80244DB8: @@ -2633,7 +2633,7 @@ func_80245070: /* 16596C 8024510C 00004010 */ mfhi $t0 /* 165970 80245110 00088083 */ sra $s0, $t0, 2 /* 165974 80245114 02028023 */ subu $s0, $s0, $v0 -/* 165978 80245118 0C049DA7 */ jal func_8012769C +/* 165978 80245118 0C049DA7 */ jal draw_number /* 16597C 8024511C 0200202D */ daddu $a0, $s0, $zero /* 165980 80245120 00102080 */ sll $a0, $s0, 2 /* 165984 80245124 00902021 */ addu $a0, $a0, $s0 @@ -2648,7 +2648,7 @@ func_80245070: /* 1659A8 80245148 240800FF */ addiu $t0, $zero, 0xff /* 1659AC 8024514C AFA80014 */ sw $t0, 0x14($sp) /* 1659B0 80245150 24080002 */ addiu $t0, $zero, 2 -/* 1659B4 80245154 0C049DA7 */ jal func_8012769C +/* 1659B4 80245154 0C049DA7 */ jal draw_number /* 1659B8 80245158 AFA80018 */ sw $t0, 0x18($sp) /* 1659BC 8024515C 0C0926A9 */ jal func_80249AA4 /* 1659C0 80245160 24040008 */ addiu $a0, $zero, 8 @@ -2703,7 +2703,7 @@ func_80245070: /* 165A80 80245220 00022080 */ sll $a0, $v0, 2 /* 165A84 80245224 00822021 */ addu $a0, $a0, $v0 /* 165A88 80245228 00E42004 */ sllv $a0, $a0, $a3 -/* 165A8C 8024522C 0C049DA7 */ jal func_8012769C +/* 165A8C 8024522C 0C049DA7 */ jal draw_number /* 165A90 80245230 02042023 */ subu $a0, $s0, $a0 /* 165A94 80245234 3C029B58 */ lui $v0, 0x9b58 /* 165A98 80245238 34423739 */ ori $v0, $v0, 0x3739 @@ -2725,7 +2725,7 @@ func_80245070: /* 165AD8 80245278 01138821 */ addu $s1, $t0, $s3 /* 165ADC 8024527C 02F18807 */ srav $s1, $s1, $s7 /* 165AE0 80245280 02328823 */ subu $s1, $s1, $s2 -/* 165AE4 80245284 0C049DA7 */ jal func_8012769C +/* 165AE4 80245284 0C049DA7 */ jal draw_number /* 165AE8 80245288 02242023 */ subu $a0, $s1, $a0 /* 165AEC 8024528C 0C0926A9 */ jal func_80249AA4 /* 165AF0 80245290 2404000D */ addiu $a0, $zero, 0xd @@ -2772,7 +2772,7 @@ func_80245070: /* 165B94 80245334 00004010 */ mfhi $t0 /* 165B98 80245338 00088383 */ sra $s0, $t0, 0xe /* 165B9C 8024533C 02128023 */ subu $s0, $s0, $s2 -/* 165BA0 80245340 0C049DA7 */ jal func_8012769C +/* 165BA0 80245340 0C049DA7 */ jal draw_number /* 165BA4 80245344 02042023 */ subu $a0, $s0, $a0 /* 165BA8 80245348 3C0291A2 */ lui $v0, 0x91a2 /* 165BAC 8024534C 3442B3C5 */ ori $v0, $v0, 0xb3c5 @@ -2794,7 +2794,7 @@ func_80245070: /* 165BEC 8024538C 01131021 */ addu $v0, $t0, $s3 /* 165BF0 80245390 000212C3 */ sra $v0, $v0, 0xb /* 165BF4 80245394 00521023 */ subu $v0, $v0, $s2 -/* 165BF8 80245398 0C049DA7 */ jal func_8012769C +/* 165BF8 80245398 0C049DA7 */ jal draw_number /* 165BFC 8024539C 00442023 */ subu $a0, $v0, $a0 .L802453A0: /* 165C00 802453A0 8FA80020 */ lw $t0, 0x20($sp) @@ -2815,7 +2815,7 @@ func_802453CC: /* 165C30 802453D0 01172821 */ addu $a1, $t0, $s7 /* 165C34 802453D4 8FA8005C */ lw $t0, 0x5c($sp) /* 165C38 802453D8 0200202D */ daddu $a0, $s0, $zero -/* 165C3C 802453DC 0C051261 */ jal func_80144984 +/* 165C3C 802453DC 0C051261 */ jal set_icon_render_pos /* 165C40 802453E0 2506002C */ addiu $a2, $t0, 0x2c /* 165C44 802453E4 16800005 */ bnez $s4, .L802453FC /* 165C48 802453E8 00000000 */ nop @@ -2825,7 +2825,7 @@ func_802453CC: /* 165C58 802453F8 26F70010 */ addiu $s7, $s7, 0x10 .L802453FC: -/* 165C5C 802453FC 0C0511F1 */ jal func_801447C4 +/* 165C5C 802453FC 0C0511F1 */ jal draw_icon_1 /* 165C60 80245400 0200202D */ daddu $a0, $s0, $zero /* 165C64 80245404 26F70010 */ addiu $s7, $s7, 0x10 func_80245408: @@ -2893,7 +2893,7 @@ func_8024544C: /* 165D4C 802454EC AFA20014 */ sw $v0, 0x14($sp) /* 165D50 802454F0 24020002 */ addiu $v0, $zero, 2 /* 165D54 802454F4 AFA00010 */ sw $zero, 0x10($sp) -/* 165D58 802454F8 0C049DA7 */ jal func_8012769C +/* 165D58 802454F8 0C049DA7 */ jal draw_number /* 165D5C 802454FC AFA20018 */ sw $v0, 0x18($sp) /* 165D60 80245500 0809155A */ j func_80245568 /* 165D64 80245504 00000000 */ nop @@ -2906,7 +2906,7 @@ func_8024544C: /* 165D78 80245518 24020002 */ addiu $v0, $zero, 2 /* 165D7C 8024551C AFA00010 */ sw $zero, 0x10($sp) /* 165D80 80245520 AFB00014 */ sw $s0, 0x14($sp) -/* 165D84 80245524 0C049DA7 */ jal func_8012769C +/* 165D84 80245524 0C049DA7 */ jal draw_number /* 165D88 80245528 AFA20018 */ sw $v0, 0x18($sp) /* 165D8C 8024552C 00112040 */ sll $a0, $s1, 1 /* 165D90 80245530 00912021 */ addu $a0, $a0, $s1 @@ -3116,11 +3116,11 @@ func_80245568: .L80245838: /* 166098 80245838 8E240000 */ lw $a0, ($s1) /* 16609C 8024583C 26310004 */ addiu $s1, $s1, 4 -/* 1660A0 80245840 0C050529 */ jal func_801414A4 +/* 1660A0 80245840 0C050529 */ jal create_icon /* 1660A4 80245844 26100001 */ addiu $s0, $s0, 1 /* 1660A8 80245848 0040202D */ daddu $a0, $v0, $zero /* 1660AC 8024584C 24050080 */ addiu $a1, $zero, 0x80 -/* 1660B0 80245850 0C051280 */ jal func_80144A00 +/* 1660B0 80245850 0C051280 */ jal set_icon_flags /* 1660B4 80245854 AE440000 */ sw $a0, ($s2) /* 1660B8 80245858 2A020014 */ slti $v0, $s0, 0x14 /* 1660BC 8024585C 1440FFF6 */ bnez $v0, .L80245838 @@ -3430,7 +3430,7 @@ func_80245C6C: /* 166518 80245CB8 304200FF */ andi $v0, $v0, 0xff /* 16651C 80245CBC 10E20003 */ beq $a3, $v0, .L80245CCC /* 166520 80245CC0 00000000 */ nop -/* 166524 80245CC4 0C05272D */ jal func_80149CB4 +/* 166524 80245CC4 0C05272D */ jal play_sound /* 166528 80245CC8 24042101 */ addiu $a0, $zero, 0x2101 .L80245CCC: /* 16652C 80245CCC 82620004 */ lb $v0, 4($s3) @@ -3459,7 +3459,7 @@ func_80245C6C: /* 166580 80245D20 904200AB */ lbu $v0, 0xab($v0) /* 166584 80245D24 1082000D */ beq $a0, $v0, .L80245D5C /* 166588 80245D28 00000000 */ nop -/* 16658C 80245D2C 0C05272D */ jal func_80149CB4 +/* 16658C 80245D2C 0C05272D */ jal play_sound /* 166590 80245D30 240400C8 */ addiu $a0, $zero, 0xc8 /* 166594 80245D34 8E020000 */ lw $v0, ($s0) /* 166598 80245D38 904200AB */ lbu $v0, 0xab($v0) @@ -3571,7 +3571,7 @@ func_80245D5C: /* 166724 80245EC4 2404003B */ addiu $a0, $zero, 0x3b /* 166728 80245EC8 0C051F9F */ jal func_80147E7C /* 16672C 80245ECC 0200282D */ daddu $a1, $s0, $zero -/* 166730 80245ED0 0C05272D */ jal func_80149CB4 +/* 166730 80245ED0 0C05272D */ jal play_sound /* 166734 80245ED4 240400C9 */ addiu $a0, $zero, 0xc9 /* 166738 80245ED8 0000282D */ daddu $a1, $zero, $zero /* 16673C 80245EDC 00A0302D */ daddu $a2, $a1, $zero @@ -3625,9 +3625,9 @@ func_80245D5C: /* 1667F4 80245F94 24A53754 */ addiu $a1, $a1, 0x3754 /* 1667F8 80245F98 0C051F9F */ jal func_80147E7C /* 1667FC 80245F9C 2404002D */ addiu $a0, $zero, 0x2d -/* 166800 80245FA0 0C05272D */ jal func_80149CB4 +/* 166800 80245FA0 0C05272D */ jal play_sound /* 166804 80245FA4 240400D6 */ addiu $a0, $zero, 0xd6 -/* 166808 80245FA8 0C00CD3C */ jal func_800334F0 +/* 166808 80245FA8 0C00CD3C */ jal set_game_mode /* 16680C 80245FAC 2404000F */ addiu $a0, $zero, 0xf /* 166810 80245FB0 08091A3A */ j func_802468E8 /* 166814 80245FB4 00000000 */ nop @@ -3635,7 +3635,7 @@ func_80245D5C: .L80245FB8: /* 166818 80245FB8 14620005 */ bne $v1, $v0, .L80245FD0 /* 16681C 80245FBC 24020005 */ addiu $v0, $zero, 5 -/* 166820 80245FC0 0C05272D */ jal func_80149CB4 +/* 166820 80245FC0 0C05272D */ jal play_sound /* 166824 80245FC4 240400C9 */ addiu $a0, $zero, 0xc9 /* 166828 80245FC8 080917F9 */ j func_80245FE4 /* 16682C 80245FCC 24020001 */ addiu $v0, $zero, 1 @@ -3643,7 +3643,7 @@ func_80245D5C: .L80245FD0: /* 166830 80245FD0 1462001B */ bne $v1, $v0, .L80246040 /* 166834 80245FD4 2C620004 */ sltiu $v0, $v1, 4 -/* 166838 80245FD8 0C05272D */ jal func_80149CB4 +/* 166838 80245FD8 0C05272D */ jal play_sound /* 16683C 80245FDC 240400C9 */ addiu $a0, $zero, 0xc9 /* 166840 80245FE0 24020003 */ addiu $v0, $zero, 3 func_80245FE4: @@ -3674,7 +3674,7 @@ func_80245FE4: .L80246040: /* 1668A0 80246040 10400229 */ beqz $v0, .L802468E8 /* 1668A4 80246044 00000000 */ nop -/* 1668A8 80246048 0C05272D */ jal func_80149CB4 +/* 1668A8 80246048 0C05272D */ jal play_sound /* 1668AC 8024604C 240400C9 */ addiu $a0, $zero, 0xc9 /* 1668B0 80246050 2404002D */ addiu $a0, $zero, 0x2d /* 1668B4 80246054 3C108024 */ lui $s0, 0x8024 @@ -3716,7 +3716,7 @@ func_80245FE4: /* 166944 802460E4 24A53908 */ addiu $a1, $a1, 0x3908 /* 166948 802460E8 0C051F9F */ jal func_80147E7C /* 16694C 802460EC 24840038 */ addiu $a0, $a0, 0x38 -/* 166950 802460F0 0C05272D */ jal func_80149CB4 +/* 166950 802460F0 0C05272D */ jal play_sound /* 166954 802460F4 240400C9 */ addiu $a0, $zero, 0xc9 /* 166958 802460F8 24040032 */ addiu $a0, $zero, 0x32 /* 16695C 802460FC 0C051F9F */ jal func_80147E7C @@ -3789,7 +3789,7 @@ func_802461C0: /* 166A4C 802461EC 24020006 */ addiu $v0, $zero, 6 /* 166A50 802461F0 14620018 */ bne $v1, $v0, .L80246254 /* 166A54 802461F4 2C620004 */ sltiu $v0, $v1, 4 -/* 166A58 802461F8 0C05272D */ jal func_80149CB4 +/* 166A58 802461F8 0C05272D */ jal play_sound /* 166A5C 802461FC 240400C9 */ addiu $a0, $zero, 0xc9 /* 166A60 80246200 A2600004 */ sb $zero, 4($s3) /* 166A64 80246204 3C058024 */ lui $a1, 0x8024 @@ -3822,7 +3822,7 @@ func_802461C0: /* 166AC8 80246268 90227A24 */ lbu $v0, 0x7a24($at) /* 166ACC 8024626C 1040007F */ beqz $v0, .L8024646C /* 166AD0 80246270 00000000 */ nop -/* 166AD4 80246274 0C05272D */ jal func_80149CB4 +/* 166AD4 80246274 0C05272D */ jal play_sound /* 166AD8 80246278 240400C9 */ addiu $a0, $zero, 0xc9 /* 166ADC 8024627C 3C058024 */ lui $a1, 0x8024 /* 166AE0 80246280 24A53CCC */ addiu $a1, $a1, 0x3ccc @@ -3896,7 +3896,7 @@ func_80246348: /* 166BD4 80246374 24020006 */ addiu $v0, $zero, 6 /* 166BD8 80246378 14620018 */ bne $v1, $v0, .L802463DC /* 166BDC 8024637C 2C620004 */ sltiu $v0, $v1, 4 -/* 166BE0 80246380 0C05272D */ jal func_80149CB4 +/* 166BE0 80246380 0C05272D */ jal play_sound /* 166BE4 80246384 240400C9 */ addiu $a0, $zero, 0xc9 /* 166BE8 80246388 A2600004 */ sb $zero, 4($s3) /* 166BEC 8024638C 3C058024 */ lui $a1, 0x8024 @@ -3929,7 +3929,7 @@ func_80246348: /* 166C50 802463F0 90227A24 */ lbu $v0, 0x7a24($at) /* 166C54 802463F4 1040001D */ beqz $v0, .L8024646C /* 166C58 802463F8 00000000 */ nop -/* 166C5C 802463FC 0C05272D */ jal func_80149CB4 +/* 166C5C 802463FC 0C05272D */ jal play_sound /* 166C60 80246400 240400C9 */ addiu $a0, $zero, 0xc9 /* 166C64 80246404 92630003 */ lbu $v1, 3($s3) /* 166C68 80246408 24020004 */ addiu $v0, $zero, 4 @@ -3943,7 +3943,7 @@ func_80246348: /* 166C84 80246424 24020006 */ addiu $v0, $zero, 6 /* 166C88 80246428 14620009 */ bne $v1, $v0, .L80246450 /* 166C8C 8024642C 2C620004 */ sltiu $v0, $v1, 4 -/* 166C90 80246430 0C05272D */ jal func_80149CB4 +/* 166C90 80246430 0C05272D */ jal play_sound /* 166C94 80246434 240400C9 */ addiu $a0, $zero, 0xc9 /* 166C98 80246438 24020003 */ addiu $v0, $zero, 3 /* 166C9C 8024643C A2620004 */ sb $v0, 4($s3) @@ -3961,7 +3961,7 @@ func_80246348: /* 166CC4 80246464 14430005 */ bne $v0, $v1, .L8024647C /* 166CC8 80246468 00000000 */ nop .L8024646C: -/* 166CCC 8024646C 0C05272D */ jal func_80149CB4 +/* 166CCC 8024646C 0C05272D */ jal play_sound /* 166CD0 80246470 2404021D */ addiu $a0, $zero, 0x21d /* 166CD4 80246474 08091A3A */ j func_802468E8 /* 166CD8 80246478 00000000 */ nop @@ -3975,7 +3975,7 @@ func_80246348: /* 166CF0 80246490 90227A24 */ lbu $v0, 0x7a24($at) /* 166CF4 80246494 14400066 */ bnez $v0, .L80246630 /* 166CF8 80246498 00000000 */ nop -/* 166CFC 8024649C 0C05272D */ jal func_80149CB4 +/* 166CFC 8024649C 0C05272D */ jal play_sound /* 166D00 802464A0 240400C9 */ addiu $a0, $zero, 0xc9 /* 166D04 802464A4 24020002 */ addiu $v0, $zero, 2 /* 166D08 802464A8 3C018025 */ lui $at, 0x8025 @@ -4045,7 +4045,7 @@ func_80246578: /* 166DF0 80246590 24050002 */ addiu $a1, $zero, 2 /* 166DF4 80246594 3C118025 */ lui $s1, 0x8025 /* 166DF8 80246598 2631C094 */ addiu $s1, $s1, -0x3f6c -/* 166DFC 8024659C 0C00ACB4 */ jal func_8002B2D0 +/* 166DFC 8024659C 0C00ACB4 */ jal fio_load_game /* 166E00 802465A0 8E240000 */ lw $a0, ($s1) /* 166E04 802465A4 3C108025 */ lui $s0, 0x8025 /* 166E08 802465A8 2610C080 */ addiu $s0, $s0, -0x3f80 @@ -4073,7 +4073,7 @@ func_80246578: /* 166E60 80246600 8C480010 */ lw $t0, 0x10($v0) /* 166E64 80246604 8C490014 */ lw $t1, 0x14($v0) /* 166E68 80246608 AC680010 */ sw $t0, 0x10($v1) -/* 166E6C 8024660C 0C00ACDD */ jal func_8002B374 +/* 166E6C 8024660C 0C00ACDD */ jal fio_save_game /* 166E70 80246610 AC690014 */ sw $t1, 0x14($v1) /* 166E74 80246614 8E030000 */ lw $v1, ($s0) /* 166E78 80246618 24020001 */ addiu $v0, $zero, 1 @@ -4084,7 +4084,7 @@ func_80246578: /* 166E8C 8024662C 00000000 */ nop .L80246630: -/* 166E90 80246630 0C05272D */ jal func_80149CB4 +/* 166E90 80246630 0C05272D */ jal play_sound /* 166E94 80246634 240400C9 */ addiu $a0, $zero, 0xc9 /* 166E98 80246638 3C058024 */ lui $a1, 0x8024 /* 166E9C 8024663C 24A53CCC */ addiu $a1, $a1, 0x3ccc @@ -4158,9 +4158,9 @@ func_80246704: /* 166F90 80246730 24020006 */ addiu $v0, $zero, 6 /* 166F94 80246734 14620007 */ bne $v1, $v0, .L80246754 /* 166F98 80246738 2C620004 */ sltiu $v0, $v1, 4 -/* 166F9C 8024673C 0C05272D */ jal func_80149CB4 +/* 166F9C 8024673C 0C05272D */ jal play_sound /* 166FA0 80246740 240400C9 */ addiu $a0, $zero, 0xc9 -/* 166FA4 80246744 0C00CD3C */ jal func_800334F0 +/* 166FA4 80246744 0C00CD3C */ jal set_game_mode /* 166FA8 80246748 2404000D */ addiu $a0, $zero, 0xd /* 166FAC 8024674C 08091A3A */ j func_802468E8 /* 166FB0 80246750 00000000 */ nop @@ -4176,7 +4176,7 @@ func_80246704: /* 166FD0 80246770 26317A24 */ addiu $s1, $s1, 0x7a24 /* 166FD4 80246774 1440001B */ bnez $v0, .L802467E4 /* 166FD8 80246778 00000000 */ nop -/* 166FDC 8024677C 0C05272D */ jal func_80149CB4 +/* 166FDC 8024677C 0C05272D */ jal play_sound /* 166FE0 80246780 240400C9 */ addiu $a0, $zero, 0xc9 /* 166FE4 80246784 2404002C */ addiu $a0, $zero, 0x2c /* 166FE8 80246788 3C058014 */ lui $a1, 0x8014 @@ -4196,7 +4196,7 @@ func_80246704: /* 167020 802467C0 0C051F9F */ jal func_80147E7C /* 167024 802467C4 24050002 */ addiu $a1, $zero, 2 /* 167028 802467C8 92640003 */ lbu $a0, 3($s3) -/* 16702C 802467CC 0C00ACDD */ jal func_8002B374 +/* 16702C 802467CC 0C00ACDD */ jal fio_save_game /* 167030 802467D0 00000000 */ nop /* 167034 802467D4 92620003 */ lbu $v0, 3($s3) /* 167038 802467D8 00511021 */ addu $v0, $v0, $s1 @@ -4204,7 +4204,7 @@ func_80246704: /* 167040 802467E0 A0500000 */ sb $s0, ($v0) .L802467E4: -/* 167044 802467E4 0C05272D */ jal func_80149CB4 +/* 167044 802467E4 0C05272D */ jal play_sound /* 167048 802467E8 240400C9 */ addiu $a0, $zero, 0xc9 /* 16704C 802467EC 3C058024 */ lui $a1, 0x8024 /* 167050 802467F0 24A53CCC */ addiu $a1, $a1, 0x3ccc @@ -4349,7 +4349,7 @@ func_80246934: /* 167248 802469E8 24A53754 */ addiu $a1, $a1, 0x3754 /* 16724C 802469EC 0C051F9F */ jal func_80147E7C /* 167250 802469F0 2404002D */ addiu $a0, $zero, 0x2d -/* 167254 802469F4 0C05272D */ jal func_80149CB4 +/* 167254 802469F4 0C05272D */ jal play_sound /* 167258 802469F8 240400D6 */ addiu $a0, $zero, 0xd6 /* 16725C 802469FC 08091AC2 */ j func_80246B08 /* 167260 80246A00 2404000F */ addiu $a0, $zero, 0xf @@ -4415,16 +4415,16 @@ func_80246934: /* 167344 80246AE4 0C090B65 */ jal func_80242D94 /* 167348 80246AE8 00052840 */ sll $a1, $a1, 1 func_80246AEC: -/* 16734C 80246AEC 0C05272D */ jal func_80149CB4 +/* 16734C 80246AEC 0C05272D */ jal play_sound /* 167350 80246AF0 240400CA */ addiu $a0, $zero, 0xca /* 167354 80246AF4 08091AC4 */ j func_80246B10 /* 167358 80246AF8 00000000 */ nop -/* 16735C 80246AFC 0C05272D */ jal func_80149CB4 +/* 16735C 80246AFC 0C05272D */ jal play_sound /* 167360 80246B00 240400CA */ addiu $a0, $zero, 0xca /* 167364 80246B04 2404000D */ addiu $a0, $zero, 0xd func_80246B08: -/* 167368 80246B08 0C00CD3C */ jal func_800334F0 +/* 167368 80246B08 0C00CD3C */ jal set_game_mode /* 16736C 80246B0C 00000000 */ nop func_80246B10: .L80246B10: @@ -4569,7 +4569,7 @@ func_80246BE4: .L80246CD8: /* 167538 80246CD8 8E040000 */ lw $a0, ($s0) /* 16753C 80246CDC 26100004 */ addiu $s0, $s0, 4 -/* 167540 80246CE0 0C05123D */ jal func_801448F4 +/* 167540 80246CE0 0C05123D */ jal free_icon /* 167544 80246CE4 26310001 */ addiu $s1, $s1, 1 /* 167548 80246CE8 2A220014 */ slti $v0, $s1, 0x14 /* 16754C 80246CEC 1440FFFA */ bnez $v0, .L80246CD8 @@ -4705,7 +4705,7 @@ func_80246DEC: /* 167738 80246ED8 24020003 */ addiu $v0, $zero, 3 /* 16773C 80246EDC AFA00010 */ sw $zero, 0x10($sp) /* 167740 80246EE0 AFA20018 */ sw $v0, 0x18($sp) -/* 167744 80246EE4 0C049DA7 */ jal func_8012769C +/* 167744 80246EE4 0C049DA7 */ jal draw_number /* 167748 80246EE8 24840001 */ addiu $a0, $a0, 1 /* 16774C 80246EEC 0C0926A9 */ jal func_80249AA4 /* 167750 80246EF0 24040021 */ addiu $a0, $zero, 0x21 @@ -4735,7 +4735,7 @@ func_80246DEC: /* 1677AC 80246F4C 24020003 */ addiu $v0, $zero, 3 /* 1677B0 80246F50 AFA00010 */ sw $zero, 0x10($sp) /* 1677B4 80246F54 AFA20018 */ sw $v0, 0x18($sp) -/* 1677B8 80246F58 0C049DA7 */ jal func_8012769C +/* 1677B8 80246F58 0C049DA7 */ jal draw_number /* 1677BC 80246F5C 24840001 */ addiu $a0, $a0, 1 /* 1677C0 80246F60 0C0926A9 */ jal func_80249AA4 /* 1677C4 80246F64 24040017 */ addiu $a0, $zero, 0x17 @@ -4865,7 +4865,7 @@ func_80246DEC: /* 1679A0 80247140 24020003 */ addiu $v0, $zero, 3 /* 1679A4 80247144 AFA00010 */ sw $zero, 0x10($sp) /* 1679A8 80247148 AFA20018 */ sw $v0, 0x18($sp) -/* 1679AC 8024714C 0C049DA7 */ jal func_8012769C +/* 1679AC 8024714C 0C049DA7 */ jal draw_number /* 1679B0 80247150 24840001 */ addiu $a0, $a0, 1 /* 1679B4 80247154 0C0926A9 */ jal func_80249AA4 /* 1679B8 80247158 24040021 */ addiu $a0, $zero, 0x21 @@ -4971,7 +4971,7 @@ func_80247168: /* 167B28 802472C8 304200FF */ andi $v0, $v0, 0xff /* 167B2C 802472CC 10A20003 */ beq $a1, $v0, .L802472DC /* 167B30 802472D0 00000000 */ nop -/* 167B34 802472D4 0C05272D */ jal func_80149CB4 +/* 167B34 802472D4 0C05272D */ jal play_sound /* 167B38 802472D8 240400C7 */ addiu $a0, $zero, 0xc7 .L802472DC: /* 167B3C 802472DC 3C108025 */ lui $s0, 0x8025 @@ -4994,7 +4994,7 @@ func_80247168: /* 167B7C 8024731C 30428000 */ andi $v0, $v0, 0x8000 /* 167B80 80247320 10400225 */ beqz $v0, .L80247BB8 /* 167B84 80247324 00000000 */ nop -/* 167B88 80247328 0C05272D */ jal func_80149CB4 +/* 167B88 80247328 0C05272D */ jal play_sound /* 167B8C 8024732C 240400C9 */ addiu $a0, $zero, 0xc9 /* 167B90 80247330 92430003 */ lbu $v1, 3($s2) /* 167B94 80247334 10600005 */ beqz $v1, .L8024734C @@ -5107,7 +5107,7 @@ func_80247440: /* 167D1C 802474BC 00431021 */ addu $v0, $v0, $v1 /* 167D20 802474C0 A0400006 */ sb $zero, 6($v0) /* 167D24 802474C4 AC400000 */ sw $zero, ($v0) -/* 167D28 802474C8 0C00AD0B */ jal func_8002B42C +/* 167D28 802474C8 0C00AD0B */ jal fio_erase_game /* 167D2C 802474CC A0400004 */ sb $zero, 4($v0) /* 167D30 802474D0 3C018007 */ lui $at, 0x8007 /* 167D34 802474D4 00300821 */ addu $at, $at, $s0 @@ -5184,7 +5184,7 @@ func_802475B8: /* 167E34 802475D4 24040032 */ addiu $a0, $zero, 0x32 /* 167E38 802475D8 3C118025 */ lui $s1, 0x8025 /* 167E3C 802475DC 2631C094 */ addiu $s1, $s1, -0x3f6c -/* 167E40 802475E0 0C00ACB4 */ jal func_8002B2D0 +/* 167E40 802475E0 0C00ACB4 */ jal fio_load_game /* 167E44 802475E4 8E240000 */ lw $a0, ($s1) /* 167E48 802475E8 3C108025 */ lui $s0, 0x8025 /* 167E4C 802475EC 2610C080 */ addiu $s0, $s0, -0x3f80 @@ -5212,7 +5212,7 @@ func_802475B8: /* 167EA4 80247644 8C480010 */ lw $t0, 0x10($v0) /* 167EA8 80247648 8C490014 */ lw $t1, 0x14($v0) /* 167EAC 8024764C AC680010 */ sw $t0, 0x10($v1) -/* 167EB0 80247650 0C00ACDD */ jal func_8002B374 +/* 167EB0 80247650 0C00ACDD */ jal fio_save_game /* 167EB4 80247654 AC690014 */ sw $t1, 0x14($v1) /* 167EB8 80247658 8E030000 */ lw $v1, ($s0) /* 167EBC 8024765C 08091DF9 */ j func_802477E4 @@ -5315,7 +5315,7 @@ func_80247738: /* 168024 802477C4 AC680010 */ sw $t0, 0x10($v1) /* 168028 802477C8 AC690014 */ sw $t1, 0x14($v1) /* 16802C 802477CC 8E020000 */ lw $v0, ($s0) -/* 168030 802477D0 0C00ACDD */ jal func_8002B374 +/* 168030 802477D0 0C00ACDD */ jal fio_save_game /* 168034 802477D4 90440003 */ lbu $a0, 3($v0) /* 168038 802477D8 8E020000 */ lw $v0, ($s0) /* 16803C 802477DC 90430003 */ lbu $v1, 3($v0) @@ -5327,9 +5327,9 @@ func_802477E4: /* 168050 802477F0 08091EEE */ j func_80247BB8 /* 168054 802477F4 00000000 */ nop -/* 168058 802477F8 0C039CE8 */ jal func_800E73A0 +/* 168058 802477F8 0C039CE8 */ jal clear_player_data /* 16805C 802477FC 00000000 */ nop -/* 168060 80247800 0C0514C8 */ jal func_80145320 +/* 168060 80247800 0C0514C8 */ jal clear_saved_variables /* 168064 80247804 00000000 */ nop /* 168068 80247808 0000202D */ daddu $a0, $zero, $zero /* 16806C 8024780C 3C05F5DE */ lui $a1, 0xf5de @@ -5340,7 +5340,7 @@ func_802477E4: /* 168080 80247820 2402000B */ addiu $v0, $zero, 0xb /* 168084 80247824 A4600086 */ sh $zero, 0x86($v1) /* 168088 80247828 A462008C */ sh $v0, 0x8c($v1) -/* 16808C 8024782C 0C0B2026 */ jal func_802C8098 +/* 16808C 8024782C 0C0B2026 */ jal set_variable /* 168090 80247830 A460008E */ sh $zero, 0x8e($v1) /* 168094 80247834 0000202D */ daddu $a0, $zero, $zero /* 168098 80247838 3C028025 */ lui $v0, 0x8025 @@ -5363,7 +5363,7 @@ func_802477E4: /* 1680D8 80247878 28820008 */ slti $v0, $a0, 8 /* 1680DC 8024787C 1440FFF9 */ bnez $v0, .L80247864 /* 1680E0 80247880 00851021 */ addu $v0, $a0, $a1 -/* 1680E4 80247884 0C00ACDD */ jal func_8002B374 +/* 1680E4 80247884 0C00ACDD */ jal fio_save_game /* 1680E8 80247888 0220202D */ daddu $a0, $s1, $zero /* 1680EC 8024788C 24040030 */ addiu $a0, $zero, 0x30 /* 1680F0 80247890 3C108024 */ lui $s0, 0x8024 @@ -5498,12 +5498,12 @@ func_80247A2C: /* 1682D8 80247A78 00C31023 */ subu $v0, $a2, $v1 .L80247A7C: /* 1682DC 80247A7C ACA20038 */ sw $v0, 0x38($a1) -/* 1682E0 80247A80 0C00AC13 */ jal func_8002B04C +/* 1682E0 80247A80 0C00AC13 */ jal fio_flush_backups /* 1682E4 80247A84 ACB0003C */ sw $s0, 0x3c($a1) .L80247A88: -/* 1682E8 80247A88 0C00ACB4 */ jal func_8002B2D0 +/* 1682E8 80247A88 0C00ACB4 */ jal fio_load_game /* 1682EC 80247A8C 0200202D */ daddu $a0, $s0, $zero -/* 1682F0 80247A90 0C00CD3C */ jal func_800334F0 +/* 1682F0 80247A90 0C00CD3C */ jal set_game_mode /* 1682F4 80247A94 2404000F */ addiu $a0, $zero, 0xf /* 1682F8 80247A98 08091EEE */ j func_80247BB8 /* 1682FC 80247A9C 00000000 */ nop @@ -5589,7 +5589,7 @@ func_80247BB8: /* 168420 80247BC0 30424000 */ andi $v0, $v0, 0x4000 /* 168424 80247BC4 1040004D */ beqz $v0, .L80247CFC /* 168428 80247BC8 00000000 */ nop -/* 16842C 80247BCC 0C05272D */ jal func_80149CB4 +/* 16842C 80247BCC 0C05272D */ jal play_sound /* 168430 80247BD0 240400CA */ addiu $a0, $zero, 0xca /* 168434 80247BD4 0240202D */ daddu $a0, $s2, $zero /* 168438 80247BD8 0000282D */ daddu $a1, $zero, $zero @@ -5736,7 +5736,7 @@ func_80247CF4: /* 168640 80247DE0 24020003 */ addiu $v0, $zero, 3 /* 168644 80247DE4 AFA00010 */ sw $zero, 0x10($sp) /* 168648 80247DE8 AFA20018 */ sw $v0, 0x18($sp) -/* 16864C 80247DEC 0C049DA7 */ jal func_8012769C +/* 16864C 80247DEC 0C049DA7 */ jal draw_number /* 168650 80247DF0 24840001 */ addiu $a0, $a0, 1 /* 168654 80247DF4 08091FE0 */ j func_80247F80 /* 168658 80247DF8 2404001B */ addiu $a0, $zero, 0x1b @@ -5772,7 +5772,7 @@ func_80247CF4: /* 1686C8 80247E68 AFA00010 */ sw $zero, 0x10($sp) /* 1686CC 80247E6C AFB30014 */ sw $s3, 0x14($sp) /* 1686D0 80247E70 AFB10018 */ sw $s1, 0x18($sp) -/* 1686D4 80247E74 0C049DA7 */ jal func_8012769C +/* 1686D4 80247E74 0C049DA7 */ jal draw_number /* 1686D8 80247E78 24840001 */ addiu $a0, $a0, 1 /* 1686DC 80247E7C 0C0926A9 */ jal func_80249AA4 /* 1686E0 80247E80 2404001E */ addiu $a0, $zero, 0x1e @@ -5801,7 +5801,7 @@ func_80247CF4: /* 16873C 80247EDC AFA00010 */ sw $zero, 0x10($sp) /* 168740 80247EE0 AFB30014 */ sw $s3, 0x14($sp) /* 168744 80247EE4 AFB10018 */ sw $s1, 0x18($sp) -/* 168748 80247EE8 0C049DA7 */ jal func_8012769C +/* 168748 80247EE8 0C049DA7 */ jal draw_number /* 16874C 80247EEC 24840001 */ addiu $a0, $a0, 1 /* 168750 80247EF0 0C0926A9 */ jal func_80249AA4 /* 168754 80247EF4 24040022 */ addiu $a0, $zero, 0x22 @@ -5840,7 +5840,7 @@ func_80247CF4: /* 1687C8 80247F68 AFA00010 */ sw $zero, 0x10($sp) /* 1687CC 80247F6C AFA20014 */ sw $v0, 0x14($sp) /* 1687D0 80247F70 AFB10018 */ sw $s1, 0x18($sp) -/* 1687D4 80247F74 0C049DA7 */ jal func_8012769C +/* 1687D4 80247F74 0C049DA7 */ jal draw_number /* 1687D8 80247F78 24840001 */ addiu $a0, $a0, 1 /* 1687DC 80247F7C 2404001F */ addiu $a0, $zero, 0x1f func_80247F80: @@ -6048,7 +6048,7 @@ func_80248144: .L80248248: /* 168AA8 80248248 8E440004 */ lw $a0, 4($s2) /* 168AAC 8024824C 02712821 */ addu $a1, $s3, $s1 -/* 168AB0 80248250 0C051261 */ jal func_80144984 +/* 168AB0 80248250 0C051261 */ jal set_icon_render_pos /* 168AB4 80248254 02953021 */ addu $a2, $s4, $s5 /* 168AB8 80248258 16000006 */ bnez $s0, .L80248274 /* 168ABC 8024825C 00000000 */ nop @@ -6060,7 +6060,7 @@ func_80248144: .L80248274: /* 168AD4 80248274 8E440004 */ lw $a0, 4($s2) -/* 168AD8 80248278 0C0511F1 */ jal func_801447C4 +/* 168AD8 80248278 0C0511F1 */ jal draw_icon_1 /* 168ADC 8024827C 2631000B */ addiu $s1, $s1, 0xb /* 168AE0 80248280 26100001 */ addiu $s0, $s0, 1 func_80248284: @@ -6085,10 +6085,10 @@ func_80248284: /* 168B28 802482C8 3C108025 */ lui $s0, 0x8025 /* 168B2C 802482CC 2610C100 */ addiu $s0, $s0, -0x3f00 /* 168B30 802482D0 8E040000 */ lw $a0, ($s0) -/* 168B34 802482D4 0C051261 */ jal func_80144984 +/* 168B34 802482D4 0C051261 */ jal set_icon_render_pos /* 168B38 802482D8 2686002D */ addiu $a2, $s4, 0x2d /* 168B3C 802482DC 8E040000 */ lw $a0, ($s0) -/* 168B40 802482E0 0C0511F1 */ jal func_801447C4 +/* 168B40 802482E0 0C0511F1 */ jal draw_icon_1 /* 168B44 802482E4 00000000 */ nop .L802482E8: /* 168B48 802482E8 8FBF0038 */ lw $ra, 0x38($sp) @@ -6317,7 +6317,7 @@ func_802485F4: /* 168E94 80248634 AFA9004C */ sw $t1, 0x4c($sp) /* 168E98 80248638 AFAA0050 */ sw $t2, 0x50($sp) /* 168E9C 8024863C 01723021 */ addu $a2, $t3, $s2 -/* 168EA0 80248640 0C051261 */ jal func_80144984 +/* 168EA0 80248640 0C051261 */ jal set_icon_render_pos /* 168EA4 80248644 24C60008 */ addiu $a2, $a2, 8 /* 168EA8 80248648 3C048025 */ lui $a0, 0x8025 /* 168EAC 8024864C 8C84C108 */ lw $a0, -0x3ef8($a0) @@ -6512,7 +6512,7 @@ func_802488C0: /* 169158 802488F8 24A50016 */ addiu $a1, $a1, 0x16 /* 16915C 802488FC AFA9004C */ sw $t1, 0x4c($sp) /* 169160 80248900 01723021 */ addu $a2, $t3, $s2 -/* 169164 80248904 0C051261 */ jal func_80144984 +/* 169164 80248904 0C051261 */ jal set_icon_render_pos /* 169168 80248908 24C60008 */ addiu $a2, $a2, 8 /* 16916C 8024890C 3C048025 */ lui $a0, 0x8025 /* 169170 80248910 8C84C108 */ lw $a0, -0x3ef8($a0) @@ -6636,11 +6636,11 @@ func_802489C8: .L80248AB0: /* 169310 80248AB0 8E240000 */ lw $a0, ($s1) /* 169314 80248AB4 26310004 */ addiu $s1, $s1, 4 -/* 169318 80248AB8 0C050529 */ jal func_801414A4 +/* 169318 80248AB8 0C050529 */ jal create_icon /* 16931C 80248ABC 26100001 */ addiu $s0, $s0, 1 /* 169320 80248AC0 0040202D */ daddu $a0, $v0, $zero /* 169324 80248AC4 24050080 */ addiu $a1, $zero, 0x80 -/* 169328 80248AC8 0C051280 */ jal func_80144A00 +/* 169328 80248AC8 0C051280 */ jal set_icon_flags /* 16932C 80248ACC AE440000 */ sw $a0, ($s2) /* 169330 80248AD0 2A020003 */ slti $v0, $s0, 3 /* 169334 80248AD4 1440FFF6 */ bnez $v0, .L80248AB0 @@ -6868,7 +6868,7 @@ func_80248D94: /* 169644 80248DE4 304200FF */ andi $v0, $v0, 0xff /* 169648 80248DE8 10A20003 */ beq $a1, $v0, .L80248DF8 /* 16964C 80248DEC 00000000 */ nop -/* 169650 80248DF0 0C05272D */ jal func_80149CB4 +/* 169650 80248DF0 0C05272D */ jal play_sound /* 169654 80248DF4 24042102 */ addiu $a0, $zero, 0x2102 .L80248DF8: /* 169658 80248DF8 3C028025 */ lui $v0, 0x8025 @@ -6886,7 +6886,7 @@ func_80248D94: /* 169688 80248E28 8C22C060 */ lw $v0, -0x3fa0($at) /* 16968C 80248E2C 00400008 */ jr $v0 /* 169690 80248E30 00000000 */ nop -/* 169694 80248E34 0C05272D */ jal func_80149CB4 +/* 169694 80248E34 0C05272D */ jal play_sound /* 169698 80248E38 24042103 */ addiu $a0, $zero, 0x2103 /* 16969C 80248E3C 3C048025 */ lui $a0, 0x8025 /* 1696A0 80248E40 2484C090 */ addiu $a0, $a0, -0x3f70 @@ -6904,7 +6904,7 @@ func_80248D94: /* 1696C8 80248E68 24110001 */ addiu $s1, $zero, 1 /* 1696CC 80248E6C 10510071 */ beq $v0, $s1, .L80249034 /* 1696D0 80248E70 00000000 */ nop -/* 1696D4 80248E74 0C05272D */ jal func_80149CB4 +/* 1696D4 80248E74 0C05272D */ jal play_sound /* 1696D8 80248E78 24042105 */ addiu $a0, $zero, 0x2105 /* 1696DC 80248E7C 82050001 */ lb $a1, 1($s0) /* 1696E0 80248E80 82060002 */ lb $a2, 2($s0) @@ -6915,7 +6915,7 @@ func_80248D94: /* 1696F0 80248E90 82020004 */ lb $v0, 4($s0) /* 1696F4 80248E94 10400067 */ beqz $v0, .L80249034 /* 1696F8 80248E98 00000000 */ nop -/* 1696FC 80248E9C 0C05272D */ jal func_80149CB4 +/* 1696FC 80248E9C 0C05272D */ jal play_sound /* 169700 80248EA0 24042105 */ addiu $a0, $zero, 0x2105 /* 169704 80248EA4 82050001 */ lb $a1, 1($s0) /* 169708 80248EA8 82060002 */ lb $a2, 2($s0) @@ -6948,13 +6948,13 @@ func_80248EB4: .L80248F08: /* 169768 80248F08 14620005 */ bne $v1, $v0, .L80248F20 /* 16976C 80248F0C 00000000 */ nop -/* 169770 80248F10 0C05272D */ jal func_80149CB4 +/* 169770 80248F10 0C05272D */ jal play_sound /* 169774 80248F14 2404021D */ addiu $a0, $zero, 0x21d /* 169778 80248F18 0809240D */ j func_80249034 /* 16977C 80248F1C 00000000 */ nop .L80248F20: -/* 169780 80248F20 0C05272D */ jal func_80149CB4 +/* 169780 80248F20 0C05272D */ jal play_sound /* 169784 80248F24 240400C9 */ addiu $a0, $zero, 0xc9 /* 169788 80248F28 3C058024 */ lui $a1, 0x8024 /* 16978C 80248F2C 24A53CCC */ addiu $a1, $a1, 0x3ccc @@ -7003,7 +7003,7 @@ func_80248F9C: /* 16982C 80248FCC 2403004E */ addiu $v1, $zero, 0x4e .L80248FD0: -/* 169830 80248FD0 0C05272D */ jal func_80149CB4 +/* 169830 80248FD0 0C05272D */ jal play_sound /* 169834 80248FD4 24042103 */ addiu $a0, $zero, 0x2103 /* 169838 80248FD8 3C048025 */ lui $a0, 0x8025 /* 16983C 80248FDC 2484C090 */ addiu $a0, $a0, -0x3f70 @@ -7060,7 +7060,7 @@ func_80249034: /* 1698F0 80249090 14620048 */ bne $v1, $v0, .L802491B4 /* 1698F4 80249094 00000000 */ nop .L80249098: -/* 1698F8 80249098 0C05272D */ jal func_80149CB4 +/* 1698F8 80249098 0C05272D */ jal play_sound /* 1698FC 8024909C 24042104 */ addiu $a0, $zero, 0x2104 /* 169900 802490A0 3C038025 */ lui $v1, 0x8025 /* 169904 802490A4 2463C090 */ addiu $v1, $v1, -0x3f70 @@ -7156,13 +7156,13 @@ func_80249034: .L802491F8: /* 169A58 802491F8 14620005 */ bne $v1, $v0, .L80249210 /* 169A5C 802491FC 00000000 */ nop -/* 169A60 80249200 0C05272D */ jal func_80149CB4 +/* 169A60 80249200 0C05272D */ jal play_sound /* 169A64 80249204 2404021D */ addiu $a0, $zero, 0x21d /* 169A68 80249208 080924C4 */ j func_80249310 /* 169A6C 8024920C 00000000 */ nop .L80249210: -/* 169A70 80249210 0C05272D */ jal func_80149CB4 +/* 169A70 80249210 0C05272D */ jal play_sound /* 169A74 80249214 240400C9 */ addiu $a0, $zero, 0xc9 /* 169A78 80249218 3C058024 */ lui $a1, 0x8024 /* 169A7C 8024921C 24A53CCC */ addiu $a1, $a1, 0x3ccc @@ -7254,7 +7254,7 @@ func_80249310: .L80249348: /* 169BA8 80249348 8E040000 */ lw $a0, ($s0) /* 169BAC 8024934C 26100004 */ addiu $s0, $s0, 4 -/* 169BB0 80249350 0C05123D */ jal func_801448F4 +/* 169BB0 80249350 0C05123D */ jal free_icon /* 169BB4 80249354 26310001 */ addiu $s1, $s1, 1 /* 169BB8 80249358 2A220003 */ slti $v0, $s1, 3 /* 169BBC 8024935C 1440FFFA */ bnez $v0, .L80249348 diff --git a/papermario/asm/CODE_316f30.s b/papermario/asm/CODE_316f30.s index 5214bda781..4920c6936a 100644 --- a/papermario/asm/CODE_316f30.s +++ b/papermario/asm/CODE_316f30.s @@ -10,7 +10,7 @@ func_802B2000: /* 316F44 802B2014 3C068020 */ lui $a2, 0x8020 /* 316F48 802B2018 24C60000 */ addiu $a2, $a2, 0 /* 316F4C 802B201C AFBF0010 */ sw $ra, 0x10($sp) -/* 316F50 802B2020 0C00A5CF */ jal func_8002973C +/* 316F50 802B2020 0C00A5CF */ jal dma_copy /* 316F54 802B2024 00000000 */ nop /* 316F58 802B2028 0C080000 */ jal func_80200000 /* 316F5C 802B202C 00000000 */ nop @@ -27,7 +27,7 @@ func_802B203C: /* 316F80 802B2050 3C068020 */ lui $a2, 0x8020 /* 316F84 802B2054 24C60080 */ addiu $a2, $a2, 0x80 /* 316F88 802B2058 AFBF0010 */ sw $ra, 0x10($sp) -/* 316F8C 802B205C 0C00A5CF */ jal func_8002973C +/* 316F8C 802B205C 0C00A5CF */ jal dma_copy /* 316F90 802B2060 00000000 */ nop /* 316F94 802B2064 0C080020 */ jal func_80200080 /* 316F98 802B2068 00000000 */ nop @@ -44,7 +44,7 @@ func_802B2078: /* 316FBC 802B208C 3C06802B */ lui $a2, 0x802b /* 316FC0 802B2090 24C6E000 */ addiu $a2, $a2, -0x2000 /* 316FC4 802B2094 AFBF0010 */ sw $ra, 0x10($sp) -/* 316FC8 802B2098 0C00A5CF */ jal func_8002973C +/* 316FC8 802B2098 0C00A5CF */ jal dma_copy /* 316FCC 802B209C 00000000 */ nop /* 316FD0 802B20A0 0C0AB800 */ jal func_802AE000 /* 316FD4 802B20A4 00000000 */ nop @@ -61,7 +61,7 @@ func_802B20B4: /* 316FF8 802B20C8 3C06802B */ lui $a2, 0x802b /* 316FFC 802B20CC 24C6E000 */ addiu $a2, $a2, -0x2000 /* 317000 802B20D0 AFBF0010 */ sw $ra, 0x10($sp) -/* 317004 802B20D4 0C00A5CF */ jal func_8002973C +/* 317004 802B20D4 0C00A5CF */ jal dma_copy /* 317008 802B20D8 00000000 */ nop /* 31700C 802B20DC 0C0AB800 */ jal func_802AE000 /* 317010 802B20E0 00000000 */ nop diff --git a/papermario/asm/CODE_7e0e80.s b/papermario/asm/CODE_7e0e80.s index cbb40e1de7..b2255f39d3 100644 --- a/papermario/asm/CODE_7e0e80.s +++ b/papermario/asm/CODE_7e0e80.s @@ -17,7 +17,7 @@ func_80280000: /* 7E0EB0 80280030 24843E80 */ addiu $a0, $a0, 0x3e80 /* 7E0EB4 80280034 00431021 */ addu $v0, $v0, $v1 /* 7E0EB8 80280038 8C500000 */ lw $s0, ($v0) -/* 7E0EBC 8028003C 0C0B0CF8 */ jal func_802C33E0 +/* 7E0EBC 8028003C 0C0B0CF8 */ jal start_script /* 7E0EC0 80280040 0000302D */ daddu $a2, $zero, $zero /* 7E0EC4 80280044 0040202D */ daddu $a0, $v0, $zero /* 7E0EC8 80280048 AC900084 */ sw $s0, 0x84($a0) @@ -55,14 +55,14 @@ func_80280088: /* 7E0F40 802800C0 8C630018 */ lw $v1, 0x18($v1) /* 7E0F44 802800C4 00431021 */ addu $v0, $v0, $v1 /* 7E0F48 802800C8 8C530000 */ lw $s3, ($v0) -/* 7E0F4C 802800CC 0C0496CF */ jal func_80125B3C +/* 7E0F4C 802800CC 0C0496CF */ jal set_message_string /* 7E0F50 802800D0 0000282D */ daddu $a1, $zero, $zero /* 7E0F54 802800D4 0240202D */ daddu $a0, $s2, $zero -/* 7E0F58 802800D8 0C0496FA */ jal func_80125BE8 +/* 7E0F58 802800D8 0C0496FA */ jal set_message_value /* 7E0F5C 802800DC 24050001 */ addiu $a1, $zero, 1 /* 7E0F60 802800E0 1A200005 */ blez $s1, .L802800F8 /* 7E0F64 802800E4 0220202D */ daddu $a0, $s1, $zero -/* 7E0F68 802800E8 0C0496FA */ jal func_80125BE8 +/* 7E0F68 802800E8 0C0496FA */ jal set_message_value /* 7E0F6C 802800EC 24050002 */ addiu $a1, $zero, 2 /* 7E0F70 802800F0 080A0047 */ j func_8028011C /* 7E0F74 802800F4 00000000 */ nop @@ -76,13 +76,13 @@ func_80280088: /* 7E0F8C 8028010C 3C048015 */ lui $a0, 0x8015 /* 7E0F90 80280110 2484C294 */ addiu $a0, $a0, -0x3d6c .L80280114: -/* 7E0F94 80280114 0C0496CF */ jal func_80125B3C +/* 7E0F94 80280114 0C0496CF */ jal set_message_string /* 7E0F98 80280118 24050002 */ addiu $a1, $zero, 2 func_8028011C: /* 7E0F9C 8028011C 3C048028 */ lui $a0, 0x8028 /* 7E0FA0 80280120 24843E80 */ addiu $a0, $a0, 0x3e80 /* 7E0FA4 80280124 24050001 */ addiu $a1, $zero, 1 -/* 7E0FA8 80280128 0C0B0CF8 */ jal func_802C33E0 +/* 7E0FA8 80280128 0C0B0CF8 */ jal start_script /* 7E0FAC 8028012C 0000302D */ daddu $a2, $zero, $zero /* 7E0FB0 80280130 0040202D */ daddu $a0, $v0, $zero /* 7E0FB4 80280134 AC930084 */ sw $s3, 0x84($a0) @@ -120,7 +120,7 @@ func_8028017C: /* 7E102C 802801AC 24843EB0 */ addiu $a0, $a0, 0x3eb0 /* 7E1030 802801B0 00431021 */ addu $v0, $v0, $v1 /* 7E1034 802801B4 8C500000 */ lw $s0, ($v0) -/* 7E1038 802801B8 0C0B0CF8 */ jal func_802C33E0 +/* 7E1038 802801B8 0C0B0CF8 */ jal start_script /* 7E103C 802801BC 0000302D */ daddu $a2, $zero, $zero /* 7E1040 802801C0 0040202D */ daddu $a0, $v0, $zero /* 7E1044 802801C4 AC900084 */ sw $s0, 0x84($a0) @@ -157,7 +157,7 @@ func_80280208: /* 7E10B8 80280238 8C630018 */ lw $v1, 0x18($v1) /* 7E10BC 8028023C 00431021 */ addu $v0, $v0, $v1 /* 7E10C0 80280240 8C520000 */ lw $s2, ($v0) -/* 7E10C4 80280244 0C0496FA */ jal func_80125BE8 +/* 7E10C4 80280244 0C0496FA */ jal set_message_value /* 7E10C8 80280248 0200202D */ daddu $a0, $s0, $zero /* 7E10CC 8028024C 3C048015 */ lui $a0, 0x8015 /* 7E10D0 80280250 2484C290 */ addiu $a0, $a0, -0x3d70 @@ -167,12 +167,12 @@ func_80280208: /* 7E10E0 80280260 3C048015 */ lui $a0, 0x8015 /* 7E10E4 80280264 2484C294 */ addiu $a0, $a0, -0x3d6c .L80280268: -/* 7E10E8 80280268 0C0496CF */ jal func_80125B3C +/* 7E10E8 80280268 0C0496CF */ jal set_message_string /* 7E10EC 8028026C 24050001 */ addiu $a1, $zero, 1 /* 7E10F0 80280270 3C048028 */ lui $a0, 0x8028 /* 7E10F4 80280274 24843EB0 */ addiu $a0, $a0, 0x3eb0 /* 7E10F8 80280278 24050001 */ addiu $a1, $zero, 1 -/* 7E10FC 8028027C 0C0B0CF8 */ jal func_802C33E0 +/* 7E10FC 8028027C 0C0B0CF8 */ jal start_script /* 7E1100 80280280 0000302D */ daddu $a2, $zero, $zero /* 7E1104 80280284 0040202D */ daddu $a0, $v0, $zero /* 7E1108 80280288 AC920084 */ sw $s2, 0x84($a0) @@ -210,7 +210,7 @@ func_802802D0: /* 7E1180 80280300 24843EE0 */ addiu $a0, $a0, 0x3ee0 /* 7E1184 80280304 00431021 */ addu $v0, $v0, $v1 /* 7E1188 80280308 8C500000 */ lw $s0, ($v0) -/* 7E118C 8028030C 0C0B0CF8 */ jal func_802C33E0 +/* 7E118C 8028030C 0C0B0CF8 */ jal start_script /* 7E1190 80280310 0000302D */ daddu $a2, $zero, $zero /* 7E1194 80280314 0040202D */ daddu $a0, $v0, $zero /* 7E1198 80280318 AC900084 */ sw $s0, 0x84($a0) @@ -241,7 +241,7 @@ func_8028035C: /* 7E11F4 80280374 AFBF0014 */ sw $ra, 0x14($sp) /* 7E11F8 80280378 AFB00010 */ sw $s0, 0x10($sp) /* 7E11FC 8028037C 8C500144 */ lw $s0, 0x144($v0) -/* 7E1200 80280380 0C0B0CF8 */ jal func_802C33E0 +/* 7E1200 80280380 0C0B0CF8 */ jal start_script /* 7E1204 80280384 0000302D */ daddu $a2, $zero, $zero /* 7E1208 80280388 8E030010 */ lw $v1, 0x10($s0) /* 7E120C 8028038C 8C630000 */ lw $v1, ($v1) @@ -292,7 +292,7 @@ func_8028035C: /* 7E12AC 8028042C 8C82000C */ lw $v0, 0xc($a0) /* 7E12B0 80280430 8E430000 */ lw $v1, ($s2) /* 7E12B4 80280434 8C450000 */ lw $a1, ($v0) -/* 7E12B8 80280438 0C0B1EAF */ jal func_802C7ABC +/* 7E12B8 80280438 0C0B1EAF */ jal get_variable /* 7E12BC 8028043C 8C700144 */ lw $s0, 0x144($v1) /* 7E12C0 80280440 96030000 */ lhu $v1, ($s0) /* 7E12C4 80280444 30630008 */ andi $v1, $v1, 8 @@ -312,12 +312,12 @@ func_8028035C: /* 7E12FC 8028047C 24020002 */ addiu $v0, $zero, 2 /* 7E1300 80280480 0C03805E */ jal func_800E0178 /* 7E1304 80280484 00000000 */ nop -/* 7E1308 80280488 0C038045 */ jal func_800E0114 +/* 7E1308 80280488 0C038045 */ jal enable_player_physics /* 7E130C 8028048C 00000000 */ nop /* 7E1310 80280490 3C048028 */ lui $a0, 0x8028 /* 7E1314 80280494 24844034 */ addiu $a0, $a0, 0x4034 /* 7E1318 80280498 24050001 */ addiu $a1, $zero, 1 -/* 7E131C 8028049C 0C0B0CF8 */ jal func_802C33E0 +/* 7E131C 8028049C 0C0B0CF8 */ jal start_script /* 7E1320 802804A0 0000302D */ daddu $a2, $zero, $zero /* 7E1324 802804A4 0040182D */ daddu $v1, $v0, $zero /* 7E1328 802804A8 8C650144 */ lw $a1, 0x144($v1) @@ -334,13 +334,13 @@ func_8028035C: .L802804D4: /* 7E1354 802804D4 3C048028 */ lui $a0, 0x8028 -/* 7E1358 802804D8 0C0B1059 */ jal func_802C4164 +/* 7E1358 802804D8 0C0B1059 */ jal does_script_exist /* 7E135C 802804DC 8C846524 */ lw $a0, 0x6524($a0) /* 7E1360 802804E0 54400008 */ bnezl $v0, .L80280504 /* 7E1364 802804E4 0000102D */ daddu $v0, $zero, $zero /* 7E1368 802804E8 96020000 */ lhu $v0, ($s0) /* 7E136C 802804EC 3042FFF7 */ andi $v0, $v0, 0xfff7 -/* 7E1370 802804F0 0C038050 */ jal func_800E0140 +/* 7E1370 802804F0 0C038050 */ jal disable_player_physics /* 7E1374 802804F4 A6020000 */ sh $v0, ($s0) /* 7E1378 802804F8 0C038069 */ jal func_800E01A4 /* 7E137C 802804FC 00000000 */ nop @@ -408,11 +408,11 @@ func_80280504: /* 7E1464 802805E4 0C0A0022 */ jal func_80280088 /* 7E1468 802805E8 0000202D */ daddu $a0, $zero, $zero /* 7E146C 802805EC AE620074 */ sw $v0, 0x74($s3) -/* 7E1470 802805F0 0C03A6D5 */ jal func_800E9B54 +/* 7E1470 802805F0 0C03A6D5 */ jal increment_status_menu_disabled /* 7E1474 802805F4 AE600070 */ sw $zero, 0x70($s3) /* 7E1478 802805F8 0C03A640 */ jal func_800E9900 /* 7E147C 802805FC 00000000 */ nop -/* 7E1480 80280600 0C03A546 */ jal func_800E9518 +/* 7E1480 80280600 0C03A546 */ jal show_coin_counter /* 7E1484 80280604 00000000 */ nop .L80280608: /* 7E1488 80280608 8E630070 */ lw $v1, 0x70($s3) @@ -457,7 +457,7 @@ func_80280504: /* 7E150C 8028068C 00000000 */ nop .L80280690: -/* 7E1510 80280690 0C0B1059 */ jal func_802C4164 +/* 7E1510 80280690 0C0B1059 */ jal does_script_exist /* 7E1514 80280694 8E640074 */ lw $a0, 0x74($s3) /* 7E1518 80280698 144000A4 */ bnez $v0, .L8028092C /* 7E151C 8028069C 0000102D */ daddu $v0, $zero, $zero @@ -466,7 +466,7 @@ func_80280504: /* 7E1528 802806A8 26650078 */ addiu $a1, $s3, 0x78 /* 7E152C 802806AC 24020064 */ addiu $v0, $zero, 0x64 /* 7E1530 802806B0 AE620070 */ sw $v0, 0x70($s3) -/* 7E1534 802806B4 0C049640 */ jal func_80125900 +/* 7E1534 802806B4 0C049640 */ jal load_string /* 7E1538 802806B8 AE600078 */ sw $zero, 0x78($s3) /* 7E153C 802806BC 3C018028 */ lui $at, 0x8028 /* 7E1540 802806C0 AC226528 */ sw $v0, 0x6528($at) @@ -500,7 +500,7 @@ func_80280504: /* 7E15A0 80280720 2C420075 */ sltiu $v0, $v0, 0x75 /* 7E15A4 80280724 1440000C */ bnez $v0, .L80280758 /* 7E15A8 80280728 00000000 */ nop -/* 7E15AC 8028072C 0C039D5D */ jal func_800E7574 +/* 7E15AC 8028072C 0C039D5D */ jal add_item /* 7E15B0 80280730 0000202D */ daddu $a0, $zero, $zero /* 7E15B4 80280734 2403FFFF */ addiu $v1, $zero, -1 /* 7E15B8 80280738 14430007 */ bne $v0, $v1, .L80280758 @@ -522,18 +522,18 @@ func_80280504: /* 7E15F0 80280770 2C420075 */ sltiu $v0, $v0, 0x75 /* 7E15F4 80280774 1040000A */ beqz $v0, .L802807A0 /* 7E15F8 80280778 00000000 */ nop -/* 7E15FC 8028077C 0C039DCF */ jal func_800E773C +/* 7E15FC 8028077C 0C039DCF */ jal add_badge /* 7E1600 80280780 00000000 */ nop /* 7E1604 80280784 0000202D */ daddu $a0, $zero, $zero /* 7E1608 80280788 3C05F840 */ lui $a1, 0xf840 /* 7E160C 8028078C 34A55CF0 */ ori $a1, $a1, 0x5cf0 -/* 7E1610 80280790 0C0B2026 */ jal func_802C8098 +/* 7E1610 80280790 0C0B2026 */ jal set_variable /* 7E1614 80280794 24060001 */ addiu $a2, $zero, 1 /* 7E1618 80280798 080A01EA */ j func_802807A8 /* 7E161C 8028079C 00000000 */ nop .L802807A0: -/* 7E1620 802807A0 0C039D5D */ jal func_800E7574 +/* 7E1620 802807A0 0C039D5D */ jal add_item /* 7E1624 802807A4 00000000 */ nop func_802807A8: /* 7E1628 802807A8 0C0A005F */ jal func_8028017C @@ -553,7 +553,7 @@ func_802807A8: .L802807D8: /* 7E1658 802807D8 8E640074 */ lw $a0, 0x74($s3) -/* 7E165C 802807DC 0C0B1059 */ jal func_802C4164 +/* 7E165C 802807DC 0C0B1059 */ jal does_script_exist /* 7E1660 802807E0 00000000 */ nop /* 7E1664 802807E4 14400051 */ bnez $v0, .L8028092C /* 7E1668 802807E8 0000102D */ daddu $v0, $zero, $zero @@ -565,7 +565,7 @@ func_802807A8: .L80280800: /* 7E1680 80280800 8E640074 */ lw $a0, 0x74($s3) -/* 7E1684 80280804 0C0B1059 */ jal func_802C4164 +/* 7E1684 80280804 0C0B1059 */ jal does_script_exist /* 7E1688 80280808 00000000 */ nop /* 7E168C 8028080C 14400047 */ bnez $v0, .L8028092C /* 7E1690 80280810 0000102D */ daddu $v0, $zero, $zero @@ -577,7 +577,7 @@ func_802807A8: .L80280828: /* 7E16A8 80280828 8E640074 */ lw $a0, 0x74($s3) -/* 7E16AC 8028082C 0C0B1059 */ jal func_802C4164 +/* 7E16AC 8028082C 0C0B1059 */ jal does_script_exist /* 7E16B0 80280830 00000000 */ nop /* 7E16B4 80280834 1440003D */ bnez $v0, .L8028092C /* 7E16B8 80280838 0000102D */ daddu $v0, $zero, $zero @@ -595,7 +595,7 @@ func_80280850: .L80280864: /* 7E16E4 80280864 8E640074 */ lw $a0, 0x74($s3) -/* 7E16E8 80280868 0C0B1059 */ jal func_802C4164 +/* 7E16E8 80280868 0C0B1059 */ jal does_script_exist /* 7E16EC 8028086C 00000000 */ nop /* 7E16F0 80280870 1440002E */ bnez $v0, .L8028092C /* 7E16F4 80280874 0000102D */ daddu $v0, $zero, $zero @@ -618,7 +618,7 @@ func_80280850: /* 7E1730 802808B0 8C44000C */ lw $a0, 0xc($v0) /* 7E1734 802808B4 1080000B */ beqz $a0, .L802808E4 /* 7E1738 802808B8 24050001 */ addiu $a1, $zero, 1 -/* 7E173C 802808BC 0C0B0CF8 */ jal func_802C33E0 +/* 7E173C 802808BC 0C0B0CF8 */ jal start_script /* 7E1740 802808C0 0000302D */ daddu $a2, $zero, $zero /* 7E1744 802808C4 3C038028 */ lui $v1, 0x8028 /* 7E1748 802808C8 8C636534 */ lw $v1, 0x6534($v1) @@ -638,12 +638,12 @@ func_80280850: /* 7E1774 802808F4 8C42652C */ lw $v0, 0x652c($v0) /* 7E1778 802808F8 10400005 */ beqz $v0, .L80280910 /* 7E177C 802808FC 00000000 */ nop -/* 7E1780 80280900 0C0B1059 */ jal func_802C4164 +/* 7E1780 80280900 0C0B1059 */ jal does_script_exist /* 7E1784 80280904 8C440144 */ lw $a0, 0x144($v0) /* 7E1788 80280908 14400008 */ bnez $v0, .L8028092C /* 7E178C 8028090C 0000102D */ daddu $v0, $zero, $zero .L80280910: -/* 7E1790 80280910 0C03A6CC */ jal func_800E9B30 +/* 7E1790 80280910 0C03A6CC */ jal decrement_status_menu_disabled /* 7E1794 80280914 00000000 */ nop /* 7E1798 80280918 0C03A5B2 */ jal func_800E96C8 /* 7E179C 8028091C 00000000 */ nop @@ -755,7 +755,7 @@ func_80280A04: /* 7E1900 80280A80 00000000 */ nop /* 7E1904 80280A84 0C03A63B */ jal func_800E98EC /* 7E1908 80280A88 00000000 */ nop -/* 7E190C 80280A8C 0C03A5E3 */ jal func_800E978C +/* 7E190C 80280A8C 0C03A5E3 */ jal open_status_menu_short /* 7E1910 80280A90 00000000 */ nop /* 7E1914 80280A94 8FBF003C */ lw $ra, 0x3c($sp) /* 7E1918 80280A98 8FBE0038 */ lw $fp, 0x38($sp) @@ -972,7 +972,7 @@ func_80280B78: /* 7E1BE4 80280D64 00000000 */ nop .L80280D68: -/* 7E1BE8 80280D68 0C0B1059 */ jal func_802C4164 +/* 7E1BE8 80280D68 0C0B1059 */ jal does_script_exist /* 7E1BEC 80280D6C 8E240074 */ lw $a0, 0x74($s1) /* 7E1BF0 80280D70 144001A9 */ bnez $v0, .L80281418 /* 7E1BF4 80280D74 0000102D */ daddu $v0, $zero, $zero @@ -1015,7 +1015,7 @@ func_80280B78: /* 7E1C70 80280DF0 AE200070 */ sw $zero, 0x70($s1) .L80280DF4: -/* 7E1C74 80280DF4 0C039D7B */ jal func_800E75EC +/* 7E1C74 80280DF4 0C039D7B */ jal get_item_count /* 7E1C78 80280DF8 00000000 */ nop /* 7E1C7C 80280DFC 14400005 */ bnez $v0, .L80280E14 /* 7E1C80 80280E00 00000000 */ nop @@ -1033,7 +1033,7 @@ func_80280B78: /* 7E1CA8 80280E28 AE220070 */ sw $v0, 0x70($s1) .L80280E2C: -/* 7E1CAC 80280E2C 0C039D7B */ jal func_800E75EC +/* 7E1CAC 80280E2C 0C039D7B */ jal get_item_count /* 7E1CB0 80280E30 00000000 */ nop /* 7E1CB4 80280E34 14400005 */ bnez $v0, .L80280E4C /* 7E1CB8 80280E38 00000000 */ nop @@ -1043,7 +1043,7 @@ func_80280B78: /* 7E1CC8 80280E48 AE220074 */ sw $v0, 0x74($s1) .L80280E4C: -/* 7E1CCC 80280E4C 0C039E12 */ jal func_800E7848 +/* 7E1CCC 80280E4C 0C039E12 */ jal get_stored_empty_count /* 7E1CD0 80280E50 00000000 */ nop /* 7E1CD4 80280E54 14400005 */ bnez $v0, .L80280E6C /* 7E1CD8 80280E58 00000000 */ nop @@ -1053,7 +1053,7 @@ func_80280B78: /* 7E1CE8 80280E68 AE220074 */ sw $v0, 0x74($s1) .L80280E6C: -/* 7E1CEC 80280E6C 0C039E12 */ jal func_800E7848 +/* 7E1CEC 80280E6C 0C039E12 */ jal get_stored_empty_count /* 7E1CF0 80280E70 00000000 */ nop /* 7E1CF4 80280E74 2404000E */ addiu $a0, $zero, 0xe /* 7E1CF8 80280E78 0C0A0082 */ jal func_80280208 @@ -1062,7 +1062,7 @@ func_80280B78: /* 7E1D04 80280E84 AE220074 */ sw $v0, 0x74($s1) .L80280E88: -/* 7E1D08 80280E88 0C039E05 */ jal func_800E7814 +/* 7E1D08 80280E88 0C039E05 */ jal get_stored_count /* 7E1D0C 80280E8C 00000000 */ nop /* 7E1D10 80280E90 14400005 */ bnez $v0, .L80280EA8 /* 7E1D14 80280E94 00000000 */ nop @@ -1072,7 +1072,7 @@ func_80280B78: /* 7E1D24 80280EA4 AE220074 */ sw $v0, 0x74($s1) .L80280EA8: -/* 7E1D28 80280EA8 0C039D88 */ jal func_800E7620 +/* 7E1D28 80280EA8 0C039D88 */ jal get_item_empty_count /* 7E1D2C 80280EAC 00000000 */ nop /* 7E1D30 80280EB0 14400005 */ bnez $v0, .L80280EC8 /* 7E1D34 80280EB4 00000000 */ nop @@ -1097,7 +1097,7 @@ func_80280ED8: .L80280EF0: /* 7E1D70 80280EF0 8E240074 */ lw $a0, 0x74($s1) -/* 7E1D74 80280EF4 0C0B1059 */ jal func_802C4164 +/* 7E1D74 80280EF4 0C0B1059 */ jal does_script_exist /* 7E1D78 80280EF8 00000000 */ nop /* 7E1D7C 80280EFC 14400146 */ bnez $v0, .L80281418 /* 7E1D80 80280F00 0000102D */ daddu $v0, $zero, $zero @@ -1137,7 +1137,7 @@ func_80280ED8: /* 7E1DF8 80280F78 8E050000 */ lw $a1, ($s0) /* 7E1DFC 80280F7C 0C0A0022 */ jal func_80280088 /* 7E1E00 80280F80 2407FFFF */ addiu $a3, $zero, -1 -/* 7E1E04 80280F84 0C03A546 */ jal func_800E9518 +/* 7E1E04 80280F84 0C03A546 */ jal show_coin_counter /* 7E1E08 80280F88 AE220074 */ sw $v0, 0x74($s1) /* 7E1E0C 80280F8C 24020003 */ addiu $v0, $zero, 3 /* 7E1E10 80280F90 080A0505 */ j func_80281414 @@ -1151,7 +1151,7 @@ func_80280ED8: .L80280FA8: /* 7E1E28 80280FA8 8E240074 */ lw $a0, 0x74($s1) -/* 7E1E2C 80280FAC 0C0B1059 */ jal func_802C4164 +/* 7E1E2C 80280FAC 0C0B1059 */ jal does_script_exist /* 7E1E30 80280FB0 00000000 */ nop /* 7E1E34 80280FB4 14400118 */ bnez $v0, .L80281418 /* 7E1E38 80280FB8 0000102D */ daddu $v0, $zero, $zero @@ -1176,12 +1176,12 @@ func_80280ED8: /* 7E1E7C 80280FFC 00521021 */ addu $v0, $v0, $s2 /* 7E1E80 80281000 0C0A02DE */ jal func_80280B78 /* 7E1E84 80281004 844401B4 */ lh $a0, 0x1b4($v0) -/* 7E1E88 80281008 0C03A830 */ jal func_800EA0C0 +/* 7E1E88 80281008 0C03A830 */ jal add_coins /* 7E1E8C 8028100C 0040202D */ daddu $a0, $v0, $zero /* 7E1E90 80281010 8E02000C */ lw $v0, 0xc($s0) /* 7E1E94 80281014 00021040 */ sll $v0, $v0, 1 /* 7E1E98 80281018 00521021 */ addu $v0, $v0, $s2 -/* 7E1E9C 8028101C 0C039D7B */ jal func_800E75EC +/* 7E1E9C 8028101C 0C039D7B */ jal get_item_count /* 7E1EA0 80281020 A44001B4 */ sh $zero, 0x1b4($v0) /* 7E1EA4 80281024 14400009 */ bnez $v0, .L8028104C /* 7E1EA8 80281028 00000000 */ nop @@ -1189,7 +1189,7 @@ func_80280ED8: /* 7E1EB0 80281030 2404000B */ addiu $a0, $zero, 0xb /* 7E1EB4 80281034 AE220074 */ sw $v0, 0x74($s1) /* 7E1EB8 80281038 24020009 */ addiu $v0, $zero, 9 -/* 7E1EBC 8028103C 0C03A5A6 */ jal func_800E9698 +/* 7E1EBC 8028103C 0C03A5A6 */ jal hide_coin_counter /* 7E1EC0 80281040 AE220070 */ sw $v0, 0x70($s1) /* 7E1EC4 80281044 080A0506 */ j func_80281418 /* 7E1EC8 80281048 0000102D */ daddu $v0, $zero, $zero @@ -1206,14 +1206,14 @@ func_80280ED8: /* 7E1EE4 80281064 0C0A00B4 */ jal func_802802D0 /* 7E1EE8 80281068 24040009 */ addiu $a0, $zero, 9 /* 7E1EEC 8028106C AE220074 */ sw $v0, 0x74($s1) -/* 7E1EF0 80281070 0C03A5A6 */ jal func_800E9698 +/* 7E1EF0 80281070 0C03A5A6 */ jal hide_coin_counter /* 7E1EF4 80281074 AE330070 */ sw $s3, 0x70($s1) /* 7E1EF8 80281078 080A0506 */ j func_80281418 /* 7E1EFC 8028107C 0000102D */ daddu $v0, $zero, $zero .L80281080: /* 7E1F00 80281080 8E240074 */ lw $a0, 0x74($s1) -/* 7E1F04 80281084 0C0B1059 */ jal func_802C4164 +/* 7E1F04 80281084 0C0B1059 */ jal does_script_exist /* 7E1F08 80281088 00000000 */ nop /* 7E1F0C 8028108C 144000E2 */ bnez $v0, .L80281418 /* 7E1F10 80281090 0000102D */ daddu $v0, $zero, $zero @@ -1249,7 +1249,7 @@ func_80280ED8: /* 7E1F78 802810F8 00000000 */ nop .L802810FC: -/* 7E1F7C 802810FC 0C0B1059 */ jal func_802C4164 +/* 7E1F7C 802810FC 0C0B1059 */ jal does_script_exist /* 7E1F80 80281100 8E240074 */ lw $a0, 0x74($s1) /* 7E1F84 80281104 144000C4 */ bnez $v0, .L80281418 /* 7E1F88 80281108 0000102D */ daddu $v0, $zero, $zero @@ -1278,7 +1278,7 @@ func_80280ED8: /* 7E1FD4 80281154 0440001C */ bltz $v0, .L802811C8 /* 7E1FD8 80281158 00021040 */ sll $v0, $v0, 1 /* 7E1FDC 8028115C 00521021 */ addu $v0, $v0, $s2 -/* 7E1FE0 80281160 0C039DF1 */ jal func_800E77C4 +/* 7E1FE0 80281160 0C039DF1 */ jal store_item /* 7E1FE4 80281164 844401B4 */ lh $a0, 0x1b4($v0) /* 7E1FE8 80281168 04400005 */ bltz $v0, .L80281180 /* 7E1FEC 8028116C 00000000 */ nop @@ -1287,11 +1287,11 @@ func_80280ED8: /* 7E1FF8 80281178 00521021 */ addu $v0, $v0, $s2 /* 7E1FFC 8028117C A44001B4 */ sh $zero, 0x1b4($v0) .L80281180: -/* 7E2000 80281180 0C039D7B */ jal func_800E75EC +/* 7E2000 80281180 0C039D7B */ jal get_item_count /* 7E2004 80281184 00000000 */ nop /* 7E2008 80281188 10400005 */ beqz $v0, .L802811A0 /* 7E200C 8028118C 00000000 */ nop -/* 7E2010 80281190 0C039E12 */ jal func_800E7848 +/* 7E2010 80281190 0C039E12 */ jal get_stored_empty_count /* 7E2014 80281194 00000000 */ nop /* 7E2018 80281198 14400005 */ bnez $v0, .L802811B0 /* 7E201C 8028119C 00000000 */ nop @@ -1317,7 +1317,7 @@ func_80280ED8: .L802811D8: /* 7E2058 802811D8 8E240074 */ lw $a0, 0x74($s1) -/* 7E205C 802811DC 0C0B1059 */ jal func_802C4164 +/* 7E205C 802811DC 0C0B1059 */ jal does_script_exist /* 7E2060 802811E0 00000000 */ nop /* 7E2064 802811E4 1440008C */ bnez $v0, .L80281418 /* 7E2068 802811E8 0000102D */ daddu $v0, $zero, $zero @@ -1347,7 +1347,7 @@ func_80281230: .L8028123C: /* 7E20BC 8028123C 8E240074 */ lw $a0, 0x74($s1) -/* 7E20C0 80281240 0C0B1059 */ jal func_802C4164 +/* 7E20C0 80281240 0C0B1059 */ jal does_script_exist /* 7E20C4 80281244 00000000 */ nop /* 7E20C8 80281248 14400073 */ bnez $v0, .L80281418 /* 7E20CC 8028124C 0000102D */ daddu $v0, $zero, $zero @@ -1385,7 +1385,7 @@ func_8028127C: /* 7E212C 802812AC 0440001C */ bltz $v0, .L80281320 /* 7E2130 802812B0 00021040 */ sll $v0, $v0, 1 /* 7E2134 802812B4 00521021 */ addu $v0, $v0, $s2 -/* 7E2138 802812B8 0C039D5D */ jal func_800E7574 +/* 7E2138 802812B8 0C039D5D */ jal add_item /* 7E213C 802812BC 844401C8 */ lh $a0, 0x1c8($v0) /* 7E2140 802812C0 04400005 */ bltz $v0, .L802812D8 /* 7E2144 802812C4 00000000 */ nop @@ -1394,11 +1394,11 @@ func_8028127C: /* 7E2150 802812D0 00521021 */ addu $v0, $v0, $s2 /* 7E2154 802812D4 A44001C8 */ sh $zero, 0x1c8($v0) .L802812D8: -/* 7E2158 802812D8 0C039D88 */ jal func_800E7620 +/* 7E2158 802812D8 0C039D88 */ jal get_item_empty_count /* 7E215C 802812DC 00000000 */ nop /* 7E2160 802812E0 10400005 */ beqz $v0, .L802812F8 /* 7E2164 802812E4 00000000 */ nop -/* 7E2168 802812E8 0C039E05 */ jal func_800E7814 +/* 7E2168 802812E8 0C039E05 */ jal get_stored_count /* 7E216C 802812EC 00000000 */ nop /* 7E2170 802812F0 14400005 */ bnez $v0, .L80281308 /* 7E2174 802812F4 00000000 */ nop @@ -1424,7 +1424,7 @@ func_8028127C: .L80281330: /* 7E21B0 80281330 8E240074 */ lw $a0, 0x74($s1) -/* 7E21B4 80281334 0C0B1059 */ jal func_802C4164 +/* 7E21B4 80281334 0C0B1059 */ jal does_script_exist /* 7E21B8 80281338 00000000 */ nop /* 7E21BC 8028133C 14400036 */ bnez $v0, .L80281418 /* 7E21C0 80281340 0000102D */ daddu $v0, $zero, $zero @@ -1434,7 +1434,7 @@ func_8028127C: /* 7E21D0 80281350 24020049 */ addiu $v0, $zero, 0x49 func_80281354: /* 7E21D4 80281354 AE220070 */ sw $v0, 0x70($s1) -/* 7E21D8 80281358 0C049640 */ jal func_80125900 +/* 7E21D8 80281358 0C049640 */ jal load_string /* 7E21DC 8028135C AE200078 */ sw $zero, 0x78($s1) /* 7E21E0 80281360 3C018028 */ lui $at, 0x8028 /* 7E21E4 80281364 AC226538 */ sw $v0, 0x6538($at) @@ -1471,7 +1471,7 @@ func_802813B8: .L802813C4: /* 7E2244 802813C4 8E240074 */ lw $a0, 0x74($s1) -/* 7E2248 802813C8 0C0B1059 */ jal func_802C4164 +/* 7E2248 802813C8 0C0B1059 */ jal does_script_exist /* 7E224C 802813CC 00000000 */ nop /* 7E2250 802813D0 14400011 */ bnez $v0, .L80281418 /* 7E2254 802813D4 0000102D */ daddu $v0, $zero, $zero @@ -1486,10 +1486,10 @@ func_802813B8: /* 7E2270 802813F0 8C440014 */ lw $a0, 0x14($v0) /* 7E2274 802813F4 10800003 */ beqz $a0, .L80281404 /* 7E2278 802813F8 24050001 */ addiu $a1, $zero, 1 -/* 7E227C 802813FC 0C0B0CF8 */ jal func_802C33E0 +/* 7E227C 802813FC 0C0B0CF8 */ jal start_script /* 7E2280 80281400 0000302D */ daddu $a2, $zero, $zero .L80281404: -/* 7E2284 80281404 0C03A5E3 */ jal func_800E978C +/* 7E2284 80281404 0C03A5E3 */ jal open_status_menu_short /* 7E2288 80281408 00000000 */ nop /* 7E228C 8028140C 080A0506 */ j func_80281418 /* 7E2290 80281410 24020001 */ addiu $v0, $zero, 1 @@ -1528,7 +1528,7 @@ func_80281418: /* 7E2300 80281480 00108140 */ sll $s0, $s0, 5 /* 7E2304 80281484 02028021 */ addu $s0, $s0, $v0 /* 7E2308 80281488 8E040000 */ lw $a0, ($s0) -/* 7E230C 8028148C 0C04991D */ jal func_80126474 +/* 7E230C 8028148C 0C04991D */ jal get_string_width /* 7E2310 80281490 0000282D */ daddu $a1, $zero, $zero /* 7E2314 80281494 00021043 */ sra $v0, $v0, 1 /* 7E2318 80281498 2442FFC4 */ addiu $v0, $v0, -0x3c @@ -1537,7 +1537,7 @@ func_80281418: /* 7E2324 802814A4 AFA00010 */ sw $zero, 0x10($sp) /* 7E2328 802814A8 AFA00014 */ sw $zero, 0x14($sp) /* 7E232C 802814AC 8E040000 */ lw $a0, ($s0) -/* 7E2330 802814B0 0C04993B */ jal func_801264EC +/* 7E2330 802814B0 0C04993B */ jal draw_string /* 7E2334 802814B4 240700FF */ addiu $a3, $zero, 0xff /* 7E2338 802814B8 8FBF0024 */ lw $ra, 0x24($sp) /* 7E233C 802814BC 8FB20020 */ lw $s2, 0x20($sp) @@ -1562,7 +1562,7 @@ func_80281418: /* 7E2384 80281504 00021080 */ sll $v0, $v0, 2 /* 7E2388 80281508 00621821 */ addu $v1, $v1, $v0 /* 7E238C 8028150C 8C640008 */ lw $a0, 8($v1) -/* 7E2390 80281510 0C04993B */ jal func_801264EC +/* 7E2390 80281510 0C04993B */ jal draw_string /* 7E2394 80281514 240700FF */ addiu $a3, $zero, 0xff /* 7E2398 80281518 8FBF0018 */ lw $ra, 0x18($sp) /* 7E239C 8028151C 03E00008 */ jr $ra @@ -1651,7 +1651,7 @@ func_8028158C: /* 7E24D4 80281654 44061000 */ mfc1 $a2, $f2 /* 7E24D8 80281658 27A20034 */ addiu $v0, $sp, 0x34 /* 7E24DC 8028165C E7B60010 */ swc1 $f22, 0x10($sp) -/* 7E24E0 80281660 0C00A588 */ jal func_80029620 +/* 7E24E0 80281660 0C00A588 */ jal transform_point /* 7E24E4 80281664 AFA20020 */ sw $v0, 0x20($sp) /* 7E24E8 80281668 C7A60034 */ lwc1 $f6, 0x34($sp) /* 7E24EC 8028166C C7A00030 */ lwc1 $f0, 0x30($sp) @@ -1722,7 +1722,7 @@ func_8028158C: /* 7E25F0 80281770 0000802D */ daddu $s0, $zero, $zero /* 7E25F4 80281774 2410FFFC */ addiu $s0, $zero, -4 .L80281778: -/* 7E25F8 80281778 0C04C3D6 */ jal func_80130F58 +/* 7E25F8 80281778 0C04C3D6 */ jal get_item_entity /* 7E25FC 8028177C 8FC40000 */ lw $a0, ($fp) /* 7E2600 80281780 8C420000 */ lw $v0, ($v0) /* 7E2604 80281784 30420040 */ andi $v0, $v0, 0x40 @@ -1734,7 +1734,7 @@ func_8028158C: /* 7E261C 8028179C AFA20014 */ sw $v0, 0x14($sp) /* 7E2620 802817A0 AFA00018 */ sw $zero, 0x18($sp) /* 7E2624 802817A4 8EC40000 */ lw $a0, ($s6) -/* 7E2628 802817A8 0C049DA7 */ jal func_8012769C +/* 7E2628 802817A8 0C049DA7 */ jal draw_number /* 7E262C 802817AC 24070001 */ addiu $a3, $zero, 1 .L802817B0: /* 7E2630 802817B0 8E420008 */ lw $v0, 8($s2) @@ -1743,13 +1743,13 @@ func_8028158C: /* 7E263C 802817BC 02302821 */ addu $a1, $s1, $s0 /* 7E2640 802817C0 24A5FFFA */ addiu $a1, $a1, -6 /* 7E2644 802817C4 8E440020 */ lw $a0, 0x20($s2) -/* 7E2648 802817C8 0C051261 */ jal func_80144984 +/* 7E2648 802817C8 0C051261 */ jal set_icon_render_pos /* 7E264C 802817CC 26660005 */ addiu $a2, $s3, 5 /* 7E2650 802817D0 8E440020 */ lw $a0, 0x20($s2) /* 7E2654 802817D4 3C053F33 */ lui $a1, 0x3f33 /* 7E2658 802817D8 0C051308 */ jal func_80144C20 /* 7E265C 802817DC 34A53333 */ ori $a1, $a1, 0x3333 -/* 7E2660 802817E0 0C0511EA */ jal func_801447A8 +/* 7E2660 802817E0 0C0511EA */ jal draw_icon_0 /* 7E2664 802817E4 8E440020 */ lw $a0, 0x20($s2) .L802817E8: /* 7E2668 802817E8 26F70001 */ addiu $s7, $s7, 1 @@ -1802,24 +1802,24 @@ func_80281828: /* 7E270C 8028188C AFB00040 */ sw $s0, 0x40($sp) /* 7E2710 80281890 8E30000C */ lw $s0, 0xc($s1) /* 7E2714 80281894 8E050000 */ lw $a1, ($s0) -/* 7E2718 80281898 0C0B1EAF */ jal func_802C7ABC +/* 7E2718 80281898 0C0B1EAF */ jal get_variable /* 7E271C 8028189C 26100004 */ addiu $s0, $s0, 4 /* 7E2720 802818A0 8E050000 */ lw $a1, ($s0) /* 7E2724 802818A4 26100004 */ addiu $s0, $s0, 4 /* 7E2728 802818A8 0220202D */ daddu $a0, $s1, $zero -/* 7E272C 802818AC 0C0B1EAF */ jal func_802C7ABC +/* 7E272C 802818AC 0C0B1EAF */ jal get_variable /* 7E2730 802818B0 0040A82D */ daddu $s5, $v0, $zero /* 7E2734 802818B4 8E050000 */ lw $a1, ($s0) /* 7E2738 802818B8 26100004 */ addiu $s0, $s0, 4 /* 7E273C 802818BC 0220202D */ daddu $a0, $s1, $zero -/* 7E2740 802818C0 0C0B1EAF */ jal func_802C7ABC +/* 7E2740 802818C0 0C0B1EAF */ jal get_variable /* 7E2744 802818C4 0040982D */ daddu $s3, $v0, $zero /* 7E2748 802818C8 0220202D */ daddu $a0, $s1, $zero /* 7E274C 802818CC 8E050000 */ lw $a1, ($s0) -/* 7E2750 802818D0 0C0B1EAF */ jal func_802C7ABC +/* 7E2750 802818D0 0C0B1EAF */ jal get_variable /* 7E2754 802818D4 0040882D */ daddu $s1, $v0, $zero /* 7E2758 802818D8 2404035C */ addiu $a0, $zero, 0x35c -/* 7E275C 802818DC 0C00AB39 */ jal func_8002ACE4 +/* 7E275C 802818DC 0C00AB39 */ jal heap_malloc /* 7E2760 802818E0 0040802D */ daddu $s0, $v0, $zero /* 7E2764 802818E4 3C038007 */ lui $v1, 0x8007 /* 7E2768 802818E8 8C63419C */ lw $v1, 0x419c($v1) @@ -1853,7 +1853,7 @@ func_80281828: /* 7E27C8 80281948 86840002 */ lh $a0, 2($s4) /* 7E27CC 8028194C 18800006 */ blez $a0, .L80281968 /* 7E27D0 80281950 A6920004 */ sh $s2, 4($s4) -/* 7E27D4 80281954 0C00AB39 */ jal func_8002ACE4 +/* 7E27D4 80281954 0C00AB39 */ jal heap_malloc /* 7E27D8 80281958 00042100 */ sll $a0, $a0, 4 /* 7E27DC 8028195C 3C038007 */ lui $v1, 0x8007 /* 7E27E0 80281960 8C63419C */ lw $v1, 0x419c($v1) @@ -1880,7 +1880,7 @@ func_80281828: /* 7E282C 802819AC 27A20038 */ addiu $v0, $sp, 0x38 /* 7E2830 802819B0 AFA20014 */ sw $v0, 0x14($sp) /* 7E2834 802819B4 27A2003C */ addiu $v0, $sp, 0x3c -/* 7E2838 802819B8 0C046C3B */ jal func_8011B0EC +/* 7E2838 802819B8 0C046C3B */ jal get_model_center_and_size /* 7E283C 802819BC AFA20018 */ sw $v0, 0x18($sp) /* 7E2840 802819C0 00128100 */ sll $s0, $s2, 4 /* 7E2844 802819C4 C7A2002C */ lwc1 $f2, 0x2c($sp) @@ -1900,9 +1900,9 @@ func_80281828: /* 7E287C 802819FC 02021021 */ addu $v0, $s0, $v0 /* 7E2880 80281A00 E440000C */ swc1 $f0, 0xc($v0) /* 7E2884 80281A04 96A40000 */ lhu $a0, ($s5) -/* 7E2888 80281A08 0C046C04 */ jal func_8011B010 +/* 7E2888 80281A08 0C046C04 */ jal get_model_list_index_from_tree_index /* 7E288C 80281A0C E7A2002C */ swc1 $f2, 0x2c($sp) -/* 7E2890 80281A10 0C046B4C */ jal func_8011AD30 +/* 7E2890 80281A10 0C046B4C */ jal get_model_from_list_index /* 7E2894 80281A14 0040202D */ daddu $a0, $v0, $zero /* 7E2898 80281A18 C7A00028 */ lwc1 $f0, 0x28($sp) /* 7E289C 80281A1C C7A2002C */ lwc1 $f2, 0x2c($sp) @@ -1918,7 +1918,7 @@ func_80281828: /* 7E28C4 80281A44 AFA20010 */ sw $v0, 0x10($sp) /* 7E28C8 80281A48 AFA00014 */ sw $zero, 0x14($sp) /* 7E28CC 80281A4C 44070000 */ mfc1 $a3, $f0 -/* 7E28D0 80281A50 0C04C6A5 */ jal func_80131A94 +/* 7E28D0 80281A50 0C04C6A5 */ jal make_item_entity_nodelay /* 7E28D4 80281A54 00642025 */ or $a0, $v1, $a0 /* 7E28D8 80281A58 8FC40000 */ lw $a0, ($fp) /* 7E28DC 80281A5C 8C830140 */ lw $v1, 0x140($a0) @@ -1929,14 +1929,14 @@ func_80281828: /* 7E28F0 80281A70 2673000C */ addiu $s3, $s3, 0xc /* 7E28F4 80281A74 02028021 */ addu $s0, $s0, $v0 /* 7E28F8 80281A78 8E040000 */ lw $a0, ($s0) -/* 7E28FC 80281A7C 0C04D052 */ jal func_80134148 +/* 7E28FC 80281A7C 0C04D052 */ jal set_item_entity_flags /* 7E2900 80281A80 24054000 */ addiu $a1, $zero, 0x4000 /* 7E2904 80281A84 02E0202D */ daddu $a0, $s7, $zero /* 7E2908 80281A88 24050080 */ addiu $a1, $zero, 0x80 /* 7E290C 80281A8C 96260000 */ lhu $a2, ($s1) /* 7E2910 80281A90 0240382D */ daddu $a3, $s2, $zero /* 7E2914 80281A94 AFA00010 */ sw $zero, 0x10($sp) -/* 7E2918 80281A98 0C0B10AA */ jal func_802C42A8 +/* 7E2918 80281A98 0C0B10AA */ jal bind_trigger_1 /* 7E291C 80281A9C AFB60014 */ sw $s6, 0x14($sp) /* 7E2920 80281AA0 02E0202D */ daddu $a0, $s7, $zero /* 7E2924 80281AA4 24050800 */ addiu $a1, $zero, 0x800 @@ -1944,7 +1944,7 @@ func_80281828: /* 7E292C 80281AAC 96260000 */ lhu $a2, ($s1) /* 7E2930 80281AB0 26310004 */ addiu $s1, $s1, 4 /* 7E2934 80281AB4 AFA00010 */ sw $zero, 0x10($sp) -/* 7E2938 80281AB8 0C0B10AA */ jal func_802C42A8 +/* 7E2938 80281AB8 0C0B10AA */ jal bind_trigger_1 /* 7E293C 80281ABC AFB60014 */ sw $s6, 0x14($sp) /* 7E2940 80281AC0 8E620000 */ lw $v0, ($s3) /* 7E2944 80281AC4 1440FFB3 */ bnez $v0, .L80281994 @@ -1952,14 +1952,14 @@ func_80281828: .L80281ACC: /* 7E294C 80281ACC 3C048008 */ lui $a0, 0x8008 /* 7E2950 80281AD0 24840868 */ addiu $a0, $a0, 0x868 -/* 7E2954 80281AD4 0C050529 */ jal func_801414A4 +/* 7E2954 80281AD4 0C050529 */ jal create_icon /* 7E2958 80281AD8 2410FFFF */ addiu $s0, $zero, -1 /* 7E295C 80281ADC 0040202D */ daddu $a0, $v0, $zero /* 7E2960 80281AE0 24050080 */ addiu $a1, $zero, 0x80 -/* 7E2964 80281AE4 0C051280 */ jal func_80144A00 +/* 7E2964 80281AE4 0C051280 */ jal set_icon_flags /* 7E2968 80281AE8 AE840020 */ sw $a0, 0x20($s4) /* 7E296C 80281AEC 8E840020 */ lw $a0, 0x20($s4) -/* 7E2970 80281AF0 0C05128B */ jal func_80144A2C +/* 7E2970 80281AF0 0C05128B */ jal clear_icon_flags /* 7E2974 80281AF4 34058000 */ ori $a1, $zero, 0x8000 /* 7E2978 80281AF8 3C058028 */ lui $a1, 0x8028 /* 7E297C 80281AFC 24A51524 */ addiu $a1, $a1, 0x1524 @@ -2025,7 +2025,7 @@ func_80281828: /* 7E2A68 80281BE8 3C038007 */ lui $v1, 0x8007 /* 7E2A6C 80281BEC 8C63419C */ lw $v1, 0x419c($v1) /* 7E2A70 80281BF0 8C450000 */ lw $a1, ($v0) -/* 7E2A74 80281BF4 0C0B1EAF */ jal func_802C7ABC +/* 7E2A74 80281BF4 0C0B1EAF */ jal get_variable /* 7E2A78 80281BF8 8C700144 */ lw $s0, 0x144($v1) /* 7E2A7C 80281BFC AE020010 */ sw $v0, 0x10($s0) /* 7E2A80 80281C00 8FBF0014 */ lw $ra, 0x14($sp) @@ -2044,11 +2044,11 @@ func_80281828: /* 7E2AB0 80281C30 AFB00010 */ sw $s0, 0x10($sp) /* 7E2AB4 80281C34 8E30000C */ lw $s0, 0xc($s1) /* 7E2AB8 80281C38 8E050000 */ lw $a1, ($s0) -/* 7E2ABC 80281C3C 0C0B1EAF */ jal func_802C7ABC +/* 7E2ABC 80281C3C 0C0B1EAF */ jal get_variable /* 7E2AC0 80281C40 26100004 */ addiu $s0, $s0, 4 /* 7E2AC4 80281C44 0220202D */ daddu $a0, $s1, $zero /* 7E2AC8 80281C48 8E050000 */ lw $a1, ($s0) -/* 7E2ACC 80281C4C 0C0B1EAF */ jal func_802C7ABC +/* 7E2ACC 80281C4C 0C0B1EAF */ jal get_variable /* 7E2AD0 80281C50 0040802D */ daddu $s0, $v0, $zero /* 7E2AD4 80281C54 0200202D */ daddu $a0, $s0, $zero /* 7E2AD8 80281C58 0C03BD05 */ jal func_800EF414 @@ -2087,13 +2087,13 @@ func_80281828: /* 7E2B54 80281CD4 AFB20038 */ sw $s2, 0x38($sp) /* 7E2B58 80281CD8 AFB00030 */ sw $s0, 0x30($sp) /* 7E2B5C 80281CDC 8E30000C */ lw $s0, 0xc($s1) -/* 7E2B60 80281CE0 0C00AB39 */ jal func_8002ACE4 +/* 7E2B60 80281CE0 0C00AB39 */ jal heap_malloc /* 7E2B64 80281CE4 24040064 */ addiu $a0, $zero, 0x64 /* 7E2B68 80281CE8 0220202D */ daddu $a0, $s1, $zero /* 7E2B6C 80281CEC 0040902D */ daddu $s2, $v0, $zero /* 7E2B70 80281CF0 AE400000 */ sw $zero, ($s2) /* 7E2B74 80281CF4 8E050000 */ lw $a1, ($s0) -/* 7E2B78 80281CF8 0C0B1EAF */ jal func_802C7ABC +/* 7E2B78 80281CF8 0C0B1EAF */ jal get_variable /* 7E2B7C 80281CFC 26100004 */ addiu $s0, $s0, 4 /* 7E2B80 80281D00 0040982D */ daddu $s3, $v0, $zero /* 7E2B84 80281D04 32620FFF */ andi $v0, $s3, 0xfff @@ -2104,42 +2104,42 @@ func_80281828: /* 7E2B98 80281D18 A640000A */ sh $zero, 0xa($s2) /* 7E2B9C 80281D1C 8E050000 */ lw $a1, ($s0) /* 7E2BA0 80281D20 26100004 */ addiu $s0, $s0, 4 -/* 7E2BA4 80281D24 0C0B1EAF */ jal func_802C7ABC +/* 7E2BA4 80281D24 0C0B1EAF */ jal get_variable /* 7E2BA8 80281D28 0220202D */ daddu $a0, $s1, $zero /* 7E2BAC 80281D2C 8E050000 */ lw $a1, ($s0) /* 7E2BB0 80281D30 26100004 */ addiu $s0, $s0, 4 /* 7E2BB4 80281D34 0220202D */ daddu $a0, $s1, $zero -/* 7E2BB8 80281D38 0C0B1EAF */ jal func_802C7ABC +/* 7E2BB8 80281D38 0C0B1EAF */ jal get_variable /* 7E2BBC 80281D3C AFA2002C */ sw $v0, 0x2c($sp) /* 7E2BC0 80281D40 8E050000 */ lw $a1, ($s0) /* 7E2BC4 80281D44 26100004 */ addiu $s0, $s0, 4 /* 7E2BC8 80281D48 0220202D */ daddu $a0, $s1, $zero -/* 7E2BCC 80281D4C 0C0B1EAF */ jal func_802C7ABC +/* 7E2BCC 80281D4C 0C0B1EAF */ jal get_variable /* 7E2BD0 80281D50 0040F02D */ daddu $fp, $v0, $zero /* 7E2BD4 80281D54 8E050000 */ lw $a1, ($s0) /* 7E2BD8 80281D58 26100004 */ addiu $s0, $s0, 4 /* 7E2BDC 80281D5C 0220202D */ daddu $a0, $s1, $zero -/* 7E2BE0 80281D60 0C0B1EAF */ jal func_802C7ABC +/* 7E2BE0 80281D60 0C0B1EAF */ jal get_variable /* 7E2BE4 80281D64 0040A82D */ daddu $s5, $v0, $zero /* 7E2BE8 80281D68 8E050000 */ lw $a1, ($s0) /* 7E2BEC 80281D6C 26100004 */ addiu $s0, $s0, 4 /* 7E2BF0 80281D70 0220202D */ daddu $a0, $s1, $zero -/* 7E2BF4 80281D74 0C0B1EAF */ jal func_802C7ABC +/* 7E2BF4 80281D74 0C0B1EAF */ jal get_variable /* 7E2BF8 80281D78 0040B82D */ daddu $s7, $v0, $zero /* 7E2BFC 80281D7C 0040A02D */ daddu $s4, $v0, $zero /* 7E2C00 80281D80 AE540060 */ sw $s4, 0x60($s2) /* 7E2C04 80281D84 8E050000 */ lw $a1, ($s0) /* 7E2C08 80281D88 26100004 */ addiu $s0, $s0, 4 -/* 7E2C0C 80281D8C 0C0B1EAF */ jal func_802C7ABC +/* 7E2C0C 80281D8C 0C0B1EAF */ jal get_variable /* 7E2C10 80281D90 0220202D */ daddu $a0, $s1, $zero /* 7E2C14 80281D94 8E050000 */ lw $a1, ($s0) /* 7E2C18 80281D98 26100004 */ addiu $s0, $s0, 4 /* 7E2C1C 80281D9C 0220202D */ daddu $a0, $s1, $zero -/* 7E2C20 80281DA0 0C0B1EAF */ jal func_802C7ABC +/* 7E2C20 80281DA0 0C0B1EAF */ jal get_variable /* 7E2C24 80281DA4 0040B02D */ daddu $s6, $v0, $zero /* 7E2C28 80281DA8 AE42003C */ sw $v0, 0x3c($s2) /* 7E2C2C 80281DAC 8E050000 */ lw $a1, ($s0) -/* 7E2C30 80281DB0 0C0B1EAF */ jal func_802C7ABC +/* 7E2C30 80281DB0 0C0B1EAF */ jal get_variable /* 7E2C34 80281DB4 0220202D */ daddu $a0, $s1, $zero /* 7E2C38 80281DB8 12A00003 */ beqz $s5, .L80281DC8 /* 7E2C3C 80281DBC AE42005C */ sw $v0, 0x5c($s2) @@ -2150,7 +2150,7 @@ func_80281828: /* 7E2C4C 80281DCC 27A50018 */ addiu $a1, $sp, 0x18 /* 7E2C50 80281DD0 27B0001C */ addiu $s0, $sp, 0x1c /* 7E2C54 80281DD4 0200302D */ daddu $a2, $s0, $zero -/* 7E2C58 80281DD8 0C016F84 */ jal func_8005BE10 +/* 7E2C58 80281DD8 0C016F84 */ jal get_collider_center /* 7E2C5C 80281DDC 27A70020 */ addiu $a3, $sp, 0x20 /* 7E2C60 80281DE0 0280202D */ daddu $a0, $s4, $zero /* 7E2C64 80281DE4 27A50024 */ addiu $a1, $sp, 0x24 @@ -2440,7 +2440,7 @@ func_802821C0: /* 7E30A4 80282224 24100003 */ addiu $s0, $zero, 3 /* 7E30A8 80282228 AE420048 */ sw $v0, 0x48($s2) /* 7E30AC 8028222C AFB20010 */ sw $s2, 0x10($sp) -/* 7E30B0 80282230 0C0B10AA */ jal func_802C42A8 +/* 7E30B0 80282230 0C0B10AA */ jal bind_trigger_1 /* 7E30B4 80282234 AFB00014 */ sw $s0, 0x14($sp) /* 7E30B8 80282238 32620800 */ andi $v0, $s3, 0x800 /* 7E30BC 8028223C 10400005 */ beqz $v0, .L80282254 @@ -2458,7 +2458,7 @@ func_802821C0: func_80282264: /* 7E30E4 80282264 24070001 */ addiu $a3, $zero, 1 /* 7E30E8 80282268 AFB20010 */ sw $s2, 0x10($sp) -/* 7E30EC 8028226C 0C0B10AA */ jal func_802C42A8 +/* 7E30EC 8028226C 0C0B10AA */ jal bind_trigger_1 /* 7E30F0 80282270 AFB00014 */ sw $s0, 0x14($sp) /* 7E30F4 80282274 8FBF0054 */ lw $ra, 0x54($sp) /* 7E30F8 80282278 8FBE0050 */ lw $fp, 0x50($sp) @@ -2479,13 +2479,13 @@ func_80282264: /* 7E3130 802822B0 AFB00028 */ sw $s0, 0x28($sp) /* 7E3134 802822B4 8C82000C */ lw $v0, 0xc($a0) /* 7E3138 802822B8 8C450000 */ lw $a1, ($v0) -/* 7E313C 802822BC 0C0B1EAF */ jal func_802C7ABC +/* 7E313C 802822BC 0C0B1EAF */ jal get_variable /* 7E3140 802822C0 8C900074 */ lw $s0, 0x74($a0) /* 7E3144 802822C4 27A50018 */ addiu $a1, $sp, 0x18 /* 7E3148 802822C8 27A6001C */ addiu $a2, $sp, 0x1c /* 7E314C 802822CC 27A70020 */ addiu $a3, $sp, 0x20 /* 7E3150 802822D0 8E040060 */ lw $a0, 0x60($s0) -/* 7E3154 802822D4 0C016F84 */ jal func_8005BE10 +/* 7E3154 802822D4 0C016F84 */ jal get_collider_center /* 7E3158 802822D8 0040802D */ daddu $s0, $v0, $zero /* 7E315C 802822DC 0200202D */ daddu $a0, $s0, $zero /* 7E3160 802822E0 C7A00018 */ lwc1 $f0, 0x18($sp) @@ -2494,7 +2494,7 @@ func_80282264: /* 7E316C 802822EC 44071000 */ mfc1 $a3, $f2 /* 7E3170 802822F0 C7A00020 */ lwc1 $f0, 0x20($sp) /* 7E3174 802822F4 0000282D */ daddu $a1, $zero, $zero -/* 7E3178 802822F8 0C052757 */ jal func_80149D5C +/* 7E3178 802822F8 0C052757 */ jal play_sound_at_position /* 7E317C 802822FC E7A00010 */ swc1 $f0, 0x10($sp) /* 7E3180 80282300 8FBF002C */ lw $ra, 0x2c($sp) /* 7E3184 80282304 8FB00028 */ lw $s0, 0x28($sp) @@ -2518,7 +2518,7 @@ func_80282264: /* 7E31C0 80282340 AFB00010 */ sw $s0, 0x10($sp) /* 7E31C4 80282344 8C82000C */ lw $v0, 0xc($a0) /* 7E31C8 80282348 8C450000 */ lw $a1, ($v0) -/* 7E31CC 8028234C 0C0B1EAF */ jal func_802C7ABC +/* 7E31CC 8028234C 0C0B1EAF */ jal get_variable /* 7E31D0 80282350 8C900074 */ lw $s0, 0x74($a0) /* 7E31D4 80282354 AE020000 */ sw $v0, ($s0) /* 7E31D8 80282358 8FBF0014 */ lw $ra, 0x14($sp) @@ -2532,11 +2532,11 @@ func_80282264: /* 7E31F4 80282374 AFB00010 */ sw $s0, 0x10($sp) /* 7E31F8 80282378 8C82000C */ lw $v0, 0xc($a0) /* 7E31FC 8028237C 8C450000 */ lw $a1, ($v0) -/* 7E3200 80282380 0C0B1EAF */ jal func_802C7ABC +/* 7E3200 80282380 0C0B1EAF */ jal get_variable /* 7E3204 80282384 8C900074 */ lw $s0, 0x74($a0) /* 7E3208 80282388 00021080 */ sll $v0, $v0, 2 /* 7E320C 8028238C 02028021 */ addu $s0, $s0, $v0 -/* 7E3210 80282390 0C0B1059 */ jal func_802C4164 +/* 7E3210 80282390 0C0B1059 */ jal does_script_exist /* 7E3214 80282394 8E04004C */ lw $a0, 0x4c($s0) /* 7E3218 80282398 2C420001 */ sltiu $v0, $v0, 1 /* 7E321C 8028239C 8FBF0014 */ lw $ra, 0x14($sp) @@ -2554,11 +2554,11 @@ func_80282264: /* 7E3248 802823C8 8E11000C */ lw $s1, 0xc($s0) /* 7E324C 802823CC 8E120074 */ lw $s2, 0x74($s0) /* 7E3250 802823D0 8E250000 */ lw $a1, ($s1) -/* 7E3254 802823D4 0C0B1EAF */ jal func_802C7ABC +/* 7E3254 802823D4 0C0B1EAF */ jal get_variable /* 7E3258 802823D8 26310004 */ addiu $s1, $s1, 4 /* 7E325C 802823DC 0200202D */ daddu $a0, $s0, $zero /* 7E3260 802823E0 8E250000 */ lw $a1, ($s1) -/* 7E3264 802823E4 0C0B1EAF */ jal func_802C7ABC +/* 7E3264 802823E4 0C0B1EAF */ jal get_variable /* 7E3268 802823E8 0040802D */ daddu $s0, $v0, $zero /* 7E326C 802823EC 00108080 */ sll $s0, $s0, 2 /* 7E3270 802823F0 02509021 */ addu $s2, $s2, $s0 @@ -2677,7 +2677,7 @@ func_80282498: /* 7E3414 80282594 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 7E3418 80282598 AFBF0010 */ sw $ra, 0x10($sp) /* 7E341C 8028259C 8C82000C */ lw $v0, 0xc($a0) -/* 7E3420 802825A0 0C0B210B */ jal func_802C842C +/* 7E3420 802825A0 0C0B210B */ jal get_float_variable /* 7E3424 802825A4 8C450000 */ lw $a1, ($v0) /* 7E3428 802825A8 46000086 */ mov.s $f2, $f0 /* 7E342C 802825AC 3C02800B */ lui $v0, 0x800b @@ -2734,7 +2734,7 @@ func_802825EC: /* 7E34DC 8028265C 2413FFFC */ addiu $s3, $zero, -4 /* 7E34E0 80282660 3C120080 */ lui $s2, 0x80 .L80282664: -/* 7E34E4 80282664 0C00E2B7 */ jal func_80038ADC +/* 7E34E4 80282664 0C00E2B7 */ jal get_npc_by_index /* 7E34E8 80282668 0200202D */ daddu $a0, $s0, $zero /* 7E34EC 8028266C 0040182D */ daddu $v1, $v0, $zero /* 7E34F0 80282670 50600009 */ beql $v1, $zero, .L80282698 @@ -2759,7 +2759,7 @@ func_802826B0: /* 7E3530 802826B0 8E240000 */ lw $a0, ($s1) /* 7E3534 802826B4 1092000B */ beq $a0, $s2, .L802826E4 /* 7E3538 802826B8 24020002 */ addiu $v0, $zero, 2 -/* 7E353C 802826BC 0C00EAD2 */ jal func_8003AB48 +/* 7E353C 802826BC 0C00EAD2 */ jal get_npc_safe /* 7E3540 802826C0 26310004 */ addiu $s1, $s1, 4 /* 7E3544 802826C4 0040182D */ daddu $v1, $v0, $zero /* 7E3548 802826C8 1060FFF9 */ beqz $v1, .L802826B0 @@ -2791,7 +2791,7 @@ func_802826B0: /* 7E35A0 80282720 3C11FF7F */ lui $s1, 0xff7f /* 7E35A4 80282724 3631FFFF */ ori $s1, $s1, 0xffff .L80282728: -/* 7E35A8 80282728 0C00E2B7 */ jal func_80038ADC +/* 7E35A8 80282728 0C00E2B7 */ jal get_npc_by_index /* 7E35AC 8028272C 0200202D */ daddu $a0, $s0, $zero /* 7E35B0 80282730 0040182D */ daddu $v1, $v0, $zero /* 7E35B4 80282734 10600006 */ beqz $v1, .L80282750 @@ -2919,7 +2919,7 @@ func_802826B0: /* 7E377C 802828FC F7B60030 */ sdc1 $f22, 0x30($sp) /* 7E3780 80282900 F7B40028 */ sdc1 $f20, 0x28($sp) /* 7E3784 80282904 8E4400B0 */ lw $a0, 0xb0($s2) -/* 7E3788 80282908 0C04417A */ jal func_801105E8 +/* 7E3788 80282908 0C04417A */ jal get_entity_by_index /* 7E378C 8028290C 00A0802D */ daddu $s0, $a1, $zero /* 7E3790 80282910 3C138011 */ lui $s3, 0x8011 /* 7E3794 80282914 2673EFC8 */ addiu $s3, $s3, -0x1038 @@ -3051,7 +3051,7 @@ func_802826B0: /* 7E3988 80282B08 46800020 */ cvt.s.w $f0, $f0 /* 7E398C 80282B0C 46020000 */ add.s $f0, $f0, $f2 /* 7E3990 80282B10 4600B306 */ mov.s $f12, $f22 -/* 7E3994 80282B14 0C00A8BB */ jal func_8002A2EC +/* 7E3994 80282B14 0C00A8BB */ jal sin_deg /* 7E3998 80282B18 E6200060 */ swc1 $f0, 0x60($s1) /* 7E399C 80282B1C 46180002 */ mul.s $f0, $f0, $f24 /* 7E39A0 80282B20 00000000 */ nop @@ -3066,7 +3066,7 @@ func_802826B0: /* 7E39C4 80282B44 46201080 */ add.d $f2, $f2, $f0 /* 7E39C8 80282B48 4600B306 */ mov.s $f12, $f22 /* 7E39CC 80282B4C 462010A0 */ cvt.s.d $f2, $f2 -/* 7E39D0 80282B50 0C00A8BB */ jal func_8002A2EC +/* 7E39D0 80282B50 0C00A8BB */ jal sin_deg /* 7E39D4 80282B54 E622004C */ swc1 $f2, 0x4c($s1) /* 7E39D8 80282B58 C642009C */ lwc1 $f2, 0x9c($s2) /* 7E39DC 80282B5C 468010A0 */ cvt.s.w $f2, $f2 @@ -3082,7 +3082,7 @@ func_802826B0: /* 7E3A04 80282B84 46220001 */ sub.d $f0, $f0, $f2 /* 7E3A08 80282B88 4600B306 */ mov.s $f12, $f22 /* 7E3A0C 80282B8C 46200020 */ cvt.s.d $f0, $f0 -/* 7E3A10 80282B90 0C00A8BB */ jal func_8002A2EC +/* 7E3A10 80282B90 0C00A8BB */ jal sin_deg /* 7E3A14 80282B94 E6200048 */ swc1 $f0, 0x48($s1) /* 7E3A18 80282B98 C64200A4 */ lwc1 $f2, 0xa4($s2) /* 7E3A1C 80282B9C 468010A0 */ cvt.s.w $f2, $f2 @@ -3139,7 +3139,7 @@ func_80282BE4: /* 7E3AD8 80282C58 AFB1002C */ sw $s1, 0x2c($sp) /* 7E3ADC 80282C5C 8E6400B0 */ lw $a0, 0xb0($s3) /* 7E3AE0 80282C60 8E7200AC */ lw $s2, 0xac($s3) -/* 7E3AE4 80282C64 0C04417A */ jal func_801105E8 +/* 7E3AE4 80282C64 0C04417A */ jal get_entity_by_index /* 7E3AE8 80282C68 00A0802D */ daddu $s0, $a1, $zero /* 7E3AEC 80282C6C 12000023 */ beqz $s0, .L80282CFC /* 7E3AF0 80282C70 0040882D */ daddu $s1, $v0, $zero @@ -3269,7 +3269,7 @@ func_80282E14: /* 7E3CBC 80282E3C AFBF0018 */ sw $ra, 0x18($sp) /* 7E3CC0 80282E40 AFB10014 */ sw $s1, 0x14($sp) /* 7E3CC4 80282E44 8E0400B0 */ lw $a0, 0xb0($s0) -/* 7E3CC8 80282E48 0C04417A */ jal func_801105E8 +/* 7E3CC8 80282E48 0C04417A */ jal get_entity_by_index /* 7E3CCC 80282E4C 8E1100AC */ lw $s1, 0xac($s0) /* 7E3CD0 80282E50 3C038011 */ lui $v1, 0x8011 /* 7E3CD4 80282E54 2463EFC8 */ addiu $v1, $v1, -0x1038 @@ -3429,7 +3429,7 @@ func_8028306C: /* 7E3F0C 8028308C AFBF0018 */ sw $ra, 0x18($sp) /* 7E3F10 80283090 AFB10014 */ sw $s1, 0x14($sp) /* 7E3F14 80283094 8E0400B0 */ lw $a0, 0xb0($s0) -/* 7E3F18 80283098 0C04417A */ jal func_801105E8 +/* 7E3F18 80283098 0C04417A */ jal get_entity_by_index /* 7E3F1C 8028309C 8E1100AC */ lw $s1, 0xac($s0) /* 7E3F20 802830A0 3C0551EB */ lui $a1, 0x51eb /* 7E3F24 802830A4 34A5851F */ ori $a1, $a1, 0x851f @@ -3523,7 +3523,7 @@ func_8028306C: /* 7E406C 802831EC AFB10014 */ sw $s1, 0x14($sp) /* 7E4070 802831F0 8E02000C */ lw $v0, 0xc($s0) /* 7E4074 802831F4 8C450004 */ lw $a1, 4($v0) -/* 7E4078 802831F8 0C0B210B */ jal func_802C842C +/* 7E4078 802831F8 0C0B210B */ jal get_float_variable /* 7E407C 802831FC 8C510000 */ lw $s1, ($v0) /* 7E4080 80283200 0200202D */ daddu $a0, $s0, $zero /* 7E4084 80283204 0220282D */ daddu $a1, $s1, $zero @@ -3533,7 +3533,7 @@ func_8028306C: /* 7E4094 80283214 44021000 */ mfc1 $v0, $f2 /* 7E4098 80283218 00000000 */ nop /* 7E409C 8028321C 00C23026 */ xor $a2, $a2, $v0 -/* 7E40A0 80283220 0C0B2026 */ jal func_802C8098 +/* 7E40A0 80283220 0C0B2026 */ jal set_variable /* 7E40A4 80283224 2CC60001 */ sltiu $a2, $a2, 1 /* 7E40A8 80283228 8FBF0018 */ lw $ra, 0x18($sp) /* 7E40AC 8028322C 8FB10014 */ lw $s1, 0x14($sp) @@ -3554,11 +3554,11 @@ func_8028306C: /* 7E40E4 80283264 8E62000C */ lw $v0, 0xc($s3) /* 7E40E8 80283268 8C450004 */ lw $a1, 4($v0) /* 7E40EC 8028326C 8C540000 */ lw $s4, ($v0) -/* 7E40F0 80283270 0C0B1EAF */ jal func_802C7ABC +/* 7E40F0 80283270 0C0B1EAF */ jal get_variable /* 7E40F4 80283274 0220802D */ daddu $s0, $s1, $zero /* 7E40F8 80283278 0040902D */ daddu $s2, $v0, $zero .L8028327C: -/* 7E40FC 8028327C 0C0B11E4 */ jal func_802C4790 +/* 7E40FC 8028327C 0C0B11E4 */ jal get_script_by_index /* 7E4100 80283280 0200202D */ daddu $a0, $s0, $zero /* 7E4104 80283284 10400006 */ beqz $v0, .L802832A0 /* 7E4108 80283288 26100001 */ addiu $s0, $s0, 1 @@ -3576,7 +3576,7 @@ func_8028306C: func_802832AC: /* 7E412C 802832AC 0260202D */ daddu $a0, $s3, $zero /* 7E4130 802832B0 0280282D */ daddu $a1, $s4, $zero -/* 7E4134 802832B4 0C0B2026 */ jal func_802C8098 +/* 7E4134 802832B4 0C0B2026 */ jal set_variable /* 7E4138 802832B8 0220302D */ daddu $a2, $s1, $zero /* 7E413C 802832BC 8FBF0024 */ lw $ra, 0x24($sp) /* 7E4140 802832C0 8FB40020 */ lw $s4, 0x20($sp) @@ -3602,48 +3602,48 @@ func_802832AC: /* 7E418C 8028330C AFB00010 */ sw $s0, 0x10($sp) /* 7E4190 80283310 8E30000C */ lw $s0, 0xc($s1) /* 7E4194 80283314 8E050000 */ lw $a1, ($s0) -/* 7E4198 80283318 0C0B1EAF */ jal func_802C7ABC +/* 7E4198 80283318 0C0B1EAF */ jal get_variable /* 7E419C 8028331C 26100004 */ addiu $s0, $s0, 4 /* 7E41A0 80283320 8E050000 */ lw $a1, ($s0) /* 7E41A4 80283324 26100004 */ addiu $s0, $s0, 4 /* 7E41A8 80283328 0220202D */ daddu $a0, $s1, $zero -/* 7E41AC 8028332C 0C0B1EAF */ jal func_802C7ABC +/* 7E41AC 8028332C 0C0B1EAF */ jal get_variable /* 7E41B0 80283330 0040902D */ daddu $s2, $v0, $zero /* 7E41B4 80283334 8E050000 */ lw $a1, ($s0) /* 7E41B8 80283338 26100004 */ addiu $s0, $s0, 4 /* 7E41BC 8028333C 0220202D */ daddu $a0, $s1, $zero -/* 7E41C0 80283340 0C0B1EAF */ jal func_802C7ABC +/* 7E41C0 80283340 0C0B1EAF */ jal get_variable /* 7E41C4 80283344 0040A82D */ daddu $s5, $v0, $zero /* 7E41C8 80283348 8E050000 */ lw $a1, ($s0) /* 7E41CC 8028334C 26100004 */ addiu $s0, $s0, 4 /* 7E41D0 80283350 0220202D */ daddu $a0, $s1, $zero -/* 7E41D4 80283354 0C0B1EAF */ jal func_802C7ABC +/* 7E41D4 80283354 0C0B1EAF */ jal get_variable /* 7E41D8 80283358 0040A02D */ daddu $s4, $v0, $zero /* 7E41DC 8028335C 8E050000 */ lw $a1, ($s0) /* 7E41E0 80283360 26100004 */ addiu $s0, $s0, 4 /* 7E41E4 80283364 0220202D */ daddu $a0, $s1, $zero -/* 7E41E8 80283368 0C0B1EAF */ jal func_802C7ABC +/* 7E41E8 80283368 0C0B1EAF */ jal get_variable /* 7E41EC 8028336C 0040F02D */ daddu $fp, $v0, $zero /* 7E41F0 80283370 0220202D */ daddu $a0, $s1, $zero /* 7E41F4 80283374 8E050000 */ lw $a1, ($s0) -/* 7E41F8 80283378 0C0B1EAF */ jal func_802C7ABC +/* 7E41F8 80283378 0C0B1EAF */ jal get_variable /* 7E41FC 8028337C 0040B82D */ daddu $s7, $v0, $zero /* 7E4200 80283380 02B40018 */ mult $s5, $s4 /* 7E4204 80283384 26100004 */ addiu $s0, $s0, 4 /* 7E4208 80283388 0220202D */ daddu $a0, $s1, $zero /* 7E420C 8028338C 8E050000 */ lw $a1, ($s0) /* 7E4210 80283390 00008812 */ mflo $s1 -/* 7E4214 80283394 0C0B1EAF */ jal func_802C7ABC +/* 7E4214 80283394 0C0B1EAF */ jal get_variable /* 7E4218 80283398 0040B02D */ daddu $s6, $v0, $zero /* 7E421C 8028339C 2404001C */ addiu $a0, $zero, 0x1c -/* 7E4220 802833A0 0C00AB0A */ jal func_8002AC28 +/* 7E4220 802833A0 0C00AB0A */ jal general_heap_malloc /* 7E4224 802833A4 0040982D */ daddu $s3, $v0, $zero /* 7E4228 802833A8 00129080 */ sll $s2, $s2, 2 /* 7E422C 802833AC 0040802D */ daddu $s0, $v0, $zero /* 7E4230 802833B0 3C01802E */ lui $at, 0x802e /* 7E4234 802833B4 00320821 */ addu $at, $at, $s2 /* 7E4238 802833B8 AC30BC88 */ sw $s0, -0x4378($at) -/* 7E423C 802833BC 0C00AB0A */ jal func_8002AC28 +/* 7E423C 802833BC 0C00AB0A */ jal general_heap_malloc /* 7E4240 802833C0 0220202D */ daddu $a0, $s1, $zero /* 7E4244 802833C4 1660000D */ bnez $s3, .L802833FC /* 7E4248 802833C8 AE020000 */ sw $v0, ($s0) @@ -3707,21 +3707,21 @@ func_80283434: /* 7E4314 80283494 AFB00028 */ sw $s0, 0x28($sp) /* 7E4318 80283498 8E70000C */ lw $s0, 0xc($s3) /* 7E431C 8028349C 8E050000 */ lw $a1, ($s0) -/* 7E4320 802834A0 0C0B1EAF */ jal func_802C7ABC +/* 7E4320 802834A0 0C0B1EAF */ jal get_variable /* 7E4324 802834A4 26100004 */ addiu $s0, $s0, 4 /* 7E4328 802834A8 8E050000 */ lw $a1, ($s0) /* 7E432C 802834AC 26100004 */ addiu $s0, $s0, 4 /* 7E4330 802834B0 0260202D */ daddu $a0, $s3, $zero -/* 7E4334 802834B4 0C0B1EAF */ jal func_802C7ABC +/* 7E4334 802834B4 0C0B1EAF */ jal get_variable /* 7E4338 802834B8 0040882D */ daddu $s1, $v0, $zero /* 7E433C 802834BC 8E050000 */ lw $a1, ($s0) /* 7E4340 802834C0 26100004 */ addiu $s0, $s0, 4 /* 7E4344 802834C4 0260202D */ daddu $a0, $s3, $zero -/* 7E4348 802834C8 0C0B1EAF */ jal func_802C7ABC +/* 7E4348 802834C8 0C0B1EAF */ jal get_variable /* 7E434C 802834CC 0040902D */ daddu $s2, $v0, $zero /* 7E4350 802834D0 0260202D */ daddu $a0, $s3, $zero /* 7E4354 802834D4 8E050000 */ lw $a1, ($s0) -/* 7E4358 802834D8 0C0B1EAF */ jal func_802C7ABC +/* 7E4358 802834D8 0C0B1EAF */ jal get_variable /* 7E435C 802834DC 0040802D */ daddu $s0, $v0, $zero /* 7E4360 802834E0 00118880 */ sll $s1, $s1, 2 /* 7E4364 802834E4 3C01802E */ lui $at, 0x802e @@ -3758,7 +3758,7 @@ func_80283434: /* 7E43E0 80283560 000210C0 */ sll $v0, $v0, 3 /* 7E43E4 80283564 00501021 */ addu $v0, $v0, $s0 /* 7E43E8 80283568 00E23821 */ addu $a3, $a3, $v0 -/* 7E43EC 8028356C 0C044631 */ jal func_801118C4 +/* 7E43EC 8028356C 0C044631 */ jal create_entity /* 7E43F0 80283570 24E7000C */ addiu $a3, $a3, 0xc /* 7E43F4 80283574 3C048028 */ lui $a0, 0x8028 /* 7E43F8 80283578 24845674 */ addiu $a0, $a0, 0x5674 @@ -3768,7 +3768,7 @@ func_80283434: /* 7E4408 80283588 0220382D */ daddu $a3, $s1, $zero /* 7E440C 8028358C 24020003 */ addiu $v0, $zero, 3 /* 7E4410 80283590 AFB00010 */ sw $s0, 0x10($sp) -/* 7E4414 80283594 0C0B10AA */ jal func_802C42A8 +/* 7E4414 80283594 0C0B10AA */ jal bind_trigger_1 /* 7E4418 80283598 AFA20014 */ sw $v0, 0x14($sp) /* 7E441C 8028359C AE700084 */ sw $s0, 0x84($s3) .L802835A0: @@ -3791,16 +3791,16 @@ func_80283434: /* 7E445C 802835DC AFB00010 */ sw $s0, 0x10($sp) /* 7E4460 802835E0 8E90000C */ lw $s0, 0xc($s4) /* 7E4464 802835E4 8E050000 */ lw $a1, ($s0) -/* 7E4468 802835E8 0C0B1EAF */ jal func_802C7ABC +/* 7E4468 802835E8 0C0B1EAF */ jal get_variable /* 7E446C 802835EC 26100004 */ addiu $s0, $s0, 4 /* 7E4470 802835F0 8E050000 */ lw $a1, ($s0) /* 7E4474 802835F4 26100004 */ addiu $s0, $s0, 4 /* 7E4478 802835F8 0280202D */ daddu $a0, $s4, $zero -/* 7E447C 802835FC 0C0B1EAF */ jal func_802C7ABC +/* 7E447C 802835FC 0C0B1EAF */ jal get_variable /* 7E4480 80283600 0040882D */ daddu $s1, $v0, $zero /* 7E4484 80283604 0280202D */ daddu $a0, $s4, $zero /* 7E4488 80283608 8E050000 */ lw $a1, ($s0) -/* 7E448C 8028360C 0C0B1EAF */ jal func_802C7ABC +/* 7E448C 8028360C 0C0B1EAF */ jal get_variable /* 7E4490 80283610 0040982D */ daddu $s3, $v0, $zero /* 7E4494 80283614 00118880 */ sll $s1, $s1, 2 /* 7E4498 80283618 26100004 */ addiu $s0, $s0, 4 @@ -3825,7 +3825,7 @@ func_80283434: .L80283660: /* 7E44E0 80283660 0200282D */ daddu $a1, $s0, $zero .L80283664: -/* 7E44E4 80283664 0C0B2026 */ jal func_802C8098 +/* 7E44E4 80283664 0C0B2026 */ jal set_variable /* 7E44E8 80283668 24060003 */ addiu $a2, $zero, 3 .L8028366C: /* 7E44EC 8028366C 92420004 */ lbu $v0, 4($s2) @@ -3836,7 +3836,7 @@ func_80283434: /* 7E4500 80283680 02671821 */ addu $v1, $s3, $a3 /* 7E4504 80283684 00431021 */ addu $v0, $v0, $v1 /* 7E4508 80283688 90460000 */ lbu $a2, ($v0) -/* 7E450C 8028368C 0C0B2026 */ jal func_802C8098 +/* 7E450C 8028368C 0C0B2026 */ jal set_variable /* 7E4510 80283690 0200282D */ daddu $a1, $s0, $zero /* 7E4514 80283694 8FBF0024 */ lw $ra, 0x24($sp) /* 7E4518 80283698 8FB40020 */ lw $s4, 0x20($sp) @@ -3857,20 +3857,20 @@ func_80283434: /* 7E4550 802836D0 AFB00010 */ sw $s0, 0x10($sp) /* 7E4554 802836D4 8E70000C */ lw $s0, 0xc($s3) /* 7E4558 802836D8 8E050000 */ lw $a1, ($s0) -/* 7E455C 802836DC 0C0B1EAF */ jal func_802C7ABC +/* 7E455C 802836DC 0C0B1EAF */ jal get_variable /* 7E4560 802836E0 26100004 */ addiu $s0, $s0, 4 /* 7E4564 802836E4 8E050000 */ lw $a1, ($s0) /* 7E4568 802836E8 26100004 */ addiu $s0, $s0, 4 /* 7E456C 802836EC 0260202D */ daddu $a0, $s3, $zero -/* 7E4570 802836F0 0C0B1EAF */ jal func_802C7ABC +/* 7E4570 802836F0 0C0B1EAF */ jal get_variable /* 7E4574 802836F4 0040882D */ daddu $s1, $v0, $zero /* 7E4578 802836F8 0040902D */ daddu $s2, $v0, $zero /* 7E457C 802836FC 8E050000 */ lw $a1, ($s0) /* 7E4580 80283700 26100004 */ addiu $s0, $s0, 4 -/* 7E4584 80283704 0C0B1EAF */ jal func_802C7ABC +/* 7E4584 80283704 0C0B1EAF */ jal get_variable /* 7E4588 80283708 0260202D */ daddu $a0, $s3, $zero /* 7E458C 8028370C 8E050000 */ lw $a1, ($s0) -/* 7E4590 80283710 0C0B1EAF */ jal func_802C7ABC +/* 7E4590 80283710 0C0B1EAF */ jal get_variable /* 7E4594 80283714 0260202D */ daddu $a0, $s3, $zero /* 7E4598 80283718 00118880 */ sll $s1, $s1, 2 /* 7E459C 8028371C 3C04802E */ lui $a0, 0x802e @@ -3895,11 +3895,11 @@ func_80283434: /* 7E45E8 80283768 000217C3 */ sra $v0, $v0, 0x1f /* 7E45EC 8028376C 00001810 */ mfhi $v1 /* 7E45F0 80283770 000388C3 */ sra $s1, $v1, 3 -/* 7E45F4 80283774 0C0B2026 */ jal func_802C8098 +/* 7E45F4 80283774 0C0B2026 */ jal set_variable /* 7E45F8 80283778 02228823 */ subu $s1, $s1, $v0 /* 7E45FC 8028377C 0260202D */ daddu $a0, $s3, $zero /* 7E4600 80283780 0200282D */ daddu $a1, $s0, $zero -/* 7E4604 80283784 0C0B2026 */ jal func_802C8098 +/* 7E4604 80283784 0C0B2026 */ jal set_variable /* 7E4608 80283788 0220302D */ daddu $a2, $s1, $zero /* 7E460C 8028378C 8FBF0020 */ lw $ra, 0x20($sp) /* 7E4610 80283790 8FB3001C */ lw $s3, 0x1c($sp) @@ -3917,11 +3917,11 @@ func_80283434: /* 7E463C 802837BC AFB00010 */ sw $s0, 0x10($sp) /* 7E4640 802837C0 8E30000C */ lw $s0, 0xc($s1) /* 7E4644 802837C4 8E050000 */ lw $a1, ($s0) -/* 7E4648 802837C8 0C0B1EAF */ jal func_802C7ABC +/* 7E4648 802837C8 0C0B1EAF */ jal get_variable /* 7E464C 802837CC 26100004 */ addiu $s0, $s0, 4 /* 7E4650 802837D0 0220202D */ daddu $a0, $s1, $zero /* 7E4654 802837D4 8E050000 */ lw $a1, ($s0) -/* 7E4658 802837D8 0C0B1EAF */ jal func_802C7ABC +/* 7E4658 802837D8 0C0B1EAF */ jal get_variable /* 7E465C 802837DC 0040802D */ daddu $s0, $v0, $zero /* 7E4660 802837E0 00108080 */ sll $s0, $s0, 2 /* 7E4664 802837E4 3C03802E */ lui $v1, 0x802e @@ -3979,7 +3979,7 @@ func_80283868: /* 7E471C 8028389C AFBF001C */ sw $ra, 0x1c($sp) /* 7E4720 802838A0 10400012 */ beqz $v0, .L802838EC /* 7E4724 802838A4 AFB00010 */ sw $s0, 0x10($sp) -/* 7E4728 802838A8 0C00EABB */ jal func_8003AAEC +/* 7E4728 802838A8 0C00EABB */ jal get_npc_unsafe /* 7E472C 802838AC 2404FFFC */ addiu $a0, $zero, -4 /* 7E4730 802838B0 C6200028 */ lwc1 $f0, 0x28($s1) /* 7E4734 802838B4 0040802D */ daddu $s0, $v0, $zero @@ -3993,9 +3993,9 @@ func_80283868: /* 7E4754 802838D4 E600003C */ swc1 $f0, 0x3c($s0) .L802838D8: /* 7E4758 802838D8 8E450080 */ lw $a1, 0x80($s2) -/* 7E475C 802838DC 0C00ECD0 */ jal func_8003B340 +/* 7E475C 802838DC 0C00ECD0 */ jal set_npc_yaw /* 7E4760 802838E0 0200202D */ daddu $a0, $s0, $zero -/* 7E4764 802838E4 0C03BD17 */ jal func_800EF45C +/* 7E4764 802838E4 0C03BD17 */ jal clear_partner_move_history /* 7E4768 802838E8 0200202D */ daddu $a0, $s0, $zero .L802838EC: /* 7E476C 802838EC 24020002 */ addiu $v0, $zero, 2 @@ -4046,7 +4046,7 @@ func_80283868: /* 7E481C 8028399C 8063F2A2 */ lb $v1, -0xd5e($v1) /* 7E4820 802839A0 10600022 */ beqz $v1, .L80283A2C /* 7E4824 802839A4 00449021 */ addu $s2, $v0, $a0 -/* 7E4828 802839A8 0C00EABB */ jal func_8003AAEC +/* 7E4828 802839A8 0C00EABB */ jal get_npc_unsafe /* 7E482C 802839AC 2404FFFC */ addiu $a0, $zero, -4 /* 7E4830 802839B0 C60200A8 */ lwc1 $f2, 0xa8($s0) /* 7E4834 802839B4 3C014334 */ lui $at, 0x4334 @@ -4060,7 +4060,7 @@ func_80283868: /* 7E4854 802839D4 3C0142B4 */ lui $at, 0x42b4 /* 7E4858 802839D8 44816000 */ mtc1 $at, $f12 .L802839DC: -/* 7E485C 802839DC 0C00A6C9 */ jal func_80029B24 +/* 7E485C 802839DC 0C00A6C9 */ jal clamp_angle /* 7E4860 802839E0 00000000 */ nop /* 7E4864 802839E4 C6220028 */ lwc1 $f2, 0x28($s1) /* 7E4868 802839E8 E6020038 */ swc1 $f2, 0x38($s0) @@ -4076,9 +4076,9 @@ func_80283868: /* 7E4890 80283A10 00000000 */ nop /* 7E4894 80283A14 46802120 */ cvt.s.w $f4, $f4 /* 7E4898 80283A18 44062000 */ mfc1 $a2, $f4 -/* 7E489C 80283A1C 0C00A7E7 */ jal func_80029F9C +/* 7E489C 80283A1C 0C00A7E7 */ jal add_vec2D_polar /* 7E48A0 80283A20 26050040 */ addiu $a1, $s0, 0x40 -/* 7E48A4 80283A24 0C03BCCA */ jal func_800EF328 +/* 7E48A4 80283A24 0C03BCCA */ jal enable_partner_ai /* 7E48A8 80283A28 00000000 */ nop .L80283A2C: /* 7E48AC 80283A2C 24020001 */ addiu $v0, $zero, 1 @@ -4097,7 +4097,7 @@ func_80283868: /* 7E48DC 80283A5C AFB00010 */ sw $s0, 0x10($sp) /* 7E48E0 80283A60 00A0802D */ daddu $s0, $a1, $zero /* 7E48E4 80283A64 AFBF001C */ sw $ra, 0x1c($sp) -/* 7E48E8 80283A68 0C016AFA */ jal func_8005ABE8 +/* 7E48E8 80283A68 0C016AFA */ jal get_current_map_header /* 7E48EC 80283A6C AFB10014 */ sw $s1, 0x14($sp) /* 7E48F0 80283A70 0000302D */ daddu $a2, $zero, $zero /* 7E48F4 80283A74 3C118011 */ lui $s1, 0x8011 @@ -4203,12 +4203,12 @@ func_80283B48: /* 7E4A68 80283BE8 AFBF0018 */ sw $ra, 0x18($sp) /* 7E4A6C 80283BEC 10A00008 */ beqz $a1, .L80283C10 /* 7E4A70 80283BF0 8E02000C */ lw $v0, 0xc($s0) -/* 7E4A74 80283BF4 0C0B1EAF */ jal func_802C7ABC +/* 7E4A74 80283BF4 0C0B1EAF */ jal get_variable /* 7E4A78 80283BF8 8C450000 */ lw $a1, ($v0) /* 7E4A7C 80283BFC AE020070 */ sw $v0, 0x70($s0) /* 7E4A80 80283C00 8E250080 */ lw $a1, 0x80($s1) /* 7E4A84 80283C04 8E26005C */ lw $a2, 0x5c($s1) -/* 7E4A88 80283C08 0C0389DE */ jal func_800E2778 +/* 7E4A88 80283C08 0C0389DE */ jal move_player /* 7E4A8C 80283C0C 0040202D */ daddu $a0, $v0, $zero .L80283C10: /* 7E4A90 80283C10 8E030070 */ lw $v1, 0x70($s0) @@ -4228,12 +4228,12 @@ func_80283B48: /* 7E4AC4 80283C44 AFB3001C */ sw $s3, 0x1c($sp) /* 7E4AC8 80283C48 AFB10014 */ sw $s1, 0x14($sp) /* 7E4ACC 80283C4C AFB00010 */ sw $s0, 0x10($sp) -/* 7E4AD0 80283C50 0C016AFA */ jal func_8005ABE8 +/* 7E4AD0 80283C50 0C016AFA */ jal get_current_map_header /* 7E4AD4 80283C54 8E50000C */ lw $s0, 0xc($s2) /* 7E4AD8 80283C58 0240202D */ daddu $a0, $s2, $zero /* 7E4ADC 80283C5C 8C530014 */ lw $s3, 0x14($v0) /* 7E4AE0 80283C60 8E050000 */ lw $a1, ($s0) -/* 7E4AE4 80283C64 0C0B1EAF */ jal func_802C7ABC +/* 7E4AE4 80283C64 0C0B1EAF */ jal get_variable /* 7E4AE8 80283C68 26100004 */ addiu $s0, $s0, 4 /* 7E4AEC 80283C6C 8E050000 */ lw $a1, ($s0) /* 7E4AF0 80283C70 26100004 */ addiu $s0, $s0, 4 @@ -4242,27 +4242,27 @@ func_80283B48: /* 7E4AFC 80283C7C C6200000 */ lwc1 $f0, ($s1) /* 7E4B00 80283C80 4600008D */ trunc.w.s $f2, $f0 /* 7E4B04 80283C84 44061000 */ mfc1 $a2, $f2 -/* 7E4B08 80283C88 0C0B2026 */ jal func_802C8098 +/* 7E4B08 80283C88 0C0B2026 */ jal set_variable /* 7E4B0C 80283C8C 0240202D */ daddu $a0, $s2, $zero /* 7E4B10 80283C90 8E050000 */ lw $a1, ($s0) /* 7E4B14 80283C94 26100004 */ addiu $s0, $s0, 4 /* 7E4B18 80283C98 C6200004 */ lwc1 $f0, 4($s1) /* 7E4B1C 80283C9C 4600008D */ trunc.w.s $f2, $f0 /* 7E4B20 80283CA0 44061000 */ mfc1 $a2, $f2 -/* 7E4B24 80283CA4 0C0B2026 */ jal func_802C8098 +/* 7E4B24 80283CA4 0C0B2026 */ jal set_variable /* 7E4B28 80283CA8 0240202D */ daddu $a0, $s2, $zero /* 7E4B2C 80283CAC 8E050000 */ lw $a1, ($s0) /* 7E4B30 80283CB0 26100004 */ addiu $s0, $s0, 4 /* 7E4B34 80283CB4 C6200008 */ lwc1 $f0, 8($s1) /* 7E4B38 80283CB8 4600008D */ trunc.w.s $f2, $f0 /* 7E4B3C 80283CBC 44061000 */ mfc1 $a2, $f2 -/* 7E4B40 80283CC0 0C0B2026 */ jal func_802C8098 +/* 7E4B40 80283CC0 0C0B2026 */ jal set_variable /* 7E4B44 80283CC4 0240202D */ daddu $a0, $s2, $zero /* 7E4B48 80283CC8 C620000C */ lwc1 $f0, 0xc($s1) /* 7E4B4C 80283CCC 8E050000 */ lw $a1, ($s0) /* 7E4B50 80283CD0 4600008D */ trunc.w.s $f2, $f0 /* 7E4B54 80283CD4 44061000 */ mfc1 $a2, $f2 -/* 7E4B58 80283CD8 0C0B2026 */ jal func_802C8098 +/* 7E4B58 80283CD8 0C0B2026 */ jal set_variable /* 7E4B5C 80283CDC 0240202D */ daddu $a0, $s2, $zero /* 7E4B60 80283CE0 8FBF0020 */ lw $ra, 0x20($sp) /* 7E4B64 80283CE4 8FB3001C */ lw $s3, 0x1c($sp) diff --git a/papermario/asm/CODE_e20eb0.s b/papermario/asm/CODE_e20eb0.s index 94d77c8eb3..2aa3f81ab3 100644 --- a/papermario/asm/CODE_e20eb0.s +++ b/papermario/asm/CODE_e20eb0.s @@ -61,7 +61,7 @@ func_802B70AC: /* E20F70 802B70C0 261079A8 */ addiu $s0, $s0, 0x79a8 /* E20F74 802B70C4 AFBF0014 */ sw $ra, 0x14($sp) /* E20F78 802B70C8 8E040000 */ lw $a0, ($s0) -/* E20F7C 802B70CC 0C00A580 */ jal func_80029600 +/* E20F7C 802B70CC 0C00A580 */ jal mem_clear /* E20F80 802B70D0 2405002C */ addiu $a1, $zero, 0x2c /* E20F84 802B70D4 3C058011 */ lui $a1, 0x8011 /* E20F88 802B70D8 24A5EFC8 */ addiu $a1, $a1, -0x1038 diff --git a/papermario/asm/code_1000_len_60.s b/papermario/asm/code_1000_len_60.s index e1f6ef6926..b645e0cc5d 100644 --- a/papermario/asm/code_1000_len_60.s +++ b/papermario/asm/code_1000_len_60.s @@ -1,6 +1,7 @@ .section .text80025C00, "ax" +entry_point: /* 001000 80025C00 3C08800A */ lui $t0, 0x800a /* 001004 80025C04 2508A5B0 */ addiu $t0, $t0, -0x5a50 /* 001008 80025C08 3C090004 */ lui $t1, 4 diff --git a/papermario/asm/code_101b90_len_8f0.s b/papermario/asm/code_101b90_len_8f0.s index 6f41e48c53..b6bcf4470c 100644 --- a/papermario/asm/code_101b90_len_8f0.s +++ b/papermario/asm/code_101b90_len_8f0.s @@ -36,7 +36,7 @@ func_802DEAD0: /* 101BF4 802DEB04 03E00008 */ jr $ra /* 101BF8 802DEB08 00000000 */ nop -func_802DEB0C: +load_sprite: /* 101BFC 802DEB0C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 101C00 802DEB10 AFB50024 */ sw $s5, 0x24($sp) /* 101C04 802DEB14 0080A82D */ daddu $s5, $a0, $zero @@ -72,7 +72,7 @@ func_802DEB5C: /* 101C70 802DEB80 26100007 */ addiu $s0, $s0, 7 /* 101C74 802DEB84 2402FFF8 */ addiu $v0, $zero, -8 /* 101C78 802DEB88 02028024 */ and $s0, $s0, $v0 -/* 101C7C 802DEB8C 0C00AB0A */ jal func_8002AC28 +/* 101C7C 802DEB8C 0C00AB0A */ jal general_heap_malloc /* 101C80 802DEB90 0200202D */ daddu $a0, $s0, $zero /* 101C84 802DEB94 0040902D */ daddu $s2, $v0, $zero /* 101C88 802DEB98 0240282D */ daddu $a1, $s2, $zero @@ -85,7 +85,7 @@ func_802DEB5C: /* 101CA4 802DEBB4 8CA50000 */ lw $a1, ($a1) /* 101CA8 802DEBB8 3C048035 */ lui $a0, 0x8035 /* 101CAC 802DEBBC 2484F800 */ addiu $a0, $a0, -0x800 -/* 101CB0 802DEBC0 0C00A459 */ jal func_80029164 +/* 101CB0 802DEBC0 0C00A459 */ jal _heap_malloc_tail /* 101CB4 802DEBC4 00000000 */ nop /* 101CB8 802DEBC8 080B7AFA */ j func_802DEBE8 /* 101CBC 802DEBCC 0040882D */ daddu $s1, $v0, $zero @@ -94,14 +94,14 @@ func_802DEB5C: /* 101CC0 802DEBD0 8CA50000 */ lw $a1, ($a1) /* 101CC4 802DEBD4 3C048035 */ lui $a0, 0x8035 /* 101CC8 802DEBD8 2484F800 */ addiu $a0, $a0, -0x800 -/* 101CCC 802DEBDC 0C00A41B */ jal func_8002906C +/* 101CCC 802DEBDC 0C00A41B */ jal _heap_malloc /* 101CD0 802DEBE0 00000000 */ nop /* 101CD4 802DEBE4 0040882D */ daddu $s1, $v0, $zero func_802DEBE8: /* 101CD8 802DEBE8 0240202D */ daddu $a0, $s2, $zero /* 101CDC 802DEBEC 0C01BB7C */ jal decode_yay0 /* 101CE0 802DEBF0 0220282D */ daddu $a1, $s1, $zero -/* 101CE4 802DEBF4 0C00AB1E */ jal func_8002AC78 +/* 101CE4 802DEBF4 0C00AB1E */ jal general_heap_free /* 101CE8 802DEBF8 0240202D */ daddu $a0, $s2, $zero /* 101CEC 802DEBFC 2404FFFF */ addiu $a0, $zero, -1 /* 101CF0 802DEC00 00111082 */ srl $v0, $s1, 2 @@ -236,7 +236,7 @@ func_802DED60: /* 101EC8 802DEDD8 AE030008 */ sw $v1, 8($s0) /* 101ECC 802DEDDC 00461021 */ addu $v0, $v0, $a2 /* 101ED0 802DEDE0 00002812 */ mflo $a1 -/* 101ED4 802DEDE4 0C00A41B */ jal func_8002906C +/* 101ED4 802DEDE4 0C00A41B */ jal _heap_malloc /* 101ED8 802DEDE8 AE020004 */ sw $v0, 4($s0) /* 101EDC 802DEDEC 0040282D */ daddu $a1, $v0, $zero /* 101EE0 802DEDF0 0000202D */ daddu $a0, $zero, $zero @@ -592,7 +592,7 @@ func_802DF24C: /* 102388 802DF298 3C048035 */ lui $a0, 0x8035 /* 10238C 802DF29C 2484F800 */ addiu $a0, $a0, -0x800 /* 102390 802DF2A0 02C0282D */ daddu $a1, $s6, $zero -/* 102394 802DF2A4 0C00A4B1 */ jal func_800292C4 +/* 102394 802DF2A4 0C00A4B1 */ jal _heap_realloc /* 102398 802DF2A8 00C53023 */ subu $a2, $a2, $a1 /* 10239C 802DF2AC 8FBF01C8 */ lw $ra, 0x1c8($sp) /* 1023A0 802DF2B0 8FB701C4 */ lw $s7, 0x1c4($sp) @@ -626,7 +626,7 @@ func_802DF2D8: /* 102408 802DF318 3C048030 */ lui $a0, 0x8030 /* 10240C 802DF31C 2484B800 */ addiu $a0, $a0, -0x4800 .L802DF320: -/* 102410 802DF320 0C00A41B */ jal func_8002906C +/* 102410 802DF320 0C00A41B */ jal _heap_malloc /* 102414 802DF324 00000000 */ nop /* 102418 802DF328 0040302D */ daddu $a2, $v0, $zero /* 10241C 802DF32C 00C0282D */ daddu $a1, $a2, $zero diff --git a/papermario/asm/code_102610_len_2330.s b/papermario/asm/code_102610_len_2330.s index aded2ea429..9c74bccb7c 100644 --- a/papermario/asm/code_102610_len_2330.s +++ b/papermario/asm/code_102610_len_2330.s @@ -39,7 +39,7 @@ func_802E0DB0: /* 10268C 802E0E0C AFB200B0 */ sw $s2, 0xb0($sp) /* 102690 802E0E10 AFB100AC */ sw $s1, 0xac($sp) /* 102694 802E0E14 F7B400D0 */ sdc1 $f20, 0xd0($sp) -/* 102698 802E0E18 0C04417A */ jal func_801105E8 +/* 102698 802E0E18 0C04417A */ jal get_entity_by_index /* 10269C 802E0E1C 3C170001 */ lui $s7, 1 /* 1026A0 802E0E20 27A40018 */ addiu $a0, $sp, 0x18 /* 1026A4 802E0E24 36F71630 */ ori $s7, $s7, 0x1630 @@ -233,7 +233,7 @@ func_802E0DB0: /* 102990 802E1110 24420006 */ addiu $v0, $v0, 6 /* 102994 802E1114 44826000 */ mtc1 $v0, $f12 /* 102998 802E1118 00000000 */ nop -/* 10299C 802E111C 0C00A6C9 */ jal func_80029B24 +/* 10299C 802E111C 0C00A6C9 */ jal clamp_angle /* 1029A0 802E1120 46806320 */ cvt.s.w $f12, $f12 /* 1029A4 802E1124 4600008D */ trunc.w.s $f2, $f0 /* 1029A8 802E1128 44021000 */ mfc1 $v0, $f2 @@ -269,6 +269,7 @@ func_802E0DB0: /* 102A18 802E1198 03E00008 */ jr $ra /* 102A1C 802E119C 27BD0018 */ addiu $sp, $sp, 0x18 +save_game_at_player_position: /* 102A20 802E11A0 3C04800F */ lui $a0, 0x800f /* 102A24 802E11A4 8C847B30 */ lw $a0, 0x7b30($a0) /* 102A28 802E11A8 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -289,7 +290,7 @@ func_802E0DB0: /* 102A64 802E11E4 90640166 */ lbu $a0, 0x166($v1) /* 102A68 802E11E8 4600008D */ trunc.w.s $f2, $f0 /* 102A6C 802E11EC 44021000 */ mfc1 $v0, $f2 -/* 102A70 802E11F0 0C00ACDD */ jal func_8002B374 +/* 102A70 802E11F0 0C00ACDD */ jal fio_save_game /* 102A74 802E11F4 A4620164 */ sh $v0, 0x164($v1) /* 102A78 802E11F8 8FBF0010 */ lw $ra, 0x10($sp) /* 102A7C 802E11FC 03E00008 */ jr $ra @@ -300,17 +301,17 @@ func_802E0DB0: /* 102A8C 802E120C 0080802D */ daddu $s0, $a0, $zero /* 102A90 802E1210 3C04F840 */ lui $a0, 0xf840 /* 102A94 802E1214 AFBF0014 */ sw $ra, 0x14($sp) -/* 102A98 802E1218 0C05152F */ jal func_801454BC +/* 102A98 802E1218 0C05152F */ jal get_global_flag /* 102A9C 802E121C 34845BDF */ ori $a0, $a0, 0x5bdf /* 102AA0 802E1220 1440000B */ bnez $v0, .L802E1250 /* 102AA4 802E1224 00000000 */ nop /* 102AA8 802E1228 3C05802F */ lui $a1, 0x802f /* 102AAC 802E122C 24A5B390 */ addiu $a1, $a1, -0x4c70 /* 102AB0 802E1230 ACA00000 */ sw $zero, ($a1) -/* 102AB4 802E1234 0C049640 */ jal func_80125900 +/* 102AB4 802E1234 0C049640 */ jal load_string /* 102AB8 802E1238 3C04001D */ lui $a0, 0x1d /* 102ABC 802E123C 3C04F840 */ lui $a0, 0xf840 -/* 102AC0 802E1240 0C051514 */ jal func_80145450 +/* 102AC0 802E1240 0C051514 */ jal set_global_flag /* 102AC4 802E1244 34845BDF */ ori $a0, $a0, 0x5bdf /* 102AC8 802E1248 080B8498 */ j func_802E1260 /* 102ACC 802E124C 00000000 */ nop @@ -348,13 +349,13 @@ func_802E1260: /* 102B34 802E12B4 2610B390 */ addiu $s0, $s0, -0x4c70 /* 102B38 802E12B8 AFBF0014 */ sw $ra, 0x14($sp) /* 102B3C 802E12BC AE000000 */ sw $zero, ($s0) -/* 102B40 802E12C0 0C049640 */ jal func_80125900 +/* 102B40 802E12C0 0C049640 */ jal load_string /* 102B44 802E12C4 ACA00000 */ sw $zero, ($a1) /* 102B48 802E12C8 3C04001E */ lui $a0, 0x1e /* 102B4C 802E12CC 3484000A */ ori $a0, $a0, 0xa /* 102B50 802E12D0 3C01802F */ lui $at, 0x802f /* 102B54 802E12D4 AC22B39C */ sw $v0, -0x4c64($at) -/* 102B58 802E12D8 0C049640 */ jal func_80125900 +/* 102B58 802E12D8 0C049640 */ jal load_string /* 102B5C 802E12DC 0200282D */ daddu $a1, $s0, $zero /* 102B60 802E12E0 8FBF0014 */ lw $ra, 0x14($sp) /* 102B64 802E12E4 8FB00010 */ lw $s0, 0x10($sp) @@ -368,9 +369,9 @@ func_802E1260: /* 102B80 802E1300 3C05802F */ lui $a1, 0x802f /* 102B84 802E1304 8CA5B39C */ lw $a1, -0x4c64($a1) /* 102B88 802E1308 AFBF0010 */ sw $ra, 0x10($sp) -/* 102B8C 802E130C 0C04969A */ jal func_80125A68 +/* 102B8C 802E130C 0C04969A */ jal load_message_to_printer /* 102B90 802E1310 34840005 */ ori $a0, $a0, 5 -/* 102B94 802E1314 0C05272D */ jal func_80149CB4 +/* 102B94 802E1314 0C05272D */ jal play_sound /* 102B98 802E1318 24040010 */ addiu $a0, $zero, 0x10 /* 102B9C 802E131C 8FBF0010 */ lw $ra, 0x10($sp) /* 102BA0 802E1320 03E00008 */ jr $ra @@ -412,7 +413,7 @@ func_802E1260: func_802E139C: /* 102C1C 802E139C 3C04802F */ lui $a0, 0x802f /* 102C20 802E13A0 8C84B39C */ lw $a0, -0x4c64($a0) -/* 102C24 802E13A4 0C04971C */ jal func_80125C70 +/* 102C24 802E13A4 0C04971C */ jal close_message /* 102C28 802E13A8 00000000 */ nop .L802E13AC: /* 102C2C 802E13AC 8FBF0010 */ lw $ra, 0x10($sp) @@ -1181,7 +1182,7 @@ func_802E1E70: /* 103730 802E1EB0 0080802D */ daddu $s0, $a0, $zero /* 103734 802E1EB4 AFBF0014 */ sw $ra, 0x14($sp) /* 103738 802E1EB8 8E020040 */ lw $v0, 0x40($s0) -/* 10373C 802E1EBC 0C051568 */ jal func_801455A0 +/* 10373C 802E1EBC 0C051568 */ jal set_area_flag /* 103740 802E1EC0 94440020 */ lhu $a0, 0x20($v0) /* 103744 802E1EC4 0C04419E */ jal func_80110678 /* 103748 802E1EC8 0200202D */ daddu $a0, $s0, $zero @@ -1646,7 +1647,7 @@ func_802E246C: /* 103DC8 802E2548 E6400124 */ swc1 $f0, 0x124($s2) /* 103DCC 802E254C C7A00048 */ lwc1 $f0, 0x48($sp) /* 103DD0 802E2550 240400FF */ addiu $a0, $zero, 0xff -/* 103DD4 802E2554 0C00A67F */ jal func_800299FC +/* 103DD4 802E2554 0C00A67F */ jal rand_int /* 103DD8 802E2558 E6400188 */ swc1 $f0, 0x188($s2) /* 103DDC 802E255C 00021023 */ negu $v0, $v0 /* 103DE0 802E2560 A2220072 */ sb $v0, 0x72($s1) @@ -1669,7 +1670,7 @@ func_802E246C: /* 103E1C 802E259C 34420002 */ ori $v0, $v0, 2 func_802E25A0: /* 103E20 802E25A0 A6620000 */ sh $v0, ($s3) -/* 103E24 802E25A4 0C00A67F */ jal func_800299FC +/* 103E24 802E25A4 0C00A67F */ jal rand_int /* 103E28 802E25A8 2404000A */ addiu $a0, $zero, 0xa /* 103E2C 802E25AC 02028021 */ addu $s0, $s0, $v0 /* 103E30 802E25B0 32820001 */ andi $v0, $s4, 1 @@ -1873,7 +1874,7 @@ func_802E27DC: /* 104100 802E2880 3C0143B4 */ lui $at, 0x43b4 /* 104104 802E2884 44810000 */ mtc1 $at, $f0 /* 104108 802E2888 8FA50038 */ lw $a1, 0x38($sp) -/* 10410C 802E288C 0C00A82D */ jal func_8002A0B4 +/* 10410C 802E288C 0C00A82D */ jal sin_cos_rad /* 104110 802E2890 46006303 */ div.s $f12, $f12, $f0 /* 104114 802E2894 C7A00020 */ lwc1 $f0, 0x20($sp) /* 104118 802E2898 4600B002 */ mul.s $f0, $f22, $f0 @@ -1932,7 +1933,7 @@ func_802E27DC: /* 1041EC 802E296C 00000000 */ nop /* 1041F0 802E2970 8FA50038 */ lw $a1, 0x38($sp) /* 1041F4 802E2974 463C6303 */ div.d $f12, $f12, $f28 -/* 1041F8 802E2978 0C00A82D */ jal func_8002A0B4 +/* 1041F8 802E2978 0C00A82D */ jal sin_cos_rad /* 1041FC 802E297C 46206320 */ cvt.s.d $f12, $f12 /* 104200 802E2980 C7A00020 */ lwc1 $f0, 0x20($sp) /* 104204 802E2984 3C014100 */ lui $at, 0x4100 @@ -2114,7 +2115,7 @@ func_802E2AFC: /* 104498 802E2C18 F7BE0178 */ sdc1 $f30, 0x178($sp) /* 10449C 802E2C1C F7BC0170 */ sdc1 $f28, 0x170($sp) /* 1044A0 802E2C20 F7B40150 */ sdc1 $f20, 0x150($sp) -/* 1044A4 802E2C24 0C04417A */ jal func_801105E8 +/* 1044A4 802E2C24 0C04417A */ jal get_entity_by_index /* 1044A8 802E2C28 AFA80124 */ sw $t0, 0x124($sp) /* 1044AC 802E2C2C AFA2011C */ sw $v0, 0x11c($sp) /* 1044B0 802E2C30 8C540040 */ lw $s4, 0x40($v0) @@ -2345,7 +2346,7 @@ func_802E2CD4: /* 104810 802E2F90 8E27004C */ lw $a3, 0x4c($s1) /* 104814 802E2F94 3C100A00 */ lui $s0, 0xa00 /* 104818 802E2F98 26102318 */ addiu $s0, $s0, 0x2318 -/* 10481C 802E2F9C 0C052757 */ jal func_80149D5C +/* 10481C 802E2F9C 0C052757 */ jal play_sound_at_position /* 104820 802E2FA0 0000282D */ daddu $a1, $zero, $zero func_802E2FA4: .L802E2FA4: @@ -2420,7 +2421,7 @@ func_802E3064: /* 10490C 802E308C 44063000 */ mfc1 $a2, $f6 /* 104910 802E3090 4600218D */ trunc.w.s $f6, $f4 /* 104914 802E3094 44073000 */ mfc1 $a3, $f6 -/* 104918 802E3098 0C044631 */ jal func_801118C4 +/* 104918 802E3098 0C044631 */ jal create_entity /* 10491C 802E309C AFA20014 */ sw $v0, 0x14($sp) .L802E30A0: /* 104920 802E30A0 8FBF0020 */ lw $ra, 0x20($sp) diff --git a/papermario/asm/code_10400_len_d30.s b/papermario/asm/code_10400_len_d30.s index 598fe4d6d8..3f4bf89237 100644 --- a/papermario/asm/code_10400_len_d30.s +++ b/papermario/asm/code_10400_len_d30.s @@ -36,7 +36,7 @@ /* 01047C 8003507C 00000000 */ nop /* 010480 80035080 0C009C22 */ jal func_80027088 /* 010484 80035084 24040002 */ addiu $a0, $zero, 2 -/* 010488 80035088 0C00AB00 */ jal func_8002AC00 +/* 010488 80035088 0C00AB00 */ jal general_heap_create /* 01048C 8003508C 00000000 */ nop /* 010490 80035090 0000202D */ daddu $a0, $zero, $zero /* 010494 80035094 0C0514BA */ jal func_801452E8 @@ -45,7 +45,7 @@ /* 0104A0 800350A0 00000000 */ nop /* 0104A4 800350A4 0000202D */ daddu $a0, $zero, $zero /* 0104A8 800350A8 0080282D */ daddu $a1, $a0, $zero -/* 0104AC 800350AC 0C045709 */ jal func_80115C24 +/* 0104AC 800350AC 0C045709 */ jal load_model_textures /* 0104B0 800350B0 0080302D */ daddu $a2, $a0, $zero /* 0104B4 800350B4 0000202D */ daddu $a0, $zero, $zero /* 0104B8 800350B8 2405000C */ addiu $a1, $zero, 0xc @@ -79,7 +79,7 @@ /* 010528 80035128 A6030AB0 */ sh $v1, 0xab0($s0) /* 01052C 8003512C E6140018 */ swc1 $f20, 0x18($s0) /* 010530 80035130 34420002 */ ori $v0, $v0, 2 -/* 010534 80035134 0C00B8C5 */ jal func_8002E314 +/* 010534 80035134 0C00B8C5 */ jal set_cam_viewport /* 010538 80035138 A6021008 */ sh $v0, 0x1008($s0) /* 01053C 8003513C 24020028 */ addiu $v0, $zero, 0x28 /* 010540 80035140 A602001E */ sh $v0, 0x1e($s0) @@ -253,15 +253,15 @@ /* 0107A4 800353A4 00000000 */ nop /* 0107A8 800353A8 3C028007 */ lui $v0, 0x8007 /* 0107AC 800353AC 8C42419C */ lw $v0, 0x419c($v0) -/* 0107B0 800353B0 0C016BA8 */ jal func_8005AEA0 +/* 0107B0 800353B0 0C016BA8 */ jal allocate_hit_tables /* 0107B4 800353B4 A0530070 */ sb $s3, 0x70($v0) -/* 0107B8 800353B8 0C00AB28 */ jal func_8002ACA0 +/* 0107B8 800353B8 0C00AB28 */ jal battle_heap_create /* 0107BC 800353BC 00000000 */ nop /* 0107C0 800353C0 0C05259C */ jal func_80149670 /* 0107C4 800353C4 0000202D */ daddu $a0, $zero, $zero /* 0107C8 800353C8 0C0B763E */ jal func_802DD8F8 /* 0107CC 800353CC 0000202D */ daddu $a0, $zero, $zero -/* 0107D0 800353D0 0C045751 */ jal func_80115D44 +/* 0107D0 800353D0 0C045751 */ jal clear_model_data /* 0107D4 800353D4 00000000 */ nop /* 0107D8 800353D8 0C052010 */ jal func_80148040 /* 0107DC 800353DC 00000000 */ nop @@ -279,17 +279,17 @@ /* 01080C 8003540C 3C050002 */ lui $a1, 2 /* 010810 80035410 0C050440 */ jal func_80141100 /* 010814 80035414 00000000 */ nop -/* 010818 80035418 0C03A6EC */ jal func_800E9BB0 +/* 010818 80035418 0C03A6EC */ jal reset_status_menu /* 01081C 8003541C 00000000 */ nop -/* 010820 80035420 0C04C3FC */ jal func_80130FF0 +/* 010820 80035420 0C04C3FC */ jal clear_item_entity_data /* 010824 80035424 00000000 */ nop -/* 010828 80035428 0C0B0C77 */ jal func_802C31DC +/* 010828 80035428 0C0B0C77 */ jal clear_script_list /* 01082C 8003542C 00000000 */ nop /* 010830 80035430 0C00E12F */ jal func_800384BC /* 010834 80035434 00000000 */ nop /* 010838 80035438 0C04432E */ jal func_80110CB8 /* 01083C 8003543C 0000202D */ daddu $a0, $zero, $zero -/* 010840 80035440 0C0515A0 */ jal func_80145680 +/* 010840 80035440 0C0515A0 */ jal clear_trigger_data /* 010844 80035444 00000000 */ nop /* 010848 80035448 3C048007 */ lui $a0, 0x8007 /* 01084C 8003544C 0C018038 */ jal nuPiReadRomOverlay @@ -381,7 +381,7 @@ func_800354D0: /* 010974 80035574 00021600 */ sll $v0, $v0, 0x18 /* 010978 80035578 14400008 */ bnez $v0, .L8003559C /* 01097C 8003557C 2402FFFF */ addiu $v0, $zero, -1 -/* 010980 80035580 0C00AB28 */ jal func_8002ACA0 +/* 010980 80035580 0C00AB28 */ jal battle_heap_create /* 010984 80035584 A2020000 */ sb $v0, ($s0) /* 010988 80035588 3C048007 */ lui $a0, 0x8007 /* 01098C 8003558C 0C018038 */ jal nuPiReadRomOverlay @@ -460,13 +460,13 @@ func_80035628: /* 010A84 80035684 00000000 */ nop /* 010A88 80035688 14400005 */ bnez $v0, .L800356A0 /* 010A8C 8003568C 00000000 */ nop -/* 010A90 80035690 0C04E0A8 */ jal func_801382A0 +/* 010A90 80035690 0C04E0A8 */ jal set_map_transition_effect /* 010A94 80035694 24040007 */ addiu $a0, $zero, 7 /* 010A98 80035698 0800D5B8 */ j func_800356E0 /* 010A9C 8003569C 00000000 */ nop .L800356A0: -/* 010AA0 800356A0 0C04E0A8 */ jal func_801382A0 +/* 010AA0 800356A0 0C04E0A8 */ jal set_map_transition_effect /* 010AA4 800356A4 24040008 */ addiu $a0, $zero, 8 /* 010AA8 800356A8 3C06FFFE */ lui $a2, 0xfffe /* 010AAC 800356AC 34C6FFFF */ ori $a2, $a2, 0xffff @@ -480,7 +480,7 @@ func_80035628: /* 010ACC 800356CC 00461024 */ and $v0, $v0, $a2 /* 010AD0 800356D0 ACA20000 */ sw $v0, ($a1) /* 010AD4 800356D4 2405FFFF */ addiu $a1, $zero, -1 -/* 010AD8 800356D8 0C052A46 */ jal func_8014A918 +/* 010AD8 800356D8 0C052A46 */ jal set_music_track /* 010ADC 800356DC 0080302D */ daddu $a2, $a0, $zero func_800356E0: /* 010AE0 800356E0 3C02800A */ lui $v0, 0x800a @@ -599,7 +599,7 @@ func_800356E0: /* 010C84 80035884 8C820000 */ lw $v0, ($a0) /* 010C88 80035888 2403FFF7 */ addiu $v1, $zero, -9 /* 010C8C 8003588C 00431024 */ and $v0, $v0, $v1 -/* 010C90 80035890 0C016AFA */ jal func_8005ABE8 +/* 010C90 80035890 0C016AFA */ jal get_current_map_header /* 010C94 80035894 AC820000 */ sw $v0, ($a0) /* 010C98 80035898 3C108007 */ lui $s0, 0x8007 /* 010C9C 8003589C 2610419C */ addiu $s0, $s0, 0x419c @@ -622,7 +622,7 @@ func_800356E0: /* 010CE0 800358E0 8E020000 */ lw $v0, ($s0) /* 010CE4 800358E4 0C0B763E */ jal func_802DD8F8 /* 010CE8 800358E8 80440084 */ lb $a0, 0x84($v0) -/* 010CEC 800358EC 0C0457FA */ jal func_80115FE8 +/* 010CEC 800358EC 0C0457FA */ jal init_model_data /* 010CF0 800358F0 00000000 */ nop /* 010CF4 800358F4 0C05203C */ jal func_801480F0 /* 010CF8 800358F8 00000000 */ nop @@ -635,46 +635,46 @@ func_800356E0: /* 010D14 80035914 0000202D */ daddu $a0, $zero, $zero /* 010D18 80035918 0C0514BA */ jal func_801452E8 /* 010D1C 8003591C 0080282D */ daddu $a1, $a0, $zero -/* 010D20 80035920 0C0504C0 */ jal func_80141300 +/* 010D20 80035920 0C0504C0 */ jal init_menu_icon_list /* 010D24 80035924 00000000 */ nop -/* 010D28 80035928 0C04C433 */ jal func_801310CC +/* 010D28 80035928 0C04C433 */ jal init_item_entity_list /* 010D2C 8003592C 00000000 */ nop -/* 010D30 80035930 0C0B0CBB */ jal func_802C32EC +/* 010D30 80035930 0C0B0CBB */ jal init_script_list /* 010D34 80035934 00000000 */ nop -/* 010D38 80035938 0C00E14B */ jal func_8003852C +/* 010D38 80035938 0C00E14B */ jal init_npc_list /* 010D3C 8003593C 00000000 */ nop /* 010D40 80035940 0C044396 */ jal func_80110E58 /* 010D44 80035944 00000000 */ nop -/* 010D48 80035948 0C0515CA */ jal func_80145728 +/* 010D48 80035948 0C0515CA */ jal init_trigger_list /* 010D4C 8003594C 00000000 */ nop /* 010D50 80035950 3C04800E */ lui $a0, 0x800e /* 010D54 80035954 24849230 */ addiu $a0, $a0, -0x6dd0 -/* 010D58 80035958 0C016B3A */ jal func_8005ACE8 +/* 010D58 80035958 0C016B3A */ jal load_asset_by_name /* 010D5C 8003595C 27A50010 */ addiu $a1, $sp, 0x10 /* 010D60 80035960 0040802D */ daddu $s0, $v0, $zero /* 010D64 80035964 3C058021 */ lui $a1, 0x8021 /* 010D68 80035968 24A50000 */ addiu $a1, $a1, 0 /* 010D6C 8003596C 0C01BB7C */ jal decode_yay0 /* 010D70 80035970 0200202D */ daddu $a0, $s0, $zero -/* 010D74 80035974 0C00AB1E */ jal func_8002AC78 +/* 010D74 80035974 0C00AB1E */ jal general_heap_free /* 010D78 80035978 0200202D */ daddu $a0, $s0, $zero -/* 010D7C 8003597C 0C016BE5 */ jal func_8005AF94 +/* 010D7C 8003597C 0C016BE5 */ jal initialize_collision /* 010D80 80035980 00000000 */ nop -/* 010D84 80035984 0C016C16 */ jal func_8005B058 +/* 010D84 80035984 0C016C16 */ jal load_collision /* 010D88 80035988 00000000 */ nop /* 010D8C 8003598C 8E240008 */ lw $a0, 8($s1) /* 010D90 80035990 10800004 */ beqz $a0, .L800359A4 /* 010D94 80035994 00000000 */ nop /* 010D98 80035998 8E25000C */ lw $a1, 0xc($s1) -/* 010D9C 8003599C 0C00A5CF */ jal func_8002973C +/* 010D9C 8003599C 0C00A5CF */ jal dma_copy /* 010DA0 800359A0 8E260010 */ lw $a2, 0x10($s1) .L800359A4: -/* 010DA4 800359A4 0C05175C */ jal func_80145D70 +/* 010DA4 800359A4 0C05175C */ jal load_map_bg /* 010DA8 800359A8 8E240014 */ lw $a0, 0x14($s1) /* 010DAC 800359AC 8E440038 */ lw $a0, 0x38($s2) /* 010DB0 800359B0 50800005 */ beql $a0, $zero, .L800359C8 /* 010DB4 800359B4 24040128 */ addiu $a0, $zero, 0x128 -/* 010DB8 800359B8 0C05178A */ jal func_80145E28 +/* 010DB8 800359B8 0C05178A */ jal read_background_size /* 010DBC 800359BC 00000000 */ nop /* 010DC0 800359C0 0800D676 */ j func_800359D8 /* 010DC4 800359C4 00000000 */ nop @@ -682,10 +682,10 @@ func_800356E0: .L800359C8: /* 010DC8 800359C8 240500C8 */ addiu $a1, $zero, 0xc8 /* 010DCC 800359CC 2406000C */ addiu $a2, $zero, 0xc -/* 010DD0 800359D0 0C05179C */ jal func_80145E70 +/* 010DD0 800359D0 0C05179C */ jal set_background_size /* 010DD4 800359D4 24070014 */ addiu $a3, $zero, 0x14 func_800359D8: -/* 010DD8 800359D8 0C04584B */ jal func_8011612C +/* 010DD8 800359D8 0C04584B */ jal calculate_model_sizes /* 010DDC 800359DC 00000000 */ nop /* 010DE0 800359E0 0C00EC6C */ jal func_8003B1B0 /* 010DE4 800359E4 00000000 */ nop @@ -770,7 +770,7 @@ func_800359D8: /* 010F04 80035B04 00000000 */ nop /* 010F08 80035B08 0C038069 */ jal func_800E01A4 /* 010F0C 80035B0C 00000000 */ nop -/* 010F10 80035B10 0C00CD3C */ jal func_800334F0 +/* 010F10 80035B10 0C00CD3C */ jal set_game_mode /* 010F14 80035B14 24040004 */ addiu $a0, $zero, 4 /* 010F18 80035B18 3C05BF80 */ lui $a1, 0xbf80 /* 010F1C 80035B1C 240400FF */ addiu $a0, $zero, 0xff @@ -855,7 +855,7 @@ func_80035B28: /* 011030 80035C30 0000202D */ daddu $a0, $zero, $zero /* 011034 80035C34 1600000B */ bnez $s0, .L80035C64 /* 011038 80035C38 2402000A */ addiu $v0, $zero, 0xa -/* 01103C 80035C3C 0C00CD3C */ jal func_800334F0 +/* 01103C 80035C3C 0C00CD3C */ jal set_game_mode /* 011040 80035C40 24040002 */ addiu $a0, $zero, 2 /* 011044 80035C44 3C04FFFE */ lui $a0, 0xfffe /* 011048 80035C48 3C03800A */ lui $v1, 0x800a @@ -913,7 +913,7 @@ func_80035B28: /* 0110F8 80035CF8 0800D742 */ j func_80035D08 /* 0110FC 80035CFC 00000000 */ nop -/* 011100 80035D00 0C00CD3C */ jal func_800334F0 +/* 011100 80035D00 0C00CD3C */ jal set_game_mode /* 011104 80035D04 24040007 */ addiu $a0, $zero, 7 func_80035D08: .L80035D08: diff --git a/papermario/asm/code_104940_len_dc0.s b/papermario/asm/code_104940_len_dc0.s index 6fe116bda2..38607b0c66 100644 --- a/papermario/asm/code_104940_len_dc0.s +++ b/papermario/asm/code_104940_len_dc0.s @@ -6,7 +6,7 @@ /* 104948 802E30C8 3C10800A */ lui $s0, 0x800a /* 10494C 802E30CC 8E10A66C */ lw $s0, -0x5994($s0) /* 104950 802E30D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 104954 802E30D4 0C04417A */ jal func_801105E8 +/* 104954 802E30D4 0C04417A */ jal get_entity_by_index /* 104958 802E30D8 00000000 */ nop /* 10495C 802E30DC 3C04E300 */ lui $a0, 0xe300 /* 104960 802E30E0 34841001 */ ori $a0, $a0, 0x1001 @@ -288,7 +288,7 @@ func_802E34A4: /* 104D50 802E34D0 14400058 */ bnez $v0, .L802E3634 /* 104D54 802E34D4 24020001 */ addiu $v0, $zero, 1 /* 104D58 802E34D8 86040016 */ lh $a0, 0x16($s0) -/* 104D5C 802E34DC 0C044181 */ jal func_80110604 +/* 104D5C 802E34DC 0C044181 */ jal get_shadow_by_index /* 104D60 802E34E0 00000000 */ nop /* 104D64 802E34E4 10400017 */ beqz $v0, .L802E3544 /* 104D68 802E34E8 00000000 */ nop @@ -304,7 +304,7 @@ func_802E34A4: /* 104D90 802E3510 468010A0 */ cvt.s.w $f2, $f2 .L802E3514: -/* 104D94 802E3514 0C044181 */ jal func_80110604 +/* 104D94 802E3514 0C044181 */ jal get_shadow_by_index /* 104D98 802E3518 86040016 */ lh $a0, 0x16($s0) /* 104D9C 802E351C 10400009 */ beqz $v0, .L802E3544 /* 104DA0 802E3520 00000000 */ nop @@ -417,7 +417,7 @@ func_802E3650: /* 104F1C 802E369C 2402FFFF */ addiu $v0, $zero, -1 /* 104F20 802E36A0 1082000A */ beq $a0, $v0, .L802E36CC /* 104F24 802E36A4 0240102D */ daddu $v0, $s2, $zero -/* 104F28 802E36A8 0C04C3D6 */ jal func_80130F58 +/* 104F28 802E36A8 0C04C3D6 */ jal get_item_entity /* 104F2C 802E36AC 00000000 */ nop /* 104F30 802E36B0 C600004C */ lwc1 $f0, 0x4c($s0) /* 104F34 802E36B4 3C014080 */ lui $at, 0x4080 @@ -473,7 +473,7 @@ func_802E36E4: /* 104FE4 802E3764 3C0143B4 */ lui $at, 0x43b4 /* 104FE8 802E3768 44810000 */ mtc1 $at, $f0 /* 104FEC 802E376C 4600A521 */ cvt.d.s $f20, $f20 -/* 104FF0 802E3770 0C00A85B */ jal func_8002A16C +/* 104FF0 802E3770 0C00A85B */ jal sin_rad /* 104FF4 802E3774 46006303 */ div.s $f12, $f12, $f0 /* 104FF8 802E3778 46000021 */ cvt.d.s $f0, $f0 /* 104FFC 802E377C 46200000 */ add.d $f0, $f0, $f0 @@ -491,7 +491,7 @@ func_802E36E4: /* 10502C 802E37AC 00000000 */ nop /* 105030 802E37B0 45000006 */ bc1f .L802E37CC /* 105034 802E37B4 E60C0018 */ swc1 $f12, 0x18($s0) -/* 105038 802E37B8 0C00A6C9 */ jal func_80029B24 +/* 105038 802E37B8 0C00A6C9 */ jal clamp_angle /* 10503C 802E37BC 00000000 */ nop /* 105040 802E37C0 E6000018 */ swc1 $f0, 0x18($s0) /* 105044 802E37C4 0C043F5A */ jal func_8010FD68 @@ -523,7 +523,7 @@ func_802E36E4: /* 1050A4 802E3824 3C0143B4 */ lui $at, 0x43b4 /* 1050A8 802E3828 4481B000 */ mtc1 $at, $f22 /* 1050AC 802E382C 4600A521 */ cvt.d.s $f20, $f20 -/* 1050B0 802E3830 0C00A85B */ jal func_8002A16C +/* 1050B0 802E3830 0C00A85B */ jal sin_rad /* 1050B4 802E3834 46166303 */ div.s $f12, $f12, $f22 /* 1050B8 802E3838 46000021 */ cvt.d.s $f0, $f0 /* 1050BC 802E383C 4620A500 */ add.d $f20, $f20, $f0 @@ -598,7 +598,7 @@ func_802E3914: /* 1051B8 802E3938 8E270050 */ lw $a3, 0x50($s1) /* 1051BC 802E393C 46200020 */ cvt.s.d $f0, $f0 /* 1051C0 802E3940 44060000 */ mfc1 $a2, $f0 -/* 1051C4 802E3944 0C04C6A5 */ jal func_80131A94 +/* 1051C4 802E3944 0C04C6A5 */ jal make_item_entity_nodelay /* 1051C8 802E3948 24040157 */ addiu $a0, $zero, 0x157 /* 1051CC 802E394C 96020004 */ lhu $v0, 4($s0) /* 1051D0 802E3950 2442FFFF */ addiu $v0, $v0, -1 @@ -629,9 +629,9 @@ func_802E3914: /* 10522C 802E39AC 44064000 */ mfc1 $a2, $f8 /* 105230 802E39B0 4600320D */ trunc.w.s $f8, $f6 /* 105234 802E39B4 44074000 */ mfc1 $a3, $f8 -/* 105238 802E39B8 0C044631 */ jal func_801118C4 +/* 105238 802E39B8 0C044631 */ jal create_entity /* 10523C 802E39BC 00000000 */ nop -/* 105240 802E39C0 0C04417A */ jal func_801105E8 +/* 105240 802E39C0 0C04417A */ jal get_entity_by_index /* 105244 802E39C4 0040202D */ daddu $a0, $v0, $zero /* 105248 802E39C8 3C05802F */ lui $a1, 0x802f /* 10524C 802E39CC 24A59E54 */ addiu $a1, $a1, -0x61ac @@ -708,7 +708,7 @@ func_802E3A00: /* 10534C 802E3ACC 44064000 */ mfc1 $a2, $f8 /* 105350 802E3AD0 4600320D */ trunc.w.s $f8, $f6 /* 105354 802E3AD4 44074000 */ mfc1 $a3, $f8 -/* 105358 802E3AD8 0C044631 */ jal func_801118C4 +/* 105358 802E3AD8 0C044631 */ jal create_entity /* 10535C 802E3ADC 00000000 */ nop /* 105360 802E3AE0 3C032000 */ lui $v1, 0x2000 /* 105364 802E3AE4 8E020000 */ lw $v0, ($s0) @@ -732,7 +732,7 @@ func_802E3AF4: /* 1053A0 802E3B20 3402FFFF */ ori $v0, $zero, 0xffff /* 1053A4 802E3B24 1062001B */ beq $v1, $v0, .L802E3B94 /* 1053A8 802E3B28 00000000 */ nop -/* 1053AC 802E3B2C 0C05152F */ jal func_801454BC +/* 1053AC 802E3B2C 0C05152F */ jal get_global_flag /* 1053B0 802E3B30 0060202D */ daddu $a0, $v1, $zero /* 1053B4 802E3B34 10400017 */ beqz $v0, .L802E3B94 /* 1053B8 802E3B38 3C028000 */ lui $v0, 0x8000 @@ -751,7 +751,7 @@ func_802E3AF4: /* 1053EC 802E3B6C 44064000 */ mfc1 $a2, $f8 /* 1053F0 802E3B70 4600320D */ trunc.w.s $f8, $f6 /* 1053F4 802E3B74 44074000 */ mfc1 $a3, $f8 -/* 1053F8 802E3B78 0C044631 */ jal func_801118C4 +/* 1053F8 802E3B78 0C044631 */ jal create_entity /* 1053FC 802E3B7C 00000000 */ nop /* 105400 802E3B80 3C032000 */ lui $v1, 0x2000 /* 105404 802E3B84 8E020000 */ lw $v0, ($s0) @@ -922,7 +922,7 @@ func_802E3DB0: /* 105630 802E3DB0 E7A00010 */ swc1 $f0, 0x10($sp) /* 105634 802E3DB4 8E260048 */ lw $a2, 0x48($s1) /* 105638 802E3DB8 8E27004C */ lw $a3, 0x4c($s1) -/* 10563C 802E3DBC 0C052757 */ jal func_80149D5C +/* 10563C 802E3DBC 0C052757 */ jal play_sound_at_position /* 105640 802E3DC0 0000282D */ daddu $a1, $zero, $zero /* 105644 802E3DC4 080B8F7A */ j func_802E3DE8 /* 105648 802E3DC8 24020001 */ addiu $v0, $zero, 1 diff --git a/papermario/asm/code_105700_len_2130.s b/papermario/asm/code_105700_len_2130.s index 72339695ac..5780fbb679 100644 --- a/papermario/asm/code_105700_len_2130.s +++ b/papermario/asm/code_105700_len_2130.s @@ -119,7 +119,7 @@ func_802E4000: /* 105898 802E4018 8CA50000 */ lw $a1, ($a1) /* 10589C 802E401C 8CE70000 */ lw $a3, ($a3) func_802E4020: -/* 1058A0 802E4020 0C04C4FD */ jal func_801313F4 +/* 1058A0 802E4020 0C04C4FD */ jal make_item_entity /* 1058A4 802E4024 00000000 */ nop .L802E4028: /* 1058A8 802E4028 8FBF002C */ lw $ra, 0x2c($sp) @@ -179,7 +179,7 @@ func_802E4020: /* 105968 802E40E8 3C050000 */ lui $a1, 0 /* 10596C 802E40EC 24A50094 */ addiu $a1, $a1, 0x94 func_802E40F0: -/* 105970 802E40F0 0C048052 */ jal func_80120148 +/* 105970 802E40F0 0C048052 */ jal play_model_animation /* 105974 802E40F4 00000000 */ nop /* 105978 802E40F8 8FBF0014 */ lw $ra, 0x14($sp) /* 10597C 802E40FC 8FB00010 */ lw $s0, 0x10($sp) @@ -191,12 +191,12 @@ func_802E40F0: /* 105990 802E4110 AFB00010 */ sw $s0, 0x10($sp) /* 105994 802E4114 8C820040 */ lw $v0, 0x40($a0) /* 105998 802E4118 84440012 */ lh $a0, 0x12($v0) -/* 10599C 802E411C 0C04417A */ jal func_801105E8 +/* 10599C 802E411C 0C04417A */ jal get_entity_by_index /* 1059A0 802E4120 2410FFFE */ addiu $s0, $zero, -2 /* 1059A4 802E4124 8C430000 */ lw $v1, ($v0) /* 1059A8 802E4128 84440016 */ lh $a0, 0x16($v0) /* 1059AC 802E412C 00701824 */ and $v1, $v1, $s0 -/* 1059B0 802E4130 0C044181 */ jal func_80110604 +/* 1059B0 802E4130 0C044181 */ jal get_shadow_by_index /* 1059B4 802E4134 AC430000 */ sw $v1, ($v0) /* 1059B8 802E4138 8C430000 */ lw $v1, ($v0) /* 1059BC 802E413C 00701824 */ and $v1, $v1, $s0 @@ -215,7 +215,7 @@ func_802E40F0: /* 1059EC 802E416C 3402FFFF */ ori $v0, $zero, 0xffff /* 1059F0 802E4170 10620024 */ beq $v1, $v0, .L802E4204 /* 1059F4 802E4174 00000000 */ nop -/* 1059F8 802E4178 0C05152F */ jal func_801454BC +/* 1059F8 802E4178 0C05152F */ jal get_global_flag /* 1059FC 802E417C 0060202D */ daddu $a0, $v1, $zero /* 105A00 802E4180 10400020 */ beqz $v0, .L802E4204 /* 105A04 802E4184 00000000 */ nop @@ -243,7 +243,7 @@ func_802E40F0: /* 105A58 802E41D8 44064000 */ mfc1 $a2, $f8 /* 105A5C 802E41DC 4600320D */ trunc.w.s $f8, $f6 /* 105A60 802E41E0 44074000 */ mfc1 $a3, $f8 -/* 105A64 802E41E4 0C044631 */ jal func_801118C4 +/* 105A64 802E41E4 0C044631 */ jal create_entity /* 105A68 802E41E8 00000000 */ nop /* 105A6C 802E41EC 3C05802F */ lui $a1, 0x802f /* 105A70 802E41F0 24A5A310 */ addiu $a1, $a1, -0x5cf0 @@ -294,10 +294,10 @@ func_802E420C: /* 105B10 802E4290 44064000 */ mfc1 $a2, $f8 /* 105B14 802E4294 4600320D */ trunc.w.s $f8, $f6 /* 105B18 802E4298 44074000 */ mfc1 $a3, $f8 -/* 105B1C 802E429C 0C044631 */ jal func_801118C4 +/* 105B1C 802E429C 0C044631 */ jal create_entity /* 105B20 802E42A0 00000000 */ nop /* 105B24 802E42A4 0040902D */ daddu $s2, $v0, $zero -/* 105B28 802E42A8 0C04417A */ jal func_801105E8 +/* 105B28 802E42A8 0C04417A */ jal get_entity_by_index /* 105B2C 802E42AC 0240202D */ daddu $a0, $s2, $zero /* 105B30 802E42B0 0040802D */ daddu $s0, $v0, $zero /* 105B34 802E42B4 8E020000 */ lw $v0, ($s0) @@ -318,7 +318,7 @@ func_802E420C: /* 105B6C 802E42EC 34420004 */ ori $v0, $v0, 4 /* 105B70 802E42F0 AE020000 */ sw $v0, ($s0) .L802E42F4: -/* 105B74 802E42F4 0C044181 */ jal func_80110604 +/* 105B74 802E42F4 0C044181 */ jal get_shadow_by_index /* 105B78 802E42F8 86040016 */ lh $a0, 0x16($s0) /* 105B7C 802E42FC 0040282D */ daddu $a1, $v0, $zero /* 105B80 802E4300 3C020040 */ lui $v0, 0x40 @@ -366,9 +366,9 @@ func_802E4368: /* 105C14 802E4394 44064000 */ mfc1 $a2, $f8 /* 105C18 802E4398 4600320D */ trunc.w.s $f8, $f6 /* 105C1C 802E439C 44074000 */ mfc1 $a3, $f8 -/* 105C20 802E43A0 0C044631 */ jal func_801118C4 +/* 105C20 802E43A0 0C044631 */ jal create_entity /* 105C24 802E43A4 00000000 */ nop -/* 105C28 802E43A8 0C04417A */ jal func_801105E8 +/* 105C28 802E43A8 0C04417A */ jal get_entity_by_index /* 105C2C 802E43AC 0040202D */ daddu $a0, $v0, $zero /* 105C30 802E43B0 9223000B */ lbu $v1, 0xb($s1) /* 105C34 802E43B4 0040802D */ daddu $s0, $v0, $zero @@ -406,7 +406,7 @@ func_802E4368: /* 105CA4 802E4424 8E220000 */ lw $v0, ($s1) /* 105CA8 802E4428 86240016 */ lh $a0, 0x16($s1) /* 105CAC 802E442C 00431024 */ and $v0, $v0, $v1 -/* 105CB0 802E4430 0C044181 */ jal func_80110604 +/* 105CB0 802E4430 0C044181 */ jal get_shadow_by_index /* 105CB4 802E4434 AE220000 */ sw $v0, ($s1) /* 105CB8 802E4438 0040282D */ daddu $a1, $v0, $zero /* 105CBC 802E443C 3C031000 */ lui $v1, 0x1000 @@ -414,7 +414,7 @@ func_802E4368: /* 105CC4 802E4444 34630001 */ ori $v1, $v1, 1 /* 105CC8 802E4448 00431025 */ or $v0, $v0, $v1 /* 105CCC 802E444C ACA20000 */ sw $v0, ($a1) -/* 105CD0 802E4450 0C044181 */ jal func_80110604 +/* 105CD0 802E4450 0C044181 */ jal get_shadow_by_index /* 105CD4 802E4454 86040016 */ lh $a0, 0x16($s0) /* 105CD8 802E4458 0040282D */ daddu $a1, $v0, $zero /* 105CDC 802E445C 8CA20000 */ lw $v0, ($a1) @@ -436,7 +436,7 @@ func_802E4368: /* 105D18 802E4498 84640016 */ lh $a0, 0x16($v1) /* 105D1C 802E449C 34420001 */ ori $v0, $v0, 1 /* 105D20 802E44A0 00451024 */ and $v0, $v0, $a1 -/* 105D24 802E44A4 0C044181 */ jal func_80110604 +/* 105D24 802E44A4 0C044181 */ jal get_shadow_by_index /* 105D28 802E44A8 AC620000 */ sw $v0, ($v1) /* 105D2C 802E44AC 3C041000 */ lui $a0, 0x1000 /* 105D30 802E44B0 8C430000 */ lw $v1, ($v0) @@ -472,7 +472,7 @@ func_802E4368: /* 105D98 802E4518 AC400054 */ sw $zero, 0x54($v0) /* 105D9C 802E451C 00641825 */ or $v1, $v1, $a0 /* 105DA0 802E4520 24040008 */ addiu $a0, $zero, 8 -/* 105DA4 802E4524 0C039769 */ jal func_800E5DA4 +/* 105DA4 802E4524 0C039769 */ jal set_action_state /* 105DA8 802E4528 AC430000 */ sw $v1, ($v0) /* 105DAC 802E452C 0C038C1B */ jal func_800E306C /* 105DB0 802E4530 00000000 */ nop @@ -493,7 +493,7 @@ func_802E4368: /* 105DE4 802E4564 3C10800A */ lui $s0, 0x800a /* 105DE8 802E4568 8E10A66C */ lw $s0, -0x5994($s0) /* 105DEC 802E456C AFBF0014 */ sw $ra, 0x14($sp) -/* 105DF0 802E4570 0C04417A */ jal func_801105E8 +/* 105DF0 802E4570 0C04417A */ jal get_entity_by_index /* 105DF4 802E4574 00000000 */ nop /* 105DF8 802E4578 3C04E300 */ lui $a0, 0xe300 /* 105DFC 802E457C 34841001 */ ori $a0, $a0, 0x1001 @@ -628,7 +628,7 @@ func_802E4730: /* 105FD0 802E4750 AFB40070 */ sw $s4, 0x70($sp) /* 105FD4 802E4754 AFB3006C */ sw $s3, 0x6c($sp) /* 105FD8 802E4758 AFB20068 */ sw $s2, 0x68($sp) -/* 105FDC 802E475C 0C04417A */ jal func_801105E8 +/* 105FDC 802E475C 0C04417A */ jal get_entity_by_index /* 105FE0 802E4760 AFB10064 */ sw $s1, 0x64($sp) /* 105FE4 802E4764 3C04FCFF */ lui $a0, 0xfcff /* 105FE8 802E4768 3484B3FF */ ori $a0, $a0, 0xb3ff @@ -877,7 +877,7 @@ func_802E4B10: /* 106398 802E4B18 0080802D */ daddu $s0, $a0, $zero /* 10639C 802E4B1C AFBF0014 */ sw $ra, 0x14($sp) /* 1063A0 802E4B20 8E020040 */ lw $v0, 0x40($s0) -/* 1063A4 802E4B24 0C04417A */ jal func_801105E8 +/* 1063A4 802E4B24 0C04417A */ jal get_entity_by_index /* 1063A8 802E4B28 90440000 */ lbu $a0, ($v0) /* 1063AC 802E4B2C C4400048 */ lwc1 $f0, 0x48($v0) /* 1063B0 802E4B30 3C014160 */ lui $at, 0x4160 @@ -908,7 +908,7 @@ func_802E4B60: /* 10640C 802E4B8C 8E300040 */ lw $s0, 0x40($s1) /* 106410 802E4B90 34422000 */ ori $v0, $v0, 0x2000 /* 106414 802E4B94 AE220000 */ sw $v0, ($s1) -/* 106418 802E4B98 0C04417A */ jal func_801105E8 +/* 106418 802E4B98 0C04417A */ jal get_entity_by_index /* 10641C 802E4B9C 92040000 */ lbu $a0, ($s0) /* 106420 802E4BA0 92020009 */ lbu $v0, 9($s0) /* 106424 802E4BA4 54400009 */ bnezl $v0, .L802E4BCC @@ -1043,7 +1043,7 @@ func_802E4C10: /* 1065EC 802E4D6C 8E270050 */ lw $a3, 0x50($s1) func_802E4D70: .L802E4D70: -/* 1065F0 802E4D70 0C04417A */ jal func_801105E8 +/* 1065F0 802E4D70 0C04417A */ jal get_entity_by_index /* 1065F4 802E4D74 92040000 */ lbu $a0, ($s0) /* 1065F8 802E4D78 0C0B836C */ jal func_802E0DB0 /* 1065FC 802E4D7C 0040202D */ daddu $a0, $v0, $zero @@ -1165,7 +1165,7 @@ func_802E4E04: /* 1067B4 802E4F34 00000000 */ nop /* 1067B8 802E4F38 3C0143B4 */ lui $at, 0x43b4 /* 1067BC 802E4F3C 4481A000 */ mtc1 $at, $f20 -/* 1067C0 802E4F40 0C00A85B */ jal func_8002A16C +/* 1067C0 802E4F40 0C00A85B */ jal sin_rad /* 1067C4 802E4F44 46146303 */ div.s $f12, $f12, $f20 /* 1067C8 802E4F48 3C013F00 */ lui $at, 0x3f00 /* 1067CC 802E4F4C 44811000 */ mtc1 $at, $f2 @@ -1212,11 +1212,11 @@ func_802E4E04: /* 10686C 802E4FEC 44820000 */ mtc1 $v0, $f0 /* 106870 802E4FF0 00000000 */ nop /* 106874 802E4FF4 46800020 */ cvt.s.w $f0, $f0 -/* 106878 802E4FF8 0C03A8B3 */ jal func_800EA2CC +/* 106878 802E4FF8 0C03A8B3 */ jal recover_hp /* 10687C 802E4FFC E6000004 */ swc1 $f0, 4($s0) -/* 106880 802E5000 0C03A899 */ jal func_800EA264 +/* 106880 802E5000 0C03A899 */ jal recover_fp /* 106884 802E5004 2404FFFF */ addiu $a0, $zero, -1 -/* 106888 802E5008 0C05272D */ jal func_80149CB4 +/* 106888 802E5008 0C05272D */ jal play_sound /* 10688C 802E500C 24040131 */ addiu $a0, $zero, 0x131 /* 106890 802E5010 080B949D */ j func_802E5274 /* 106894 802E5014 00000000 */ nop @@ -1258,7 +1258,7 @@ func_802E4E04: /* 106918 802E5098 00000000 */ nop /* 10691C 802E509C 46146302 */ mul.s $f12, $f12, $f20 /* 106920 802E50A0 00000000 */ nop -/* 106924 802E50A4 0C00A85B */ jal func_8002A16C +/* 106924 802E50A4 0C00A85B */ jal sin_rad /* 106928 802E50A8 46166303 */ div.s $f12, $f12, $f22 /* 10692C 802E50AC C60C0018 */ lwc1 $f12, 0x18($s0) /* 106930 802E50B0 46146302 */ mul.s $f12, $f12, $f20 @@ -1266,7 +1266,7 @@ func_802E4E04: /* 106938 802E50B8 C602001C */ lwc1 $f2, 0x1c($s0) /* 10693C 802E50BC 46001502 */ mul.s $f20, $f2, $f0 /* 106940 802E50C0 00000000 */ nop -/* 106944 802E50C4 0C00A874 */ jal func_8002A1D0 +/* 106944 802E50C4 0C00A874 */ jal cos_rad /* 106948 802E50C8 46166303 */ div.s $f12, $f12, $f22 /* 10694C 802E50CC C6060004 */ lwc1 $f6, 4($s0) /* 106950 802E50D0 3C01802F */ lui $at, 0x802f @@ -1320,7 +1320,7 @@ func_802E4E04: /* 106A08 802E5188 00000000 */ nop /* 106A0C 802E518C 3C0143B4 */ lui $at, 0x43b4 /* 106A10 802E5190 4481A000 */ mtc1 $at, $f20 -/* 106A14 802E5194 0C00A85B */ jal func_8002A16C +/* 106A14 802E5194 0C00A85B */ jal sin_rad /* 106A18 802E5198 46146303 */ div.s $f12, $f12, $f20 /* 106A1C 802E519C 3C013F00 */ lui $at, 0x3f00 /* 106A20 802E51A0 44811000 */ mtc1 $at, $f2 @@ -1562,14 +1562,14 @@ func_802E53F0: /* 106D60 802E54E0 14400018 */ bnez $v0, .L802E5544 /* 106D64 802E54E4 AFBF0014 */ sw $ra, 0x14($sp) /* 106D68 802E54E8 3C04F840 */ lui $a0, 0xf840 -/* 106D6C 802E54EC 0C05152F */ jal func_801454BC +/* 106D6C 802E54EC 0C05152F */ jal get_global_flag /* 106D70 802E54F0 34845BE0 */ ori $a0, $a0, 0x5be0 /* 106D74 802E54F4 14400013 */ bnez $v0, .L802E5544 /* 106D78 802E54F8 3C04001D */ lui $a0, 0x1d /* 106D7C 802E54FC 34840001 */ ori $a0, $a0, 1 /* 106D80 802E5500 3C05802F */ lui $a1, 0x802f /* 106D84 802E5504 24A5B3C0 */ addiu $a1, $a1, -0x4c40 -/* 106D88 802E5508 0C049640 */ jal func_80125900 +/* 106D88 802E5508 0C049640 */ jal load_string /* 106D8C 802E550C ACA00000 */ sw $zero, ($a1) /* 106D90 802E5510 0C009C22 */ jal func_80027088 /* 106D94 802E5514 24040001 */ addiu $a0, $zero, 1 @@ -1580,7 +1580,7 @@ func_802E53F0: /* 106DA8 802E5528 0C03805E */ jal func_800E0178 /* 106DAC 802E552C AC620000 */ sw $v0, ($v1) /* 106DB0 802E5530 3C04F840 */ lui $a0, 0xf840 -/* 106DB4 802E5534 0C051514 */ jal func_80145450 +/* 106DB4 802E5534 0C051514 */ jal set_global_flag /* 106DB8 802E5538 34845BE0 */ ori $a0, $a0, 0x5be0 /* 106DBC 802E553C 080B9553 */ j func_802E554C /* 106DC0 802E5540 00000000 */ nop @@ -1638,9 +1638,9 @@ func_802E55A8: /* 106E74 802E55F4 44063000 */ mfc1 $a2, $f6 /* 106E78 802E55F8 4600218D */ trunc.w.s $f6, $f4 /* 106E7C 802E55FC 44073000 */ mfc1 $a3, $f6 -/* 106E80 802E5600 0C044631 */ jal func_801118C4 +/* 106E80 802E5600 0C044631 */ jal create_entity /* 106E84 802E5604 AFA20014 */ sw $v0, 0x14($sp) -/* 106E88 802E5608 0C04417A */ jal func_801105E8 +/* 106E88 802E5608 0C04417A */ jal get_entity_by_index /* 106E8C 802E560C 0040202D */ daddu $a0, $v0, $zero /* 106E90 802E5610 8C430040 */ lw $v1, 0x40($v0) /* 106E94 802E5614 92020004 */ lbu $v0, 4($s0) @@ -1684,13 +1684,13 @@ func_802E5670: /* 106F10 802E5690 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 106F14 802E5694 AFBF0010 */ sw $ra, 0x10($sp) -/* 106F18 802E5698 0C04417A */ jal func_801105E8 +/* 106F18 802E5698 0C04417A */ jal get_entity_by_index /* 106F1C 802E569C 00000000 */ nop /* 106F20 802E56A0 8C420040 */ lw $v0, 0x40($v0) /* 106F24 802E56A4 84440012 */ lh $a0, 0x12($v0) /* 106F28 802E56A8 04800006 */ bltz $a0, .L802E56C4 /* 106F2C 802E56AC 00000000 */ nop -/* 106F30 802E56B0 0C04417A */ jal func_801105E8 +/* 106F30 802E56B0 0C04417A */ jal get_entity_by_index /* 106F34 802E56B4 00000000 */ nop /* 106F38 802E56B8 8C430040 */ lw $v1, 0x40($v0) /* 106F3C 802E56BC 24020001 */ addiu $v0, $zero, 1 @@ -1718,7 +1718,7 @@ func_802E5670: /* 106F88 802E5708 3402FFFF */ ori $v0, $zero, 0xffff /* 106F8C 802E570C 1062001A */ beq $v1, $v0, .L802E5778 /* 106F90 802E5710 00000000 */ nop -/* 106F94 802E5714 0C05152F */ jal func_801454BC +/* 106F94 802E5714 0C05152F */ jal get_global_flag /* 106F98 802E5718 0060202D */ daddu $a0, $v1, $zero /* 106F9C 802E571C 14400016 */ bnez $v0, .L802E5778 /* 106FA0 802E5720 3C028000 */ lui $v0, 0x8000 @@ -1734,11 +1734,11 @@ func_802E5670: /* 106FC8 802E5748 44063000 */ mfc1 $a2, $f6 /* 106FCC 802E574C 4600218D */ trunc.w.s $f6, $f4 /* 106FD0 802E5750 44073000 */ mfc1 $a3, $f6 -/* 106FD4 802E5754 0C044631 */ jal func_801118C4 +/* 106FD4 802E5754 0C044631 */ jal create_entity /* 106FD8 802E5758 AFA20014 */ sw $v0, 0x14($sp) /* 106FDC 802E575C 00022400 */ sll $a0, $v0, 0x10 /* 106FE0 802E5760 00042403 */ sra $a0, $a0, 0x10 -/* 106FE4 802E5764 0C04417A */ jal func_801105E8 +/* 106FE4 802E5764 0C04417A */ jal get_entity_by_index /* 106FE8 802E5768 A6020012 */ sh $v0, 0x12($s0) /* 106FEC 802E576C 8C430040 */ lw $v1, 0x40($v0) /* 106FF0 802E5770 92220004 */ lbu $v0, 4($s1) @@ -1796,7 +1796,7 @@ func_802E581C: /* 1070A4 802E5824 0080802D */ daddu $s0, $a0, $zero /* 1070A8 802E5828 AFBF0014 */ sw $ra, 0x14($sp) /* 1070AC 802E582C 8E020040 */ lw $v0, 0x40($s0) -/* 1070B0 802E5830 0C04417A */ jal func_801105E8 +/* 1070B0 802E5830 0C04417A */ jal get_entity_by_index /* 1070B4 802E5834 90440000 */ lbu $a0, ($v0) /* 1070B8 802E5838 C4400048 */ lwc1 $f0, 0x48($v0) /* 1070BC 802E583C 3C014160 */ lui $at, 0x4160 @@ -1824,7 +1824,7 @@ func_802E581C: /* 107110 802E5890 AFB3007C */ sw $s3, 0x7c($sp) /* 107114 802E5894 AFB20078 */ sw $s2, 0x78($sp) /* 107118 802E5898 AFB10074 */ sw $s1, 0x74($sp) -/* 10711C 802E589C 0C04417A */ jal func_801105E8 +/* 10711C 802E589C 0C04417A */ jal get_entity_by_index /* 107120 802E58A0 AFB00070 */ sw $s0, 0x70($sp) /* 107124 802E58A4 AFA20060 */ sw $v0, 0x60($sp) /* 107128 802E58A8 8C570040 */ lw $s7, 0x40($v0) @@ -2216,7 +2216,7 @@ func_802E58FC: /* 107704 802E5E84 44800000 */ mtc1 $zero, $f0 /* 107708 802E5E88 46006321 */ cvt.d.s $f12, $f12 /* 10770C 802E5E8C 46206300 */ add.d $f12, $f12, $f0 -/* 107710 802E5E90 0C00A6C9 */ jal func_80029B24 +/* 107710 802E5E90 0C00A6C9 */ jal clamp_angle /* 107714 802E5E94 46206320 */ cvt.s.d $f12, $f12 /* 107718 802E5E98 E6200064 */ swc1 $f0, 0x64($s1) /* 10771C 802E5E9C 960200D0 */ lhu $v0, 0xd0($s0) diff --git a/papermario/asm/code_1060_len_310.s b/papermario/asm/code_1060_len_310.s index c0d1c7e2ff..93bbe53fc2 100644 --- a/papermario/asm/code_1060_len_310.s +++ b/papermario/asm/code_1060_len_310.s @@ -1,7 +1,7 @@ .section .text80025C60, "ax" -PAPERMARIO_func_80025C60: +func_80025C60: /* 001060 80025C60 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 001064 80025C64 3C05B3FF */ lui $a1, 0xb3ff /* 001068 80025C68 34A50014 */ ori $a1, $a1, 0x14 diff --git a/papermario/asm/code_107830_len_e70.s b/papermario/asm/code_107830_len_e70.s index 873f734f4e..4c6c56d059 100644 --- a/papermario/asm/code_107830_len_e70.s +++ b/papermario/asm/code_107830_len_e70.s @@ -25,13 +25,13 @@ /* 107884 802E6004 86040014 */ lh $a0, 0x14($s0) /* 107888 802E6008 3C050000 */ lui $a1, 0 /* 10788C 802E600C 24A501E4 */ addiu $a1, $a1, 0x1e4 -/* 107890 802E6010 0C048052 */ jal func_80120148 +/* 107890 802E6010 0C048052 */ jal play_model_animation /* 107894 802E6014 00000000 */ nop /* 107898 802E6018 0C04419E */ jal func_80110678 /* 10789C 802E601C 0200202D */ daddu $a0, $s0, $zero /* 1078A0 802E6020 10400003 */ beqz $v0, .L802E6030 /* 1078A4 802E6024 00000000 */ nop -/* 1078A8 802E6028 0C039769 */ jal func_800E5DA4 +/* 1078A8 802E6028 0C039769 */ jal set_action_state /* 1078AC 802E602C 24040026 */ addiu $a0, $zero, 0x26 .L802E6030: /* 1078B0 802E6030 0C043F5A */ jal func_8010FD68 @@ -41,7 +41,7 @@ /* 1078C0 802E6040 E7A00010 */ swc1 $f0, 0x10($sp) /* 1078C4 802E6044 8E060048 */ lw $a2, 0x48($s0) /* 1078C8 802E6048 8E07004C */ lw $a3, 0x4c($s0) -/* 1078CC 802E604C 0C052757 */ jal func_80149D5C +/* 1078CC 802E604C 0C052757 */ jal play_sound_at_position /* 1078D0 802E6050 0000282D */ daddu $a1, $zero, $zero .L802E6054: /* 1078D4 802E6054 8FBF001C */ lw $ra, 0x1c($sp) @@ -74,7 +74,7 @@ /* 107938 802E60B8 86040014 */ lh $a0, 0x14($s0) /* 10793C 802E60BC 3C050000 */ lui $a1, 0 /* 107940 802E60C0 24A501E4 */ addiu $a1, $a1, 0x1e4 -/* 107944 802E60C4 0C048052 */ jal func_80120148 +/* 107944 802E60C4 0C048052 */ jal play_model_animation /* 107948 802E60C8 00000000 */ nop /* 10794C 802E60CC 0C04419E */ jal func_80110678 /* 107950 802E60D0 0200202D */ daddu $a0, $s0, $zero @@ -85,7 +85,7 @@ /* 107964 802E60E4 E7A00010 */ swc1 $f0, 0x10($sp) /* 107968 802E60E8 8E060048 */ lw $a2, 0x48($s0) /* 10796C 802E60EC 8E07004C */ lw $a3, 0x4c($s0) -/* 107970 802E60F0 0C052757 */ jal func_80149D5C +/* 107970 802E60F0 0C052757 */ jal play_sound_at_position /* 107974 802E60F4 0000282D */ daddu $a1, $zero, $zero /* 107978 802E60F8 0C03805E */ jal func_800E0178 /* 10797C 802E60FC 00000000 */ nop @@ -103,7 +103,7 @@ /* 1079A4 802E6124 AFBF0018 */ sw $ra, 0x18($sp) /* 1079A8 802E6128 AFB00010 */ sw $s0, 0x10($sp) /* 1079AC 802E612C 8E300040 */ lw $s0, 0x40($s1) -/* 1079B0 802E6130 0C039769 */ jal func_800E5DA4 +/* 1079B0 802E6130 0C039769 */ jal set_action_state /* 1079B4 802E6134 24040006 */ addiu $a0, $zero, 6 /* 1079B8 802E6138 3C014170 */ lui $at, 0x4170 /* 1079BC 802E613C 44810000 */ mtc1 $at, $f0 @@ -145,7 +145,7 @@ /* 107A3C 802E61BC AFB3009C */ sw $s3, 0x9c($sp) /* 107A40 802E61C0 AFB20098 */ sw $s2, 0x98($sp) /* 107A44 802E61C4 AFB10094 */ sw $s1, 0x94($sp) -/* 107A48 802E61C8 0C04417A */ jal func_801105E8 +/* 107A48 802E61C8 0C04417A */ jal get_entity_by_index /* 107A4C 802E61CC AFB00090 */ sw $s0, 0x90($sp) /* 107A50 802E61D0 0040982D */ daddu $s3, $v0, $zero /* 107A54 802E61D4 8E740040 */ lw $s4, 0x40($s3) @@ -243,11 +243,11 @@ /* 107BBC 802E633C AFBF0014 */ sw $ra, 0x14($sp) /* 107BC0 802E6340 AFB00010 */ sw $s0, 0x10($sp) /* 107BC4 802E6344 8C900040 */ lw $s0, 0x40($a0) -/* 107BC8 802E6348 0C03A752 */ jal func_800E9D48 +/* 107BC8 802E6348 0C03A752 */ jal is_ability_active /* 107BCC 802E634C 24040029 */ addiu $a0, $zero, 0x29 /* 107BD0 802E6350 1040000B */ beqz $v0, .L802E6380 /* 107BD4 802E6354 00000000 */ nop -/* 107BD8 802E6358 0C05152F */ jal func_801454BC +/* 107BD8 802E6358 0C05152F */ jal get_global_flag /* 107BDC 802E635C 96040006 */ lhu $a0, 6($s0) /* 107BE0 802E6360 14400007 */ bnez $v0, .L802E6380 /* 107BE4 802E6364 00000000 */ nop @@ -350,13 +350,13 @@ func_802E6400: /* 107D3C 802E64BC 0040882D */ daddu $s1, $v0, $zero /* 107D40 802E64C0 06200016 */ bltz $s1, .L802E651C /* 107D44 802E64C4 00000000 */ nop -/* 107D48 802E64C8 0C00E2B7 */ jal func_80038ADC +/* 107D48 802E64C8 0C00E2B7 */ jal get_npc_by_index /* 107D4C 802E64CC 0220202D */ daddu $a0, $s1, $zero /* 107D50 802E64D0 0040802D */ daddu $s0, $v0, $zero /* 107D54 802E64D4 C66C0048 */ lwc1 $f12, 0x48($s3) /* 107D58 802E64D8 C66E0050 */ lwc1 $f14, 0x50($s3) /* 107D5C 802E64DC 8E060038 */ lw $a2, 0x38($s0) -/* 107D60 802E64E0 0C00A7B5 */ jal func_80029ED4 +/* 107D60 802E64E0 0C00A7B5 */ jal dist2D /* 107D64 802E64E4 8E070040 */ lw $a3, 0x40($s0) /* 107D68 802E64E8 0260202D */ daddu $a0, $s3, $zero /* 107D6C 802E64EC AE510008 */ sw $s1, 8($s2) @@ -413,7 +413,7 @@ func_802E6550: /* 107E1C 802E659C F7B60030 */ sdc1 $f22, 0x30($sp) /* 107E20 802E65A0 F7B40028 */ sdc1 $f20, 0x28($sp) /* 107E24 802E65A4 8E300040 */ lw $s0, 0x40($s1) -/* 107E28 802E65A8 0C00A6C9 */ jal func_80029B24 +/* 107E28 802E65A8 0C00A6C9 */ jal clamp_angle /* 107E2C 802E65AC 460C0300 */ add.s $f12, $f0, $f12 /* 107E30 802E65B0 3C0142B4 */ lui $at, 0x42b4 /* 107E34 802E65B4 44811000 */ mtc1 $at, $f2 @@ -454,7 +454,7 @@ func_802E6618: /* 107EB0 802E6630 8C22B2B0 */ lw $v0, -0x4d50($at) /* 107EB4 802E6634 00400008 */ jr $v0 /* 107EB8 802E6638 00000000 */ nop -/* 107EBC 802E663C 0C05272D */ jal func_80149CB4 +/* 107EBC 802E663C 0C05272D */ jal play_sound /* 107EC0 802E6640 240420AB */ addiu $a0, $zero, 0x20ab /* 107EC4 802E6644 24040001 */ addiu $a0, $zero, 1 /* 107EC8 802E6648 3C0142B4 */ lui $at, 0x42b4 @@ -467,7 +467,7 @@ func_802E6618: /* 107EE4 802E6664 E600002C */ swc1 $f0, 0x2c($s0) /* 107EE8 802E6668 0C009C22 */ jal func_80027088 /* 107EEC 802E666C E6020030 */ swc1 $f2, 0x30($s0) -/* 107EF0 802E6670 0C038045 */ jal func_800E0114 +/* 107EF0 802E6670 0C038045 */ jal enable_player_physics /* 107EF4 802E6674 00000000 */ nop /* 107EF8 802E6678 3C03800F */ lui $v1, 0x800f /* 107EFC 802E667C 8C637B30 */ lw $v1, 0x7b30($v1) @@ -492,7 +492,7 @@ func_802E6618: /* 107F48 802E66C8 8E270050 */ lw $a3, 0x50($s1) /* 107F4C 802E66CC 46200020 */ cvt.s.d $f0, $f0 /* 107F50 802E66D0 44060000 */ mfc1 $a2, $f0 -/* 107F54 802E66D4 0C04C6A5 */ jal func_80131A94 +/* 107F54 802E66D4 0C04C6A5 */ jal make_item_entity_nodelay /* 107F58 802E66D8 00000000 */ nop /* 107F5C 802E66DC AE020014 */ sw $v0, 0x14($s0) .L802E66E0: @@ -511,7 +511,7 @@ func_802E6618: /* 107F8C 802E670C 00000000 */ nop /* 107F90 802E6710 3C0143B4 */ lui $at, 0x43b4 /* 107F94 802E6714 4481B000 */ mtc1 $at, $f22 -/* 107F98 802E6718 0C00A85B */ jal func_8002A16C +/* 107F98 802E6718 0C00A85B */ jal sin_rad /* 107F9C 802E671C 46166303 */ div.s $f12, $f12, $f22 /* 107FA0 802E6720 C6020028 */ lwc1 $f2, 0x28($s0) /* 107FA4 802E6724 46001082 */ mul.s $f2, $f2, $f0 @@ -628,7 +628,7 @@ func_802E6618: /* 108140 802E68C0 00000000 */ nop /* 108144 802E68C4 46006302 */ mul.s $f12, $f12, $f0 /* 108148 802E68C8 00000000 */ nop -/* 10814C 802E68CC 0C00A85B */ jal func_8002A16C +/* 10814C 802E68CC 0C00A85B */ jal sin_rad /* 108150 802E68D0 46026303 */ div.s $f12, $f12, $f2 /* 108154 802E68D4 C6020028 */ lwc1 $f2, 0x28($s0) /* 108158 802E68D8 46001082 */ mul.s $f2, $f2, $f0 @@ -667,9 +667,9 @@ func_802E6618: /* 1081D8 802E6958 E620004C */ swc1 $f0, 0x4c($s1) /* 1081DC 802E695C E6340060 */ swc1 $f20, 0x60($s1) /* 1081E0 802E6960 E6340068 */ swc1 $f20, 0x68($s1) -/* 1081E4 802E6964 0C0B2D72 */ jal func_802CB5C8 +/* 1081E4 802E6964 0C0B2D72 */ jal exec_ShakeCamX /* 1081E8 802E6968 A2020001 */ sb $v0, 1($s0) -/* 1081EC 802E696C 0C05272D */ jal func_80149CB4 +/* 1081EC 802E696C 0C05272D */ jal play_sound /* 1081F0 802E6970 240420AC */ addiu $a0, $zero, 0x20ac /* 1081F4 802E6974 080B9AB5 */ j func_802E6AD4 /* 1081F8 802E6978 00000000 */ nop @@ -726,7 +726,7 @@ func_802E69D8: /* 1082AC 802E6A2C 82020002 */ lb $v0, 2($s0) /* 1082B0 802E6A30 10400028 */ beqz $v0, .L802E6AD4 /* 1082B4 802E6A34 00000000 */ nop -/* 1082B8 802E6A38 0C038050 */ jal func_800E0140 +/* 1082B8 802E6A38 0C038050 */ jal disable_player_physics /* 1082BC 802E6A3C 00000000 */ nop /* 1082C0 802E6A40 080B9AB5 */ j func_802E6AD4 /* 1082C4 802E6A44 00000000 */ nop @@ -758,7 +758,7 @@ func_802E69D8: /* 108324 802E6AA4 8E040008 */ lw $a0, 8($s0) /* 108328 802E6AA8 0480000A */ bltz $a0, .L802E6AD4 /* 10832C 802E6AAC 00000000 */ nop -/* 108330 802E6AB0 0C00E2B7 */ jal func_80038ADC +/* 108330 802E6AB0 0C00E2B7 */ jal get_npc_by_index /* 108334 802E6AB4 00000000 */ nop /* 108338 802E6AB8 8C430000 */ lw $v1, ($v0) /* 10833C 802E6ABC 2404FDF7 */ addiu $a0, $zero, -0x209 @@ -776,7 +776,7 @@ func_802E6AD4: /* 108360 802E6AE0 8E040014 */ lw $a0, 0x14($s0) /* 108364 802E6AE4 04800019 */ bltz $a0, .L802E6B4C /* 108368 802E6AE8 00000000 */ nop -/* 10836C 802E6AEC 0C04C3D6 */ jal func_80130F58 +/* 10836C 802E6AEC 0C04C3D6 */ jal get_item_entity /* 108370 802E6AF0 00000000 */ nop /* 108374 802E6AF4 0040182D */ daddu $v1, $v0, $zero /* 108378 802E6AF8 10600013 */ beqz $v1, .L802E6B48 @@ -825,7 +825,7 @@ func_802E6B6C: /* 108404 802E6B84 8E040014 */ lw $a0, 0x14($s0) /* 108408 802E6B88 04800021 */ bltz $a0, .L802E6C10 /* 10840C 802E6B8C 0000102D */ daddu $v0, $zero, $zero -/* 108410 802E6B90 0C04C3D6 */ jal func_80130F58 +/* 108410 802E6B90 0C04C3D6 */ jal get_item_entity /* 108414 802E6B94 00000000 */ nop /* 108418 802E6B98 5040001D */ beql $v0, $zero, .L802E6C10 /* 10841C 802E6B9C 0000102D */ daddu $v0, $zero, $zero @@ -878,7 +878,7 @@ func_802E6B6C: /* 1084D0 802E6C50 F7B600B8 */ sdc1 $f22, 0xb8($sp) /* 1084D4 802E6C54 F7B400B0 */ sdc1 $f20, 0xb0($sp) /* 1084D8 802E6C58 8E720040 */ lw $s2, 0x40($s3) -/* 1084DC 802E6C5C 0C00A580 */ jal func_80029600 +/* 1084DC 802E6C5C 0C00A580 */ jal mem_clear /* 1084E0 802E6C60 24050010 */ addiu $a1, $zero, 0x10 /* 1084E4 802E6C64 3C02802E */ lui $v0, 0x802e /* 1084E8 802E6C68 244261B0 */ addiu $v0, $v0, 0x61b0 diff --git a/papermario/asm/code_1086a0_len_fc0.s b/papermario/asm/code_1086a0_len_fc0.s index 6819a7c577..35a013fa0c 100644 --- a/papermario/asm/code_1086a0_len_fc0.s +++ b/papermario/asm/code_1086a0_len_fc0.s @@ -30,7 +30,7 @@ func_802E6E74: .L802E6E74: /* 1086F4 802E6E74 10800003 */ beqz $a0, .L802E6E84 /* 1086F8 802E6E78 2405000A */ addiu $a1, $zero, 0xa -/* 1086FC 802E6E7C 0C0B0CF8 */ jal func_802C33E0 +/* 1086FC 802E6E7C 0C0B0CF8 */ jal start_script /* 108700 802E6E80 24060020 */ addiu $a2, $zero, 0x20 .L802E6E84: /* 108704 802E6E84 8FBF0010 */ lw $ra, 0x10($sp) @@ -53,7 +53,7 @@ func_802E6E74: /* 10873C 802E6EBC 3C04802F */ lui $a0, 0x802f /* 108740 802E6EC0 2484ACC8 */ addiu $a0, $a0, -0x5338 func_802E6EC4: -/* 108744 802E6EC4 0C0B0CF8 */ jal func_802C33E0 +/* 108744 802E6EC4 0C0B0CF8 */ jal start_script /* 108748 802E6EC8 24060020 */ addiu $a2, $zero, 0x20 /* 10874C 802E6ECC 8FBF0010 */ lw $ra, 0x10($sp) /* 108750 802E6ED0 03E00008 */ jr $ra @@ -70,7 +70,7 @@ func_802E6EC4: /* 108778 802E6EF8 AFB1009C */ sw $s1, 0x9c($sp) /* 10877C 802E6EFC AFB00098 */ sw $s0, 0x98($sp) /* 108780 802E6F00 8EB00000 */ lw $s0, ($s5) -/* 108784 802E6F04 0C04417A */ jal func_801105E8 +/* 108784 802E6F04 0C04417A */ jal get_entity_by_index /* 108788 802E6F08 3C140001 */ lui $s4, 1 /* 10878C 802E6F0C 27B10058 */ addiu $s1, $sp, 0x58 /* 108790 802E6F10 0220202D */ daddu $a0, $s1, $zero @@ -157,7 +157,7 @@ func_802E6EC4: /* 1088D0 802E7050 3402FFFF */ ori $v0, $zero, 0xffff /* 1088D4 802E7054 10620011 */ beq $v1, $v0, .L802E709C /* 1088D8 802E7058 00000000 */ nop -/* 1088DC 802E705C 0C05152F */ jal func_801454BC +/* 1088DC 802E705C 0C05152F */ jal get_global_flag /* 1088E0 802E7060 0060202D */ daddu $a0, $v1, $zero /* 1088E4 802E7064 1040000D */ beqz $v0, .L802E709C /* 1088E8 802E7068 0220202D */ daddu $a0, $s1, $zero @@ -189,7 +189,7 @@ func_802E6EC4: /* 108948 802E70C8 C6200064 */ lwc1 $f0, 0x64($s1) /* 10894C 802E70CC 3C014334 */ lui $at, 0x4334 /* 108950 802E70D0 44816000 */ mtc1 $at, $f12 -/* 108954 802E70D4 0C00A6C9 */ jal func_80029B24 +/* 108954 802E70D4 0C00A6C9 */ jal clamp_angle /* 108958 802E70D8 46006301 */ sub.s $f12, $f12, $f0 /* 10895C 802E70DC 3C108011 */ lui $s0, 0x8011 /* 108960 802E70E0 2610EFC8 */ addiu $s0, $s0, -0x1038 @@ -197,9 +197,9 @@ func_802E6EC4: /* 108968 802E70E8 C62E0050 */ lwc1 $f14, 0x50($s1) /* 10896C 802E70EC 8E060028 */ lw $a2, 0x28($s0) /* 108970 802E70F0 8E070030 */ lw $a3, 0x30($s0) -/* 108974 802E70F4 0C00A720 */ jal func_80029C80 +/* 108974 802E70F4 0C00A720 */ jal atan2 /* 108978 802E70F8 46000506 */ mov.s $f20, $f0 -/* 10897C 802E70FC 0C00A6C9 */ jal func_80029B24 +/* 10897C 802E70FC 0C00A6C9 */ jal clamp_angle /* 108980 802E7100 46000306 */ mov.s $f12, $f0 /* 108984 802E7104 4600A501 */ sub.s $f20, $f20, $f0 /* 108988 802E7108 8E020004 */ lw $v0, 4($s0) @@ -278,7 +278,7 @@ func_802E71E0: /* 108A90 802E7210 24030028 */ addiu $v1, $zero, 0x28 /* 108A94 802E7214 AC400008 */ sw $zero, 8($v0) /* 108A98 802E7218 A0400005 */ sb $zero, 5($v0) -/* 108A9C 802E721C 0C05272D */ jal func_80149CB4 +/* 108A9C 802E721C 0C05272D */ jal play_sound /* 108AA0 802E7220 A4430002 */ sh $v1, 2($v0) /* 108AA4 802E7224 8FBF0010 */ lw $ra, 0x10($sp) /* 108AA8 802E7228 03E00008 */ jr $ra @@ -355,7 +355,7 @@ func_802E7230: /* 108BAC 802E732C 00000000 */ nop /* 108BB0 802E7330 3C0143B4 */ lui $at, 0x43b4 /* 108BB4 802E7334 44810000 */ mtc1 $at, $f0 -/* 108BB8 802E7338 0C00A85B */ jal func_8002A16C +/* 108BB8 802E7338 0C00A85B */ jal sin_rad /* 108BBC 802E733C 46006303 */ div.s $f12, $f12, $f0 /* 108BC0 802E7340 3C014040 */ lui $at, 0x4040 /* 108BC4 802E7344 44811000 */ mtc1 $at, $f2 @@ -391,7 +391,7 @@ func_802E7230: /* 108C34 802E73B4 00000000 */ nop /* 108C38 802E73B8 3C0143B4 */ lui $at, 0x43b4 /* 108C3C 802E73BC 44810000 */ mtc1 $at, $f0 -/* 108C40 802E73C0 0C00A85B */ jal func_8002A16C +/* 108C40 802E73C0 0C00A85B */ jal sin_rad /* 108C44 802E73C4 46006303 */ div.s $f12, $f12, $f0 /* 108C48 802E73C8 46000080 */ add.s $f2, $f0, $f0 func_802E73CC: @@ -469,7 +469,7 @@ func_802E741C: /* 108D48 802E74C8 00000000 */ nop /* 108D4C 802E74CC 3C0143B4 */ lui $at, 0x43b4 /* 108D50 802E74D0 44810000 */ mtc1 $at, $f0 -/* 108D54 802E74D4 0C00A85B */ jal func_8002A16C +/* 108D54 802E74D4 0C00A85B */ jal sin_rad /* 108D58 802E74D8 46006303 */ div.s $f12, $f12, $f0 /* 108D5C 802E74DC 3C014026 */ lui $at, 0x4026 /* 108D60 802E74E0 34216666 */ ori $at, $at, 0x6666 @@ -507,7 +507,7 @@ func_802E741C: /* 108DD8 802E7558 00000000 */ nop /* 108DDC 802E755C 3C0143B4 */ lui $at, 0x43b4 /* 108DE0 802E7560 44810000 */ mtc1 $at, $f0 -/* 108DE4 802E7564 0C00A85B */ jal func_8002A16C +/* 108DE4 802E7564 0C00A85B */ jal sin_rad /* 108DE8 802E7568 46006303 */ div.s $f12, $f12, $f0 /* 108DEC 802E756C 46000080 */ add.s $f2, $f0, $f0 func_802E7570: @@ -566,7 +566,7 @@ func_802E75B0: /* 108EA8 802E7628 8E240014 */ lw $a0, 0x14($s1) /* 108EAC 802E762C 8E250018 */ lw $a1, 0x18($s1) /* 108EB0 802E7630 8E26001C */ lw $a2, 0x1c($s1) -/* 108EB4 802E7634 0C04D083 */ jal func_8013420C +/* 108EB4 802E7634 0C04D083 */ jal set_item_entity_position /* 108EB8 802E7638 8E270020 */ lw $a3, 0x20($s1) .L802E763C: /* 108EBC 802E763C 0C0B9C8C */ jal func_802E7230 @@ -650,7 +650,7 @@ func_802E75B0: /* 108FD4 802E7754 00000000 */ nop /* 108FD8 802E7758 3C0143B4 */ lui $at, 0x43b4 /* 108FDC 802E775C 44810000 */ mtc1 $at, $f0 -/* 108FE0 802E7760 0C00A874 */ jal func_8002A1D0 +/* 108FE0 802E7760 0C00A874 */ jal cos_rad /* 108FE4 802E7764 46006303 */ div.s $f12, $f12, $f0 /* 108FE8 802E7768 3C014040 */ lui $at, 0x4040 /* 108FEC 802E776C 44811000 */ mtc1 $at, $f2 @@ -699,15 +699,15 @@ func_802E77F0: /* 109088 802E7808 00000000 */ nop /* 10908C 802E780C 3C0143B4 */ lui $at, 0x43b4 /* 109090 802E7810 4481E000 */ mtc1 $at, $f28 -/* 109094 802E7814 0C00A85B */ jal func_8002A16C +/* 109094 802E7814 0C00A85B */ jal sin_rad /* 109098 802E7818 461C6303 */ div.s $f12, $f12, $f28 /* 10909C 802E781C C60C0048 */ lwc1 $f12, 0x48($s0) /* 1090A0 802E7820 8E460028 */ lw $a2, 0x28($s2) /* 1090A4 802E7824 8E470030 */ lw $a3, 0x30($s2) /* 1090A8 802E7828 C60E0050 */ lwc1 $f14, 0x50($s0) -/* 1090AC 802E782C 0C00A720 */ jal func_80029C80 +/* 1090AC 802E782C 0C00A720 */ jal atan2 /* 1090B0 802E7830 46000606 */ mov.s $f24, $f0 -/* 1090B4 802E7834 0C00A6C9 */ jal func_80029B24 +/* 1090B4 802E7834 0C00A6C9 */ jal clamp_angle /* 1090B8 802E7838 46000306 */ mov.s $f12, $f0 /* 1090BC 802E783C 3C028007 */ lui $v0, 0x8007 /* 1090C0 802E7840 8C42419C */ lw $v0, 0x419c($v0) @@ -723,7 +723,7 @@ func_802E77F0: /* 1090E4 802E7864 461A0502 */ mul.s $f20, $f0, $f26 /* 1090E8 802E7868 00000000 */ nop /* 1090EC 802E786C 461CA503 */ div.s $f20, $f20, $f28 -/* 1090F0 802E7870 0C00A85B */ jal func_8002A16C +/* 1090F0 802E7870 0C00A85B */ jal sin_rad /* 1090F4 802E7874 4600A306 */ mov.s $f12, $f20 /* 1090F8 802E7878 4600B002 */ mul.s $f0, $f22, $f0 /* 1090FC 802E787C 00000000 */ nop @@ -732,7 +732,7 @@ func_802E77F0: /* 109108 802E7888 C6220018 */ lwc1 $f2, 0x18($s1) /* 10910C 802E788C 46001080 */ add.s $f2, $f2, $f0 /* 109110 802E7890 4600A306 */ mov.s $f12, $f20 -/* 109114 802E7894 0C00A874 */ jal func_8002A1D0 +/* 109114 802E7894 0C00A874 */ jal cos_rad /* 109118 802E7898 E6220018 */ swc1 $f2, 0x18($s1) /* 10911C 802E789C 4600B002 */ mul.s $f0, $f22, $f0 /* 109120 802E78A0 00000000 */ nop @@ -785,7 +785,7 @@ func_802E77F0: /* 1091D8 802E7958 00000000 */ nop /* 1091DC 802E795C 27A50018 */ addiu $a1, $sp, 0x18 /* 1091E0 802E7960 27A6001C */ addiu $a2, $sp, 0x1c -/* 1091E4 802E7964 0C00A82D */ jal func_8002A0B4 +/* 1091E4 802E7964 0C00A82D */ jal sin_cos_rad /* 1091E8 802E7968 461C6303 */ div.s $f12, $f12, $f28 /* 1091EC 802E796C C60C006C */ lwc1 $f12, 0x6c($s0) /* 1091F0 802E7970 460CA301 */ sub.s $f12, $f20, $f12 @@ -793,7 +793,7 @@ func_802E77F0: /* 1091F8 802E7978 00000000 */ nop /* 1091FC 802E797C 27A50020 */ addiu $a1, $sp, 0x20 /* 109200 802E7980 27A60024 */ addiu $a2, $sp, 0x24 -/* 109204 802E7984 0C00A82D */ jal func_8002A0B4 +/* 109204 802E7984 0C00A82D */ jal sin_cos_rad /* 109208 802E7988 461C6303 */ div.s $f12, $f12, $f28 /* 10920C 802E798C 4480B000 */ mtc1 $zero, $f22 /* 109210 802E7990 C7A60018 */ lwc1 $f6, 0x18($sp) @@ -950,7 +950,7 @@ func_802E7B88: /* 109438 802E7BB8 3C014120 */ lui $at, 0x4120 /* 10943C 802E7BBC 4481B000 */ mtc1 $at, $f22 /* 109440 802E7BC0 4600A503 */ div.s $f20, $f20, $f0 -/* 109444 802E7BC4 0C00A85B */ jal func_8002A16C +/* 109444 802E7BC4 0C00A85B */ jal sin_rad /* 109448 802E7BC8 4600A306 */ mov.s $f12, $f20 /* 10944C 802E7BCC 46160002 */ mul.s $f0, $f0, $f22 /* 109450 802E7BD0 00000000 */ nop @@ -959,7 +959,7 @@ func_802E7B88: /* 10945C 802E7BDC E6020018 */ swc1 $f2, 0x18($s0) /* 109460 802E7BE0 C620004C */ lwc1 $f0, 0x4c($s1) /* 109464 802E7BE4 4600A306 */ mov.s $f12, $f20 -/* 109468 802E7BE8 0C00A874 */ jal func_8002A1D0 +/* 109468 802E7BE8 0C00A874 */ jal cos_rad /* 10946C 802E7BEC E600001C */ swc1 $f0, 0x1c($s0) /* 109470 802E7BF0 46160002 */ mul.s $f0, $f0, $f22 /* 109474 802E7BF4 00000000 */ nop @@ -973,7 +973,7 @@ func_802E7B88: /* 109494 802E7C14 8E040010 */ lw $a0, 0x10($s0) /* 109498 802E7C18 8E050018 */ lw $a1, 0x18($s0) /* 10949C 802E7C1C 8E06001C */ lw $a2, 0x1c($s0) -/* 1094A0 802E7C20 0C04C6A5 */ jal func_80131A94 +/* 1094A0 802E7C20 0C04C6A5 */ jal make_item_entity_nodelay /* 1094A4 802E7C24 8E070020 */ lw $a3, 0x20($s0) /* 1094A8 802E7C28 AE020014 */ sw $v0, 0x14($s0) .L802E7C2C: @@ -986,7 +986,7 @@ func_802E7B88: /* 1094C4 802E7C44 3442A480 */ ori $v0, $v0, 0xa480 /* 1094C8 802E7C48 00822021 */ addu $a0, $a0, $v0 .L802E7C4C: -/* 1094CC 802E7C4C 0C051514 */ jal func_80145450 +/* 1094CC 802E7C4C 0C051514 */ jal set_global_flag /* 1094D0 802E7C50 00000000 */ nop /* 1094D4 802E7C54 8FBF0020 */ lw $ra, 0x20($sp) /* 1094D8 802E7C58 8FB1001C */ lw $s1, 0x1c($sp) @@ -1029,7 +1029,7 @@ func_802E7B88: /* 10955C 802E7CDC 00000000 */ nop /* 109560 802E7CE0 0C043F5A */ jal func_8010FD68 /* 109564 802E7CE4 00000000 */ nop -/* 109568 802E7CE8 0C04CE7F */ jal func_801339FC +/* 109568 802E7CE8 0C04CE7F */ jal remove_item_entity_by_index /* 10956C 802E7CEC 8E040014 */ lw $a0, 0x14($s0) /* 109570 802E7CF0 3C040001 */ lui $a0, 1 /* 109574 802E7CF4 0C037FBF */ jal func_800DFEFC diff --git a/papermario/asm/code_109660_len_1270.s b/papermario/asm/code_109660_len_1270.s index 7ebf377279..0f78f1f201 100644 --- a/papermario/asm/code_109660_len_1270.s +++ b/papermario/asm/code_109660_len_1270.s @@ -55,12 +55,12 @@ func_802E7DE0: /* 109724 802E7EA4 E60001E4 */ swc1 $f0, 0x1e4($s0) /* 109728 802E7EA8 C7A00048 */ lwc1 $f0, 0x48($sp) /* 10972C 802E7EAC 240400FF */ addiu $a0, $zero, 0xff -/* 109730 802E7EB0 0C00A67F */ jal func_800299FC +/* 109730 802E7EB0 0C00A67F */ jal rand_int /* 109734 802E7EB4 E6000274 */ swc1 $f0, 0x274($s0) /* 109738 802E7EB8 24040005 */ addiu $a0, $zero, 5 /* 10973C 802E7EBC 00021023 */ negu $v0, $v0 /* 109740 802E7EC0 A2220034 */ sb $v0, 0x34($s1) -/* 109744 802E7EC4 0C00A67F */ jal func_800299FC +/* 109744 802E7EC4 0C00A67F */ jal rand_int /* 109748 802E7EC8 A23600A0 */ sb $s6, 0xa0($s1) /* 10974C 802E7ECC 0040182D */ daddu $v1, $v0, $zero /* 109750 802E7ED0 32420001 */ andi $v0, $s2, 1 @@ -306,14 +306,14 @@ func_802E8168: /* 109AB8 802E8238 44814000 */ mtc1 $at, $f8 /* 109ABC 802E823C 00000000 */ nop /* 109AC0 802E8240 46080583 */ div.s $f22, $f0, $f8 -/* 109AC4 802E8244 0C00A85B */ jal func_8002A16C +/* 109AC4 802E8244 0C00A85B */ jal sin_rad /* 109AC8 802E8248 4600B306 */ mov.s $f12, $f22 /* 109ACC 802E824C 4600D002 */ mul.s $f0, $f26, $f0 /* 109AD0 802E8250 00000000 */ nop /* 109AD4 802E8254 C6020154 */ lwc1 $f2, 0x154($s0) /* 109AD8 802E8258 46001080 */ add.s $f2, $f2, $f0 /* 109ADC 802E825C 4600B306 */ mov.s $f12, $f22 -/* 109AE0 802E8260 0C00A874 */ jal func_8002A1D0 +/* 109AE0 802E8260 0C00A874 */ jal cos_rad /* 109AE4 802E8264 E6020154 */ swc1 $f2, 0x154($s0) /* 109AE8 802E8268 4600D002 */ mul.s $f0, $f26, $f0 /* 109AEC 802E826C 00000000 */ nop @@ -369,14 +369,14 @@ func_802E8168: /* 109BB4 802E8334 44814000 */ mtc1 $at, $f8 /* 109BB8 802E8338 00000000 */ nop /* 109BBC 802E833C 46080583 */ div.s $f22, $f0, $f8 -/* 109BC0 802E8340 0C00A85B */ jal func_8002A16C +/* 109BC0 802E8340 0C00A85B */ jal sin_rad /* 109BC4 802E8344 4600B306 */ mov.s $f12, $f22 /* 109BC8 802E8348 461C0002 */ mul.s $f0, $f0, $f28 /* 109BCC 802E834C 00000000 */ nop /* 109BD0 802E8350 C6020154 */ lwc1 $f2, 0x154($s0) /* 109BD4 802E8354 46001080 */ add.s $f2, $f2, $f0 /* 109BD8 802E8358 4600B306 */ mov.s $f12, $f22 -/* 109BDC 802E835C 0C00A874 */ jal func_8002A1D0 +/* 109BDC 802E835C 0C00A874 */ jal cos_rad /* 109BE0 802E8360 E6020154 */ swc1 $f2, 0x154($s0) /* 109BE4 802E8364 461C0002 */ mul.s $f0, $f0, $f28 /* 109BE8 802E8368 00000000 */ nop @@ -538,7 +538,7 @@ func_802E84DC: /* 109E28 802E85A8 F7B80160 */ sdc1 $f24, 0x160($sp) /* 109E2C 802E85AC F7B60158 */ sdc1 $f22, 0x158($sp) /* 109E30 802E85B0 F7B40150 */ sdc1 $f20, 0x150($sp) -/* 109E34 802E85B4 0C04417A */ jal func_801105E8 +/* 109E34 802E85B4 0C04417A */ jal get_entity_by_index /* 109E38 802E85B8 AFA80120 */ sw $t0, 0x120($sp) /* 109E3C 802E85BC 0040B82D */ daddu $s7, $v0, $zero /* 109E40 802E85C0 3C0143B4 */ lui $at, 0x43b4 @@ -729,7 +729,7 @@ func_802E8684: /* 10A110 802E8890 14620004 */ bne $v1, $v0, .L802E88A4 /* 10A114 802E8894 00000000 */ nop .L802E8898: -/* 10A118 802E8898 0C039769 */ jal func_800E5DA4 +/* 10A118 802E8898 0C039769 */ jal set_action_state /* 10A11C 802E889C 24040008 */ addiu $a0, $zero, 8 /* 10A120 802E88A0 24040001 */ addiu $a0, $zero, 1 .L802E88A4: @@ -745,7 +745,7 @@ func_802E8684: /* 10A148 802E88C8 0200202D */ daddu $a0, $s0, $zero /* 10A14C 802E88CC 0C043F5A */ jal func_8010FD68 /* 10A150 802E88D0 0200202D */ daddu $a0, $s0, $zero -/* 10A154 802E88D4 0C05272D */ jal func_80149CB4 +/* 10A154 802E88D4 0C05272D */ jal play_sound /* 10A158 802E88D8 240420AE */ addiu $a0, $zero, 0x20ae .L802E88DC: /* 10A15C 802E88DC 8FBF0014 */ lw $ra, 0x14($sp) @@ -768,7 +768,7 @@ func_802E8684: /* 10A19C 802E891C 10620006 */ beq $v1, $v0, .L802E8938 /* 10A1A0 802E8920 0000802D */ daddu $s0, $zero, $zero /* 10A1A4 802E8924 96240004 */ lhu $a0, 4($s1) -/* 10A1A8 802E8928 0C05152F */ jal func_801454BC +/* 10A1A8 802E8928 0C05152F */ jal get_global_flag /* 10A1AC 802E892C 00000000 */ nop /* 10A1B0 802E8930 14400002 */ bnez $v0, .L802E893C /* 10A1B4 802E8934 00000000 */ nop @@ -796,7 +796,7 @@ func_802E8684: /* 10A204 802E8984 8E470050 */ lw $a3, 0x50($s2) /* 10A208 802E8988 462010A0 */ cvt.s.d $f2, $f2 /* 10A20C 802E898C 44061000 */ mfc1 $a2, $f2 -/* 10A210 802E8990 0C04C4FD */ jal func_801313F4 +/* 10A210 802E8990 0C04C4FD */ jal make_item_entity /* 10A214 802E8994 00000000 */ nop .L802E8998: /* 10A218 802E8998 8FBF002C */ lw $ra, 0x2c($sp) @@ -812,7 +812,7 @@ func_802E8684: /* 10A23C 802E89BC AFBF0018 */ sw $ra, 0x18($sp) /* 10A240 802E89C0 AFB00010 */ sw $s0, 0x10($sp) /* 10A244 802E89C4 8E300040 */ lw $s0, 0x40($s1) -/* 10A248 802E89C8 0C05152F */ jal func_801454BC +/* 10A248 802E89C8 0C05152F */ jal get_global_flag /* 10A24C 802E89CC 8E040014 */ lw $a0, 0x14($s0) /* 10A250 802E89D0 10400004 */ beqz $v0, .L802E89E4 /* 10A254 802E89D4 24020010 */ addiu $v0, $zero, 0x10 @@ -934,7 +934,7 @@ func_802E8AD0: /* 10A3DC 802E8B5C 46802120 */ cvt.s.w $f4, $f4 /* 10A3E0 802E8B60 44806000 */ mtc1 $zero, $f12 /* 10A3E4 802E8B64 44072000 */ mfc1 $a3, $f4 -/* 10A3E8 802E8B68 0C00A720 */ jal func_80029C80 +/* 10A3E8 802E8B68 0C00A720 */ jal atan2 /* 10A3EC 802E8B6C 46006386 */ mov.s $f14, $f12 /* 10A3F0 802E8B70 3C014270 */ lui $at, 0x4270 /* 10A3F4 802E8B74 44811000 */ mtc1 $at, $f2 @@ -967,7 +967,7 @@ func_802E8BB0: /* 10A44C 802E8BCC AFB10014 */ sw $s1, 0x14($sp) /* 10A450 802E8BD0 AFB00010 */ sw $s0, 0x10($sp) /* 10A454 802E8BD4 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 10A458 802E8BD8 0C016AFA */ jal func_8005ABE8 +/* 10A458 802E8BD8 0C016AFA */ jal get_current_map_header /* 10A45C 802E8BDC 8C900040 */ lw $s0, 0x40($a0) /* 10A460 802E8BE0 0040902D */ daddu $s2, $v0, $zero /* 10A464 802E8BE4 8E02000C */ lw $v0, 0xc($s0) @@ -997,16 +997,16 @@ func_802E8BB0: /* 10A4C0 802E8C40 00021100 */ sll $v0, $v0, 4 /* 10A4C4 802E8C44 00431021 */ addu $v0, $v0, $v1 /* 10A4C8 802E8C48 8C460000 */ lw $a2, ($v0) -/* 10A4CC 802E8C4C 0C00A720 */ jal func_80029C80 +/* 10A4CC 802E8C4C 0C00A720 */ jal atan2 /* 10A4D0 802E8C50 8C470008 */ lw $a3, 8($v0) /* 10A4D4 802E8C54 0C03805E */ jal func_800E0178 /* 10A4D8 802E8C58 46000506 */ mov.s $f20, $f0 -/* 10A4DC 802E8C5C 0C038045 */ jal func_800E0114 +/* 10A4DC 802E8C5C 0C038045 */ jal enable_player_physics /* 10A4E0 802E8C60 00000000 */ nop /* 10A4E4 802E8C64 8E26005C */ lw $a2, 0x5c($s1) /* 10A4E8 802E8C68 8E040004 */ lw $a0, 4($s0) /* 10A4EC 802E8C6C 4405A000 */ mfc1 $a1, $f20 -/* 10A4F0 802E8C70 0C0389DE */ jal func_800E2778 +/* 10A4F0 802E8C70 0C0389DE */ jal move_player /* 10A4F4 802E8C74 00000000 */ nop /* 10A4F8 802E8C78 8FBF001C */ lw $ra, 0x1c($sp) /* 10A4FC 802E8C7C 8FB20018 */ lw $s2, 0x18($sp) @@ -1032,6 +1032,7 @@ func_802E8BB0: /* 10A544 802E8CC4 03E00008 */ jr $ra /* 10A548 802E8CC8 27BD0018 */ addiu $sp, $sp, 0x18 +player_enter_blue_pipe: /* 10A54C 802E8CCC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 10A550 802E8CD0 AFBF0020 */ sw $ra, 0x20($sp) /* 10A554 802E8CD4 8C850040 */ lw $a1, 0x40($a0) @@ -1067,9 +1068,9 @@ func_802E8BB0: /* 10A5CC 802E8D4C AFA00014 */ sw $zero, 0x14($sp) /* 10A5D0 802E8D50 0C0B77FE */ jal func_802DDFF8 /* 10A5D4 802E8D54 AFA00018 */ sw $zero, 0x18($sp) -/* 10A5D8 802E8D58 0C05272D */ jal func_80149CB4 +/* 10A5D8 802E8D58 0C05272D */ jal play_sound /* 10A5DC 802E8D5C 24040163 */ addiu $a0, $zero, 0x163 -/* 10A5E0 802E8D60 0C038039 */ jal func_800E00E4 +/* 10A5E0 802E8D60 0C038039 */ jal disable_player_shadow /* 10A5E4 802E8D64 00000000 */ nop /* 10A5E8 802E8D68 8FBF0020 */ lw $ra, 0x20($sp) /* 10A5EC 802E8D6C 03E00008 */ jr $ra @@ -1132,6 +1133,7 @@ func_802E8BB0: /* 10A6C4 802E8E44 03E00008 */ jr $ra /* 10A6C8 802E8E48 27BD0018 */ addiu $sp, $sp, 0x18 +push_entity_matrix: /* 10A6CC 802E8E4C 27BDFF58 */ addiu $sp, $sp, -0xa8 /* 10A6D0 802E8E50 AFB3009C */ sw $s3, 0x9c($sp) /* 10A6D4 802E8E54 3C13800A */ lui $s3, 0x800a @@ -1142,7 +1144,7 @@ func_802E8BB0: /* 10A6E8 802E8E68 AFB10094 */ sw $s1, 0x94($sp) /* 10A6EC 802E8E6C AFB00090 */ sw $s0, 0x90($sp) /* 10A6F0 802E8E70 8E710000 */ lw $s1, ($s3) -/* 10A6F4 802E8E74 0C04417A */ jal func_801105E8 +/* 10A6F4 802E8E74 0C04417A */ jal get_entity_by_index /* 10A6F8 802E8E78 3C140001 */ lui $s4, 1 /* 10A6FC 802E8E7C 27A40010 */ addiu $a0, $sp, 0x10 /* 10A700 802E8E80 0040802D */ daddu $s0, $v0, $zero @@ -1236,7 +1238,7 @@ func_802E8BB0: /* 10A85C 802E8FDC AE050014 */ sw $a1, 0x14($s0) /* 10A860 802E8FE0 C620004C */ lwc1 $f0, 0x4c($s1) /* 10A864 802E8FE4 00A0202D */ daddu $a0, $a1, $zero -/* 10A868 802E8FE8 0C05152F */ jal func_801454BC +/* 10A868 802E8FE8 0C05152F */ jal get_global_flag /* 10A86C 802E8FEC E6000018 */ swc1 $f0, 0x18($s0) /* 10A870 802E8FF0 AE020008 */ sw $v0, 8($s0) /* 10A874 802E8FF4 C620004C */ lwc1 $f0, 0x4c($s1) @@ -1273,7 +1275,7 @@ func_802E8BB0: /* 10A8E8 802E9068 C6000064 */ lwc1 $f0, 0x64($s0) /* 10A8EC 802E906C 3C014334 */ lui $at, 0x4334 /* 10A8F0 802E9070 44816000 */ mtc1 $at, $f12 -/* 10A8F4 802E9074 0C00A6C9 */ jal func_80029B24 +/* 10A8F4 802E9074 0C00A6C9 */ jal clamp_angle /* 10A8F8 802E9078 46006301 */ sub.s $f12, $f12, $f0 /* 10A8FC 802E907C 3C118011 */ lui $s1, 0x8011 /* 10A900 802E9080 2631EFC8 */ addiu $s1, $s1, -0x1038 @@ -1281,9 +1283,9 @@ func_802E8BB0: /* 10A908 802E9088 C60E0050 */ lwc1 $f14, 0x50($s0) /* 10A90C 802E908C 8E260028 */ lw $a2, 0x28($s1) /* 10A910 802E9090 8E270030 */ lw $a3, 0x30($s1) -/* 10A914 802E9094 0C00A720 */ jal func_80029C80 +/* 10A914 802E9094 0C00A720 */ jal atan2 /* 10A918 802E9098 46000506 */ mov.s $f20, $f0 -/* 10A91C 802E909C 0C00A6C9 */ jal func_80029B24 +/* 10A91C 802E909C 0C00A6C9 */ jal clamp_angle /* 10A920 802E90A0 46000306 */ mov.s $f12, $f0 /* 10A924 802E90A4 4600A501 */ sub.s $f20, $f20, $f0 /* 10A928 802E90A8 8E220004 */ lw $v0, 4($s1) diff --git a/papermario/asm/code_11130_len_c0.s b/papermario/asm/code_11130_len_c0.s index 6771fe8b6f..8507774799 100644 --- a/papermario/asm/code_11130_len_c0.s +++ b/papermario/asm/code_11130_len_c0.s @@ -11,6 +11,7 @@ /* 01114C 80035D4C 03E00008 */ jr $ra /* 011150 80035D50 27BD0018 */ addiu $sp, $sp, 0x18 +step_world: /* 011154 80035D54 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 011158 80035D58 AFBF0010 */ sw $ra, 0x10($sp) /* 01115C 80035D5C 0C00F949 */ jal func_8003E524 @@ -19,13 +20,13 @@ /* 011168 80035D68 00000000 */ nop /* 01116C 80035D6C 0C037DD0 */ jal func_800DF740 /* 011170 80035D70 00000000 */ nop -/* 011174 80035D74 0C04C7BB */ jal func_80131EEC +/* 011174 80035D74 0C04C7BB */ jal update_item_entities /* 011178 80035D78 00000000 */ nop /* 01117C 80035D7C 0C016754 */ jal func_80059D50 /* 011180 80035D80 00000000 */ nop /* 011184 80035D84 0C04599D */ jal func_80116674 /* 011188 80035D88 00000000 */ nop -/* 01118C 80035D8C 0C00B500 */ jal func_8002D400 +/* 01118C 80035D8C 0C00B500 */ jal update_cameras /* 011190 80035D90 00000000 */ nop /* 011194 80035D94 8FBF0010 */ lw $ra, 0x10($sp) /* 011198 80035D98 03E00008 */ jr $ra diff --git a/papermario/asm/code_111f0_len_860.s b/papermario/asm/code_111f0_len_860.s index 3b5cd548e0..aa06b8337c 100644 --- a/papermario/asm/code_111f0_len_860.s +++ b/papermario/asm/code_111f0_len_860.s @@ -21,7 +21,7 @@ /* 01122C 80035E2C AFBF0010 */ sw $ra, 0x10($sp) /* 011230 80035E30 3C01800A */ lui $at, 0x800a /* 011234 80035E34 A4220948 */ sh $v0, 0x948($at) -/* 011238 80035E38 0C04E0A8 */ jal func_801382A0 +/* 011238 80035E38 0C04E0A8 */ jal set_map_transition_effect /* 01123C 80035E3C 24040008 */ addiu $a0, $zero, 8 /* 011240 80035E40 0C00D795 */ jal func_80035E54 /* 011244 80035E44 00000000 */ nop @@ -59,7 +59,7 @@ func_80035E54: /* 0112BC 80035EBC 34420008 */ ori $v0, $v0, 8 /* 0112C0 80035EC0 AC620000 */ sw $v0, ($v1) /* 0112C4 80035EC4 80C600A9 */ lb $a2, 0xa9($a2) -/* 0112C8 80035EC8 0C0B2026 */ jal func_802C8098 +/* 0112C8 80035EC8 0C0B2026 */ jal set_variable /* 0112CC 80035ECC 34A50181 */ ori $a1, $a1, 0x181 /* 0112D0 80035ED0 8FBF0018 */ lw $ra, 0x18($sp) /* 0112D4 80035ED4 8FB10014 */ lw $s1, 0x14($sp) @@ -119,7 +119,7 @@ func_80035E54: /* 011390 80035F90 84440086 */ lh $a0, 0x86($v0) /* 011394 80035F94 8445008C */ lh $a1, 0x8c($v0) func_80035F98: -/* 011398 80035F98 0C0169BD */ jal func_8005A6F4 +/* 011398 80035F98 0C0169BD */ jal load_map_by_IDs /* 01139C 80035F9C 00000000 */ nop /* 0113A0 80035FA0 3C108007 */ lui $s0, 0x8007 /* 0113A4 80035FA4 2610419C */ addiu $s0, $s0, 0x419c @@ -135,7 +135,7 @@ func_80035F98: /* 0113CC 80035FCC 0C03805E */ jal func_800E0178 /* 0113D0 80035FD0 00000000 */ nop .L80035FD4: -/* 0113D4 80035FD4 0C00B500 */ jal func_8002D400 +/* 0113D4 80035FD4 0C00B500 */ jal update_cameras /* 0113D8 80035FD8 00000000 */ nop /* 0113DC 80035FDC 3C02800A */ lui $v0, 0x800a /* 0113E0 80035FE0 24420944 */ addiu $v0, $v0, 0x944 @@ -154,7 +154,7 @@ func_80035F98: /* 01140C 8003600C 00000000 */ nop /* 011410 80036010 0C037DD0 */ jal func_800DF740 /* 011414 80036014 00000000 */ nop -/* 011418 80036018 0C00B500 */ jal func_8002D400 +/* 011418 80036018 0C00B500 */ jal update_cameras /* 01141C 8003601C 00000000 */ nop /* 011420 80036020 3C04800A */ lui $a0, 0x800a /* 011424 80036024 24840946 */ addiu $a0, $a0, 0x946 @@ -169,7 +169,7 @@ func_80035F98: .L80036040: /* 011440 80036040 3C028007 */ lui $v0, 0x8007 /* 011444 80036044 8C42419C */ lw $v0, 0x419c($v0) -/* 011448 80036048 0C0B1059 */ jal func_802C4164 +/* 011448 80036048 0C0B1059 */ jal does_script_exist /* 01144C 8003604C 8C44006C */ lw $a0, 0x6c($v0) /* 011450 80036050 14400026 */ bnez $v0, .L800360EC /* 011454 80036054 00000000 */ nop @@ -191,7 +191,7 @@ func_80035F98: /* 01148C 8003608C 00000000 */ nop /* 011490 80036090 0C016754 */ jal func_80059D50 /* 011494 80036094 00000000 */ nop -/* 011498 80036098 0C00B500 */ jal func_8002D400 +/* 011498 80036098 0C00B500 */ jal update_cameras /* 01149C 8003609C 00000000 */ nop /* 0114A0 800360A0 3C04800A */ lui $a0, 0x800a /* 0114A4 800360A4 24840940 */ addiu $a0, $a0, 0x940 @@ -211,7 +211,7 @@ func_80035F98: /* 0114D8 800360D8 3C05BF80 */ lui $a1, 0xbf80 /* 0114DC 800360DC 0C04DF62 */ jal func_80137D88 /* 0114E0 800360E0 240400FF */ addiu $a0, $zero, 0xff -/* 0114E4 800360E4 0C00CD3C */ jal func_800334F0 +/* 0114E4 800360E4 0C00CD3C */ jal set_game_mode /* 0114E8 800360E8 24040004 */ addiu $a0, $zero, 4 func_800360EC: .L800360EC: @@ -277,7 +277,7 @@ func_800360EC: /* 0115C0 800361C0 00000000 */ nop /* 0115C4 800361C4 0C016754 */ jal func_80059D50 /* 0115C8 800361C8 00000000 */ nop -/* 0115CC 800361CC 0C00B500 */ jal func_8002D400 +/* 0115CC 800361CC 0C00B500 */ jal update_cameras /* 0115D0 800361D0 00000000 */ nop /* 0115D4 800361D4 3C04800A */ lui $a0, 0x800a /* 0115D8 800361D8 24840940 */ addiu $a0, $a0, 0x940 @@ -315,7 +315,7 @@ func_800360EC: /* 011650 80036250 80420071 */ lb $v0, 0x71($v0) /* 011654 80036254 10400003 */ beqz $v0, .L80036264 /* 011658 80036258 00000000 */ nop -/* 01165C 8003625C 0C00CD3C */ jal func_800334F0 +/* 01165C 8003625C 0C00CD3C */ jal set_game_mode /* 011660 80036260 24040011 */ addiu $a0, $zero, 0x11 .L80036264: /* 011664 80036264 3C11800A */ lui $s1, 0x800a @@ -335,7 +335,7 @@ func_800360EC: /* 011694 80036294 8E020000 */ lw $v0, ($s0) /* 011698 80036298 84440086 */ lh $a0, 0x86($v0) /* 01169C 8003629C 8445008C */ lh $a1, 0x8c($v0) -/* 0116A0 800362A0 0C0169BD */ jal func_8005A6F4 +/* 0116A0 800362A0 0C0169BD */ jal load_map_by_IDs /* 0116A4 800362A4 0000302D */ daddu $a2, $zero, $zero /* 0116A8 800362A8 0C009C22 */ jal func_80027088 /* 0116AC 800362AC 0000202D */ daddu $a0, $zero, $zero @@ -348,7 +348,7 @@ func_800360EC: /* 0116C8 800362C8 0C03805E */ jal func_800E0178 /* 0116CC 800362CC 00000000 */ nop .L800362D0: -/* 0116D0 800362D0 0C00B500 */ jal func_8002D400 +/* 0116D0 800362D0 0C00B500 */ jal update_cameras /* 0116D4 800362D4 00000000 */ nop /* 0116D8 800362D8 3C02800A */ lui $v0, 0x800a /* 0116DC 800362DC 24420944 */ addiu $v0, $v0, 0x944 @@ -365,7 +365,7 @@ func_800360EC: /* 011704 80036304 00000000 */ nop /* 011708 80036308 0C037DD0 */ jal func_800DF740 /* 01170C 8003630C 00000000 */ nop -/* 011710 80036310 0C00B500 */ jal func_8002D400 +/* 011710 80036310 0C00B500 */ jal update_cameras /* 011714 80036314 00000000 */ nop /* 011718 80036318 3C04800A */ lui $a0, 0x800a /* 01171C 8003631C 24840946 */ addiu $a0, $a0, 0x946 @@ -379,7 +379,7 @@ func_800360EC: .L80036338: /* 011738 80036338 3C028007 */ lui $v0, 0x8007 /* 01173C 8003633C 8C42419C */ lw $v0, 0x419c($v0) -/* 011740 80036340 0C0B1059 */ jal func_802C4164 +/* 011740 80036340 0C0B1059 */ jal does_script_exist /* 011744 80036344 8C44006C */ lw $a0, 0x6c($v0) /* 011748 80036348 14400027 */ bnez $v0, .L800363E8 /* 01174C 8003634C 2405FFF7 */ addiu $a1, $zero, -9 @@ -401,7 +401,7 @@ func_800360EC: /* 011788 80036388 00000000 */ nop /* 01178C 8003638C 0C016754 */ jal func_80059D50 /* 011790 80036390 00000000 */ nop -/* 011794 80036394 0C00B500 */ jal func_8002D400 +/* 011794 80036394 0C00B500 */ jal update_cameras /* 011798 80036398 00000000 */ nop /* 01179C 8003639C 3C04800A */ lui $a0, 0x800a /* 0117A0 800363A0 24840940 */ addiu $a0, $a0, 0x940 @@ -421,7 +421,7 @@ func_800360EC: /* 0117D4 800363D4 3C05BF80 */ lui $a1, 0xbf80 /* 0117D8 800363D8 0C04DF62 */ jal func_80137D88 /* 0117DC 800363DC 240400FF */ addiu $a0, $zero, 0xff -/* 0117E0 800363E0 0C00CD3C */ jal func_800334F0 +/* 0117E0 800363E0 0C00CD3C */ jal set_game_mode /* 0117E4 800363E4 24040004 */ addiu $a0, $zero, 4 func_800363E8: .L800363E8: @@ -523,7 +523,7 @@ func_800363E8: /* 011930 80036530 8C620000 */ lw $v0, ($v1) /* 011934 80036534 84440086 */ lh $a0, 0x86($v0) /* 011938 80036538 8445008C */ lh $a1, 0x8c($v0) -/* 01193C 8003653C 0C0169BD */ jal func_8005A6F4 +/* 01193C 8003653C 0C0169BD */ jal load_map_by_IDs /* 011940 80036540 0000302D */ daddu $a2, $zero, $zero /* 011944 80036544 0C018030 */ jal nuContRmbForceStopEnd /* 011948 80036548 00000000 */ nop @@ -540,7 +540,7 @@ func_80036554: /* 011968 80036568 00000000 */ nop /* 01196C 8003656C 3C028007 */ lui $v0, 0x8007 /* 011970 80036570 8C42419C */ lw $v0, 0x419c($v0) -/* 011974 80036574 0C0B1059 */ jal func_802C4164 +/* 011974 80036574 0C0B1059 */ jal does_script_exist /* 011978 80036578 8C44006C */ lw $a0, 0x6c($v0) /* 01197C 8003657C 1440002C */ bnez $v0, .L80036630 /* 011980 80036580 00000000 */ nop @@ -571,7 +571,7 @@ func_80036554: /* 0119DC 800365DC A4C00000 */ sh $zero, ($a2) /* 0119E0 800365E0 0C04DF62 */ jal func_80137D88 /* 0119E4 800365E4 A6020000 */ sh $v0, ($s0) -/* 0119E8 800365E8 0C00CD3C */ jal func_800334F0 +/* 0119E8 800365E8 0C00CD3C */ jal set_game_mode /* 0119EC 800365EC 24040004 */ addiu $a0, $zero, 4 .L800365F0: /* 0119F0 800365F0 0C00E64C */ jal func_80039930 @@ -580,7 +580,7 @@ func_80036554: /* 0119FC 800365FC 00000000 */ nop /* 011A00 80036600 0C016754 */ jal func_80059D50 /* 011A04 80036604 00000000 */ nop -/* 011A08 80036608 0C00B500 */ jal func_8002D400 +/* 011A08 80036608 0C00B500 */ jal update_cameras /* 011A0C 8003660C 00000000 */ nop func_80036610: /* 011A10 80036610 3C02800A */ lui $v0, 0x800a diff --git a/papermario/asm/code_11a50_len_7a0.s b/papermario/asm/code_11a50_len_7a0.s index 42ec7acd13..8a22f70da8 100644 --- a/papermario/asm/code_11a50_len_7a0.s +++ b/papermario/asm/code_11a50_len_7a0.s @@ -221,7 +221,7 @@ func_80036930: /* 011D68 80036968 00000000 */ nop /* 011D6C 8003696C 0C016754 */ jal func_80059D50 /* 011D70 80036970 00000000 */ nop -/* 011D74 80036974 0C00B500 */ jal func_8002D400 +/* 011D74 80036974 0C00B500 */ jal update_cameras /* 011D78 80036978 00000000 */ nop /* 011D7C 8003697C 3C108007 */ lui $s0, 0x8007 /* 011D80 80036980 2610419C */ addiu $s0, $s0, 0x419c @@ -319,15 +319,15 @@ func_80036A8C: /* 011ED8 80036AD8 2405FFFF */ addiu $a1, $zero, -1 /* 011EDC 80036ADC 14450037 */ bne $v0, $a1, .L80036BBC /* 011EE0 80036AE0 2404000B */ addiu $a0, $zero, 0xb -/* 011EE4 80036AE4 0C00AB00 */ jal func_8002AC00 +/* 011EE4 80036AE4 0C00AB00 */ jal general_heap_create /* 011EE8 80036AE8 00000000 */ nop /* 011EEC 80036AEC 0C047624 */ jal func_8011D890 /* 011EF0 80036AF0 00000000 */ nop /* 011EF4 80036AF4 0C048C2E */ jal func_801230B8 /* 011EF8 80036AF8 00000000 */ nop -/* 011EFC 80036AFC 0C0B0C77 */ jal func_802C31DC +/* 011EFC 80036AFC 0C0B0C77 */ jal clear_script_list /* 011F00 80036B00 00000000 */ nop -/* 011F04 80036B04 0C00B7BD */ jal func_8002DEF4 +/* 011F04 80036B04 0C00B7BD */ jal create_cameras_a /* 011F08 80036B08 00000000 */ nop /* 011F0C 80036B0C 0C0B763E */ jal func_802DD8F8 /* 011F10 80036B10 0000202D */ daddu $a0, $zero, $zero @@ -335,7 +335,7 @@ func_80036A8C: /* 011F18 80036B18 00000000 */ nop /* 011F1C 80036B1C 0C047889 */ jal func_8011E224 /* 011F20 80036B20 00000000 */ nop -/* 011F24 80036B24 0C045751 */ jal func_80115D44 +/* 011F24 80036B24 0C045751 */ jal clear_model_data /* 011F28 80036B28 00000000 */ nop /* 011F2C 80036B2C 0C052010 */ jal func_80148040 /* 011F30 80036B30 00000000 */ nop @@ -343,19 +343,19 @@ func_80036A8C: /* 011F38 80036B38 00000000 */ nop /* 011F3C 80036B3C 0C050440 */ jal func_80141100 /* 011F40 80036B40 00000000 */ nop -/* 011F44 80036B44 0C0515A0 */ jal func_80145680 +/* 011F44 80036B44 0C0515A0 */ jal clear_trigger_data /* 011F48 80036B48 00000000 */ nop -/* 011F4C 80036B4C 0C048D9D */ jal func_80123674 +/* 011F4C 80036B4C 0C048D9D */ jal clear_printers /* 011F50 80036B50 00000000 */ nop /* 011F54 80036B54 0C04432E */ jal func_80110CB8 /* 011F58 80036B58 0000202D */ daddu $a0, $zero, $zero /* 011F5C 80036B5C 0C04E042 */ jal func_80138108 /* 011F60 80036B60 00000000 */ nop -/* 011F64 80036B64 0C037F14 */ jal func_800DFC50 +/* 011F64 80036B64 0C037F14 */ jal clear_player_status /* 011F68 80036B68 00000000 */ nop /* 011F6C 80036B6C 0C00E12F */ jal func_800384BC /* 011F70 80036B70 00000000 */ nop -/* 011F74 80036B74 0C039CE8 */ jal func_800E73A0 +/* 011F74 80036B74 0C039CE8 */ jal clear_player_data /* 011F78 80036B78 00000000 */ nop /* 011F7C 80036B7C 0C01CACC */ jal func_80072B30 /* 011F80 80036B80 00000000 */ nop @@ -363,13 +363,13 @@ func_80036A8C: /* 011F88 80036B88 00000000 */ nop /* 011F8C 80036B8C 0C016727 */ jal func_80059C9C /* 011F90 80036B90 00000000 */ nop -/* 011F94 80036B94 0C04C3FC */ jal func_80130FF0 +/* 011F94 80036B94 0C04C3FC */ jal clear_item_entity_data /* 011F98 80036B98 00000000 */ nop -/* 011F9C 80036B9C 0C0514C8 */ jal func_80145320 +/* 011F9C 80036B9C 0C0514C8 */ jal clear_saved_variables /* 011FA0 80036BA0 00000000 */ nop -/* 011FA4 80036BA4 0C016BE5 */ jal func_8005AF94 +/* 011FA4 80036BA4 0C016BE5 */ jal initialize_collision /* 011FA8 80036BA8 00000000 */ nop -/* 011FAC 80036BAC 0C00CD3C */ jal func_800334F0 +/* 011FAC 80036BAC 0C00CD3C */ jal set_game_mode /* 011FB0 80036BB0 24040002 */ addiu $a0, $zero, 2 /* 011FB4 80036BB4 0800DB72 */ j func_80036DC8 /* 011FB8 80036BB8 00000000 */ nop @@ -401,7 +401,7 @@ func_80036A8C: /* 012014 80036C14 A2200012 */ sb $zero, 0x12($s1) /* 012018 80036C18 84440086 */ lh $a0, 0x86($v0) /* 01201C 80036C1C 8445008C */ lh $a1, 0x8c($v0) -/* 012020 80036C20 0C0169BD */ jal func_8005A6F4 +/* 012020 80036C20 0C0169BD */ jal load_map_by_IDs /* 012024 80036C24 0000302D */ daddu $a2, $zero, $zero /* 012028 80036C28 8E030000 */ lw $v1, ($s0) /* 01202C 80036C2C 24020003 */ addiu $v0, $zero, 3 @@ -446,12 +446,12 @@ func_80036A8C: /* 0120C0 80036CC0 00000000 */ nop /* 0120C4 80036CC4 0C016754 */ jal func_80059D50 /* 0120C8 80036CC8 00000000 */ nop -/* 0120CC 80036CCC 0C00B500 */ jal func_8002D400 +/* 0120CC 80036CCC 0C00B500 */ jal update_cameras /* 0120D0 80036CD0 00000000 */ nop /* 0120D4 80036CD4 3C108007 */ lui $s0, 0x8007 /* 0120D8 80036CD8 2610419C */ addiu $s0, $s0, 0x419c /* 0120DC 80036CDC 8E020000 */ lw $v0, ($s0) -/* 0120E0 80036CE0 0C0B1059 */ jal func_802C4164 +/* 0120E0 80036CE0 0C0B1059 */ jal does_script_exist /* 0120E4 80036CE4 8C44006C */ lw $a0, 0x6c($v0) /* 0120E8 80036CE8 14400037 */ bnez $v0, .L80036DC8 /* 0120EC 80036CEC 24030004 */ addiu $v1, $zero, 4 @@ -463,7 +463,7 @@ func_80036A8C: /* 012104 80036D04 0C016754 */ jal func_80059D50 /* 012108 80036D08 00000000 */ nop -/* 01210C 80036D0C 0C00B500 */ jal func_8002D400 +/* 01210C 80036D0C 0C00B500 */ jal update_cameras /* 012110 80036D10 00000000 */ nop /* 012114 80036D14 0C00E64C */ jal func_80039930 /* 012118 80036D18 00000000 */ nop diff --git a/papermario/asm/code_121f0_len_1290.s b/papermario/asm/code_121f0_len_1290.s index 6d664908b8..3dbbffd387 100644 --- a/papermario/asm/code_121f0_len_1290.s +++ b/papermario/asm/code_121f0_len_1290.s @@ -15,9 +15,9 @@ /* 01221C 80036E1C AC20A5D8 */ sw $zero, -0x5a28($at) /* 012220 80036E20 3C018015 */ lui $at, 0x8015 /* 012224 80036E24 A022C248 */ sb $v0, -0x3db8($at) -/* 012228 80036E28 0C00AB00 */ jal func_8002AC00 +/* 012228 80036E28 0C00AB00 */ jal general_heap_create /* 01222C 80036E2C 00000000 */ nop -/* 012230 80036E30 0C048D9D */ jal func_80123674 +/* 012230 80036E30 0C048D9D */ jal clear_printers /* 012234 80036E34 00000000 */ nop /* 012238 80036E38 0C0525FF */ jal func_801497FC /* 01223C 80036E3C 0000202D */ daddu $a0, $zero, $zero @@ -35,10 +35,10 @@ /* 01226C 80036E6C A06200A8 */ sb $v0, 0xa8($v1) /* 012270 80036E70 3C04800A */ lui $a0, 0x800a /* 012274 80036E74 24848390 */ addiu $a0, $a0, -0x7c70 -/* 012278 80036E78 0C016B3A */ jal func_8005ACE8 +/* 012278 80036E78 0C016B3A */ jal load_asset_by_name /* 01227C 80036E7C 27A50018 */ addiu $a1, $sp, 0x18 /* 012280 80036E80 8FA40018 */ lw $a0, 0x18($sp) -/* 012284 80036E84 0C00AB39 */ jal func_8002ACE4 +/* 012284 80036E84 0C00AB39 */ jal heap_malloc /* 012288 80036E88 0040882D */ daddu $s1, $v0, $zero /* 01228C 80036E8C 0220202D */ daddu $a0, $s1, $zero /* 012290 80036E90 0040282D */ daddu $a1, $v0, $zero @@ -46,7 +46,7 @@ /* 012298 80036E98 26100974 */ addiu $s0, $s0, 0x974 /* 01229C 80036E9C 0C01BB7C */ jal decode_yay0 /* 0122A0 80036EA0 AE050000 */ sw $a1, ($s0) -/* 0122A4 80036EA4 0C00AB1E */ jal func_8002AC78 +/* 0122A4 80036EA4 0C00AB1E */ jal general_heap_free /* 0122A8 80036EA8 0220202D */ daddu $a0, $s1, $zero /* 0122AC 80036EAC 8E040000 */ lw $a0, ($s0) /* 0122B0 80036EB0 8C820000 */ lw $v0, ($a0) @@ -61,7 +61,7 @@ /* 0122D4 80036ED4 00441021 */ addu $v0, $v0, $a0 /* 0122D8 80036ED8 3C01800A */ lui $at, 0x800a /* 0122DC 80036EDC AC22097C */ sw $v0, 0x97c($at) -/* 0122E0 80036EE0 0C00B7BD */ jal func_8002DEF4 +/* 0122E0 80036EE0 0C00B7BD */ jal create_cameras_a /* 0122E4 80036EE4 00000000 */ nop /* 0122E8 80036EE8 0000202D */ daddu $a0, $zero, $zero /* 0122EC 80036EEC 2405000C */ addiu $a1, $zero, 0xc @@ -95,7 +95,7 @@ /* 01235C 80036F5C 34420002 */ ori $v0, $v0, 2 /* 012360 80036F60 34630002 */ ori $v1, $v1, 2 /* 012364 80036F64 A6020AB0 */ sh $v0, 0xab0($s0) -/* 012368 80036F68 0C00B8C5 */ jal func_8002E314 +/* 012368 80036F68 0C00B8C5 */ jal set_cam_viewport /* 01236C 80036F6C A6031008 */ sh $v1, 0x1008($s0) /* 012370 80036F70 3C0143FA */ lui $at, 0x43fa /* 012374 80036F74 44810000 */ mtc1 $at, $f0 @@ -120,7 +120,7 @@ /* 0123C0 80036FC0 E600003C */ swc1 $f0, 0x3c($s0) /* 0123C4 80036FC4 E6020040 */ swc1 $f2, 0x40($s0) /* 0123C8 80036FC8 E6040044 */ swc1 $f4, 0x44($s0) -/* 0123CC 80036FCC 0C0B0C77 */ jal func_802C31DC +/* 0123CC 80036FCC 0C0B0C77 */ jal clear_script_list /* 0123D0 80036FD0 E606005C */ swc1 $f6, 0x5c($s0) /* 0123D4 80036FD4 0C048C2E */ jal func_801230B8 /* 0123D8 80036FD8 00000000 */ nop @@ -144,7 +144,7 @@ /* 012420 80037020 00000000 */ nop /* 012424 80037024 8E420000 */ lw $v0, ($s2) /* 012428 80037028 34420002 */ ori $v0, $v0, 2 -/* 01242C 8003702C 0C039CE8 */ jal func_800E73A0 +/* 01242C 8003702C 0C039CE8 */ jal clear_player_data /* 012430 80037030 AE420000 */ sw $v0, ($s2) /* 012434 80037034 0000202D */ daddu $a0, $zero, $zero /* 012438 80037038 3C058003 */ lui $a1, 0x8003 @@ -155,18 +155,18 @@ /* 01244C 8003704C 0C044B61 */ jal func_80112D84 /* 012450 80037050 AE420000 */ sw $v0, ($s2) /* 012454 80037054 3C04800A */ lui $a0, 0x800a -/* 012458 80037058 0C05175C */ jal func_80145D70 +/* 012458 80037058 0C05175C */ jal load_map_bg /* 01245C 8003705C 2484839C */ addiu $a0, $a0, -0x7c64 /* 012460 80037060 3C048020 */ lui $a0, 0x8020 /* 012464 80037064 24840000 */ addiu $a0, $a0, 0 -/* 012468 80037068 0C05178A */ jal func_80145E28 +/* 012468 80037068 0C05178A */ jal read_background_size /* 01246C 8003706C 00000000 */ nop /* 012470 80037070 0000202D */ daddu $a0, $zero, $zero /* 012474 80037074 2405006A */ addiu $a1, $zero, 0x6a /* 012478 80037078 0080302D */ daddu $a2, $a0, $zero /* 01247C 8003707C 240701F4 */ addiu $a3, $zero, 0x1f4 /* 012480 80037080 24020008 */ addiu $v0, $zero, 8 -/* 012484 80037084 0C052A46 */ jal func_8014A918 +/* 012484 80037084 0C052A46 */ jal set_music_track /* 012488 80037088 AFA20010 */ sw $v0, 0x10($sp) /* 01248C 8003708C 8FBF002C */ lw $ra, 0x2c($sp) /* 012490 80037090 8FB20028 */ lw $s2, 0x28($sp) @@ -281,7 +281,7 @@ /* 012628 80037228 0000202D */ daddu $a0, $zero, $zero /* 01262C 8003722C 2405FFFF */ addiu $a1, $zero, -1 /* 012630 80037230 0080302D */ daddu $a2, $a0, $zero -/* 012634 80037234 0C052A46 */ jal func_8014A918 +/* 012634 80037234 0C052A46 */ jal set_music_track /* 012638 80037238 24070F3C */ addiu $a3, $zero, 0xf3c .L8003723C: /* 01263C 8003723C 3C02800A */ lui $v0, 0x800a @@ -316,14 +316,14 @@ /* 0126A4 800372A4 24020005 */ addiu $v0, $zero, 5 /* 0126A8 800372A8 3C018007 */ lui $at, 0x8007 /* 0126AC 800372AC A42279C0 */ sh $v0, 0x79c0($at) -/* 0126B0 800372B0 0C05272D */ jal func_80149CB4 +/* 0126B0 800372B0 0C05272D */ jal play_sound /* 0126B4 800372B4 240400D5 */ addiu $a0, $zero, 0xd5 /* 0126B8 800372B8 0000202D */ daddu $a0, $zero, $zero /* 0126BC 800372BC 24050069 */ addiu $a1, $zero, 0x69 /* 0126C0 800372C0 0080302D */ daddu $a2, $a0, $zero /* 0126C4 800372C4 240701F4 */ addiu $a3, $zero, 0x1f4 /* 0126C8 800372C8 24020008 */ addiu $v0, $zero, 8 -/* 0126CC 800372CC 0C052A46 */ jal func_8014A918 +/* 0126CC 800372CC 0C052A46 */ jal set_music_track /* 0126D0 800372D0 AFA20010 */ sw $v0, 0x10($sp) /* 0126D4 800372D4 0800DD64 */ j func_80037590 /* 0126D8 800372D8 00000000 */ nop @@ -446,11 +446,11 @@ func_80037448: /* 012870 80037470 A08200AF */ sb $v0, 0xaf($a0) .L80037474: -/* 012874 80037474 0C00AB00 */ jal func_8002AC00 +/* 012874 80037474 0C00AB00 */ jal general_heap_create /* 012878 80037478 00000000 */ nop /* 01287C 8003747C 0C047624 */ jal func_8011D890 /* 012880 80037480 00000000 */ nop -/* 012884 80037484 0C00B7BD */ jal func_8002DEF4 +/* 012884 80037484 0C00B7BD */ jal create_cameras_a /* 012888 80037488 00000000 */ nop /* 01288C 8003748C 0C0482EC */ jal func_80120BB0 /* 012890 80037490 00000000 */ nop @@ -497,13 +497,13 @@ func_80037448: .L8003752C: /* 01292C 8003752C A0A000A8 */ sb $zero, 0xa8($a1) -/* 012930 80037530 0C00CD3C */ jal func_800334F0 +/* 012930 80037530 0C00CD3C */ jal set_game_mode /* 012934 80037534 24040010 */ addiu $a0, $zero, 0x10 /* 012938 80037538 0800DD64 */ j func_80037590 /* 01293C 8003753C 00000000 */ nop .L80037540: -/* 012940 80037540 0C00CD3C */ jal func_800334F0 +/* 012940 80037540 0C00CD3C */ jal set_game_mode /* 012944 80037544 24040011 */ addiu $a0, $zero, 0x11 /* 012948 80037548 0800DD64 */ j func_80037590 /* 01294C 8003754C 00000000 */ nop @@ -512,7 +512,7 @@ func_80037448: /* 012950 80037550 2402000B */ addiu $v0, $zero, 0xb /* 012954 80037554 A4A00086 */ sh $zero, 0x86($a1) /* 012958 80037558 A4A2008C */ sh $v0, 0x8c($a1) -/* 01295C 8003755C 0C00CD3C */ jal func_800334F0 +/* 01295C 8003755C 0C00CD3C */ jal set_game_mode /* 012960 80037560 A4A0008E */ sh $zero, 0x8e($a1) /* 012964 80037564 0800DD64 */ j func_80037590 /* 012968 80037568 00000000 */ nop @@ -526,7 +526,7 @@ func_8003756C: /* 01297C 8003757C 00000000 */ nop /* 012980 80037580 0C00E64C */ jal func_80039930 /* 012984 80037584 00000000 */ nop -/* 012988 80037588 0C00B500 */ jal func_8002D400 +/* 012988 80037588 0C00B500 */ jal update_cameras /* 01298C 8003758C 00000000 */ nop func_80037590: .L80037590: @@ -772,9 +772,9 @@ func_80037710: /* 012D18 80037918 AC600074 */ sw $zero, 0x74($v1) /* 012D1C 8003791C AE020000 */ sw $v0, ($s0) /* 012D20 80037920 AC780078 */ sw $t8, 0x78($v1) -/* 012D24 80037924 0C00B5CF */ jal func_8002D73C +/* 012D24 80037924 0C00B5CF */ jal render_frame /* 012D28 80037928 AC60007C */ sw $zero, 0x7c($v1) -/* 012D2C 8003792C 0C00B5CF */ jal func_8002D73C +/* 012D2C 8003792C 0C00B5CF */ jal render_frame /* 012D30 80037930 24040001 */ addiu $a0, $zero, 1 /* 012D34 80037934 8FBF0030 */ lw $ra, 0x30($sp) /* 012D38 80037938 8FB7002C */ lw $s7, 0x2c($sp) diff --git a/papermario/asm/code_13480_len_3f0.s b/papermario/asm/code_13480_len_3f0.s index 84b2615c3d..4a138a78b4 100644 --- a/papermario/asm/code_13480_len_3f0.s +++ b/papermario/asm/code_13480_len_3f0.s @@ -1,6 +1,7 @@ .section .text80038080, "ax" +init_demo_data: /* 013480 80038080 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 013484 80038084 3C048007 */ lui $a0, 0x8007 /* 013488 80038088 2484419C */ addiu $a0, $a0, 0x419c @@ -19,19 +20,20 @@ /* 0134B8 800380B8 A4400068 */ sh $zero, 0x68($v0) /* 0134BC 800380BC 0C01588A */ jal func_80056228 /* 0134C0 800380C0 A060006B */ sb $zero, 0x6b($v1) -/* 0134C4 800380C4 0C04E0A8 */ jal func_801382A0 +/* 0134C4 800380C4 0C04E0A8 */ jal set_map_transition_effect /* 0134C8 800380C8 24040002 */ addiu $a0, $zero, 2 /* 0134CC 800380CC 3C05437F */ lui $a1, 0x437f /* 0134D0 800380D0 0C04DF62 */ jal func_80137D88 /* 0134D4 800380D4 0000202D */ daddu $a0, $zero, $zero -/* 0134D8 800380D8 0C0514C8 */ jal func_80145320 +/* 0134D8 800380D8 0C0514C8 */ jal clear_saved_variables /* 0134DC 800380DC 00000000 */ nop -/* 0134E0 800380E0 0C0B0C77 */ jal func_802C31DC +/* 0134E0 800380E0 0C0B0C77 */ jal clear_script_list /* 0134E4 800380E4 00000000 */ nop /* 0134E8 800380E8 8FBF0010 */ lw $ra, 0x10($sp) /* 0134EC 800380EC 03E00008 */ jr $ra /* 0134F0 800380F0 27BD0018 */ addiu $sp, $sp, 0x18 +next_demo_scene: /* 0134F4 800380F4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0134F8 800380F8 3C058007 */ lui $a1, 0x8007 /* 0134FC 800380FC 8CA5419C */ lw $a1, 0x419c($a1) @@ -121,15 +123,15 @@ /* 01363C 8003823C 8C820000 */ lw $v0, ($a0) /* 013640 80038240 2403FFF7 */ addiu $v1, $zero, -9 /* 013644 80038244 00431024 */ and $v0, $v0, $v1 -/* 013648 80038248 0C00AB00 */ jal func_8002AC00 +/* 013648 80038248 0C00AB00 */ jal general_heap_create /* 01364C 8003824C AC820000 */ sw $v0, ($a0) /* 013650 80038250 0C047624 */ jal func_8011D890 /* 013654 80038254 00000000 */ nop /* 013658 80038258 0C048C2E */ jal func_801230B8 /* 01365C 8003825C 00000000 */ nop -/* 013660 80038260 0C0B0C77 */ jal func_802C31DC +/* 013660 80038260 0C0B0C77 */ jal clear_script_list /* 013664 80038264 00000000 */ nop -/* 013668 80038268 0C00B7BD */ jal func_8002DEF4 +/* 013668 80038268 0C00B7BD */ jal create_cameras_a /* 01366C 8003826C 00000000 */ nop /* 013670 80038270 0C0B763E */ jal func_802DD8F8 /* 013674 80038274 0000202D */ daddu $a0, $zero, $zero @@ -137,7 +139,7 @@ /* 01367C 8003827C 00000000 */ nop /* 013680 80038280 0C047889 */ jal func_8011E224 /* 013684 80038284 00000000 */ nop -/* 013688 80038288 0C045751 */ jal func_80115D44 +/* 013688 80038288 0C045751 */ jal clear_model_data /* 01368C 8003828C 00000000 */ nop /* 013690 80038290 0C052010 */ jal func_80148040 /* 013694 80038294 00000000 */ nop @@ -145,19 +147,19 @@ /* 01369C 8003829C 00000000 */ nop /* 0136A0 800382A0 0C050440 */ jal func_80141100 /* 0136A4 800382A4 00000000 */ nop -/* 0136A8 800382A8 0C0515A0 */ jal func_80145680 +/* 0136A8 800382A8 0C0515A0 */ jal clear_trigger_data /* 0136AC 800382AC 00000000 */ nop -/* 0136B0 800382B0 0C048D9D */ jal func_80123674 +/* 0136B0 800382B0 0C048D9D */ jal clear_printers /* 0136B4 800382B4 00000000 */ nop /* 0136B8 800382B8 0C04432E */ jal func_80110CB8 /* 0136BC 800382BC 0000202D */ daddu $a0, $zero, $zero /* 0136C0 800382C0 0C04E042 */ jal func_80138108 /* 0136C4 800382C4 00000000 */ nop -/* 0136C8 800382C8 0C037F14 */ jal func_800DFC50 +/* 0136C8 800382C8 0C037F14 */ jal clear_player_status /* 0136CC 800382CC 00000000 */ nop /* 0136D0 800382D0 0C00E12F */ jal func_800384BC /* 0136D4 800382D4 00000000 */ nop -/* 0136D8 800382D8 0C039CE8 */ jal func_800E73A0 +/* 0136D8 800382D8 0C039CE8 */ jal clear_player_data /* 0136DC 800382DC 00000000 */ nop /* 0136E0 800382E0 0C01CACC */ jal func_80072B30 /* 0136E4 800382E4 00000000 */ nop @@ -165,20 +167,20 @@ /* 0136EC 800382EC 00000000 */ nop /* 0136F0 800382F0 0C016727 */ jal func_80059C9C /* 0136F4 800382F4 00000000 */ nop -/* 0136F8 800382F8 0C04C3FC */ jal func_80130FF0 +/* 0136F8 800382F8 0C04C3FC */ jal clear_item_entity_data /* 0136FC 800382FC 00000000 */ nop -/* 013700 80038300 0C0514C8 */ jal func_80145320 +/* 013700 80038300 0C0514C8 */ jal clear_saved_variables /* 013704 80038304 00000000 */ nop -/* 013708 80038308 0C016BE5 */ jal func_8005AF94 +/* 013708 80038308 0C016BE5 */ jal initialize_collision /* 01370C 8003830C 00000000 */ nop -/* 013710 80038310 0C00CD3C */ jal func_800334F0 +/* 013710 80038310 0C00CD3C */ jal set_game_mode /* 013714 80038314 24040002 */ addiu $a0, $zero, 2 /* 013718 80038318 0800E111 */ j func_80038444 /* 01371C 8003831C 00000000 */ nop /* 013720 80038320 27A50018 */ addiu $a1, $sp, 0x18 /* 013724 80038324 8E240008 */ lw $a0, 8($s1) -/* 013728 80038328 0C016AFE */ jal func_8005ABF8 +/* 013728 80038328 0C016AFE */ jal get_map_IDs_by_name /* 01372C 8003832C 27A6001A */ addiu $a2, $sp, 0x1a /* 013730 80038330 0000202D */ daddu $a0, $zero, $zero /* 013734 80038334 2405001D */ addiu $a1, $zero, 0x1d @@ -198,7 +200,7 @@ /* 01376C 8003836C 27A50018 */ addiu $a1, $sp, 0x18 /* 013770 80038370 8E240008 */ lw $a0, 8($s1) -/* 013774 80038374 0C016AFE */ jal func_8005ABF8 +/* 013774 80038374 0C016AFE */ jal get_map_IDs_by_name /* 013778 80038378 27A6001A */ addiu $a2, $sp, 0x1a /* 01377C 8003837C 0000202D */ daddu $a0, $zero, $zero /* 013780 80038380 2405001D */ addiu $a1, $zero, 0x1d @@ -219,12 +221,12 @@ func_800383B8: /* 0137B8 800383B8 92230005 */ lbu $v1, 5($s1) /* 0137BC 800383BC 240200B1 */ addiu $v0, $zero, 0xb1 /* 0137C0 800383C0 AFA20010 */ sw $v0, 0x10($sp) -/* 0137C4 800383C4 0C00B8C5 */ jal func_8002E314 +/* 0137C4 800383C4 0C00B8C5 */ jal set_cam_viewport /* 0137C8 800383C8 A2430012 */ sb $v1, 0x12($s2) /* 0137CC 800383CC 0000202D */ daddu $a0, $zero, $zero /* 0137D0 800383D0 3C05F5DE */ lui $a1, 0xf5de /* 0137D4 800383D4 82260006 */ lb $a2, 6($s1) -/* 0137D8 800383D8 0C0B2026 */ jal func_802C8098 +/* 0137D8 800383D8 0C0B2026 */ jal set_variable /* 0137DC 800383DC 34A50180 */ ori $a1, $a1, 0x180 /* 0137E0 800383E0 8E020000 */ lw $v0, ($s0) /* 0137E4 800383E4 80420072 */ lb $v0, 0x72($v0) @@ -232,14 +234,14 @@ func_800383B8: /* 0137EC 800383EC 24040002 */ addiu $a0, $zero, 2 /* 0137F0 800383F0 24040003 */ addiu $a0, $zero, 3 .L800383F4: -/* 0137F4 800383F4 0C04E0A8 */ jal func_801382A0 +/* 0137F4 800383F4 0C04E0A8 */ jal set_map_transition_effect /* 0137F8 800383F8 00000000 */ nop -/* 0137FC 800383FC 0C00CD3C */ jal func_800334F0 +/* 0137FC 800383FC 0C00CD3C */ jal set_game_mode /* 013800 80038400 24040003 */ addiu $a0, $zero, 3 /* 013804 80038404 0800E105 */ j func_80038414 /* 013808 80038408 00000000 */ nop -/* 01380C 8003840C 0C01CB85 */ jal func_80072E14 +/* 01380C 8003840C 0C01CB85 */ jal load_demo_battle /* 013810 80038410 96240002 */ lhu $a0, 2($s1) func_80038414: .L80038414: diff --git a/papermario/asm/code_1370_len_7d0.s b/papermario/asm/code_1370_len_7d0.s index 60d01be114..6848b6569e 100644 --- a/papermario/asm/code_1370_len_7d0.s +++ b/papermario/asm/code_1370_len_7d0.s @@ -1,6 +1,7 @@ .section .text80025F70, "ax" +boot_main: /* 001370 80025F70 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 001374 80025F74 3C038000 */ lui $v1, 0x8000 /* 001378 80025F78 8C630300 */ lw $v1, 0x300($v1) @@ -34,9 +35,9 @@ func_80025FC4: func_80025FCC: /* 0013CC 80025FCC 0C017D00 */ jal nuGfxDisplayOff /* 0013D0 80025FD0 00000000 */ nop -/* 0013D4 80025FD4 0C00B22C */ jal func_8002C8B0 +/* 0013D4 80025FD4 0C00B22C */ jal crash_create_monitor /* 0013D8 80025FD8 00000000 */ nop -/* 0013DC 80025FDC 0C009718 */ jal PAPERMARIO_func_80025C60 +/* 0013DC 80025FDC 0C009718 */ jal func_80025C60 /* 0013E0 80025FE0 00000000 */ nop /* 0013E4 80025FE4 0C017D58 */ jal nuGfxInit /* 0013E8 80025FE8 00000000 */ nop @@ -70,6 +71,7 @@ func_80026054: /* 001454 80026054 08009815 */ j func_80026054 /* 001458 80026058 00000000 */ nop +gfxRetrace_Callback: /* 00145C 8002605C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 001460 80026060 AFB10014 */ sw $s1, 0x14($sp) /* 001464 80026064 3C118007 */ lui $s1, 0x8007 @@ -121,7 +123,7 @@ func_80026054: /* 001510 80026110 38420001 */ xori $v0, $v0, 1 /* 001514 80026114 1440000E */ bnez $v0, .L80026150 /* 001518 80026118 A4620000 */ sh $v0, ($v1) -/* 00151C 8002611C 0C0099D0 */ jal func_80026740 +/* 00151C 8002611C 0C0099D0 */ jal step_game_loop /* 001520 80026120 00000000 */ nop /* 001524 80026124 3C038007 */ lui $v1, 0x8007 /* 001528 80026128 24633E08 */ addiu $v1, $v1, 0x3e08 @@ -132,7 +134,7 @@ func_80026054: /* 00153C 8002613C 00000000 */ nop /* 001540 80026140 0C009A7B */ jal func_800269EC /* 001544 80026144 A4600000 */ sh $zero, ($v1) -/* 001548 80026148 0C009AC2 */ jal func_80026B08 +/* 001548 80026148 0C009AC2 */ jal gfx_draw_frame /* 00154C 8002614C 00000000 */ nop func_80026150: .L80026150: @@ -490,7 +492,7 @@ func_80026164: /* 001AB4 800266B4 000528C3 */ sra $a1, $a1, 3 /* 001AB8 800266B8 000528C0 */ sll $a1, $a1, 3 /* 001ABC 800266BC 0000302D */ daddu $a2, $zero, $zero -/* 001AC0 800266C0 0C00B331 */ jal func_8002CCC4 +/* 001AC0 800266C0 0C00B331 */ jal nuGfxTaskStart /* 001AC4 800266C4 3C070004 */ lui $a3, 4 /* 001AC8 800266C8 3C038007 */ lui $v1, 0x8007 /* 001ACC 800266CC 246341F4 */ addiu $v1, $v1, 0x41f4 @@ -510,6 +512,7 @@ func_80026164: /* 001B04 80026704 03E00008 */ jr $ra /* 001B08 80026708 27BD0040 */ addiu $sp, $sp, 0x40 +gfxPreNMI_Callback: /* 001B0C 8002670C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 001B10 80026710 24020001 */ addiu $v0, $zero, 1 /* 001B14 80026714 AFBF0010 */ sw $ra, 0x10($sp) diff --git a/papermario/asm/code_13870_len_6980.s b/papermario/asm/code_13870_len_6980.s index 8c3bfeea07..04ea2d2bbc 100644 --- a/papermario/asm/code_13870_len_6980.s +++ b/papermario/asm/code_13870_len_6980.s @@ -4,7 +4,7 @@ /* 013870 80038470 03E00008 */ jr $ra /* 013874 80038474 00000000 */ nop -func_80038478: +mtx_ident_mirror_y: /* 013878 80038478 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01387C 8003847C AFB00010 */ sw $s0, 0x10($sp) /* 013880 80038480 AFBF0014 */ sw $ra, 0x14($sp) @@ -57,7 +57,7 @@ func_800384E8: /* 013924 80038524 03E00008 */ jr $ra /* 013928 80038528 00000000 */ nop -func_8003852C: +init_npc_list: /* 01392C 8003852C 3C028007 */ lui $v0, 0x8007 /* 013930 80038530 8C42419C */ lw $v0, 0x419c($v0) /* 013934 80038534 80420070 */ lb $v0, 0x70($v0) @@ -123,7 +123,7 @@ func_800385F4: /* 0139F8 800385F8 00000000 */ nop .L800385FC: -/* 0139FC 800385FC 0C00AB39 */ jal func_8002ACE4 +/* 0139FC 800385FC 0C00AB39 */ jal heap_malloc /* 013A00 80038600 24040340 */ addiu $a0, $zero, 0x340 /* 013A04 80038604 00112080 */ sll $a0, $s1, 2 /* 013A08 80038608 3C03800A */ lui $v1, 0x800a @@ -263,7 +263,7 @@ func_800387E8: /* 013BE8 800387E8 8E050038 */ lw $a1, 0x38($s0) /* 013BEC 800387EC 8E06003C */ lw $a2, 0x3c($s0) /* 013BF0 800387F0 8E070040 */ lw $a3, 0x40($s0) -/* 013BF4 800387F4 0C044898 */ jal func_80112260 +/* 013BF4 800387F4 0C044898 */ jal create_shadow_type /* 013BF8 800387F8 0000202D */ daddu $a0, $zero, $zero /* 013BFC 800387FC 3C013F80 */ lui $at, 0x3f80 /* 013C00 80038800 44810000 */ mtc1 $at, $f0 @@ -335,7 +335,7 @@ func_800388A0: /* 013CE4 800388E4 8E040020 */ lw $a0, 0x20($s0) /* 013CE8 800388E8 10800004 */ beqz $a0, .L800388FC /* 013CEC 800388EC 00000000 */ nop -/* 013CF0 800388F0 0C00AB4B */ jal func_8002AD2C +/* 013CF0 800388F0 0C00AB4B */ jal heap_free /* 013CF4 800388F4 00000000 */ nop /* 013CF8 800388F8 AE000020 */ sw $zero, 0x20($s0) .L800388FC: @@ -372,7 +372,7 @@ func_8003892C: /* 013D64 80038964 00431024 */ and $v0, $v0, $v1 /* 013D68 80038968 10400003 */ beqz $v0, .L80038978 /* 013D6C 8003896C 00000000 */ nop -/* 013D70 80038970 0C00EB6B */ jal func_8003ADAC +/* 013D70 80038970 0C00EB6B */ jal disable_npc_blur /* 013D74 80038974 0200202D */ daddu $a0, $s0, $zero .L80038978: /* 013D78 80038978 3C11800A */ lui $s1, 0x800a @@ -380,7 +380,7 @@ func_8003892C: /* 013D80 80038980 8E220000 */ lw $v0, ($s1) /* 013D84 80038984 00128080 */ sll $s0, $s2, 2 /* 013D88 80038988 02021021 */ addu $v0, $s0, $v0 -/* 013D8C 8003898C 0C00AB4B */ jal func_8002AD2C +/* 013D8C 8003898C 0C00AB4B */ jal heap_free /* 013D90 80038990 8C440000 */ lw $a0, ($v0) /* 013D94 80038994 3C04800A */ lui $a0, 0x800a /* 013D98 80038998 2484A604 */ addiu $a0, $a0, -0x59fc @@ -398,7 +398,7 @@ func_8003892C: /* 013DC4 800389C4 03E00008 */ jr $ra /* 013DC8 800389C8 27BD0020 */ addiu $sp, $sp, 0x20 -func_800389CC: +free_npc: /* 013DCC 800389CC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 013DD0 800389D0 AFB10014 */ sw $s1, 0x14($sp) /* 013DD4 800389D4 0080882D */ daddu $s1, $a0, $zero @@ -407,7 +407,7 @@ func_800389CC: /* 013DE0 800389E0 8E240020 */ lw $a0, 0x20($s1) /* 013DE4 800389E4 10800004 */ beqz $a0, .L800389F8 /* 013DE8 800389E8 00000000 */ nop -/* 013DEC 800389EC 0C00AB4B */ jal func_8002AD2C +/* 013DEC 800389EC 0C00AB4B */ jal heap_free /* 013DF0 800389F0 00000000 */ nop /* 013DF4 800389F4 AE200020 */ sw $zero, 0x20($s1) .L800389F8: @@ -444,10 +444,10 @@ func_80038A28: /* 013E60 80038A60 00431024 */ and $v0, $v0, $v1 /* 013E64 80038A64 10400003 */ beqz $v0, .L80038A74 /* 013E68 80038A68 00000000 */ nop -/* 013E6C 80038A6C 0C00EB6B */ jal func_8003ADAC +/* 013E6C 80038A6C 0C00EB6B */ jal disable_npc_blur /* 013E70 80038A70 0220202D */ daddu $a0, $s1, $zero .L80038A74: -/* 013E74 80038A74 0C00AB4B */ jal func_8002AD2C +/* 013E74 80038A74 0C00AB4B */ jal heap_free /* 013E78 80038A78 0220202D */ daddu $a0, $s1, $zero /* 013E7C 80038A7C 3C05800A */ lui $a1, 0x800a /* 013E80 80038A80 8CA50B90 */ lw $a1, 0xb90($a1) @@ -476,7 +476,7 @@ func_80038A28: /* 013ED4 80038AD4 03E00008 */ jr $ra /* 013ED8 80038AD8 27BD0020 */ addiu $sp, $sp, 0x20 -func_80038ADC: +get_npc_by_index: /* 013EDC 80038ADC 2402F7FF */ addiu $v0, $zero, -0x801 /* 013EE0 80038AE0 00822024 */ and $a0, $a0, $v0 /* 013EE4 80038AE4 3C02800A */ lui $v0, 0x800a @@ -527,7 +527,7 @@ func_80038AFC: /* 013F80 80038B80 8E020000 */ lw $v0, ($s0) /* 013F84 80038B84 C60C000C */ lwc1 $f12, 0xc($s0) /* 013F88 80038B88 00431024 */ and $v0, $v0, $v1 -/* 013F8C 80038B8C 0C00A6C9 */ jal func_80029B24 +/* 013F8C 80038B8C 0C00A6C9 */ jal clamp_angle /* 013F90 80038B90 AE020000 */ sw $v0, ($s0) /* 013F94 80038B94 C6020038 */ lwc1 $f2, 0x38($s0) /* 013F98 80038B98 C604003C */ lwc1 $f4, 0x3c($s0) @@ -599,7 +599,7 @@ func_80038C88: /* 014088 80038C88 C600000C */ lwc1 $f0, 0xc($s0) /* 01408C 80038C8C 3C014234 */ lui $at, 0x4234 /* 014090 80038C90 44816000 */ mtc1 $at, $f12 -/* 014094 80038C94 0C00A6C9 */ jal func_80029B24 +/* 014094 80038C94 0C00A6C9 */ jal clamp_angle /* 014098 80038C98 460C0300 */ add.s $f12, $f0, $f12 /* 01409C 80038C9C C6020038 */ lwc1 $f2, 0x38($s0) /* 0140A0 80038CA0 C604003C */ lwc1 $f4, 0x3c($s0) @@ -668,7 +668,7 @@ func_80038D84: /* 014184 80038D84 C600000C */ lwc1 $f0, 0xc($s0) /* 014188 80038D88 3C014234 */ lui $at, 0x4234 /* 01418C 80038D8C 44816000 */ mtc1 $at, $f12 -/* 014190 80038D90 0C00A6C9 */ jal func_80029B24 +/* 014190 80038D90 0C00A6C9 */ jal clamp_angle /* 014194 80038D94 460C0301 */ sub.s $f12, $f0, $f12 /* 014198 80038D98 C6020038 */ lwc1 $f2, 0x38($s0) /* 01419C 80038D9C C604003C */ lwc1 $f4, 0x3c($s0) @@ -746,7 +746,7 @@ func_80038E80: /* 0142A4 80038EA4 46006300 */ add.s $f12, $f12, $f0 /* 0142A8 80038EA8 3C014334 */ lui $at, 0x4334 /* 0142AC 80038EAC 44810000 */ mtc1 $at, $f0 -/* 0142B0 80038EB0 0C00A6C9 */ jal func_80029B24 +/* 0142B0 80038EB0 0C00A6C9 */ jal clamp_angle /* 0142B4 80038EB4 46006300 */ add.s $f12, $f12, $f0 /* 0142B8 80038EB8 C6020038 */ lwc1 $f2, 0x38($s0) /* 0142BC 80038EBC C604003C */ lwc1 $f4, 0x3c($s0) @@ -794,7 +794,7 @@ func_80038F48: /* 014358 80038F58 46006301 */ sub.s $f12, $f12, $f0 /* 01435C 80038F5C 3C014334 */ lui $at, 0x4334 /* 014360 80038F60 44810000 */ mtc1 $at, $f0 -/* 014364 80038F64 0C00A6C9 */ jal func_80029B24 +/* 014364 80038F64 0C00A6C9 */ jal clamp_angle /* 014368 80038F68 46006300 */ add.s $f12, $f12, $f0 /* 01436C 80038F6C C6020038 */ lwc1 $f2, 0x38($s0) /* 014370 80038F70 C604003C */ lwc1 $f4, 0x3c($s0) @@ -879,7 +879,7 @@ func_8003900C: /* 014490 80039090 00000000 */ nop /* 014494 80039094 E7A00014 */ swc1 $f0, 0x14($sp) .L80039098: -/* 014498 80039098 0C00E2B7 */ jal func_80038ADC +/* 014498 80039098 0C00E2B7 */ jal get_npc_by_index /* 01449C 8003909C 0240202D */ daddu $a0, $s2, $zero /* 0144A0 800390A0 0040802D */ daddu $s0, $v0, $zero /* 0144A4 800390A4 5200007A */ beql $s0, $zero, .L80039290 @@ -972,7 +972,7 @@ func_800391E4: /* 0145EC 800391EC 4600A306 */ mov.s $f12, $f20 /* 0145F0 800391F0 4406F000 */ mfc1 $a2, $f30 /* 0145F4 800391F4 4407E000 */ mfc1 $a3, $f28 -/* 0145F8 800391F8 0C00A720 */ jal func_80029C80 +/* 0145F8 800391F8 0C00A720 */ jal atan2 /* 0145FC 800391FC 4600D386 */ mov.s $f14, $f26 /* 014600 80039200 3C0140C9 */ lui $at, 0x40c9 /* 014604 80039204 34210FD0 */ ori $at, $at, 0xfd0 @@ -986,11 +986,11 @@ func_800391E4: /* 014624 80039224 44811000 */ mtc1 $at, $f2 /* 014628 80039228 46180601 */ sub.s $f24, $f0, $f24 /* 01462C 8003922C 4602A503 */ div.s $f20, $f20, $f2 -/* 014630 80039230 0C00A85B */ jal func_8002A16C +/* 014630 80039230 0C00A85B */ jal sin_rad /* 014634 80039234 4600A306 */ mov.s $f12, $f20 /* 014638 80039238 4600C582 */ mul.s $f22, $f24, $f0 /* 01463C 8003923C 00000000 */ nop -/* 014640 80039240 0C00A874 */ jal func_8002A1D0 +/* 014640 80039240 0C00A874 */ jal cos_rad /* 014644 80039244 4600A306 */ mov.s $f12, $f20 /* 014648 80039248 4600C087 */ neg.s $f2, $f24 /* 01464C 8003924C 46001102 */ mul.s $f4, $f2, $f0 @@ -1148,7 +1148,7 @@ func_800392D8: /* 014884 80039484 4600F306 */ mov.s $f12, $f30 /* 014888 80039488 4406D000 */ mfc1 $a2, $f26 /* 01488C 8003948C 4407B000 */ mfc1 $a3, $f22 -/* 014890 80039490 0C00A720 */ jal func_80029C80 +/* 014890 80039490 0C00A720 */ jal atan2 /* 014894 80039494 4600E386 */ mov.s $f14, $f28 /* 014898 80039498 3C0140C9 */ lui $at, 0x40c9 /* 01489C 8003949C 34210FD0 */ ori $at, $at, 0xfd0 @@ -1162,11 +1162,11 @@ func_800392D8: /* 0148BC 800394BC C61C0080 */ lwc1 $f28, 0x80($s0) /* 0148C0 800394C0 46184601 */ sub.s $f24, $f8, $f24 /* 0148C4 800394C4 4600A503 */ div.s $f20, $f20, $f0 -/* 0148C8 800394C8 0C00A85B */ jal func_8002A16C +/* 0148C8 800394C8 0C00A85B */ jal sin_rad /* 0148CC 800394CC 4600A306 */ mov.s $f12, $f20 /* 0148D0 800394D0 4600C582 */ mul.s $f22, $f24, $f0 /* 0148D4 800394D4 00000000 */ nop -/* 0148D8 800394D8 0C00A874 */ jal func_8002A1D0 +/* 0148D8 800394D8 0C00A874 */ jal cos_rad /* 0148DC 800394DC 4600A306 */ mov.s $f12, $f20 /* 0148E0 800394E0 3C030040 */ lui $v1, 0x40 /* 0148E4 800394E4 8E020004 */ lw $v0, 4($s0) @@ -1176,7 +1176,7 @@ func_800392D8: /* 0148F4 800394F4 00431024 */ and $v0, $v0, $v1 /* 0148F8 800394F8 1040002D */ beqz $v0, .L800395B0 /* 0148FC 800394FC 4600D306 */ mov.s $f12, $f26 -/* 014900 80039500 0C00A70A */ jal func_80029C28 +/* 014900 80039500 0C00A70A */ jal get_clamped_angle_diff /* 014904 80039504 4600E386 */ mov.s $f14, $f28 /* 014908 80039508 3C014234 */ lui $at, 0x4234 /* 01490C 8003950C 44811000 */ mtc1 $at, $f2 @@ -1236,7 +1236,7 @@ func_800395A4: /* 0149D0 800395D0 00000000 */ nop .L800395D4: -/* 0149D4 800395D4 0C00A70A */ jal func_80029C28 +/* 0149D4 800395D4 0C00A70A */ jal get_clamped_angle_diff /* 0149D8 800395D8 4600E386 */ mov.s $f14, $f28 /* 0149DC 800395DC 3C014234 */ lui $at, 0x4234 /* 0149E0 800395E0 44811000 */ mtc1 $at, $f2 @@ -1566,7 +1566,7 @@ func_80039A04: /* 014E58 80039A58 00431024 */ and $v0, $v0, $v1 /* 014E5C 80039A5C 10400003 */ beqz $v0, .L80039A6C /* 014E60 80039A60 00000000 */ nop -/* 014E64 80039A64 0C00EB7E */ jal func_8003ADF8 +/* 014E64 80039A64 0C00EB7E */ jal update_npc_blur /* 014E68 80039A68 0200202D */ daddu $a0, $s0, $zero .L80039A6C: /* 014E6C 80039A6C C602003C */ lwc1 $f2, 0x3c($s0) @@ -1620,7 +1620,7 @@ func_80039B14: /* 014F18 80039B18 30420010 */ andi $v0, $v0, 0x10 /* 014F1C 80039B1C 10400072 */ beqz $v0, .L80039CE8 /* 014F20 80039B20 00000000 */ nop -/* 014F24 80039B24 0C044181 */ jal func_80110604 +/* 014F24 80039B24 0C044181 */ jal get_shadow_by_index /* 014F28 80039B28 8E040078 */ lw $a0, 0x78($s0) /* 014F2C 80039B2C 84440008 */ lh $a0, 8($v0) /* 014F30 80039B30 0C048B77 */ jal func_80122DDC @@ -1824,7 +1824,7 @@ func_80039DA4: /* 0151FC 80039DFC 00441021 */ addu $v0, $v0, $a0 /* 015200 80039E00 C456006C */ lwc1 $f22, 0x6c($v0) /* 015204 80039E04 C62E000C */ lwc1 $f14, 0xc($s1) -/* 015208 80039E08 0C00A70A */ jal func_80029C28 +/* 015208 80039E08 0C00A70A */ jal get_clamped_angle_diff /* 01520C 80039E0C 4600B306 */ mov.s $f12, $f22 /* 015210 80039E10 3C01C0A0 */ lui $at, 0xc0a0 /* 015214 80039E14 44811000 */ mtc1 $at, $f2 @@ -1871,7 +1871,7 @@ func_80039DA4: /* 0152A8 80039EA8 00000000 */ nop /* 0152AC 80039EAC 46806320 */ cvt.s.w $f12, $f12 func_80039EB0: -/* 0152B0 80039EB0 0C00A6C9 */ jal func_80029B24 +/* 0152B0 80039EB0 0C00A6C9 */ jal clamp_angle /* 0152B4 80039EB4 00000000 */ nop /* 0152B8 80039EB8 46000506 */ mov.s $f20, $f0 /* 0152BC 80039EBC 4600A10D */ trunc.w.s $f4, $f20 @@ -1898,7 +1898,7 @@ func_80039EB0: func_80039F08: /* 015308 80039F08 A622008C */ sh $v0, 0x8c($s1) /* 01530C 80039F0C C62E000C */ lwc1 $f14, 0xc($s1) -/* 015310 80039F10 0C00A70A */ jal func_80029C28 +/* 015310 80039F10 0C00A70A */ jal get_clamped_angle_diff /* 015314 80039F14 4600B306 */ mov.s $f12, $f22 /* 015318 80039F18 3C0142B4 */ lui $at, 0x42b4 /* 01531C 80039F1C 44811000 */ mtc1 $at, $f2 @@ -1934,9 +1934,9 @@ func_80039F08: /* 015384 80039F84 44826000 */ mtc1 $v0, $f12 /* 015388 80039F88 00000000 */ nop /* 01538C 80039F8C 46806320 */ cvt.s.w $f12, $f12 -/* 015390 80039F90 0C00A6C9 */ jal func_80029B24 +/* 015390 80039F90 0C00A6C9 */ jal clamp_angle /* 015394 80039F94 46146300 */ add.s $f12, $f12, $f20 -/* 015398 80039F98 0C00A6C9 */ jal func_80029B24 +/* 015398 80039F98 0C00A6C9 */ jal clamp_angle /* 01539C 80039F9C 46160301 */ sub.s $f12, $f0, $f22 /* 0153A0 80039FA0 46000506 */ mov.s $f20, $f0 /* 0153A4 80039FA4 0800E7EC */ j func_80039FB0 @@ -1978,7 +1978,7 @@ func_80039FB0: /* 015424 8003A024 30420080 */ andi $v0, $v0, 0x80 /* 015428 8003A028 10400007 */ beqz $v0, .L8003A048 /* 01542C 8003A02C 27B00058 */ addiu $s0, $sp, 0x58 -/* 015430 8003A030 0C00E11E */ jal func_80038478 +/* 015430 8003A030 0C00E11E */ jal mtx_ident_mirror_y /* 015434 8003A034 0200202D */ daddu $a0, $s0, $zero /* 015438 8003A038 0200202D */ daddu $a0, $s0, $zero /* 01543C 8003A03C 27A50018 */ addiu $a1, $sp, 0x18 @@ -2212,7 +2212,7 @@ func_8003A348: /* 015794 8003A394 30420080 */ andi $v0, $v0, 0x80 /* 015798 8003A398 10400007 */ beqz $v0, .L8003A3B8 /* 01579C 8003A39C 27B00058 */ addiu $s0, $sp, 0x58 -/* 0157A0 8003A3A0 0C00E11E */ jal func_80038478 +/* 0157A0 8003A3A0 0C00E11E */ jal mtx_ident_mirror_y /* 0157A4 8003A3A4 0200202D */ daddu $a0, $s0, $zero /* 0157A8 8003A3A8 0200202D */ daddu $a0, $s0, $zero /* 0157AC 8003A3AC 27A50018 */ addiu $a1, $sp, 0x18 @@ -2341,7 +2341,7 @@ func_8003A348: /* 01597C 8003A57C 4600B28D */ trunc.w.s $f10, $f22 /* 015980 8003A580 44055000 */ mfc1 $a1, $f10 /* 015984 8003A584 0000302D */ daddu $a2, $zero, $zero -/* 015988 8003A588 0C0B7710 */ jal func_802DDC40 +/* 015988 8003A588 0C0B7710 */ jal render_sprite /* 01598C 8003A58C 00C0382D */ daddu $a3, $a2, $zero func_8003A590: .L8003A590: @@ -2363,7 +2363,7 @@ func_8003A590: /* 0159CC 8003A5CC 0C019E40 */ jal guTranslateF /* 0159D0 8003A5D0 27A40018 */ addiu $a0, $sp, 0x18 /* 0159D4 8003A5D4 27B00058 */ addiu $s0, $sp, 0x58 -/* 0159D8 8003A5D8 0C00E11E */ jal func_80038478 +/* 0159D8 8003A5D8 0C00E11E */ jal mtx_ident_mirror_y /* 0159DC 8003A5DC 0200202D */ daddu $a0, $s0, $zero /* 0159E0 8003A5E0 0200202D */ daddu $a0, $s0, $zero /* 0159E4 8003A5E4 27A50018 */ addiu $a1, $sp, 0x18 @@ -2491,7 +2491,7 @@ func_8003A590: /* 015BB4 8003A7B4 4600B28D */ trunc.w.s $f10, $f22 /* 015BB8 8003A7B8 44055000 */ mfc1 $a1, $f10 /* 015BBC 8003A7BC 0000302D */ daddu $a2, $zero, $zero -/* 015BC0 8003A7C0 0C0B7710 */ jal func_802DDC40 +/* 015BC0 8003A7C0 0C0B7710 */ jal render_sprite /* 015BC4 8003A7C4 00C0382D */ daddu $a3, $a2, $zero func_8003A7C8: .L8003A7C8: @@ -2506,7 +2506,7 @@ func_8003A7C8: /* 015BE8 8003A7E8 03E00008 */ jr $ra /* 015BEC 8003A7EC 27BD00B8 */ addiu $sp, $sp, 0xb8 -func_8003A7F0: +render_npcs: /* 015BF0 8003A7F0 27BDFF78 */ addiu $sp, $sp, -0x88 /* 015BF4 8003A7F4 F7BA0080 */ sdc1 $f26, 0x80($sp) /* 015BF8 8003A7F8 3C01459C */ lui $at, 0x459c @@ -2570,7 +2570,7 @@ func_8003A7F0: /* 015CDC 8003A8DC 8E050038 */ lw $a1, 0x38($s0) /* 015CE0 8003A8E0 8E06003C */ lw $a2, 0x3c($s0) /* 015CE4 8003A8E4 8E070040 */ lw $a3, 0x40($s0) -/* 015CE8 8003A8E8 0C00A588 */ jal func_80029620 +/* 015CE8 8003A8E8 0C00A588 */ jal transform_point /* 015CEC 8003A8EC 268400D4 */ addiu $a0, $s4, 0xd4 /* 015CF0 8003A8F0 C7A40044 */ lwc1 $f4, 0x44($sp) /* 015CF4 8003A8F4 3C01800A */ lui $at, 0x800a @@ -2635,7 +2635,7 @@ func_8003A9C0: /* 015DC0 8003A9C0 920200AD */ lbu $v0, 0xad($s0) /* 015DC4 8003A9C4 10400003 */ beqz $v0, .L8003A9D4 /* 015DC8 8003A9C8 00000000 */ nop -/* 015DCC 8003A9CC 0C047644 */ jal func_8011D910 +/* 015DCC 8003A9CC 0C047644 */ jal queue_render_task /* 015DD0 8003A9D0 0220202D */ daddu $a0, $s1, $zero .L8003A9D4: /* 015DD4 8003A9D4 8E020000 */ lw $v0, ($s0) @@ -2652,7 +2652,7 @@ func_8003A9C0: /* 015E00 8003AA00 AE22000C */ sw $v0, 0xc($s1) /* 015E04 8003AA04 24020011 */ addiu $v0, $zero, 0x11 /* 015E08 8003AA08 AE300008 */ sw $s0, 8($s1) -/* 015E0C 8003AA0C 0C047644 */ jal func_8011D910 +/* 015E0C 8003AA0C 0C047644 */ jal queue_render_task /* 015E10 8003AA10 AE220000 */ sw $v0, ($s1) /* 015E14 8003AA14 26520001 */ addiu $s2, $s2, 1 .L8003AA18: @@ -2672,7 +2672,7 @@ func_8003A9C0: /* 015E4C 8003AA4C 03E00008 */ jr $ra /* 015E50 8003AA50 27BD0088 */ addiu $sp, $sp, 0x88 -func_8003AA54: +npc_move_heading: /* 015E54 8003AA54 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 015E58 8003AA58 F7B60020 */ sdc1 $f22, 0x20($sp) /* 015E5C 8003AA5C 4485B000 */ mtc1 $a1, $f22 @@ -2689,10 +2689,10 @@ func_8003AA54: /* 015E88 8003AA88 0080802D */ daddu $s0, $a0, $zero /* 015E8C 8003AA8C AFBF0014 */ sw $ra, 0x14($sp) /* 015E90 8003AA90 4600A503 */ div.s $f20, $f20, $f0 -/* 015E94 8003AA94 0C00A85B */ jal func_8002A16C +/* 015E94 8003AA94 0C00A85B */ jal sin_rad /* 015E98 8003AA98 4600A306 */ mov.s $f12, $f20 /* 015E9C 8003AA9C 4600A306 */ mov.s $f12, $f20 -/* 015EA0 8003AAA0 0C00A874 */ jal func_8002A1D0 +/* 015EA0 8003AAA0 0C00A874 */ jal cos_rad /* 015EA4 8003AAA4 46000506 */ mov.s $f20, $f0 /* 015EA8 8003AAA8 4614B502 */ mul.s $f20, $f22, $f20 /* 015EAC 8003AAAC 00000000 */ nop @@ -2712,7 +2712,7 @@ func_8003AA54: /* 015EE4 8003AAE4 03E00008 */ jr $ra /* 015EE8 8003AAE8 27BD0028 */ addiu $sp, $sp, 0x28 -func_8003AAEC: +get_npc_unsafe: /* 015EEC 8003AAEC 0000282D */ daddu $a1, $zero, $zero /* 015EF0 8003AAF0 3C06800A */ lui $a2, 0x800a /* 015EF4 8003AAF4 8CC60B90 */ lw $a2, 0xb90($a2) @@ -2743,7 +2743,7 @@ func_8003AB38: /* 015F40 8003AB40 03E00008 */ jr $ra /* 015F44 8003AB44 0060102D */ daddu $v0, $v1, $zero -func_8003AB48: +get_npc_safe: /* 015F48 8003AB48 0000182D */ daddu $v1, $zero, $zero /* 015F4C 8003AB4C 3C06800A */ lui $a2, 0x800a /* 015F50 8003AB50 8CC60B90 */ lw $a2, 0xb90($a2) @@ -2771,7 +2771,7 @@ func_8003AB48: /* 015F98 8003AB98 03E00008 */ jr $ra /* 015F9C 8003AB9C 00000000 */ nop -func_8003ABA0: +enable_npc_shadow: /* 015FA0 8003ABA0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 015FA4 8003ABA4 AFB00010 */ sw $s0, 0x10($sp) /* 015FA8 8003ABA8 0080802D */ daddu $s0, $a0, $zero @@ -2780,7 +2780,7 @@ func_8003ABA0: /* 015FB4 8003ABB4 30420010 */ andi $v0, $v0, 0x10 /* 015FB8 8003ABB8 1440000C */ bnez $v0, .L8003ABEC /* 015FBC 8003ABBC 00000000 */ nop -/* 015FC0 8003ABC0 0C044181 */ jal func_80110604 +/* 015FC0 8003ABC0 0C044181 */ jal get_shadow_by_index /* 015FC4 8003ABC4 8E040078 */ lw $a0, 0x78($s0) /* 015FC8 8003ABC8 3C050001 */ lui $a1, 1 /* 015FCC 8003ABCC 8C430000 */ lw $v1, ($v0) @@ -2797,7 +2797,7 @@ func_8003ABA0: /* 015FF4 8003ABF4 03E00008 */ jr $ra /* 015FF8 8003ABF8 27BD0018 */ addiu $sp, $sp, 0x18 -func_8003ABFC: +disable_npc_shadow: /* 015FFC 8003ABFC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 016000 8003AC00 AFB00010 */ sw $s0, 0x10($sp) /* 016004 8003AC04 0080802D */ daddu $s0, $a0, $zero @@ -2806,7 +2806,7 @@ func_8003ABFC: /* 016010 8003AC10 30420010 */ andi $v0, $v0, 0x10 /* 016014 8003AC14 1040000D */ beqz $v0, .L8003AC4C /* 016018 8003AC18 00000000 */ nop -/* 01601C 8003AC1C 0C044181 */ jal func_80110604 +/* 01601C 8003AC1C 0C044181 */ jal get_shadow_by_index /* 016020 8003AC20 8E040078 */ lw $a0, 0x78($s0) /* 016024 8003AC24 3C04FFFE */ lui $a0, 0xfffe /* 016028 8003AC28 8C430000 */ lw $v1, ($v0) @@ -2883,7 +2883,7 @@ func_8003ACD0: /* 01611C 8003AD1C 03E00008 */ jr $ra /* 016120 8003AD20 27BD0020 */ addiu $sp, $sp, 0x20 -func_8003AD24: +enable_npc_blur: /* 016124 8003AD24 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 016128 8003AD28 AFB00010 */ sw $s0, 0x10($sp) /* 01612C 8003AD2C 0080802D */ daddu $s0, $a0, $zero @@ -2894,7 +2894,7 @@ func_8003AD24: /* 016140 8003AD40 14400016 */ bnez $v0, .L8003AD9C /* 016144 8003AD44 00641025 */ or $v0, $v1, $a0 /* 016148 8003AD48 240400F4 */ addiu $a0, $zero, 0xf4 -/* 01614C 8003AD4C 0C00AB39 */ jal func_8002ACE4 +/* 01614C 8003AD4C 0C00AB39 */ jal heap_malloc /* 016150 8003AD50 AE020000 */ sw $v0, ($s0) /* 016154 8003AD54 14400003 */ bnez $v0, .L8003AD64 /* 016158 8003AD58 AE020020 */ sw $v0, 0x20($s0) @@ -2924,7 +2924,7 @@ func_8003AD5C: /* 0161A4 8003ADA4 03E00008 */ jr $ra /* 0161A8 8003ADA8 27BD0018 */ addiu $sp, $sp, 0x18 -func_8003ADAC: +disable_npc_blur: /* 0161AC 8003ADAC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0161B0 8003ADB0 AFB00010 */ sw $s0, 0x10($sp) /* 0161B4 8003ADB4 0080802D */ daddu $s0, $a0, $zero @@ -2937,7 +2937,7 @@ func_8003ADAC: /* 0161D0 8003ADD0 3442FFFF */ ori $v0, $v0, 0xffff /* 0161D4 8003ADD4 8E040020 */ lw $a0, 0x20($s0) /* 0161D8 8003ADD8 00621024 */ and $v0, $v1, $v0 -/* 0161DC 8003ADDC 0C00AB4B */ jal func_8002AD2C +/* 0161DC 8003ADDC 0C00AB4B */ jal heap_free /* 0161E0 8003ADE0 AE020000 */ sw $v0, ($s0) /* 0161E4 8003ADE4 AE000020 */ sw $zero, 0x20($s0) .L8003ADE8: @@ -2946,7 +2946,7 @@ func_8003ADAC: /* 0161F0 8003ADF0 03E00008 */ jr $ra /* 0161F4 8003ADF4 27BD0018 */ addiu $sp, $sp, 0x18 -func_8003ADF8: +update_npc_blur: /* 0161F8 8003ADF8 8C850020 */ lw $a1, 0x20($a0) /* 0161FC 8003ADFC 80A30001 */ lb $v1, 1($a1) /* 016200 8003AE00 C4800038 */ lwc1 $f0, 0x38($a0) @@ -2965,6 +2965,7 @@ func_8003ADF8: /* 016230 8003AE30 03E00008 */ jr $ra /* 016234 8003AE34 A0A30001 */ sb $v1, 1($a1) +render_npc_blur: /* 016238 8003AE38 27BDFF08 */ addiu $sp, $sp, -0xf8 /* 01623C 8003AE3C F7BC00E8 */ sdc1 $f28, 0xe8($sp) /* 016240 8003AE40 4480E000 */ mtc1 $zero, $f28 @@ -3163,7 +3164,7 @@ func_8003AEB4: /* 01651C 8003B11C 4600A20D */ trunc.w.s $f8, $f20 /* 016520 8003B120 44054000 */ mfc1 $a1, $f8 /* 016524 8003B124 0000302D */ daddu $a2, $zero, $zero -/* 016528 8003B128 0C0B7710 */ jal func_802DDC40 +/* 016528 8003B128 0C0B7710 */ jal render_sprite /* 01652C 8003B12C 00C0382D */ daddu $a3, $a2, $zero /* 016530 8003B130 0800EBAD */ j func_8003AEB4 /* 016534 8003B134 2652FFFF */ addiu $s2, $s2, -1 @@ -3316,7 +3317,7 @@ func_8003B240: /* 016738 8003B338 03E00008 */ jr $ra /* 01673C 8003B33C 27BD0028 */ addiu $sp, $sp, 0x28 -func_8003B340: +set_npc_yaw: /* 016740 8003B340 44857000 */ mtc1 $a1, $f14 /* 016744 8003B344 3C038007 */ lui $v1, 0x8007 /* 016748 8003B348 8C637410 */ lw $v1, 0x7410($v1) @@ -3335,7 +3336,7 @@ func_8003B340: /* 01677C 8003B37C 3C01800B */ lui $at, 0x800b /* 016780 8003B380 00220821 */ addu $at, $at, $v0 /* 016784 8003B384 C42C1DEC */ lwc1 $f12, 0x1dec($at) -/* 016788 8003B388 0C00A70A */ jal func_80029C28 +/* 016788 8003B388 0C00A70A */ jal get_clamped_angle_diff /* 01678C 8003B38C 00000000 */ nop /* 016790 8003B390 44801000 */ mtc1 $zero, $f2 /* 016794 8003B394 00000000 */ nop @@ -3497,7 +3498,7 @@ func_8003B500: /* 016994 8003B594 3C044000 */ lui $a0, 0x4000 /* 016998 8003B598 34840001 */ ori $a0, $a0, 1 /* 01699C 8003B59C 0000302D */ daddu $a2, $zero, $zero -/* 0169A0 8003B5A0 0C0B7710 */ jal func_802DDC40 +/* 0169A0 8003B5A0 0C0B7710 */ jal render_sprite /* 0169A4 8003B5A4 00C0382D */ daddu $a3, $a2, $zero func_8003B5A8: /* 0169A8 8003B5A8 8FBF0018 */ lw $ra, 0x18($sp) @@ -4851,7 +4852,7 @@ func_8003C82C: /* 017C44 8003C844 8E050038 */ lw $a1, 0x38($s0) /* 017C48 8003C848 8E070040 */ lw $a3, 0x40($s0) /* 017C4C 8003C84C 44063000 */ mfc1 $a2, $f6 -/* 017C50 8003C850 0C01C1E4 */ jal func_80070790 +/* 017C50 8003C850 0C01C1E4 */ jal fx_sweat /* 017C54 8003C854 0000202D */ daddu $a0, $zero, $zero /* 017C58 8003C858 00111040 */ sll $v0, $s1, 1 /* 017C5C 8003C85C 02021021 */ addu $v0, $s0, $v0 @@ -4948,7 +4949,7 @@ func_8003C984: /* 017D88 8003C988 00052880 */ sll $a1, $a1, 2 /* 017D8C 8003C98C 00852021 */ addu $a0, $a0, $a1 /* 017D90 8003C990 AFBF0010 */ sw $ra, 0x10($sp) -/* 017D94 8003C994 0C016914 */ jal func_8005A450 +/* 017D94 8003C994 0C016914 */ jal remove_effect /* 017D98 8003C998 8C840324 */ lw $a0, 0x324($a0) /* 017D9C 8003C99C 8FBF0010 */ lw $ra, 0x10($sp) /* 017DA0 8003C9A0 03E00008 */ jr $ra @@ -5060,7 +5061,7 @@ func_8003CB20: /* 017F24 8003CB24 00052880 */ sll $a1, $a1, 2 /* 017F28 8003CB28 00852021 */ addu $a0, $a0, $a1 /* 017F2C 8003CB2C AFBF0010 */ sw $ra, 0x10($sp) -/* 017F30 8003CB30 0C016914 */ jal func_8005A450 +/* 017F30 8003CB30 0C016914 */ jal remove_effect /* 017F34 8003CB34 8C840324 */ lw $a0, 0x324($a0) /* 017F38 8003CB38 8FBF0010 */ lw $ra, 0x10($sp) /* 017F3C 8003CB3C 03E00008 */ jr $ra @@ -5160,7 +5161,7 @@ func_8003CC8C: /* 018090 8003CC90 00052880 */ sll $a1, $a1, 2 /* 018094 8003CC94 00852021 */ addu $a0, $a0, $a1 /* 018098 8003CC98 AFBF0010 */ sw $ra, 0x10($sp) -/* 01809C 8003CC9C 0C016914 */ jal func_8005A450 +/* 01809C 8003CC9C 0C016914 */ jal remove_effect /* 0180A0 8003CCA0 8C840324 */ lw $a0, 0x324($a0) /* 0180A4 8003CCA4 8FBF0010 */ lw $ra, 0x10($sp) /* 0180A8 8003CCA8 03E00008 */ jr $ra @@ -5241,7 +5242,7 @@ func_8003CCB0: /* 0181C0 8003CDC0 96440332 */ lhu $a0, 0x332($s2) /* 0181C4 8003CDC4 00912021 */ addu $a0, $a0, $s1 /* 0181C8 8003CDC8 00042400 */ sll $a0, $a0, 0x10 -/* 0181CC 8003CDCC 0C00A4F5 */ jal func_800293D4 +/* 0181CC 8003CDCC 0C00A4F5 */ jal cosine /* 0181D0 8003CDD0 00042403 */ sra $a0, $a0, 0x10 /* 0181D4 8003CDD4 46000021 */ cvt.d.s $f0, $f0 /* 0181D8 8003CDD8 46380000 */ add.d $f0, $f0, $f24 @@ -5269,7 +5270,7 @@ func_8003CE20: /* 018224 8003CE24 00912021 */ addu $a0, $a0, $s1 /* 018228 8003CE28 2484002D */ addiu $a0, $a0, 0x2d /* 01822C 8003CE2C 00042400 */ sll $a0, $a0, 0x10 -/* 018230 8003CE30 0C00A4F5 */ jal func_800293D4 +/* 018230 8003CE30 0C00A4F5 */ jal cosine /* 018234 8003CE34 00042403 */ sra $a0, $a0, 0x10 /* 018238 8003CE38 46000021 */ cvt.d.s $f0, $f0 /* 01823C 8003CE3C 46380000 */ add.d $f0, $f0, $f24 @@ -5297,7 +5298,7 @@ func_8003CE84: /* 018288 8003CE88 00912021 */ addu $a0, $a0, $s1 /* 01828C 8003CE8C 2484005A */ addiu $a0, $a0, 0x5a /* 018290 8003CE90 00042400 */ sll $a0, $a0, 0x10 -/* 018294 8003CE94 0C00A4F5 */ jal func_800293D4 +/* 018294 8003CE94 0C00A4F5 */ jal cosine /* 018298 8003CE98 00042403 */ sra $a0, $a0, 0x10 /* 01829C 8003CE9C 46000021 */ cvt.d.s $f0, $f0 /* 0182A0 8003CEA0 46380000 */ add.d $f0, $f0, $f24 @@ -5420,7 +5421,7 @@ func_8003CFA8: /* 018448 8003D048 C60E0040 */ lwc1 $f14, 0x40($s0) /* 01844C 8003D04C 4406C000 */ mfc1 $a2, $f24 /* 018450 8003D050 4407D000 */ mfc1 $a3, $f26 -/* 018454 8003D054 0C00A7B5 */ jal func_80029ED4 +/* 018454 8003D054 0C00A7B5 */ jal dist2D /* 018458 8003D058 00000000 */ nop /* 01845C 8003D05C 46000005 */ abs.s $f0, $f0 /* 018460 8003D060 4616003E */ c.le.s $f0, $f22 @@ -5491,7 +5492,7 @@ func_8003CFA8: /* 018558 8003D158 C60E0040 */ lwc1 $f14, 0x40($s0) /* 01855C 8003D15C 4406C000 */ mfc1 $a2, $f24 /* 018560 8003D160 4407D000 */ mfc1 $a3, $f26 -/* 018564 8003D164 0C00A7B5 */ jal func_80029ED4 +/* 018564 8003D164 0C00A7B5 */ jal dist2D /* 018568 8003D168 00000000 */ nop /* 01856C 8003D16C 46000005 */ abs.s $f0, $f0 /* 018570 8003D170 4616003E */ c.le.s $f0, $f22 @@ -5531,7 +5532,7 @@ func_8003D1D4: /* 0185EC 8003D1EC AFB40020 */ sw $s4, 0x20($sp) /* 0185F0 8003D1F0 AFB3001C */ sw $s3, 0x1c($sp) /* 0185F4 8003D1F4 AFB10014 */ sw $s1, 0x14($sp) -/* 0185F8 8003D1F8 0C04417A */ jal func_801105E8 +/* 0185F8 8003D1F8 0C04417A */ jal get_entity_by_index /* 0185FC 8003D1FC AFB00010 */ sw $s0, 0x10($sp) /* 018600 8003D200 0000882D */ daddu $s1, $zero, $zero /* 018604 8003D204 C440004C */ lwc1 $f0, 0x4c($v0) @@ -5614,7 +5615,7 @@ func_8003D2F8: /* 018714 8003D314 00431024 */ and $v0, $v0, $v1 /* 018718 8003D318 10400005 */ beqz $v0, .L8003D330 /* 01871C 8003D31C 00000000 */ nop -/* 018720 8003D320 0C044181 */ jal func_80110604 +/* 018720 8003D320 0C044181 */ jal get_shadow_by_index /* 018724 8003D324 8E040078 */ lw $a0, 0x78($s0) /* 018728 8003D328 0800F4CD */ j func_8003D334 /* 01872C 8003D32C C4400014 */ lwc1 $f0, 0x14($v0) @@ -5869,7 +5870,7 @@ func_8003D660: /* 018AAC 8003D6AC 00000000 */ nop /* 018AB0 8003D6B0 4501002F */ bc1t .L8003D770 /* 018AB4 8003D6B4 00000000 */ nop -/* 018AB8 8003D6B8 0C016F6A */ jal func_8005BDA8 +/* 018AB8 8003D6B8 0C016F6A */ jal get_collider_type_by_id /* 018ABC 8003D6BC 96040084 */ lhu $a0, 0x84($s0) /* 018AC0 8003D6C0 304200FF */ andi $v0, $v0, 0xff /* 018AC4 8003D6C4 2443FFFF */ addiu $v1, $v0, -1 @@ -5964,12 +5965,12 @@ func_8003D788: /* 018BF8 8003D7F8 44072000 */ mfc1 $a3, $f4 /* 018BFC 8003D7FC C6000000 */ lwc1 $f0, ($s0) /* 018C00 8003D800 0000202D */ daddu $a0, $zero, $zero -/* 018C04 8003D804 0C01BEB4 */ jal func_8006FAD0 +/* 018C04 8003D804 0C01BEB4 */ jal fx_walk_large /* 018C08 8003D808 E7A00010 */ swc1 $f0, 0x10($sp) /* 018C0C 8003D80C C6000000 */ lwc1 $f0, ($s0) /* 018C10 8003D810 3C01420C */ lui $at, 0x420c /* 018C14 8003D814 44816000 */ mtc1 $at, $f12 -/* 018C18 8003D818 0C00A6C9 */ jal func_80029B24 +/* 018C18 8003D818 0C00A6C9 */ jal clamp_angle /* 018C1C 8003D81C 460C0300 */ add.s $f12, $f0, $f12 /* 018C20 8003D820 0800F689 */ j func_8003DA24 /* 018C24 8003D824 E6000000 */ swc1 $f0, ($s0) @@ -6005,7 +6006,7 @@ func_8003D788: /* 018C8C 8003D88C 14C00034 */ bnez $a2, .L8003D960 /* 018C90 8003D890 A4800000 */ sh $zero, ($a0) /* 018C94 8003D894 C60C000C */ lwc1 $f12, 0xc($s0) -/* 018C98 8003D898 0C00A6C9 */ jal func_80029B24 +/* 018C98 8003D898 0C00A6C9 */ jal clamp_angle /* 018C9C 8003D89C 46006307 */ neg.s $f12, $f12 /* 018CA0 8003D8A0 3C0140C9 */ lui $at, 0x40c9 /* 018CA4 8003D8A4 34210FD0 */ ori $at, $at, 0xfd0 @@ -6017,7 +6018,7 @@ func_8003D788: /* 018CBC 8003D8BC 3C0143B4 */ lui $at, 0x43b4 /* 018CC0 8003D8C0 44816000 */ mtc1 $at, $f12 /* 018CC4 8003D8C4 27A6002C */ addiu $a2, $sp, 0x2c -/* 018CC8 8003D8C8 0C00A82D */ jal func_8002A0B4 +/* 018CC8 8003D8C8 0C00A82D */ jal sin_cos_rad /* 018CCC 8003D8CC 460C0303 */ div.s $f12, $f0, $f12 /* 018CD0 8003D8D0 860200A6 */ lh $v0, 0xa6($s0) /* 018CD4 8003D8D4 C7AA0028 */ lwc1 $f10, 0x28($sp) @@ -6051,13 +6052,13 @@ func_8003D788: /* 018D44 8003D944 44070000 */ mfc1 $a3, $f0 /* 018D48 8003D948 0000202D */ daddu $a0, $zero, $zero /* 018D4C 8003D94C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 018D50 8003D950 0C01BECC */ jal func_8006FB30 +/* 018D50 8003D950 0C01BECC */ jal fx_walk_normal /* 018D54 8003D954 E7A80014 */ swc1 $f8, 0x14($sp) /* 018D58 8003D958 0800F689 */ j func_8003DA24 /* 018D5C 8003D95C 00000000 */ nop .L8003D960: -/* 018D60 8003D960 0C00A6C9 */ jal func_80029B24 +/* 018D60 8003D960 0C00A6C9 */ jal clamp_angle /* 018D64 8003D964 C60C000C */ lwc1 $f12, 0xc($s0) /* 018D68 8003D968 3C0140C9 */ lui $at, 0x40c9 /* 018D6C 8003D96C 34210FD0 */ ori $at, $at, 0xfd0 @@ -6069,7 +6070,7 @@ func_8003D788: /* 018D84 8003D984 3C0143B4 */ lui $at, 0x43b4 /* 018D88 8003D988 44816000 */ mtc1 $at, $f12 /* 018D8C 8003D98C 27A6002C */ addiu $a2, $sp, 0x2c -/* 018D90 8003D990 0C00A82D */ jal func_8002A0B4 +/* 018D90 8003D990 0C00A82D */ jal sin_cos_rad /* 018D94 8003D994 460C0303 */ div.s $f12, $f0, $f12 /* 018D98 8003D998 C602003C */ lwc1 $f2, 0x3c($s0) /* 018D9C 8003D99C 3C013FC0 */ lui $at, 0x3fc0 @@ -6145,7 +6146,7 @@ func_8003DA38: /* 018EA0 8003DAA0 C6000000 */ lwc1 $f0, ($s0) /* 018EA4 8003DAA4 3C01420C */ lui $at, 0x420c /* 018EA8 8003DAA8 44816000 */ mtc1 $at, $f12 -/* 018EAC 8003DAAC 0C00A6C9 */ jal func_80029B24 +/* 018EAC 8003DAAC 0C00A6C9 */ jal clamp_angle /* 018EB0 8003DAB0 460C0300 */ add.s $f12, $f0, $f12 /* 018EB4 8003DAB4 E6000000 */ swc1 $f0, ($s0) /* 018EB8 8003DAB8 0800F706 */ j func_8003DC18 @@ -6173,7 +6174,7 @@ func_8003DA38: /* 018F04 8003DB04 A4830000 */ sh $v1, ($a0) /* 018F08 8003DB08 C60C000C */ lwc1 $f12, 0xc($s0) /* 018F0C 8003DB0C A4800000 */ sh $zero, ($a0) -/* 018F10 8003DB10 0C00A6C9 */ jal func_80029B24 +/* 018F10 8003DB10 0C00A6C9 */ jal clamp_angle /* 018F14 8003DB14 46006307 */ neg.s $f12, $f12 /* 018F18 8003DB18 3C0140C9 */ lui $at, 0x40c9 /* 018F1C 8003DB1C 34210FD0 */ ori $at, $at, 0xfd0 @@ -6185,10 +6186,10 @@ func_8003DA38: /* 018F34 8003DB34 44810000 */ mtc1 $at, $f0 /* 018F38 8003DB38 00000000 */ nop /* 018F3C 8003DB3C 4600A503 */ div.s $f20, $f20, $f0 -/* 018F40 8003DB40 0C00A85B */ jal func_8002A16C +/* 018F40 8003DB40 0C00A85B */ jal sin_rad /* 018F44 8003DB44 4600A306 */ mov.s $f12, $f20 /* 018F48 8003DB48 4600A306 */ mov.s $f12, $f20 -/* 018F4C 8003DB4C 0C00A874 */ jal func_8002A1D0 +/* 018F4C 8003DB4C 0C00A874 */ jal cos_rad /* 018F50 8003DB50 46000506 */ mov.s $f20, $f0 /* 018F54 8003DB54 860200A6 */ lh $v0, 0xa6($s0) /* 018F58 8003DB58 44821000 */ mtc1 $v0, $f2 @@ -6214,7 +6215,7 @@ func_8003DA38: /* 018FA8 8003DBA8 3C014178 */ lui $at, 0x4178 /* 018FAC 8003DBAC 44810000 */ mtc1 $at, $f0 /* 018FB0 8003DBB0 2404000A */ addiu $a0, $zero, 0xa -/* 018FB4 8003DBB4 0C00A67F */ jal func_800299FC +/* 018FB4 8003DBB4 0C00A67F */ jal rand_int /* 018FB8 8003DBB8 46002500 */ add.s $f20, $f4, $f0 /* 018FBC 8003DBBC 24040001 */ addiu $a0, $zero, 1 /* 018FC0 8003DBC0 44821000 */ mtc1 $v0, $f2 @@ -6296,17 +6297,17 @@ func_8003DC38: /* 0190E0 8003DCE0 3C01BE99 */ lui $at, 0xbe99 /* 0190E4 8003DCE4 3421999A */ ori $at, $at, 0x999a /* 0190E8 8003DCE8 4481F000 */ mtc1 $at, $f30 -/* 0190EC 8003DCEC 0C00A6C9 */ jal func_80029B24 +/* 0190EC 8003DCEC 0C00A6C9 */ jal clamp_angle /* 0190F0 8003DCF0 0260902D */ daddu $s2, $s3, $zero /* 0190F4 8003DCF4 E6000000 */ swc1 $f0, ($s0) func_8003DCF8: -/* 0190F8 8003DCF8 0C00A67F */ jal func_800299FC +/* 0190F8 8003DCF8 0C00A67F */ jal rand_int /* 0190FC 8003DCFC 2404000A */ addiu $a0, $zero, 0xa /* 019100 8003DD00 2442FFFB */ addiu $v0, $v0, -5 /* 019104 8003DD04 4482B000 */ mtc1 $v0, $f22 /* 019108 8003DD08 00000000 */ nop /* 01910C 8003DD0C 4680B5A0 */ cvt.s.w $f22, $f22 -/* 019110 8003DD10 0C00A67F */ jal func_800299FC +/* 019110 8003DD10 0C00A67F */ jal rand_int /* 019114 8003DD14 2404000A */ addiu $a0, $zero, 0xa /* 019118 8003DD18 4616B082 */ mul.s $f2, $f22, $f22 /* 01911C 8003DD1C 00000000 */ nop @@ -6330,7 +6331,7 @@ func_8003DCF8: /* 019164 8003DD64 3C018007 */ lui $at, 0x8007 /* 019168 8003DD68 A4207C28 */ sh $zero, 0x7c28($at) /* 01916C 8003DD6C 46001083 */ div.s $f2, $f2, $f0 -/* 019170 8003DD70 0C00A6C9 */ jal func_80029B24 +/* 019170 8003DD70 0C00A6C9 */ jal clamp_angle /* 019174 8003DD74 4602A501 */ sub.s $f20, $f20, $f2 /* 019178 8003DD78 3C0140C9 */ lui $at, 0x40c9 /* 01917C 8003DD7C 34210FD0 */ ori $at, $at, 0xfd0 @@ -6342,10 +6343,10 @@ func_8003DCF8: /* 019194 8003DD94 44811000 */ mtc1 $at, $f2 /* 019198 8003DD98 00000000 */ nop /* 01919C 8003DD9C 46020683 */ div.s $f26, $f0, $f2 -/* 0191A0 8003DDA0 0C00A85B */ jal func_8002A16C +/* 0191A0 8003DDA0 0C00A85B */ jal sin_rad /* 0191A4 8003DDA4 4600D306 */ mov.s $f12, $f26 /* 0191A8 8003DDA8 46000706 */ mov.s $f28, $f0 -/* 0191AC 8003DDAC 0C00A874 */ jal func_8002A1D0 +/* 0191AC 8003DDAC 0C00A874 */ jal cos_rad /* 0191B0 8003DDB0 4600D306 */ mov.s $f12, $f26 /* 0191B4 8003DDB4 862200A6 */ lh $v0, 0xa6($s1) /* 0191B8 8003DDB8 44822000 */ mtc1 $v0, $f4 @@ -6384,13 +6385,13 @@ func_8003DCF8: /* 01923C 8003DE3C 00000000 */ nop .L8003DE40: -/* 019240 8003DE40 0C00A67F */ jal func_800299FC +/* 019240 8003DE40 0C00A67F */ jal rand_int /* 019244 8003DE44 2404000A */ addiu $a0, $zero, 0xa /* 019248 8003DE48 2442FFFB */ addiu $v0, $v0, -5 /* 01924C 8003DE4C 4482C000 */ mtc1 $v0, $f24 /* 019250 8003DE50 00000000 */ nop /* 019254 8003DE54 4680C620 */ cvt.s.w $f24, $f24 -/* 019258 8003DE58 0C00A67F */ jal func_800299FC +/* 019258 8003DE58 0C00A67F */ jal rand_int /* 01925C 8003DE5C 2404000A */ addiu $a0, $zero, 0xa /* 019260 8003DE60 4618C002 */ mul.s $f0, $f24, $f24 /* 019264 8003DE64 00000000 */ nop @@ -6410,7 +6411,7 @@ func_8003DCF8: /* 01929C 8003DE9C 44811000 */ mtc1 $at, $f2 /* 0192A0 8003DEA0 46006307 */ neg.s $f12, $f12 /* 0192A4 8003DEA4 46020003 */ div.s $f0, $f0, $f2 -/* 0192A8 8003DEA8 0C00A6C9 */ jal func_80029B24 +/* 0192A8 8003DEA8 0C00A6C9 */ jal clamp_angle /* 0192AC 8003DEAC 4600A501 */ sub.s $f20, $f20, $f0 /* 0192B0 8003DEB0 3C0140C9 */ lui $at, 0x40c9 /* 0192B4 8003DEB4 34210FD0 */ ori $at, $at, 0xfd0 @@ -6422,10 +6423,10 @@ func_8003DCF8: /* 0192CC 8003DECC 44811000 */ mtc1 $at, $f2 /* 0192D0 8003DED0 00000000 */ nop /* 0192D4 8003DED4 46020683 */ div.s $f26, $f0, $f2 -/* 0192D8 8003DED8 0C00A85B */ jal func_8002A16C +/* 0192D8 8003DED8 0C00A85B */ jal sin_rad /* 0192DC 8003DEDC 4600D306 */ mov.s $f12, $f26 /* 0192E0 8003DEE0 46000706 */ mov.s $f28, $f0 -/* 0192E4 8003DEE4 0C00A874 */ jal func_8002A1D0 +/* 0192E4 8003DEE4 0C00A874 */ jal cos_rad /* 0192E8 8003DEE8 4600D306 */ mov.s $f12, $f26 /* 0192EC 8003DEEC 862200A6 */ lh $v0, 0xa6($s1) /* 0192F0 8003DEF0 44822000 */ mtc1 $v0, $f4 @@ -6492,7 +6493,7 @@ func_8003DFA0: /* 0193D8 8003DFD8 A4830000 */ sh $v1, ($a0) /* 0193DC 8003DFDC C62C000C */ lwc1 $f12, 0xc($s1) /* 0193E0 8003DFE0 A4800000 */ sh $zero, ($a0) -/* 0193E4 8003DFE4 0C00A6C9 */ jal func_80029B24 +/* 0193E4 8003DFE4 0C00A6C9 */ jal clamp_angle /* 0193E8 8003DFE8 46006307 */ neg.s $f12, $f12 /* 0193EC 8003DFEC 3C0140C9 */ lui $at, 0x40c9 /* 0193F0 8003DFF0 34210FD0 */ ori $at, $at, 0xfd0 @@ -6504,10 +6505,10 @@ func_8003DFA0: /* 019408 8003E008 44810000 */ mtc1 $at, $f0 /* 01940C 8003E00C 00000000 */ nop /* 019410 8003E010 4600A503 */ div.s $f20, $f20, $f0 -/* 019414 8003E014 0C00A85B */ jal func_8002A16C +/* 019414 8003E014 0C00A85B */ jal sin_rad /* 019418 8003E018 4600A306 */ mov.s $f12, $f20 /* 01941C 8003E01C 4600A306 */ mov.s $f12, $f20 -/* 019420 8003E020 0C00A874 */ jal func_8002A1D0 +/* 019420 8003E020 0C00A874 */ jal cos_rad /* 019424 8003E024 46000506 */ mov.s $f20, $f0 /* 019428 8003E028 862200A6 */ lh $v0, 0xa6($s1) /* 01942C 8003E02C 44821000 */ mtc1 $v0, $f2 @@ -6571,7 +6572,7 @@ func_8003E0D4: /* 019508 8003E108 A4830000 */ sh $v1, ($a0) /* 01950C 8003E10C C60C000C */ lwc1 $f12, 0xc($s0) /* 019510 8003E110 A4800000 */ sh $zero, ($a0) -/* 019514 8003E114 0C00A6C9 */ jal func_80029B24 +/* 019514 8003E114 0C00A6C9 */ jal clamp_angle /* 019518 8003E118 46006307 */ neg.s $f12, $f12 /* 01951C 8003E11C 3C0140C9 */ lui $at, 0x40c9 /* 019520 8003E120 34210FD0 */ ori $at, $at, 0xfd0 @@ -6583,10 +6584,10 @@ func_8003E0D4: /* 019538 8003E138 44810000 */ mtc1 $at, $f0 /* 01953C 8003E13C 00000000 */ nop /* 019540 8003E140 4600A503 */ div.s $f20, $f20, $f0 -/* 019544 8003E144 0C00A85B */ jal func_8002A16C +/* 019544 8003E144 0C00A85B */ jal sin_rad /* 019548 8003E148 4600A306 */ mov.s $f12, $f20 /* 01954C 8003E14C 4600A306 */ mov.s $f12, $f20 -/* 019550 8003E150 0C00A874 */ jal func_8002A1D0 +/* 019550 8003E150 0C00A874 */ jal cos_rad /* 019554 8003E154 46000506 */ mov.s $f20, $f0 /* 019558 8003E158 860200A6 */ lh $v0, 0xa6($s0) /* 01955C 8003E15C 44821000 */ mtc1 $v0, $f2 @@ -6637,7 +6638,7 @@ func_8003E1D0: /* 019604 8003E204 A4830000 */ sh $v1, ($a0) /* 019608 8003E208 C60C000C */ lwc1 $f12, 0xc($s0) /* 01960C 8003E20C A4800000 */ sh $zero, ($a0) -/* 019610 8003E210 0C00A6C9 */ jal func_80029B24 +/* 019610 8003E210 0C00A6C9 */ jal clamp_angle /* 019614 8003E214 46006307 */ neg.s $f12, $f12 /* 019618 8003E218 3C0140C9 */ lui $at, 0x40c9 /* 01961C 8003E21C 34210FD0 */ ori $at, $at, 0xfd0 @@ -6649,10 +6650,10 @@ func_8003E1D0: /* 019634 8003E234 44810000 */ mtc1 $at, $f0 /* 019638 8003E238 00000000 */ nop /* 01963C 8003E23C 4600A503 */ div.s $f20, $f20, $f0 -/* 019640 8003E240 0C00A85B */ jal func_8002A16C +/* 019640 8003E240 0C00A85B */ jal sin_rad /* 019644 8003E244 4600A306 */ mov.s $f12, $f20 /* 019648 8003E248 4600A306 */ mov.s $f12, $f20 -/* 01964C 8003E24C 0C00A874 */ jal func_8002A1D0 +/* 01964C 8003E24C 0C00A874 */ jal cos_rad /* 019650 8003E250 46000506 */ mov.s $f20, $f0 /* 019654 8003E254 860200A6 */ lh $v0, 0xa6($s0) /* 019658 8003E258 44821000 */ mtc1 $v0, $f2 @@ -6691,7 +6692,7 @@ func_8003E1D0: /* 0196D8 8003E2D8 03E00008 */ jr $ra /* 0196DC 8003E2DC 27BD0028 */ addiu $sp, $sp, 0x28 -func_8003E2E0: +COPY_set_defeated: /* 0196E0 8003E2E0 0080182D */ daddu $v1, $a0, $zero /* 0196E4 8003E2E4 00A0102D */ daddu $v0, $a1, $zero /* 0196E8 8003E2E8 04410002 */ bgez $v0, .L8003E2F4 @@ -6772,7 +6773,7 @@ func_8003E338: /* 0197F8 8003E3F8 03E00008 */ jr $ra /* 0197FC 8003E3FC 27BD0018 */ addiu $sp, $sp, 0x18 -func_8003E400: +clear_encounter_status: /* 019800 8003E400 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 019804 8003E404 AFBF0010 */ sw $ra, 0x10($sp) /* 019808 8003E408 24050017 */ addiu $a1, $zero, 0x17 @@ -6867,7 +6868,7 @@ func_8003E524: /* 019948 8003E548 8C2285C0 */ lw $v0, -0x7a40($at) /* 01994C 8003E54C 00400008 */ jr $v0 /* 019950 8003E550 00000000 */ nop -/* 019954 8003E554 0C010DAC */ jal func_800436B0 +/* 019954 8003E554 0C010DAC */ jal create_npcs /* 019958 8003E558 00000000 */ nop /* 01995C 8003E55C 0800F967 */ j func_8003E59C /* 019960 8003E560 00000000 */ nop @@ -6949,7 +6950,7 @@ func_8003E63C: /* 019A50 8003E650 24020003 */ addiu $v0, $zero, 3 /* 019A54 8003E654 14620003 */ bne $v1, $v0, .L8003E664 /* 019A58 8003E658 00000000 */ nop -/* 019A5C 8003E65C 0C010717 */ jal func_80041C5C +/* 019A5C 8003E65C 0C010717 */ jal show_first_strike_message /* 019A60 8003E660 00000000 */ nop .L8003E664: /* 019A64 8003E664 8FBF0010 */ lw $ra, 0x10($sp) @@ -6959,7 +6960,7 @@ func_8003E63C: /* 019A70 8003E670 03E00008 */ jr $ra /* 019A74 8003E674 00000000 */ nop -func_8003E678: +make_npcs: /* 019A78 8003E678 3C028007 */ lui $v0, 0x8007 /* 019A7C 8003E67C 8C42419C */ lw $v0, 0x419c($v0) /* 019A80 8003E680 3C08800B */ lui $t0, 0x800b @@ -7012,7 +7013,7 @@ func_8003E678: /* 019B28 8003E728 03E00008 */ jr $ra /* 019B2C 8003E72C 00000000 */ nop -func_8003E730: +kill_encounter: /* 019B30 8003E730 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 019B34 8003E734 AFBF001C */ sw $ra, 0x1c($sp) /* 019B38 8003E738 AFB20018 */ sw $s2, 0x18($sp) @@ -7031,7 +7032,7 @@ func_8003E730: /* 019B68 8003E768 8E040004 */ lw $a0, 4($s0) /* 019B6C 8003E76C 10800004 */ beqz $a0, .L8003E780 /* 019B70 8003E770 00000000 */ nop -/* 019B74 8003E774 0C00F9EB */ jal func_8003E7AC +/* 019B74 8003E774 0C00F9EB */ jal kill_enemy /* 019B78 8003E778 00000000 */ nop /* 019B7C 8003E77C AE000004 */ sw $zero, 4($s0) .L8003E780: @@ -7048,7 +7049,7 @@ func_8003E730: /* 019BA4 8003E7A4 03E00008 */ jr $ra /* 019BA8 8003E7A8 27BD0020 */ addiu $sp, $sp, 0x20 -func_8003E7AC: +kill_enemy: /* 019BAC 8003E7AC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 019BB0 8003E7B0 AFB00010 */ sw $s0, 0x10($sp) /* 019BB4 8003E7B4 0080802D */ daddu $s0, $a0, $zero @@ -7079,37 +7080,37 @@ func_8003E7AC: /* 019C10 8003E810 8E020034 */ lw $v0, 0x34($s0) /* 019C14 8003E814 10400003 */ beqz $v0, .L8003E824 /* 019C18 8003E818 00000000 */ nop -/* 019C1C 8003E81C 0C0B102B */ jal func_802C40AC +/* 019C1C 8003E81C 0C0B102B */ jal kill_script_by_ID /* 019C20 8003E820 8E04004C */ lw $a0, 0x4c($s0) .L8003E824: /* 019C24 8003E824 8E020038 */ lw $v0, 0x38($s0) /* 019C28 8003E828 10400003 */ beqz $v0, .L8003E838 /* 019C2C 8003E82C 00000000 */ nop -/* 019C30 8003E830 0C0B102B */ jal func_802C40AC +/* 019C30 8003E830 0C0B102B */ jal kill_script_by_ID /* 019C34 8003E834 8E040050 */ lw $a0, 0x50($s0) .L8003E838: /* 019C38 8003E838 8E02003C */ lw $v0, 0x3c($s0) /* 019C3C 8003E83C 10400003 */ beqz $v0, .L8003E84C /* 019C40 8003E840 00000000 */ nop -/* 019C44 8003E844 0C0B102B */ jal func_802C40AC +/* 019C44 8003E844 0C0B102B */ jal kill_script_by_ID /* 019C48 8003E848 8E040054 */ lw $a0, 0x54($s0) .L8003E84C: /* 019C4C 8003E84C 8E020040 */ lw $v0, 0x40($s0) /* 019C50 8003E850 10400003 */ beqz $v0, .L8003E860 /* 019C54 8003E854 00000000 */ nop -/* 019C58 8003E858 0C0B102B */ jal func_802C40AC +/* 019C58 8003E858 0C0B102B */ jal kill_script_by_ID /* 019C5C 8003E85C 8E040058 */ lw $a0, 0x58($s0) .L8003E860: /* 019C60 8003E860 8E020044 */ lw $v0, 0x44($s0) /* 019C64 8003E864 10400003 */ beqz $v0, .L8003E874 /* 019C68 8003E868 00000000 */ nop -/* 019C6C 8003E86C 0C0B102B */ jal func_802C40AC +/* 019C6C 8003E86C 0C0B102B */ jal kill_script_by_ID /* 019C70 8003E870 8E04005C */ lw $a0, 0x5c($s0) .L8003E874: /* 019C74 8003E874 8E020048 */ lw $v0, 0x48($s0) /* 019C78 8003E878 10400003 */ beqz $v0, .L8003E888 /* 019C7C 8003E87C 00000000 */ nop -/* 019C80 8003E880 0C0B102B */ jal func_802C40AC +/* 019C80 8003E880 0C0B102B */ jal kill_script_by_ID /* 019C84 8003E884 8E040060 */ lw $a0, 0x60($s0) .L8003E888: /* 019C88 8003E888 86040008 */ lh $a0, 8($s0) @@ -7117,14 +7118,14 @@ func_8003E7AC: /* 019C90 8003E890 AE000024 */ sw $zero, 0x24($s0) /* 019C94 8003E894 AE000028 */ sw $zero, 0x28($s0) /* 019C98 8003E898 AE00002C */ sw $zero, 0x2c($s0) -/* 019C9C 8003E89C 0C00EABB */ jal func_8003AAEC +/* 019C9C 8003E89C 0C00EABB */ jal get_npc_unsafe /* 019CA0 8003E8A0 AE000030 */ sw $zero, 0x30($s0) -/* 019CA4 8003E8A4 0C00E273 */ jal func_800389CC +/* 019CA4 8003E8A4 0C00E273 */ jal free_npc /* 019CA8 8003E8A8 0040202D */ daddu $a0, $v0, $zero /* 019CAC 8003E8AC 8E040064 */ lw $a0, 0x64($s0) /* 019CB0 8003E8B0 50800004 */ beql $a0, $zero, .L8003E8C4 /* 019CB4 8003E8B4 0000202D */ daddu $a0, $zero, $zero -/* 019CB8 8003E8B8 0C00AB4B */ jal func_8002AD2C +/* 019CB8 8003E8B8 0C00AB4B */ jal heap_free /* 019CBC 8003E8BC 00000000 */ nop /* 019CC0 8003E8C0 0000202D */ daddu $a0, $zero, $zero .L8003E8C4: @@ -7154,10 +7155,10 @@ func_8003E7AC: /* 019D14 8003E914 00000000 */ nop /* 019D18 8003E918 86650048 */ lh $a1, 0x48($s3) /* 019D1C 8003E91C 82440020 */ lb $a0, 0x20($s2) -/* 019D20 8003E920 0C00F8B8 */ jal func_8003E2E0 +/* 019D20 8003E920 0C00F8B8 */ jal COPY_set_defeated /* 019D24 8003E924 00B12821 */ addu $a1, $a1, $s1 .L8003E928: -/* 019D28 8003E928 0C00AB4B */ jal func_8002AD2C +/* 019D28 8003E928 0C00AB4B */ jal heap_free /* 019D2C 8003E92C 0200202D */ daddu $a0, $s0, $zero /* 019D30 8003E930 8FBF0020 */ lw $ra, 0x20($sp) /* 019D34 8003E934 8FB3001C */ lw $s3, 0x1c($sp) @@ -7167,7 +7168,7 @@ func_8003E7AC: /* 019D44 8003E944 03E00008 */ jr $ra /* 019D48 8003E948 27BD0028 */ addiu $sp, $sp, 0x28 -func_8003E94C: +bind_enemy_ai: /* 019D4C 8003E94C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 019D50 8003E950 AFB00010 */ sw $s0, 0x10($sp) /* 019D54 8003E954 0080802D */ daddu $s0, $a0, $zero @@ -7177,13 +7178,13 @@ func_8003E94C: /* 019D64 8003E964 10400004 */ beqz $v0, .L8003E978 /* 019D68 8003E968 00A0882D */ daddu $s1, $a1, $zero /* 019D6C 8003E96C 8C440144 */ lw $a0, 0x144($v0) -/* 019D70 8003E970 0C0B102B */ jal func_802C40AC +/* 019D70 8003E970 0C0B102B */ jal kill_script_by_ID /* 019D74 8003E974 00000000 */ nop .L8003E978: /* 019D78 8003E978 0220202D */ daddu $a0, $s1, $zero /* 019D7C 8003E97C 2405000A */ addiu $a1, $zero, 0xa /* 019D80 8003E980 0000302D */ daddu $a2, $zero, $zero -/* 019D84 8003E984 0C0B0CF8 */ jal func_802C33E0 +/* 019D84 8003E984 0C0B0CF8 */ jal start_script /* 019D88 8003E988 AE040024 */ sw $a0, 0x24($s0) /* 019D8C 8003E98C 0040182D */ daddu $v1, $v0, $zero /* 019D90 8003E990 AE03003C */ sw $v1, 0x3c($s0) @@ -7196,7 +7197,7 @@ func_8003E94C: /* 019DAC 8003E9AC 03E00008 */ jr $ra /* 019DB0 8003E9B0 27BD0020 */ addiu $sp, $sp, 0x20 -func_8003E9B4: +bind_enemy_aux: /* 019DB4 8003E9B4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 019DB8 8003E9B8 AFB00010 */ sw $s0, 0x10($sp) /* 019DBC 8003E9BC 0080802D */ daddu $s0, $a0, $zero @@ -7206,13 +7207,13 @@ func_8003E9B4: /* 019DCC 8003E9CC 10400004 */ beqz $v0, .L8003E9E0 /* 019DD0 8003E9D0 00A0882D */ daddu $s1, $a1, $zero /* 019DD4 8003E9D4 8C440144 */ lw $a0, 0x144($v0) -/* 019DD8 8003E9D8 0C0B102B */ jal func_802C40AC +/* 019DD8 8003E9D8 0C0B102B */ jal kill_script_by_ID /* 019DDC 8003E9DC 00000000 */ nop .L8003E9E0: /* 019DE0 8003E9E0 0220202D */ daddu $a0, $s1, $zero /* 019DE4 8003E9E4 2405000A */ addiu $a1, $zero, 0xa /* 019DE8 8003E9E8 0000302D */ daddu $a2, $zero, $zero -/* 019DEC 8003E9EC 0C0B0CF8 */ jal func_802C33E0 +/* 019DEC 8003E9EC 0C0B0CF8 */ jal start_script /* 019DF0 8003E9F0 AE04002C */ sw $a0, 0x2c($s0) /* 019DF4 8003E9F4 0040182D */ daddu $v1, $v0, $zero /* 019DF8 8003E9F8 AE030044 */ sw $v1, 0x44($s0) @@ -7225,7 +7226,7 @@ func_8003E9B4: /* 019E14 8003EA14 03E00008 */ jr $ra /* 019E18 8003EA18 27BD0020 */ addiu $sp, $sp, 0x20 -func_8003EA1C: +bind_enemy_interact: /* 019E1C 8003EA1C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 019E20 8003EA20 AFB00010 */ sw $s0, 0x10($sp) /* 019E24 8003EA24 0080802D */ daddu $s0, $a0, $zero @@ -7235,13 +7236,13 @@ func_8003EA1C: /* 019E34 8003EA34 10400004 */ beqz $v0, .L8003EA48 /* 019E38 8003EA38 00A0882D */ daddu $s1, $a1, $zero /* 019E3C 8003EA3C 8C440144 */ lw $a0, 0x144($v0) -/* 019E40 8003EA40 0C0B102B */ jal func_802C40AC +/* 019E40 8003EA40 0C0B102B */ jal kill_script_by_ID /* 019E44 8003EA44 00000000 */ nop .L8003EA48: /* 019E48 8003EA48 0220202D */ daddu $a0, $s1, $zero /* 019E4C 8003EA4C 2405000A */ addiu $a1, $zero, 0xa /* 019E50 8003EA50 0000302D */ daddu $a2, $zero, $zero -/* 019E54 8003EA54 0C0B0CF8 */ jal func_802C33E0 +/* 019E54 8003EA54 0C0B0CF8 */ jal start_script /* 019E58 8003EA58 AE040020 */ sw $a0, 0x20($s0) /* 019E5C 8003EA5C 0040182D */ daddu $v1, $v0, $zero /* 019E60 8003EA60 AE030038 */ sw $v1, 0x38($s0) @@ -7254,6 +7255,7 @@ func_8003EA1C: /* 019E7C 8003EA7C 03E00008 */ jr $ra /* 019E80 8003EA80 27BD0020 */ addiu $sp, $sp, 0x20 +bind_npc_ai: /* 019E84 8003EA84 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 019E88 8003EA88 AFB3001C */ sw $s3, 0x1c($sp) /* 019E8C 8003EA8C 0080982D */ daddu $s3, $a0, $zero @@ -7284,7 +7286,7 @@ func_8003EA1C: /* 019EE8 8003EAE8 84820008 */ lh $v0, 8($a0) /* 019EEC 8003EAEC 14530005 */ bne $v0, $s3, .L8003EB04 /* 019EF0 8003EAF0 00000000 */ nop -/* 019EF4 8003EAF4 0C00FA53 */ jal func_8003E94C +/* 019EF4 8003EAF4 0C00FA53 */ jal bind_enemy_ai /* 019EF8 8003EAF8 0280282D */ daddu $a1, $s4, $zero /* 019EFC 8003EAFC 0800FAC7 */ j func_8003EB1C /* 019F00 8003EB00 26310004 */ addiu $s1, $s1, 4 @@ -7314,6 +7316,7 @@ func_8003EB1C: /* 019F48 8003EB48 03E00008 */ jr $ra /* 019F4C 8003EB4C 27BD0028 */ addiu $sp, $sp, 0x28 +bind_npc_aux: /* 019F50 8003EB50 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 019F54 8003EB54 AFB3001C */ sw $s3, 0x1c($sp) /* 019F58 8003EB58 0080982D */ daddu $s3, $a0, $zero @@ -7344,7 +7347,7 @@ func_8003EB1C: /* 019FB4 8003EBB4 84820008 */ lh $v0, 8($a0) /* 019FB8 8003EBB8 14530005 */ bne $v0, $s3, .L8003EBD0 /* 019FBC 8003EBBC 00000000 */ nop -/* 019FC0 8003EBC0 0C00FA6D */ jal func_8003E9B4 +/* 019FC0 8003EBC0 0C00FA6D */ jal bind_enemy_aux /* 019FC4 8003EBC4 0280282D */ daddu $a1, $s4, $zero /* 019FC8 8003EBC8 0800FAFA */ j func_8003EBE8 /* 019FCC 8003EBCC 26310004 */ addiu $s1, $s1, 4 @@ -7374,6 +7377,7 @@ func_8003EBE8: /* 01A014 8003EC14 03E00008 */ jr $ra /* 01A018 8003EC18 27BD0028 */ addiu $sp, $sp, 0x28 +bind_npc_interact: /* 01A01C 8003EC1C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 01A020 8003EC20 AFB3001C */ sw $s3, 0x1c($sp) /* 01A024 8003EC24 0080982D */ daddu $s3, $a0, $zero @@ -7404,7 +7408,7 @@ func_8003EBE8: /* 01A080 8003EC80 84820008 */ lh $v0, 8($a0) /* 01A084 8003EC84 14530005 */ bne $v0, $s3, .L8003EC9C /* 01A088 8003EC88 00000000 */ nop -/* 01A08C 8003EC8C 0C00FA87 */ jal func_8003EA1C +/* 01A08C 8003EC8C 0C00FA87 */ jal bind_enemy_interact /* 01A090 8003EC90 0280282D */ daddu $a1, $s4, $zero /* 01A094 8003EC94 0800FB2D */ j func_8003ECB4 /* 01A098 8003EC98 26310004 */ addiu $s1, $s1, 4 @@ -7434,7 +7438,7 @@ func_8003ECB4: /* 01A0E0 8003ECE0 03E00008 */ jr $ra /* 01A0E4 8003ECE4 27BD0028 */ addiu $sp, $sp, 0x28 -func_8003ECE8: +get_enemy: /* 01A0E8 8003ECE8 3C03800B */ lui $v1, 0x800b /* 01A0EC 8003ECEC 24630F10 */ addiu $v1, $v1, 0xf10 /* 01A0F0 8003ECF0 8062001C */ lb $v0, 0x1c($v1) @@ -7477,6 +7481,7 @@ func_8003ED58: /* 01A160 8003ED60 03E00008 */ jr $ra /* 01A164 8003ED64 0060102D */ daddu $v0, $v1, $zero +get_enemy_safe: /* 01A168 8003ED68 3C03800B */ lui $v1, 0x800b /* 01A16C 8003ED6C 24630F10 */ addiu $v1, $v1, 0xf10 /* 01A170 8003ED70 8062001C */ lb $v0, 0x1c($v1) diff --git a/papermario/asm/code_1a1f0_len_5390.s b/papermario/asm/code_1a1f0_len_5390.s index 771de30ef0..1dd9f90a4c 100644 --- a/papermario/asm/code_1a1f0_len_5390.s +++ b/papermario/asm/code_1a1f0_len_5390.s @@ -1,7 +1,7 @@ .section .text8003EDF0, "ax" -func_8003EDF0: +get_defeated: /* 01A1F0 8003EDF0 0080302D */ daddu $a2, $a0, $zero /* 01A1F4 8003EDF4 04A10002 */ bgez $a1, .L8003EE00 /* 01A1F8 8003EDF8 00A0182D */ daddu $v1, $a1, $zero @@ -24,7 +24,7 @@ func_8003EDF0: /* 01A238 8003EE38 03E00008 */ jr $ra /* 01A23C 8003EE3C 00621024 */ and $v0, $v1, $v0 -func_8003EE40: +set_defeated: /* 01A240 8003EE40 0080182D */ daddu $v1, $a0, $zero /* 01A244 8003EE44 00A0102D */ daddu $v0, $a1, $zero /* 01A248 8003EE48 04410002 */ bgez $v0, .L8003EE54 @@ -161,11 +161,11 @@ func_8003F008: /* 01A420 8003F020 00A0802D */ daddu $s0, $a1, $zero /* 01A424 8003F024 2404FFF6 */ addiu $a0, $zero, -0xa /* 01A428 8003F028 AFBF0018 */ sw $ra, 0x18($sp) -/* 01A42C 8003F02C 0C00EABB */ jal func_8003AAEC +/* 01A42C 8003F02C 0C00EABB */ jal get_npc_unsafe /* 01A430 8003F030 AFB10014 */ sw $s1, 0x14($sp) /* 01A434 8003F034 12000004 */ beqz $s0, .L8003F048 /* 01A438 8003F038 0040882D */ daddu $s1, $v0, $zero -/* 01A43C 8003F03C 0C05272D */ jal func_80149CB4 +/* 01A43C 8003F03C 0C05272D */ jal play_sound /* 01A440 8003F040 2404024B */ addiu $a0, $zero, 0x24b /* 01A444 8003F044 A22000AC */ sb $zero, 0xac($s1) .L8003F048: @@ -188,7 +188,7 @@ func_8003F008: /* 01A484 8003F084 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01A488 8003F088 AFBF0010 */ sw $ra, 0x10($sp) -/* 01A48C 8003F08C 0C00EABB */ jal func_8003AAEC +/* 01A48C 8003F08C 0C00EABB */ jal get_npc_unsafe /* 01A490 8003F090 2404FFF6 */ addiu $a0, $zero, -0xa /* 01A494 8003F094 0040182D */ daddu $v1, $v0, $zero /* 01A498 8003F098 906200AC */ lbu $v0, 0xac($v1) @@ -211,7 +211,7 @@ func_8003F008: /* 01A4D4 8003F0D4 00A0802D */ daddu $s0, $a1, $zero /* 01A4D8 8003F0D8 2404FFF6 */ addiu $a0, $zero, -0xa /* 01A4DC 8003F0DC AFBF0024 */ sw $ra, 0x24($sp) -/* 01A4E0 8003F0E0 0C00EABB */ jal func_8003AAEC +/* 01A4E0 8003F0E0 0C00EABB */ jal get_npc_unsafe /* 01A4E4 8003F0E4 AFB1001C */ sw $s1, 0x1c($sp) /* 01A4E8 8003F0E8 12000024 */ beqz $s0, .L8003F17C /* 01A4EC 8003F0EC 0040882D */ daddu $s1, $v0, $zero @@ -248,7 +248,7 @@ func_8003F008: /* 01A568 8003F168 A4200BB8 */ sh $zero, 0xbb8($at) /* 01A56C 8003F16C 3C01800A */ lui $at, 0x800a /* 01A570 8003F170 AC220BA0 */ sw $v0, 0xba0($at) -/* 01A574 8003F174 0C05272D */ jal func_80149CB4 +/* 01A574 8003F174 0C05272D */ jal play_sound /* 01A578 8003F178 24042074 */ addiu $a0, $zero, 0x2074 .L8003F17C: /* 01A57C 8003F17C 3C0140C9 */ lui $at, 0x40c9 @@ -260,7 +260,7 @@ func_8003F008: /* 01A594 8003F194 00000000 */ nop /* 01A598 8003F198 3C0143B4 */ lui $at, 0x43b4 /* 01A59C 8003F19C 44810000 */ mtc1 $at, $f0 -/* 01A5A0 8003F1A0 0C00A85B */ jal func_8002A16C +/* 01A5A0 8003F1A0 0C00A85B */ jal sin_rad /* 01A5A4 8003F1A4 46006303 */ div.s $f12, $f12, $f0 /* 01A5A8 8003F1A8 3C014040 */ lui $at, 0x4040 /* 01A5AC 8003F1AC 44811000 */ mtc1 $at, $f2 @@ -276,7 +276,7 @@ func_8003F008: /* 01A5D4 8003F1D4 44826000 */ mtc1 $v0, $f12 /* 01A5D8 8003F1D8 00000000 */ nop /* 01A5DC 8003F1DC 46806320 */ cvt.s.w $f12, $f12 -/* 01A5E0 8003F1E0 0C00A6C9 */ jal func_80029B24 +/* 01A5E0 8003F1E0 0C00A6C9 */ jal clamp_angle /* 01A5E4 8003F1E4 AE420074 */ sw $v0, 0x74($s2) /* 01A5E8 8003F1E8 4600018D */ trunc.w.s $f6, $f0 /* 01A5EC 8003F1EC E6460074 */ swc1 $f6, 0x74($s2) @@ -397,6 +397,7 @@ func_8003F36C: /* 01A790 8003F390 03E00008 */ jr $ra /* 01A794 8003F394 24020002 */ addiu $v0, $zero, 2 +GetCamLookAtObjVector: /* 01A798 8003F398 3C038007 */ lui $v1, 0x8007 /* 01A79C 8003F39C 8C637410 */ lw $v1, 0x7410($v1) /* 01A7A0 8003F3A0 3C05800B */ lui $a1, 0x800b @@ -421,6 +422,7 @@ func_8003F36C: /* 01A7EC 8003F3EC 03E00008 */ jr $ra /* 01A7F0 8003F3F0 24020002 */ addiu $v0, $zero, 2 +HasMerleeCasts: /* 01A7F4 8003F3F4 AC800084 */ sw $zero, 0x84($a0) /* 01A7F8 8003F3F8 3C028011 */ lui $v0, 0x8011 /* 01A7FC 8003F3FC 8042F51A */ lb $v0, -0xae6($v0) @@ -439,16 +441,16 @@ func_8003F36C: /* 01A828 8003F428 AFB00018 */ sw $s0, 0x18($sp) /* 01A82C 8003F42C 8E30000C */ lw $s0, 0xc($s1) /* 01A830 8003F430 8E050000 */ lw $a1, ($s0) -/* 01A834 8003F434 0C0B1EAF */ jal func_802C7ABC +/* 01A834 8003F434 0C0B1EAF */ jal get_variable /* 01A838 8003F438 26100004 */ addiu $s0, $s0, 4 /* 01A83C 8003F43C 8E050000 */ lw $a1, ($s0) /* 01A840 8003F440 26100004 */ addiu $s0, $s0, 4 /* 01A844 8003F444 0220202D */ daddu $a0, $s1, $zero -/* 01A848 8003F448 0C0B1EAF */ jal func_802C7ABC +/* 01A848 8003F448 0C0B1EAF */ jal get_variable /* 01A84C 8003F44C 0040902D */ daddu $s2, $v0, $zero /* 01A850 8003F450 0220202D */ daddu $a0, $s1, $zero /* 01A854 8003F454 8E050000 */ lw $a1, ($s0) -/* 01A858 8003F458 0C0B1EAF */ jal func_802C7ABC +/* 01A858 8003F458 0C0B1EAF */ jal get_variable /* 01A85C 8003F45C 0040802D */ daddu $s0, $v0, $zero /* 01A860 8003F460 24040006 */ addiu $a0, $zero, 6 /* 01A864 8003F464 44921000 */ mtc1 $s2, $f2 @@ -486,16 +488,16 @@ func_8003F36C: /* 01A8E0 8003F4E0 AFB00018 */ sw $s0, 0x18($sp) /* 01A8E4 8003F4E4 8E30000C */ lw $s0, 0xc($s1) /* 01A8E8 8003F4E8 8E050000 */ lw $a1, ($s0) -/* 01A8EC 8003F4EC 0C0B1EAF */ jal func_802C7ABC +/* 01A8EC 8003F4EC 0C0B1EAF */ jal get_variable /* 01A8F0 8003F4F0 26100004 */ addiu $s0, $s0, 4 /* 01A8F4 8003F4F4 8E050000 */ lw $a1, ($s0) /* 01A8F8 8003F4F8 26100004 */ addiu $s0, $s0, 4 /* 01A8FC 8003F4FC 0220202D */ daddu $a0, $s1, $zero -/* 01A900 8003F500 0C0B1EAF */ jal func_802C7ABC +/* 01A900 8003F500 0C0B1EAF */ jal get_variable /* 01A904 8003F504 0040902D */ daddu $s2, $v0, $zero /* 01A908 8003F508 0220202D */ daddu $a0, $s1, $zero /* 01A90C 8003F50C 8E050000 */ lw $a1, ($s0) -/* 01A910 8003F510 0C0B1EAF */ jal func_802C7ABC +/* 01A910 8003F510 0C0B1EAF */ jal get_variable /* 01A914 8003F514 0040802D */ daddu $s0, $v0, $zero /* 01A918 8003F518 24040009 */ addiu $a0, $zero, 9 /* 01A91C 8003F51C 44921000 */ mtc1 $s2, $f2 @@ -524,6 +526,7 @@ func_8003F36C: /* 01A978 8003F578 03E00008 */ jr $ra /* 01A97C 8003F57C 27BD0028 */ addiu $sp, $sp, 0x28 +OnDefeatEnemy: /* 01A980 8003F580 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 01A984 8003F584 AFB20028 */ sw $s2, 0x28($sp) /* 01A988 8003F588 0080902D */ daddu $s2, $a0, $zero @@ -533,7 +536,7 @@ func_8003F36C: /* 01A998 8003F598 AFB00020 */ sw $s0, 0x20($sp) /* 01A99C 8003F59C 8E530148 */ lw $s3, 0x148($s2) /* 01A9A0 8003F5A0 86640008 */ lh $a0, 8($s3) -/* 01A9A4 8003F5A4 0C00EABB */ jal func_8003AAEC +/* 01A9A4 8003F5A4 0C00EABB */ jal get_npc_unsafe /* 01A9A8 8003F5A8 00A0802D */ daddu $s0, $a1, $zero /* 01A9AC 8003F5AC 12000004 */ beqz $s0, .L8003F5C0 /* 01A9B0 8003F5B0 0040882D */ daddu $s1, $v0, $zero @@ -558,7 +561,7 @@ func_8003F5E4: /* 01A9EC 8003F5EC 2402000F */ addiu $v0, $zero, 0xf /* 01A9F0 8003F5F0 1462001A */ bne $v1, $v0, .L8003F65C /* 01A9F4 8003F5F4 00000000 */ nop -/* 01A9F8 8003F5F8 0C05272D */ jal func_80149CB4 +/* 01A9F8 8003F5F8 0C05272D */ jal play_sound /* 01A9FC 8003F5FC 240403E5 */ addiu $a0, $zero, 0x3e5 /* 01AA00 8003F600 962300A8 */ lhu $v1, 0xa8($s1) /* 01AA04 8003F604 C624003C */ lwc1 $f4, 0x3c($s1) @@ -600,7 +603,7 @@ func_8003F5E4: /* 01AA90 8003F690 8E420074 */ lw $v0, 0x74($s2) /* 01AA94 8003F694 14500005 */ bne $v0, $s0, .L8003F6AC /* 01AA98 8003F698 2442FFFF */ addiu $v0, $v0, -1 -/* 01AA9C 8003F69C 0C0120A0 */ jal func_80048280 +/* 01AA9C 8003F69C 0C0120A0 */ jal spawn_drops /* 01AAA0 8003F6A0 0260202D */ daddu $a0, $s3, $zero .L8003F6A4: /* 01AAA4 8003F6A4 8E420074 */ lw $v0, 0x74($s2) @@ -625,6 +628,7 @@ func_8003F6CC: /* 01AAE0 8003F6E0 03E00008 */ jr $ra /* 01AAE4 8003F6E4 27BD0038 */ addiu $sp, $sp, 0x38 +OnFleeBattleDrops: /* 01AAE8 8003F6E8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 01AAEC 8003F6EC AFB00020 */ sw $s0, 0x20($sp) /* 01AAF0 8003F6F0 0080802D */ daddu $s0, $a0, $zero @@ -647,7 +651,7 @@ func_8003F6CC: /* 01AB30 8003F730 28420005 */ slti $v0, $v0, 5 /* 01AB34 8003F734 1440001B */ bnez $v0, .L8003F7A4 /* 01AB38 8003F738 00000000 */ nop -/* 01AB3C 8003F73C 0C00A67F */ jal func_800299FC +/* 01AB3C 8003F73C 0C00A67F */ jal rand_int /* 01AB40 8003F740 24040064 */ addiu $a0, $zero, 0x64 /* 01AB44 8003F744 28420032 */ slti $v0, $v0, 0x32 /* 01AB48 8003F748 50400016 */ beql $v0, $zero, .L8003F7A4 @@ -670,7 +674,7 @@ func_8003F6CC: /* 01AB8C 8003F78C 44060000 */ mfc1 $a2, $f0 /* 01AB90 8003F790 24040157 */ addiu $a0, $zero, 0x157 /* 01AB94 8003F794 AFA00014 */ sw $zero, 0x14($sp) -/* 01AB98 8003F798 0C04C6B2 */ jal func_80131AC8 +/* 01AB98 8003F798 0C04C6B2 */ jal make_item_entity_delayed /* 01AB9C 8003F79C AFA00018 */ sw $zero, 0x18($sp) .L8003F7A0: /* 01ABA0 8003F7A0 AE000078 */ sw $zero, 0x78($s0) @@ -764,7 +768,7 @@ func_8003F7CC: /* 01ACEC 8003F8EC C500006C */ lwc1 $f0, 0x6c($t0) /* 01ACF0 8003F8F0 460C0300 */ add.s $f12, $f0, $f12 func_8003F8F4: -/* 01ACF4 8003F8F4 0C00A6C9 */ jal func_80029B24 +/* 01ACF4 8003F8F4 0C00A6C9 */ jal clamp_angle /* 01ACF8 8003F8F8 00000000 */ nop /* 01ACFC 8003F8FC E7A0005C */ swc1 $f0, 0x5c($sp) /* 01AD00 8003F900 8262000A */ lb $v0, 0xa($s3) @@ -804,7 +808,7 @@ func_8003F8F4: /* 01AD74 8003F974 8E87002C */ lw $a3, 0x2c($s4) /* 01AD78 8003F978 C6800030 */ lwc1 $f0, 0x30($s4) /* 01AD7C 8003F97C 0000282D */ daddu $a1, $zero, $zero -/* 01AD80 8003F980 0C052757 */ jal func_80149D5C +/* 01AD80 8003F980 0C052757 */ jal play_sound_at_position /* 01AD84 8003F984 E7A00010 */ swc1 $f0, 0x10($sp) /* 01AD88 8003F988 C6480038 */ lwc1 $f8, 0x38($s2) /* 01AD8C 8003F98C C68C0028 */ lwc1 $f12, 0x28($s4) @@ -897,7 +901,7 @@ func_8003FA68: /* 01AED0 8003FAD0 30420020 */ andi $v0, $v0, 0x20 /* 01AED4 8003FAD4 1440037C */ bnez $v0, .L800408C8 /* 01AED8 8003FAD8 00000000 */ nop -/* 01AEDC 8003FADC 0C00EABB */ jal func_8003AAEC +/* 01AEDC 8003FADC 0C00EABB */ jal get_npc_unsafe /* 01AEE0 8003FAE0 86240008 */ lh $a0, 8($s1) /* 01AEE4 8003FAE4 0040902D */ daddu $s2, $v0, $zero /* 01AEE8 8003FAE8 822200B4 */ lb $v0, 0xb4($s1) @@ -933,21 +937,21 @@ func_8003FA68: /* 01AF54 8003FB54 00481024 */ and $v0, $v0, $t0 func_8003FB58: /* 01AF58 8003FB58 AE220000 */ sw $v0, ($s1) -/* 01AF5C 8003FB5C 0C0B11EA */ jal func_802C47A8 +/* 01AF5C 8003FB5C 0C0B11EA */ jal get_script_by_id /* 01AF60 8003FB60 8E24005C */ lw $a0, 0x5c($s1) /* 01AF64 8003FB64 0040202D */ daddu $a0, $v0, $zero /* 01AF68 8003FB68 10800003 */ beqz $a0, .L8003FB78 /* 01AF6C 8003FB6C 00000000 */ nop -/* 01AF70 8003FB70 0C0B11FA */ jal func_802C47E8 +/* 01AF70 8003FB70 0C0B11FA */ jal set_script_flags /* 01AF74 8003FB74 24050080 */ addiu $a1, $zero, 0x80 .L8003FB78: /* 01AF78 8003FB78 8E240054 */ lw $a0, 0x54($s1) -/* 01AF7C 8003FB7C 0C0B11EA */ jal func_802C47A8 +/* 01AF7C 8003FB7C 0C0B11EA */ jal get_script_by_id /* 01AF80 8003FB80 00000000 */ nop /* 01AF84 8003FB84 0040202D */ daddu $a0, $v0, $zero /* 01AF88 8003FB88 10800003 */ beqz $a0, .L8003FB98 /* 01AF8C 8003FB8C 00000000 */ nop -/* 01AF90 8003FB90 0C0B11FA */ jal func_802C47E8 +/* 01AF90 8003FB90 0C0B11FA */ jal set_script_flags /* 01AF94 8003FB94 24050080 */ addiu $a1, $zero, 0x80 .L8003FB98: /* 01AF98 8003FB98 8E220000 */ lw $v0, ($s1) @@ -972,7 +976,7 @@ func_8003FB58: /* 01AFDC 8003FBDC AFA20018 */ sw $v0, 0x18($sp) /* 01AFE0 8003FBE0 8E450038 */ lw $a1, 0x38($s2) /* 01AFE4 8003FBE4 8E46003C */ lw $a2, 0x3c($s2) -/* 01AFE8 8003FBE8 0C00B94E */ jal func_8002E538 +/* 01AFE8 8003FBE8 0C00B94E */ jal get_screen_coords /* 01AFEC 8003FBEC 8E470040 */ lw $a3, 0x40($s2) /* 01AFF0 8003FBF0 8FA20020 */ lw $v0, 0x20($sp) /* 01AFF4 8003FBF4 244200A0 */ addiu $v0, $v0, 0xa0 @@ -999,21 +1003,21 @@ func_8003FB58: /* 01B044 8003FC44 8E220000 */ lw $v0, ($s1) /* 01B048 8003FC48 8E24005C */ lw $a0, 0x5c($s1) /* 01B04C 8003FC4C 00481025 */ or $v0, $v0, $t0 -/* 01B050 8003FC50 0C0B11EA */ jal func_802C47A8 +/* 01B050 8003FC50 0C0B11EA */ jal get_script_by_id /* 01B054 8003FC54 AE220000 */ sw $v0, ($s1) /* 01B058 8003FC58 0040202D */ daddu $a0, $v0, $zero /* 01B05C 8003FC5C 10800003 */ beqz $a0, .L8003FC6C /* 01B060 8003FC60 00000000 */ nop -/* 01B064 8003FC64 0C0B11FA */ jal func_802C47E8 +/* 01B064 8003FC64 0C0B11FA */ jal set_script_flags /* 01B068 8003FC68 24050080 */ addiu $a1, $zero, 0x80 .L8003FC6C: /* 01B06C 8003FC6C 8E240054 */ lw $a0, 0x54($s1) -/* 01B070 8003FC70 0C0B11EA */ jal func_802C47A8 +/* 01B070 8003FC70 0C0B11EA */ jal get_script_by_id /* 01B074 8003FC74 00000000 */ nop /* 01B078 8003FC78 0040202D */ daddu $a0, $v0, $zero /* 01B07C 8003FC7C 1080001C */ beqz $a0, .L8003FCF0 /* 01B080 8003FC80 00000000 */ nop -/* 01B084 8003FC84 0C0B11FA */ jal func_802C47E8 +/* 01B084 8003FC84 0C0B11FA */ jal set_script_flags /* 01B088 8003FC88 24050080 */ addiu $a1, $zero, 0x80 /* 01B08C 8003FC8C 0800FF3C */ j func_8003FCF0 /* 01B090 8003FC90 00000000 */ nop @@ -1028,21 +1032,21 @@ func_8003FB58: /* 01B0AC 8003FCAC 00481024 */ and $v0, $v0, $t0 /* 01B0B0 8003FCB0 AE220000 */ sw $v0, ($s1) func_8003FCB4: -/* 01B0B4 8003FCB4 0C0B11EA */ jal func_802C47A8 +/* 01B0B4 8003FCB4 0C0B11EA */ jal get_script_by_id /* 01B0B8 8003FCB8 00000000 */ nop /* 01B0BC 8003FCBC 0040202D */ daddu $a0, $v0, $zero /* 01B0C0 8003FCC0 10800003 */ beqz $a0, .L8003FCD0 /* 01B0C4 8003FCC4 00000000 */ nop -/* 01B0C8 8003FCC8 0C0B1220 */ jal func_802C4880 +/* 01B0C8 8003FCC8 0C0B1220 */ jal clear_script_flags /* 01B0CC 8003FCCC 24050080 */ addiu $a1, $zero, 0x80 .L8003FCD0: /* 01B0D0 8003FCD0 8E240054 */ lw $a0, 0x54($s1) -/* 01B0D4 8003FCD4 0C0B11EA */ jal func_802C47A8 +/* 01B0D4 8003FCD4 0C0B11EA */ jal get_script_by_id /* 01B0D8 8003FCD8 00000000 */ nop /* 01B0DC 8003FCDC 0040202D */ daddu $a0, $v0, $zero /* 01B0E0 8003FCE0 10800003 */ beqz $a0, .L8003FCF0 /* 01B0E4 8003FCE4 00000000 */ nop -/* 01B0E8 8003FCE8 0C0B1220 */ jal func_802C4880 +/* 01B0E8 8003FCE8 0C0B1220 */ jal clear_script_flags /* 01B0EC 8003FCEC 24050080 */ addiu $a1, $zero, 0x80 func_8003FCF0: .L8003FCF0: @@ -1067,15 +1071,15 @@ func_8003FCF0: /* 01B138 8003FD38 C64C0038 */ lwc1 $f12, 0x38($s2) /* 01B13C 8003FD3C C64E0040 */ lwc1 $f14, 0x40($s2) /* 01B140 8003FD40 8E860028 */ lw $a2, 0x28($s4) -/* 01B144 8003FD44 0C00A720 */ jal func_80029C80 +/* 01B144 8003FD44 0C00A720 */ jal atan2 /* 01B148 8003FD48 8E870030 */ lw $a3, 0x30($s4) /* 01B14C 8003FD4C E640000C */ swc1 $f0, 0xc($s2) -/* 01B150 8003FD50 0C0B11EA */ jal func_802C47A8 +/* 01B150 8003FD50 0C0B11EA */ jal get_script_by_id /* 01B154 8003FD54 8E240054 */ lw $a0, 0x54($s1) /* 01B158 8003FD58 0040202D */ daddu $a0, $v0, $zero /* 01B15C 8003FD5C 10800014 */ beqz $a0, .L8003FDB0 /* 01B160 8003FD60 00000000 */ nop -/* 01B164 8003FD64 0C0B11FA */ jal func_802C47E8 +/* 01B164 8003FD64 0C0B11FA */ jal set_script_flags /* 01B168 8003FD68 24050080 */ addiu $a1, $zero, 0x80 /* 01B16C 8003FD6C 0800FF6C */ j func_8003FDB0 /* 01B170 8003FD70 00000000 */ nop @@ -1090,12 +1094,12 @@ func_8003FCF0: /* 01B18C 8003FD8C E640000C */ swc1 $f0, 0xc($s2) /* 01B190 8003FD90 A62300E0 */ sh $v1, 0xe0($s1) .L8003FD94: -/* 01B194 8003FD94 0C0B11EA */ jal func_802C47A8 +/* 01B194 8003FD94 0C0B11EA */ jal get_script_by_id /* 01B198 8003FD98 8E240054 */ lw $a0, 0x54($s1) /* 01B19C 8003FD9C 0040202D */ daddu $a0, $v0, $zero /* 01B1A0 8003FDA0 10800003 */ beqz $a0, .L8003FDB0 /* 01B1A4 8003FDA4 00000000 */ nop -/* 01B1A8 8003FDA8 0C0B1220 */ jal func_802C4880 +/* 01B1A8 8003FDA8 0C0B1220 */ jal clear_script_flags /* 01B1AC 8003FDAC 24050080 */ addiu $a1, $zero, 0x80 func_8003FDB0: .L8003FDB0: @@ -1187,7 +1191,7 @@ func_8003FDB0: /* 01B2F4 8003FEF4 C50C006C */ lwc1 $f12, 0x6c($t0) /* 01B2F8 8003FEF8 46106300 */ add.s $f12, $f12, $f16 func_8003FEFC: -/* 01B2FC 8003FEFC 0C00A6C9 */ jal func_80029B24 +/* 01B2FC 8003FEFC 0C00A6C9 */ jal clamp_angle /* 01B300 8003FF00 00000000 */ nop /* 01B304 8003FF04 46000606 */ mov.s $f24, $f0 /* 01B308 8003FF08 27A4002C */ addiu $a0, $sp, 0x2c @@ -1195,7 +1199,7 @@ func_8003FEFC: /* 01B310 8003FF10 468094A0 */ cvt.s.w $f18, $f18 /* 01B314 8003FF14 4407C000 */ mfc1 $a3, $f24 /* 01B318 8003FF18 44069000 */ mfc1 $a2, $f18 -/* 01B31C 8003FF1C 0C00A7E7 */ jal func_80029F9C +/* 01B31C 8003FF1C 0C00A7E7 */ jal add_vec2D_polar /* 01B320 8003FF20 27A50030 */ addiu $a1, $sp, 0x30 .L8003FF24: /* 01B324 8003FF24 C7A0002C */ lwc1 $f0, 0x2c($sp) @@ -1234,7 +1238,7 @@ func_8003FEFC: /* 01B3A4 8003FFA4 C68C00A8 */ lwc1 $f12, 0xa8($s4) /* 01B3A8 8003FFA8 C7B20058 */ lwc1 $f18, 0x58($sp) /* 01B3AC 8003FFAC E7B00034 */ swc1 $f16, 0x34($sp) -/* 01B3B0 8003FFB0 0C00A6C9 */ jal func_80029B24 +/* 01B3B0 8003FFB0 0C00A6C9 */ jal clamp_angle /* 01B3B4 8003FFB4 E7B20038 */ swc1 $f18, 0x38($sp) /* 01B3B8 8003FFB8 3C014334 */ lui $at, 0x4334 /* 01B3BC 8003FFBC 44811000 */ mtc1 $at, $f2 @@ -1247,7 +1251,7 @@ func_8003FEFC: /* 01B3D8 8003FFD8 3C0142B4 */ lui $at, 0x42b4 /* 01B3DC 8003FFDC 44818000 */ mtc1 $at, $f16 /* 01B3E0 8003FFE0 C50C006C */ lwc1 $f12, 0x6c($t0) -/* 01B3E4 8003FFE4 0C00A6C9 */ jal func_80029B24 +/* 01B3E4 8003FFE4 0C00A6C9 */ jal clamp_angle /* 01B3E8 8003FFE8 46106301 */ sub.s $f12, $f12, $f16 /* 01B3EC 8003FFEC 8E8200A4 */ lw $v0, 0xa4($s4) /* 01B3F0 8003FFF0 3C030100 */ lui $v1, 0x100 @@ -1264,7 +1268,7 @@ func_8003FEFC: /* 01B414 80040014 3C0142B4 */ lui $at, 0x42b4 /* 01B418 80040018 44818000 */ mtc1 $at, $f16 /* 01B41C 8004001C C50C006C */ lwc1 $f12, 0x6c($t0) -/* 01B420 80040020 0C00A6C9 */ jal func_80029B24 +/* 01B420 80040020 0C00A6C9 */ jal clamp_angle /* 01B424 80040024 46106300 */ add.s $f12, $f12, $f16 /* 01B428 80040028 8E8200A4 */ lw $v0, 0xa4($s4) /* 01B42C 8004002C 3C030100 */ lui $v1, 0x100 @@ -1276,13 +1280,13 @@ func_8003FEFC: /* 01B444 80040044 00000000 */ nop /* 01B448 80040048 460C0301 */ sub.s $f12, $f0, $f12 func_8004004C: -/* 01B44C 8004004C 0C00A6C9 */ jal func_80029B24 +/* 01B44C 8004004C 0C00A6C9 */ jal clamp_angle /* 01B450 80040050 00000000 */ nop /* 01B454 80040054 27A40034 */ addiu $a0, $sp, 0x34 .L80040058: /* 01B458 80040058 3C0641C0 */ lui $a2, 0x41c0 /* 01B45C 8004005C 44070000 */ mfc1 $a3, $f0 -/* 01B460 80040060 0C00A7E7 */ jal func_80029F9C +/* 01B460 80040060 0C00A7E7 */ jal add_vec2D_polar /* 01B464 80040064 27A50038 */ addiu $a1, $sp, 0x38 /* 01B468 80040068 C7A2002C */ lwc1 $f2, 0x2c($sp) /* 01B46C 8004006C C7A00034 */ lwc1 $f0, 0x34($sp) @@ -1340,7 +1344,7 @@ func_8004004C: /* 01B538 80040138 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 01B53C 8004013C E7BA0040 */ swc1 $f26, 0x40($sp) /* 01B540 80040140 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 01B544 80040144 0C00A720 */ jal func_80029C80 +/* 01B544 80040144 0C00A720 */ jal atan2 /* 01B548 80040148 E7AE0044 */ swc1 $f14, 0x44($sp) /* 01B54C 8004014C 3C040001 */ lui $a0, 1 /* 01B550 80040150 03C0302D */ daddu $a2, $fp, $zero @@ -1362,7 +1366,7 @@ func_8004004C: /* 01B590 80040190 46007406 */ mov.s $f16, $f14 /* 01B594 80040194 E7AC003C */ swc1 $f12, 0x3c($sp) /* 01B598 80040198 E7B20040 */ swc1 $f18, 0x40($sp) -/* 01B59C 8004019C 0C00A720 */ jal func_80029C80 +/* 01B59C 8004019C 0C00A720 */ jal atan2 /* 01B5A0 800401A0 E7B00044 */ swc1 $f16, 0x44($sp) /* 01B5A4 800401A4 3C040001 */ lui $a0, 1 /* 01B5A8 800401A8 03C0302D */ daddu $a2, $fp, $zero @@ -1398,19 +1402,19 @@ func_8004004C: /* 01B618 80040218 C7AE0058 */ lwc1 $f14, 0x58($sp) /* 01B61C 8004021C 8FA6002C */ lw $a2, 0x2c($sp) /* 01B620 80040220 8FA70030 */ lw $a3, 0x30($sp) -/* 01B624 80040224 0C00A720 */ jal func_80029C80 +/* 01B624 80040224 0C00A720 */ jal atan2 /* 01B628 80040228 0000802D */ daddu $s0, $zero, $zero /* 01B62C 8004022C C7AE005C */ lwc1 $f14, 0x5c($sp) -/* 01B630 80040230 0C00A70A */ jal func_80029C28 +/* 01B630 80040230 0C00A70A */ jal get_clamped_angle_diff /* 01B634 80040234 46000306 */ mov.s $f12, $f0 /* 01B638 80040238 C7AC002C */ lwc1 $f12, 0x2c($sp) /* 01B63C 8004023C C7AE0030 */ lwc1 $f14, 0x30($sp) /* 01B640 80040240 8FA60050 */ lw $a2, 0x50($sp) /* 01B644 80040244 8FA70058 */ lw $a3, 0x58($sp) -/* 01B648 80040248 0C00A720 */ jal func_80029C80 +/* 01B648 80040248 0C00A720 */ jal atan2 /* 01B64C 8004024C 46000505 */ abs.s $f20, $f0 /* 01B650 80040250 46000306 */ mov.s $f12, $f0 -/* 01B654 80040254 0C00A70A */ jal func_80029C28 +/* 01B654 80040254 0C00A70A */ jal get_clamped_angle_diff /* 01B658 80040258 4600C386 */ mov.s $f14, $f24 /* 01B65C 8004025C 3C0142B4 */ lui $at, 0x42b4 /* 01B660 80040260 44819000 */ mtc1 $at, $f18 @@ -1456,7 +1460,7 @@ func_8004004C: /* 01B6F4 800402F4 8E87002C */ lw $a3, 0x2c($s4) /* 01B6F8 800402F8 C6800030 */ lwc1 $f0, 0x30($s4) /* 01B6FC 800402FC 0000282D */ daddu $a1, $zero, $zero -/* 01B700 80040300 0C052757 */ jal func_80149D5C +/* 01B700 80040300 0C052757 */ jal play_sound_at_position /* 01B704 80040304 E7A00010 */ swc1 $f0, 0x10($sp) /* 01B708 80040308 3C038011 */ lui $v1, 0x8011 /* 01B70C 8004030C 9063F291 */ lbu $v1, -0xd6f($v1) @@ -1502,7 +1506,7 @@ func_8004004C: /* 01B7A8 800403A8 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 01B7AC 800403AC E7BA0040 */ swc1 $f26, 0x40($sp) /* 01B7B0 800403B0 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 01B7B4 800403B4 0C00A720 */ jal func_80029C80 +/* 01B7B4 800403B4 0C00A720 */ jal atan2 /* 01B7B8 800403B8 E7AE0044 */ swc1 $f14, 0x44($sp) /* 01B7BC 800403BC 3C040001 */ lui $a0, 1 /* 01B7C0 800403C0 03C0302D */ daddu $a2, $fp, $zero @@ -1524,7 +1528,7 @@ func_8004004C: /* 01B800 80040400 46007406 */ mov.s $f16, $f14 /* 01B804 80040404 E7AC003C */ swc1 $f12, 0x3c($sp) /* 01B808 80040408 E7B20040 */ swc1 $f18, 0x40($sp) -/* 01B80C 8004040C 0C00A720 */ jal func_80029C80 +/* 01B80C 8004040C 0C00A720 */ jal atan2 /* 01B810 80040410 E7B00044 */ swc1 $f16, 0x44($sp) /* 01B814 80040414 3C040001 */ lui $a0, 1 /* 01B818 80040418 03C0302D */ daddu $a2, $fp, $zero @@ -1621,7 +1625,7 @@ func_8004055C: /* 01B964 80040564 8E87002C */ lw $a3, 0x2c($s4) /* 01B968 80040568 C6800030 */ lwc1 $f0, 0x30($s4) /* 01B96C 8004056C 0000282D */ daddu $a1, $zero, $zero -/* 01B970 80040570 0C052757 */ jal func_80149D5C +/* 01B970 80040570 0C052757 */ jal play_sound_at_position /* 01B974 80040574 E7A00010 */ swc1 $f0, 0x10($sp) /* 01B978 80040578 24020002 */ addiu $v0, $zero, 2 func_8004057C: @@ -1693,7 +1697,7 @@ func_8004057C: /* 01BA74 80040674 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 01BA78 80040678 E7BA0040 */ swc1 $f26, 0x40($sp) /* 01BA7C 8004067C E7AC003C */ swc1 $f12, 0x3c($sp) -/* 01BA80 80040680 0C00A720 */ jal func_80029C80 +/* 01BA80 80040680 0C00A720 */ jal atan2 /* 01BA84 80040684 E7AE0044 */ swc1 $f14, 0x44($sp) /* 01BA88 80040688 3C040001 */ lui $a0, 1 /* 01BA8C 8004068C 03C0302D */ daddu $a2, $fp, $zero @@ -1715,7 +1719,7 @@ func_8004057C: /* 01BACC 800406CC 46007406 */ mov.s $f16, $f14 /* 01BAD0 800406D0 E7AC003C */ swc1 $f12, 0x3c($sp) /* 01BAD4 800406D4 E7B20040 */ swc1 $f18, 0x40($sp) -/* 01BAD8 800406D8 0C00A720 */ jal func_80029C80 +/* 01BAD8 800406D8 0C00A720 */ jal atan2 /* 01BADC 800406DC E7B00044 */ swc1 $f16, 0x44($sp) /* 01BAE0 800406E0 3C040001 */ lui $a0, 1 /* 01BAE4 800406E4 03C0302D */ daddu $a2, $fp, $zero @@ -1729,7 +1733,7 @@ func_8004057C: /* 01BB04 80040704 14400070 */ bnez $v0, .L800408C8 /* 01BB08 80040708 0000802D */ daddu $s0, $zero, $zero .L8004070C: -/* 01BB0C 8004070C 0C03A752 */ jal func_800E9D48 +/* 01BB0C 8004070C 0C03A752 */ jal is_ability_active /* 01BB10 80040710 24040028 */ addiu $a0, $zero, 0x28 /* 01BB14 80040714 1040000A */ beqz $v0, .L80040740 /* 01BB18 80040718 00000000 */ nop @@ -1743,7 +1747,7 @@ func_8004057C: /* 01BB38 80040738 82620012 */ lb $v0, 0x12($s3) /* 01BB3C 8004073C 2C500001 */ sltiu $s0, $v0, 1 .L80040740: -/* 01BB40 80040740 0C03A752 */ jal func_800E9D48 +/* 01BB40 80040740 0C03A752 */ jal is_ability_active /* 01BB44 80040744 2404002D */ addiu $a0, $zero, 0x2d /* 01BB48 80040748 54400001 */ bnezl $v0, .L80040750 /* 01BB4C 8004074C 24100001 */ addiu $s0, $zero, 1 @@ -1820,12 +1824,12 @@ func_8004057C: /* 01BC5C 8004085C 82220007 */ lb $v0, 7($s1) /* 01BC60 80040860 10400005 */ beqz $v0, .L80040878 /* 01BC64 80040864 0000802D */ daddu $s0, $zero, $zero -/* 01BC68 80040868 0C03A752 */ jal func_800E9D48 +/* 01BC68 80040868 0C03A752 */ jal is_ability_active /* 01BC6C 8004086C 24040011 */ addiu $a0, $zero, 0x11 /* 01BC70 80040870 2C420001 */ sltiu $v0, $v0, 1 /* 01BC74 80040874 00028040 */ sll $s0, $v0, 1 .L80040878: -/* 01BC78 80040878 0C03A752 */ jal func_800E9D48 +/* 01BC78 80040878 0C03A752 */ jal is_ability_active /* 01BC7C 8004087C 2404002A */ addiu $a0, $zero, 0x2a /* 01BC80 80040880 5040001C */ beql $v0, $zero, .L800408F4 /* 01BC84 80040884 A2700004 */ sb $s0, 4($s3) @@ -1877,13 +1881,13 @@ func_800408F4: /* 01BD20 80040920 10400004 */ beqz $v0, .L80040934 /* 01BD24 80040924 0220B82D */ daddu $s7, $s1, $zero /* 01BD28 80040928 8E240054 */ lw $a0, 0x54($s1) -/* 01BD2C 8004092C 0C0B1108 */ jal func_802C4420 +/* 01BD2C 8004092C 0C0B1108 */ jal suspend_all_script /* 01BD30 80040930 00000000 */ nop .L80040934: /* 01BD34 80040934 8E220044 */ lw $v0, 0x44($s1) /* 01BD38 80040938 10400003 */ beqz $v0, .L80040948 /* 01BD3C 8004093C 00000000 */ nop -/* 01BD40 80040940 0C0B1108 */ jal func_802C4420 +/* 01BD40 80040940 0C0B1108 */ jal suspend_all_script /* 01BD44 80040944 8E24005C */ lw $a0, 0x5c($s1) .L80040948: /* 01BD48 80040948 8E760088 */ lw $s6, 0x88($s3) @@ -1919,7 +1923,7 @@ func_800408F4: /* 01BDB4 800409B4 2405000A */ addiu $a1, $zero, 0xa /* 01BDB8 800409B8 0040202D */ daddu $a0, $v0, $zero /* 01BDBC 800409BC 0000302D */ daddu $a2, $zero, $zero -/* 01BDC0 800409C0 0C0B0CF8 */ jal func_802C33E0 +/* 01BDC0 800409C0 0C0B0CF8 */ jal start_script /* 01BDC4 800409C4 A2320005 */ sb $s2, 5($s1) /* 01BDC8 800409C8 0040202D */ daddu $a0, $v0, $zero /* 01BDCC 800409CC AE240040 */ sw $a0, 0x40($s1) @@ -1956,7 +1960,7 @@ func_800408F4: /* 01BE40 80040A40 00431025 */ or $v0, $v0, $v1 /* 01BE44 80040A44 AE820000 */ sw $v0, ($s4) .L80040A48: -/* 01BE48 80040A48 0C03A752 */ jal func_800E9D48 +/* 01BE48 80040A48 0C03A752 */ jal is_ability_active /* 01BE4C 80040A4C 24040011 */ addiu $a0, $zero, 0x11 /* 01BE50 80040A50 14400013 */ bnez $v0, .L80040AA0 /* 01BE54 80040A54 24020003 */ addiu $v0, $zero, 3 @@ -1964,10 +1968,10 @@ func_800408F4: /* 01BE5C 80040A5C 24020002 */ addiu $v0, $zero, 2 /* 01BE60 80040A60 1462000F */ bne $v1, $v0, .L80040AA0 /* 01BE64 80040A64 24020003 */ addiu $v0, $zero, 3 -/* 01BE68 80040A68 0C039769 */ jal func_800E5DA4 +/* 01BE68 80040A68 0C039769 */ jal set_action_state /* 01BE6C 80040A6C 2404001B */ addiu $a0, $zero, 0x1b /* 01BE70 80040A70 86240008 */ lh $a0, 8($s1) -/* 01BE74 80040A74 0C00EABB */ jal func_8003AAEC +/* 01BE74 80040A74 0C00EABB */ jal get_npc_unsafe /* 01BE78 80040A78 00000000 */ nop /* 01BE7C 80040A7C 0040902D */ daddu $s2, $v0, $zero /* 01BE80 80040A80 C6400040 */ lwc1 $f0, 0x40($s2) @@ -1975,7 +1979,7 @@ func_800408F4: /* 01BE88 80040A88 E7A00010 */ swc1 $f0, 0x10($sp) /* 01BE8C 80040A8C 8E460038 */ lw $a2, 0x38($s2) /* 01BE90 80040A90 8E47003C */ lw $a3, 0x3c($s2) -/* 01BE94 80040A94 0C052757 */ jal func_80149D5C +/* 01BE94 80040A94 0C052757 */ jal play_sound_at_position /* 01BE98 80040A98 0000282D */ daddu $a1, $zero, $zero /* 01BE9C 80040A9C 24020003 */ addiu $v0, $zero, 3 .L80040AA0: @@ -1992,13 +1996,13 @@ func_800408F4: /* 01BEC4 80040AC4 10400004 */ beqz $v0, .L80040AD8 /* 01BEC8 80040AC8 0220B82D */ daddu $s7, $s1, $zero /* 01BECC 80040ACC 8E240054 */ lw $a0, 0x54($s1) -/* 01BED0 80040AD0 0C0B1108 */ jal func_802C4420 +/* 01BED0 80040AD0 0C0B1108 */ jal suspend_all_script /* 01BED4 80040AD4 00000000 */ nop .L80040AD8: /* 01BED8 80040AD8 8E220044 */ lw $v0, 0x44($s1) /* 01BEDC 80040ADC 10400003 */ beqz $v0, .L80040AEC /* 01BEE0 80040AE0 00000000 */ nop -/* 01BEE4 80040AE4 0C0B1108 */ jal func_802C4420 +/* 01BEE4 80040AE4 0C0B1108 */ jal suspend_all_script /* 01BEE8 80040AE8 8E24005C */ lw $a0, 0x5c($s1) .L80040AEC: /* 01BEEC 80040AEC 8E760088 */ lw $s6, 0x88($s3) @@ -2034,7 +2038,7 @@ func_800408F4: /* 01BF58 80040B58 2405000A */ addiu $a1, $zero, 0xa /* 01BF5C 80040B5C 0040202D */ daddu $a0, $v0, $zero /* 01BF60 80040B60 0000302D */ daddu $a2, $zero, $zero -/* 01BF64 80040B64 0C0B0CF8 */ jal func_802C33E0 +/* 01BF64 80040B64 0C0B0CF8 */ jal start_script /* 01BF68 80040B68 A2320005 */ sb $s2, 5($s1) /* 01BF6C 80040B6C 0040202D */ daddu $a0, $v0, $zero /* 01BF70 80040B70 AE240040 */ sw $a0, 0x40($s1) @@ -2078,13 +2082,13 @@ func_800408F4: /* 01BFFC 80040BFC 10400004 */ beqz $v0, .L80040C10 /* 01C000 80040C00 0220B82D */ daddu $s7, $s1, $zero /* 01C004 80040C04 8E240054 */ lw $a0, 0x54($s1) -/* 01C008 80040C08 0C0B1108 */ jal func_802C4420 +/* 01C008 80040C08 0C0B1108 */ jal suspend_all_script /* 01C00C 80040C0C 00000000 */ nop .L80040C10: /* 01C010 80040C10 8E220044 */ lw $v0, 0x44($s1) /* 01C014 80040C14 10400003 */ beqz $v0, .L80040C24 /* 01C018 80040C18 00000000 */ nop -/* 01C01C 80040C1C 0C0B1108 */ jal func_802C4420 +/* 01C01C 80040C1C 0C0B1108 */ jal suspend_all_script /* 01C020 80040C20 8E24005C */ lw $a0, 0x5c($s1) .L80040C24: /* 01C024 80040C24 8E760088 */ lw $s6, 0x88($s3) @@ -2127,7 +2131,7 @@ func_800408F4: /* 01C0AC 80040CAC 0000302D */ daddu $a2, $zero, $zero /* 01C0B0 80040CB0 0040202D */ daddu $a0, $v0, $zero /* 01C0B4 80040CB4 24020002 */ addiu $v0, $zero, 2 -/* 01C0B8 80040CB8 0C0B0CF8 */ jal func_802C33E0 +/* 01C0B8 80040CB8 0C0B0CF8 */ jal start_script /* 01C0BC 80040CBC A2220005 */ sb $v0, 5($s1) /* 01C0C0 80040CC0 0040202D */ daddu $a0, $v0, $zero /* 01C0C4 80040CC4 AE240040 */ sw $a0, 0x40($s1) @@ -2138,7 +2142,7 @@ func_800408F4: /* 01C0D8 80040CD8 AC82014C */ sw $v0, 0x14c($a0) /* 01C0DC 80040CDC 92220006 */ lbu $v0, 6($s1) /* 01C0E0 80040CE0 A0820004 */ sb $v0, 4($a0) -/* 01C0E4 80040CE4 0C00EABB */ jal func_8003AAEC +/* 01C0E4 80040CE4 0C00EABB */ jal get_npc_unsafe /* 01C0E8 80040CE8 86240008 */ lh $a0, 8($s1) /* 01C0EC 80040CEC 0040902D */ daddu $s2, $v0, $zero /* 01C0F0 80040CF0 C6460038 */ lwc1 $f6, 0x38($s2) @@ -2159,7 +2163,7 @@ func_800408F4: /* 01C124 80040D24 30620001 */ andi $v0, $v1, 1 /* 01C128 80040D28 1440002D */ bnez $v0, .L80040DE0 /* 01C12C 80040D2C 00000000 */ nop -/* 01C130 80040D30 0C00EABB */ jal func_8003AAEC +/* 01C130 80040D30 0C00EABB */ jal get_npc_unsafe /* 01C134 80040D34 86240008 */ lh $a0, 8($s1) /* 01C138 80040D38 0040902D */ daddu $s2, $v0, $zero /* 01C13C 80040D3C C4460038 */ lwc1 $f6, 0x38($v0) @@ -2220,7 +2224,7 @@ func_80040D6C: /* 01C20C 80040E0C 00431025 */ or $v0, $v0, $v1 /* 01C210 80040E10 12000003 */ beqz $s0, .L80040E20 /* 01C214 80040E14 AE820000 */ sw $v0, ($s4) -/* 01C218 80040E18 0C03980D */ jal func_800E6034 +/* 01C218 80040E18 0C03980D */ jal start_bounce_a /* 01C21C 80040E1C 00000000 */ nop .L80040E20: /* 01C220 80040E20 0000202D */ daddu $a0, $zero, $zero @@ -2234,13 +2238,13 @@ func_80040D6C: /* 01C23C 80040E3C 10400004 */ beqz $v0, .L80040E50 /* 01C240 80040E40 0220B82D */ daddu $s7, $s1, $zero /* 01C244 80040E44 8E240054 */ lw $a0, 0x54($s1) -/* 01C248 80040E48 0C0B1108 */ jal func_802C4420 +/* 01C248 80040E48 0C0B1108 */ jal suspend_all_script /* 01C24C 80040E4C 00000000 */ nop .L80040E50: /* 01C250 80040E50 8E220044 */ lw $v0, 0x44($s1) /* 01C254 80040E54 10400003 */ beqz $v0, .L80040E64 /* 01C258 80040E58 00000000 */ nop -/* 01C25C 80040E5C 0C0B1108 */ jal func_802C4420 +/* 01C25C 80040E5C 0C0B1108 */ jal suspend_all_script /* 01C260 80040E60 8E24005C */ lw $a0, 0x5c($s1) .L80040E64: /* 01C264 80040E64 8E760088 */ lw $s6, 0x88($s3) @@ -2282,7 +2286,7 @@ func_80040D6C: /* 01C2E8 80040EE8 0000302D */ daddu $a2, $zero, $zero /* 01C2EC 80040EEC 0040202D */ daddu $a0, $v0, $zero /* 01C2F0 80040EF0 24020004 */ addiu $v0, $zero, 4 -/* 01C2F4 80040EF4 0C0B0CF8 */ jal func_802C33E0 +/* 01C2F4 80040EF4 0C0B0CF8 */ jal start_script /* 01C2F8 80040EF8 A2220005 */ sb $v0, 5($s1) /* 01C2FC 80040EFC 0040202D */ daddu $a0, $v0, $zero /* 01C300 80040F00 AE240040 */ sw $a0, 0x40($s1) @@ -2293,7 +2297,7 @@ func_80040D6C: /* 01C314 80040F14 AC82014C */ sw $v0, 0x14c($a0) /* 01C318 80040F18 92220006 */ lbu $v0, 6($s1) /* 01C31C 80040F1C A0820004 */ sb $v0, 4($a0) -/* 01C320 80040F20 0C00EABB */ jal func_8003AAEC +/* 01C320 80040F20 0C00EABB */ jal get_npc_unsafe /* 01C324 80040F24 86240008 */ lh $a0, 8($s1) /* 01C328 80040F28 0040902D */ daddu $s2, $v0, $zero /* 01C32C 80040F2C C6480038 */ lwc1 $f8, 0x38($s2) @@ -2341,7 +2345,7 @@ func_80040D6C: /* 01C3CC 80040FCC 30620001 */ andi $v0, $v1, 1 /* 01C3D0 80040FD0 14400033 */ bnez $v0, .L800410A0 /* 01C3D4 80040FD4 00000000 */ nop -/* 01C3D8 80040FD8 0C00EABB */ jal func_8003AAEC +/* 01C3D8 80040FD8 0C00EABB */ jal get_npc_unsafe /* 01C3DC 80040FDC 86240008 */ lh $a0, 8($s1) /* 01C3E0 80040FE0 0040902D */ daddu $s2, $v0, $zero /* 01C3E4 80040FE4 C44C0038 */ lwc1 $f12, 0x38($v0) @@ -2401,7 +2405,7 @@ func_80041098: /* 01C4B4 800410B4 080104AF */ j func_800412BC /* 01C4B8 800410B8 00000000 */ nop -/* 01C4BC 800410BC 0C0B117A */ jal func_802C45E8 +/* 01C4BC 800410BC 0C0B117A */ jal suspend_all_group /* 01C4C0 800410C0 24040001 */ addiu $a0, $zero, 1 /* 01C4C4 800410C4 8E71008C */ lw $s1, 0x8c($s3) /* 01C4C8 800410C8 12200007 */ beqz $s1, .L800410E8 @@ -2409,7 +2413,7 @@ func_80041098: /* 01C4D0 800410D0 8E22003C */ lw $v0, 0x3c($s1) /* 01C4D4 800410D4 10400004 */ beqz $v0, .L800410E8 /* 01C4D8 800410D8 00000000 */ nop -/* 01C4DC 800410DC 0C0B1108 */ jal func_802C4420 +/* 01C4DC 800410DC 0C0B1108 */ jal suspend_all_script /* 01C4E0 800410E0 8E240054 */ lw $a0, 0x54($s1) /* 01C4E4 800410E4 8E71008C */ lw $s1, 0x8c($s3) .L800410E8: @@ -2419,7 +2423,7 @@ func_80041098: /* 01C4F4 800410F4 0000302D */ daddu $a2, $zero, $zero /* 01C4F8 800410F8 0040202D */ daddu $a0, $v0, $zero /* 01C4FC 800410FC 24020005 */ addiu $v0, $zero, 5 -/* 01C500 80041100 0C0B0CF8 */ jal func_802C33E0 +/* 01C500 80041100 0C0B0CF8 */ jal start_script /* 01C504 80041104 A2220005 */ sb $v0, 5($s1) /* 01C508 80041108 0040202D */ daddu $a0, $v0, $zero /* 01C50C 8004110C AE240038 */ sw $a0, 0x38($s1) @@ -2435,7 +2439,7 @@ func_80041098: /* 01C530 80041130 00000000 */ nop /* 01C534 80041134 0C03BD8A */ jal func_800EF628 /* 01C538 80041138 00000000 */ nop -/* 01C53C 8004113C 0C039769 */ jal func_800E5DA4 +/* 01C53C 8004113C 0C039769 */ jal set_action_state /* 01C540 80041140 2404000C */ addiu $a0, $zero, 0xc /* 01C544 80041144 24040001 */ addiu $a0, $zero, 1 /* 01C548 80041148 AE600090 */ sw $zero, 0x90($s3) @@ -2449,13 +2453,13 @@ func_80041098: /* 01C564 80041164 10400004 */ beqz $v0, .L80041178 /* 01C568 80041168 0220B82D */ daddu $s7, $s1, $zero /* 01C56C 8004116C 8E240054 */ lw $a0, 0x54($s1) -/* 01C570 80041170 0C0B1108 */ jal func_802C4420 +/* 01C570 80041170 0C0B1108 */ jal suspend_all_script /* 01C574 80041174 00000000 */ nop .L80041178: /* 01C578 80041178 8E220044 */ lw $v0, 0x44($s1) /* 01C57C 8004117C 10400003 */ beqz $v0, .L8004118C /* 01C580 80041180 00000000 */ nop -/* 01C584 80041184 0C0B1108 */ jal func_802C4420 +/* 01C584 80041184 0C0B1108 */ jal suspend_all_script /* 01C588 80041188 8E24005C */ lw $a0, 0x5c($s1) .L8004118C: /* 01C58C 8004118C 8E760088 */ lw $s6, 0x88($s3) @@ -2494,7 +2498,7 @@ func_80041098: /* 01C604 80041204 0000302D */ daddu $a2, $zero, $zero /* 01C608 80041208 0040202D */ daddu $a0, $v0, $zero /* 01C60C 8004120C 24020006 */ addiu $v0, $zero, 6 -/* 01C610 80041210 0C0B0CF8 */ jal func_802C33E0 +/* 01C610 80041210 0C0B0CF8 */ jal start_script /* 01C614 80041214 A2220005 */ sb $v0, 5($s1) /* 01C618 80041218 0040202D */ daddu $a0, $v0, $zero /* 01C61C 8004121C AE240040 */ sw $a0, 0x40($s1) @@ -2512,7 +2516,7 @@ func_80041098: /* 01C644 80041244 14400018 */ bnez $v0, .L800412A8 /* 01C648 80041248 00000000 */ nop func_8004124C: -/* 01C64C 8004124C 0C00EABB */ jal func_8003AAEC +/* 01C64C 8004124C 0C00EABB */ jal get_npc_unsafe /* 01C650 80041250 86240008 */ lh $a0, 8($s1) /* 01C654 80041254 0040902D */ daddu $s2, $v0, $zero /* 01C658 80041258 864200A8 */ lh $v0, 0xa8($s2) @@ -2556,7 +2560,7 @@ func_800412BC: /* 01C6E4 800412E4 00431025 */ or $v0, $v0, $v1 /* 01C6E8 800412E8 AE820000 */ sw $v0, ($s4) func_800412EC: -/* 01C6EC 800412EC 0C05272D */ jal func_80149CB4 +/* 01C6EC 800412EC 0C05272D */ jal play_sound /* 01C6F0 800412F0 00000000 */ nop /* 01C6F4 800412F4 24020003 */ addiu $v0, $zero, 3 func_800412F8: @@ -2638,7 +2642,7 @@ func_80041364: /* 01C7F8 800413F8 A020A654 */ sb $zero, -0x59ac($at) /* 01C7FC 800413FC 3C018007 */ lui $at, 0x8007 /* 01C800 80041400 AC207C40 */ sw $zero, 0x7c40($at) -/* 01C804 80041404 0C0B117A */ jal func_802C45E8 +/* 01C804 80041404 0C0B117A */ jal suspend_all_group /* 01C808 80041408 24040010 */ addiu $a0, $zero, 0x10 /* 01C80C 8004140C 82A2001C */ lb $v0, 0x1c($s5) /* 01C810 80041410 18400024 */ blez $v0, .L800414A4 @@ -2663,13 +2667,13 @@ func_80041364: /* 01C854 80041454 8E02003C */ lw $v0, 0x3c($s0) /* 01C858 80041458 10400003 */ beqz $v0, .L80041468 /* 01C85C 8004145C 00000000 */ nop -/* 01C860 80041460 0C0B1108 */ jal func_802C4420 +/* 01C860 80041460 0C0B1108 */ jal suspend_all_script /* 01C864 80041464 8E040054 */ lw $a0, 0x54($s0) .L80041468: /* 01C868 80041468 8E020044 */ lw $v0, 0x44($s0) /* 01C86C 8004146C 10400003 */ beqz $v0, .L8004147C /* 01C870 80041470 00000000 */ nop -/* 01C874 80041474 0C0B1108 */ jal func_802C4420 +/* 01C874 80041474 0C0B1108 */ jal suspend_all_script /* 01C878 80041478 8E04005C */ lw $a0, 0x5c($s0) .L8004147C: /* 01C87C 8004147C 8E820000 */ lw $v0, ($s4) @@ -2725,7 +2729,7 @@ func_80041364: /* 01C92C 8004152C 24020003 */ addiu $v0, $zero, 3 /* 01C930 80041530 1062001B */ beq $v1, $v0, .L800415A0 /* 01C934 80041534 00000000 */ nop -/* 01C938 80041538 0C03A752 */ jal func_800E9D48 +/* 01C938 80041538 0C03A752 */ jal is_ability_active /* 01C93C 8004153C 0040202D */ daddu $a0, $v0, $zero /* 01C940 80041540 10400016 */ beqz $v0, .L8004159C /* 01C944 80041544 00000000 */ nop @@ -2754,7 +2758,7 @@ func_80041364: .L8004159C: /* 01C99C 8004159C 8EB0008C */ lw $s0, 0x8c($s5) .L800415A0: -/* 01C9A0 800415A0 0C03A752 */ jal func_800E9D48 +/* 01C9A0 800415A0 0C03A752 */ jal is_ability_active /* 01C9A4 800415A4 2404002A */ addiu $a0, $zero, 0x2a /* 01C9A8 800415A8 1040000E */ beqz $v0, .L800415E4 /* 01C9AC 800415AC 24020003 */ addiu $v0, $zero, 3 @@ -2775,7 +2779,7 @@ func_80041364: /* 01C9E4 800415E4 82A30005 */ lb $v1, 5($s5) /* 01C9E8 800415E8 1462001D */ bne $v1, $v0, .L80041660 /* 01C9EC 800415EC 8EB0008C */ lw $s0, 0x8c($s5) -/* 01C9F0 800415F0 0C03A752 */ jal func_800E9D48 +/* 01C9F0 800415F0 0C03A752 */ jal is_ability_active /* 01C9F4 800415F4 24040028 */ addiu $a0, $zero, 0x28 /* 01C9F8 800415F8 10400019 */ beqz $v0, .L80041660 /* 01C9FC 800415FC 00000000 */ nop @@ -2881,7 +2885,7 @@ func_800416C4: /* 01CB4C 8004174C 8E020040 */ lw $v0, 0x40($s0) /* 01CB50 80041750 10400004 */ beqz $v0, .L80041764 /* 01CB54 80041754 00000000 */ nop -/* 01CB58 80041758 0C0B102B */ jal func_802C40AC +/* 01CB58 80041758 0C0B102B */ jal kill_script_by_ID /* 01CB5C 8004175C 8E040058 */ lw $a0, 0x58($s0) /* 01CB60 80041760 AE000040 */ sw $zero, 0x40($s0) .L80041764: @@ -2898,7 +2902,7 @@ func_800416C4: /* 01CB88 80041788 A6A000A2 */ sh $zero, 0xa2($s5) /* 01CB8C 8004178C 920200B5 */ lbu $v0, 0xb5($s0) /* 01CB90 80041790 2404002D */ addiu $a0, $zero, 0x2d -/* 01CB94 80041794 0C03A752 */ jal func_800E9D48 +/* 01CB94 80041794 0C03A752 */ jal is_ability_active /* 01CB98 80041798 A2A20010 */ sb $v0, 0x10($s5) /* 01CB9C 8004179C 10400008 */ beqz $v0, .L800417C0 /* 01CBA0 800417A0 00000000 */ nop @@ -2910,20 +2914,20 @@ func_800416C4: /* 01CBB8 800417B8 A2A200A0 */ sb $v0, 0xa0($s5) /* 01CBBC 800417BC A6A300A2 */ sh $v1, 0xa2($s5) .L800417C0: -/* 01CBC0 800417C0 0C05271B */ jal func_80149C6C +/* 01CBC0 800417C0 0C05271B */ jal stop_sound /* 01CBC4 800417C4 24042111 */ addiu $a0, $zero, 0x2111 -/* 01CBC8 800417C8 0C05271B */ jal func_80149C6C +/* 01CBC8 800417C8 0C05271B */ jal stop_sound /* 01CBCC 800417CC 24042112 */ addiu $a0, $zero, 0x2112 -/* 01CBD0 800417D0 0C05271B */ jal func_80149C6C +/* 01CBD0 800417D0 0C05271B */ jal stop_sound /* 01CBD4 800417D4 24042113 */ addiu $a0, $zero, 0x2113 -/* 01CBD8 800417D8 0C05271B */ jal func_80149C6C +/* 01CBD8 800417D8 0C05271B */ jal stop_sound /* 01CBDC 800417DC 24042114 */ addiu $a0, $zero, 0x2114 /* 01CBE0 800417E0 0C01CB37 */ jal func_80072CDC /* 01CBE4 800417E4 0000202D */ daddu $a0, $zero, $zero /* 01CBE8 800417E8 86840046 */ lh $a0, 0x46($s4) /* 01CBEC 800417EC 0C01CB33 */ jal func_80072CCC /* 01CBF0 800417F0 00000000 */ nop -/* 01CBF4 800417F4 0C01CB24 */ jal func_80072C90 +/* 01CBF4 800417F4 0C01CB24 */ jal load_battle /* 01CBF8 800417F8 86840044 */ lh $a0, 0x44($s4) /* 01CBFC 800417FC 0000202D */ daddu $a0, $zero, $zero /* 01CC00 80041800 3C05437F */ lui $a1, 0x437f @@ -2974,7 +2978,7 @@ func_800416C4: /* 01CC98 80041898 8E020040 */ lw $v0, 0x40($s0) /* 01CC9C 8004189C 10400004 */ beqz $v0, .L800418B0 /* 01CCA0 800418A0 00000000 */ nop -/* 01CCA4 800418A4 0C0B102B */ jal func_802C40AC +/* 01CCA4 800418A4 0C0B102B */ jal kill_script_by_ID /* 01CCA8 800418A8 8E040058 */ lw $a0, 0x58($s0) /* 01CCAC 800418AC AE000040 */ sw $zero, 0x40($s0) .L800418B0: @@ -3045,7 +3049,7 @@ func_80041964: /* 01CD90 80041990 F7B40048 */ sdc1 $f20, 0x48($sp) /* 01CD94 80041994 8E02008C */ lw $v0, 0x8c($s0) /* 01CD98 80041998 84440008 */ lh $a0, 8($v0) -/* 01CD9C 8004199C 0C00EABB */ jal func_8003AAEC +/* 01CD9C 8004199C 0C00EABB */ jal get_npc_unsafe /* 01CDA0 800419A0 0200882D */ daddu $s1, $s0, $zero /* 01CDA4 800419A4 0040382D */ daddu $a3, $v0, $zero /* 01CDA8 800419A8 8E020094 */ lw $v0, 0x94($s0) @@ -3121,7 +3125,7 @@ func_80041964: /* 01CEB4 80041AB4 AFA20014 */ sw $v0, 0x14($sp) /* 01CEB8 80041AB8 4406C000 */ mfc1 $a2, $f24 /* 01CEBC 80041ABC 27A20028 */ addiu $v0, $sp, 0x28 -/* 01CEC0 80041AC0 0C00B94E */ jal func_8002E538 +/* 01CEC0 80041AC0 0C00B94E */ jal get_screen_coords /* 01CEC4 80041AC4 AFA20018 */ sw $v0, 0x18($sp) /* 01CEC8 80041AC8 8E040000 */ lw $a0, ($s0) /* 01CECC 80041ACC 4405F000 */ mfc1 $a1, $f30 @@ -3135,7 +3139,7 @@ func_80041964: /* 01CEEC 80041AEC AFA20014 */ sw $v0, 0x14($sp) /* 01CEF0 80041AF0 4406D000 */ mfc1 $a2, $f26 /* 01CEF4 80041AF4 27A20034 */ addiu $v0, $sp, 0x34 -/* 01CEF8 80041AF8 0C00B94E */ jal func_8002E538 +/* 01CEF8 80041AF8 0C00B94E */ jal get_screen_coords /* 01CEFC 80041AFC AFA20018 */ sw $v0, 0x18($sp) /* 01CF00 80041B00 24040001 */ addiu $a0, $zero, 1 /* 01CF04 80041B04 0000282D */ daddu $a1, $zero, $zero @@ -3182,7 +3186,7 @@ func_80041964: /* 01CFA0 80041BA0 AFA20014 */ sw $v0, 0x14($sp) /* 01CFA4 80041BA4 4406C000 */ mfc1 $a2, $f24 /* 01CFA8 80041BA8 27A20028 */ addiu $v0, $sp, 0x28 -/* 01CFAC 80041BAC 0C00B94E */ jal func_8002E538 +/* 01CFAC 80041BAC 0C00B94E */ jal get_screen_coords /* 01CFB0 80041BB0 AFA20018 */ sw $v0, 0x18($sp) /* 01CFB4 80041BB4 8E040000 */ lw $a0, ($s0) /* 01CFB8 80041BB8 4405F000 */ mfc1 $a1, $f30 @@ -3196,7 +3200,7 @@ func_80041964: /* 01CFD8 80041BD8 AFA20014 */ sw $v0, 0x14($sp) /* 01CFDC 80041BDC 4406D000 */ mfc1 $a2, $f26 /* 01CFE0 80041BE0 27A20034 */ addiu $v0, $sp, 0x34 -/* 01CFE4 80041BE4 0C00B94E */ jal func_8002E538 +/* 01CFE4 80041BE4 0C00B94E */ jal get_screen_coords /* 01CFE8 80041BE8 AFA20018 */ sw $v0, 0x18($sp) /* 01CFEC 80041BEC 0000202D */ daddu $a0, $zero, $zero /* 01CFF0 80041BF0 0080282D */ daddu $a1, $a0, $zero @@ -3229,7 +3233,7 @@ func_80041C28: /* 01D054 80041C54 03E00008 */ jr $ra /* 01D058 80041C58 27BD0078 */ addiu $sp, $sp, 0x78 -func_80041C5C: +show_first_strike_message: /* 01D05C 80041C5C 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 01D060 80041C60 3C05800B */ lui $a1, 0x800b /* 01D064 80041C64 24A50F10 */ addiu $a1, $a1, 0xf10 @@ -3289,7 +3293,7 @@ func_80041C5C: /* 01D118 80041D18 3C04001D */ lui $a0, 0x1d .L80041D1C: /* 01D11C 80041D1C 348400AC */ ori $a0, $a0, 0xac -/* 01D120 80041D20 0C04991D */ jal func_80126474 +/* 01D120 80041D20 0C04991D */ jal get_string_width /* 01D124 80041D24 0000282D */ daddu $a1, $zero, $zero /* 01D128 80041D28 24480018 */ addiu $t0, $v0, 0x18 /* 01D12C 80041D2C 260300A0 */ addiu $v1, $s0, 0xa0 @@ -3320,7 +3324,7 @@ func_80041C5C: /* 01D190 80041D90 AFA0003C */ sw $zero, 0x3c($sp) /* 01D194 80041D94 AFA00040 */ sw $zero, 0x40($sp) /* 01D198 80041D98 AFA20048 */ sw $v0, 0x48($sp) -/* 01D19C 80041D9C 0C03D4B8 */ jal func_800F52E0 +/* 01D19C 80041D9C 0C03D4B8 */ jal draw_box /* 01D1A0 80041DA0 AFA0004C */ sw $zero, 0x4c($sp) /* 01D1A4 80041DA4 3C04001D */ lui $a0, 0x1d /* 01D1A8 80041DA8 080107B9 */ j func_80041EE4 @@ -3328,7 +3332,7 @@ func_80041C5C: .L80041DB0: /* 01D1B0 80041DB0 348400AD */ ori $a0, $a0, 0xad -/* 01D1B4 80041DB4 0C04991D */ jal func_80126474 +/* 01D1B4 80041DB4 0C04991D */ jal get_string_width /* 01D1B8 80041DB8 0000282D */ daddu $a1, $zero, $zero /* 01D1BC 80041DBC 24480018 */ addiu $t0, $v0, 0x18 /* 01D1C0 80041DC0 260300A0 */ addiu $v1, $s0, 0xa0 @@ -3359,19 +3363,19 @@ func_80041C5C: /* 01D224 80041E24 AFA0003C */ sw $zero, 0x3c($sp) /* 01D228 80041E28 AFA00040 */ sw $zero, 0x40($sp) /* 01D22C 80041E2C AFA20048 */ sw $v0, 0x48($sp) -/* 01D230 80041E30 0C03D4B8 */ jal func_800F52E0 +/* 01D230 80041E30 0C03D4B8 */ jal draw_box /* 01D234 80041E34 AFA0004C */ sw $zero, 0x4c($sp) /* 01D238 80041E38 3C04001D */ lui $a0, 0x1d /* 01D23C 80041E3C 080107B9 */ j func_80041EE4 /* 01D240 80041E40 348400AD */ ori $a0, $a0, 0xad .L80041E44: -/* 01D244 80041E44 0C03A752 */ jal func_800E9D48 +/* 01D244 80041E44 0C03A752 */ jal is_ability_active /* 01D248 80041E48 24040011 */ addiu $a0, $zero, 0x11 /* 01D24C 80041E4C 1440002C */ bnez $v0, .L80041F00 /* 01D250 80041E50 3C04001D */ lui $a0, 0x1d /* 01D254 80041E54 348400AE */ ori $a0, $a0, 0xae -/* 01D258 80041E58 0C04991D */ jal func_80126474 +/* 01D258 80041E58 0C04991D */ jal get_string_width /* 01D25C 80041E5C 0000282D */ daddu $a1, $zero, $zero /* 01D260 80041E60 24480018 */ addiu $t0, $v0, 0x18 /* 01D264 80041E64 260300A0 */ addiu $v1, $s0, 0xa0 @@ -3402,7 +3406,7 @@ func_80041C5C: /* 01D2C8 80041EC8 AFA0003C */ sw $zero, 0x3c($sp) /* 01D2CC 80041ECC AFA00040 */ sw $zero, 0x40($sp) /* 01D2D0 80041ED0 AFA20048 */ sw $v0, 0x48($sp) -/* 01D2D4 80041ED4 0C03D4B8 */ jal func_800F52E0 +/* 01D2D4 80041ED4 0C03D4B8 */ jal draw_box /* 01D2D8 80041ED8 AFA0004C */ sw $zero, 0x4c($sp) /* 01D2DC 80041EDC 3C04001D */ lui $a0, 0x1d /* 01D2E0 80041EE0 348400AE */ ori $a0, $a0, 0xae @@ -3412,7 +3416,7 @@ func_80041EE4: /* 01D2EC 80041EEC 240700FF */ addiu $a3, $zero, 0xff /* 01D2F0 80041EF0 2402000A */ addiu $v0, $zero, 0xa /* 01D2F4 80041EF4 AFA20010 */ sw $v0, 0x10($sp) -/* 01D2F8 80041EF8 0C04993B */ jal func_801264EC +/* 01D2F8 80041EF8 0C04993B */ jal draw_string /* 01D2FC 80041EFC AFA00014 */ sw $zero, 0x14($sp) func_80041F00: .L80041F00: @@ -3592,7 +3596,7 @@ func_80041F10: /* 01D560 80042160 2402001D */ addiu $v0, $zero, 0x1d /* 01D564 80042164 10620003 */ beq $v1, $v0, .L80042174 /* 01D568 80042168 00000000 */ nop -/* 01D56C 8004216C 0C039769 */ jal func_800E5DA4 +/* 01D56C 8004216C 0C039769 */ jal set_action_state /* 01D570 80042170 0000202D */ daddu $a0, $zero, $zero func_80042174: .L80042174: @@ -3640,13 +3644,13 @@ func_80042174: /* 01D600 80042200 10400019 */ beqz $v0, .L80042268 /* 01D604 80042204 2402000B */ addiu $v0, $zero, 0xb /* 01D608 80042208 8EC4008C */ lw $a0, 0x8c($s6) -/* 01D60C 8004220C 0C012354 */ jal func_80048D50 +/* 01D60C 8004220C 0C012354 */ jal get_coin_drop_amount /* 01D610 80042210 00000000 */ nop /* 01D614 80042214 1040000F */ beqz $v0, .L80042254 /* 01D618 80042218 2405000A */ addiu $a1, $zero, 0xa /* 01D61C 8004221C 3C048007 */ lui $a0, 0x8007 /* 01D620 80042220 24847C44 */ addiu $a0, $a0, 0x7c44 -/* 01D624 80042224 0C0B0CF8 */ jal func_802C33E0 +/* 01D624 80042224 0C0B0CF8 */ jal start_script /* 01D628 80042228 0000302D */ daddu $a2, $zero, $zero /* 01D62C 8004222C 3C03800A */ lui $v1, 0x800a /* 01D630 80042230 24630BB0 */ addiu $v1, $v1, 0xbb0 @@ -3676,7 +3680,7 @@ func_80042268: /* 01D678 80042278 82C2000B */ lb $v0, 0xb($s6) /* 01D67C 8004227C 10400013 */ beqz $v0, .L800422CC /* 01D680 80042280 00000000 */ nop -/* 01D684 80042284 0C012354 */ jal func_80048D50 +/* 01D684 80042284 0C012354 */ jal get_coin_drop_amount /* 01D688 80042288 8EC4008C */ lw $a0, 0x8c($s6) /* 01D68C 8004228C 1040000F */ beqz $v0, .L800422CC /* 01D690 80042290 00000000 */ nop @@ -3691,7 +3695,7 @@ func_80042268: .L800422B4: /* 01D6B4 800422B4 3C04800A */ lui $a0, 0x800a /* 01D6B8 800422B8 8C840BB4 */ lw $a0, 0xbb4($a0) -/* 01D6BC 800422BC 0C0B1059 */ jal func_802C4164 +/* 01D6BC 800422BC 0C0B1059 */ jal does_script_exist /* 01D6C0 800422C0 00000000 */ nop /* 01D6C4 800422C4 14400321 */ bnez $v0, .L80042F4C /* 01D6C8 800422C8 00000000 */ nop @@ -3720,7 +3724,7 @@ func_80042268: /* 01D718 80042318 1080000E */ beqz $a0, .L80042354 /* 01D71C 8004231C 2405000A */ addiu $a1, $zero, 0xa /* 01D720 80042320 0000302D */ daddu $a2, $zero, $zero -/* 01D724 80042324 0C0B0D74 */ jal func_802C35D0 +/* 01D724 80042324 0C0B0D74 */ jal start_script_in_group /* 01D728 80042328 00C0382D */ daddu $a3, $a2, $zero /* 01D72C 8004232C 0040202D */ daddu $a0, $v0, $zero /* 01D730 80042330 AE040048 */ sw $a0, 0x48($s0) @@ -3737,7 +3741,7 @@ func_80042268: /* 01D754 80042354 3C048007 */ lui $a0, 0x8007 /* 01D758 80042358 24847E38 */ addiu $a0, $a0, 0x7e38 /* 01D75C 8004235C 0000302D */ daddu $a2, $zero, $zero -/* 01D760 80042360 0C0B0D74 */ jal func_802C35D0 +/* 01D760 80042360 0C0B0D74 */ jal start_script_in_group /* 01D764 80042364 00C0382D */ daddu $a3, $a2, $zero /* 01D768 80042368 0040202D */ daddu $a0, $v0, $zero /* 01D76C 8004236C AE040048 */ sw $a0, 0x48($s0) @@ -3807,7 +3811,7 @@ func_80042388: .L80042448: /* 01D848 80042448 14400006 */ bnez $v0, .L80042464 /* 01D84C 8004244C 00000000 */ nop -/* 01D850 80042450 0C0B1059 */ jal func_802C4164 +/* 01D850 80042450 0C0B1059 */ jal does_script_exist /* 01D854 80042454 8E040060 */ lw $a0, 0x60($s0) /* 01D858 80042458 50400002 */ beql $v0, $zero, .L80042464 /* 01D85C 8004245C AE000048 */ sw $zero, 0x48($s0) @@ -3861,10 +3865,10 @@ func_80042388: /* 01D908 80042508 00000000 */ nop /* 01D90C 8004250C 86850048 */ lh $a1, 0x48($s4) /* 01D910 80042510 82C40020 */ lb $a0, 0x20($s6) -/* 01D914 80042514 0C00FB90 */ jal func_8003EE40 +/* 01D914 80042514 0C00FB90 */ jal set_defeated /* 01D918 80042518 00B32821 */ addu $a1, $a1, $s3 .L8004251C: -/* 01D91C 8004251C 0C00F9EB */ jal func_8003E7AC +/* 01D91C 8004251C 0C00F9EB */ jal kill_enemy /* 01D920 80042520 0200202D */ daddu $a0, $s0, $zero .L80042524: /* 01D924 80042524 8E820000 */ lw $v0, ($s4) @@ -3939,13 +3943,13 @@ func_80042388: /* 01DA10 80042610 8E02003C */ lw $v0, 0x3c($s0) /* 01DA14 80042614 10400003 */ beqz $v0, .L80042624 /* 01DA18 80042618 00000000 */ nop -/* 01DA1C 8004261C 0C0B1123 */ jal func_802C448C +/* 01DA1C 8004261C 0C0B1123 */ jal resume_all_script /* 01DA20 80042620 8E040054 */ lw $a0, 0x54($s0) .L80042624: /* 01DA24 80042624 8E020044 */ lw $v0, 0x44($s0) /* 01DA28 80042628 10400003 */ beqz $v0, .L80042638 /* 01DA2C 8004262C 00000000 */ nop -/* 01DA30 80042630 0C0B1123 */ jal func_802C448C +/* 01DA30 80042630 0C0B1123 */ jal resume_all_script /* 01DA34 80042634 8E04005C */ lw $a0, 0x5c($s0) .L80042638: /* 01DA38 80042638 8E820000 */ lw $v0, ($s4) @@ -3997,7 +4001,7 @@ func_80042388: /* 01DAD8 800426D8 8E040030 */ lw $a0, 0x30($s0) /* 01DADC 800426DC 1080000F */ beqz $a0, .L8004271C /* 01DAE0 800426E0 2405000A */ addiu $a1, $zero, 0xa -/* 01DAE4 800426E4 0C0B0CF8 */ jal func_802C33E0 +/* 01DAE4 800426E4 0C0B0CF8 */ jal start_script /* 01DAE8 800426E8 0000302D */ daddu $a2, $zero, $zero /* 01DAEC 800426EC 0040202D */ daddu $a0, $v0, $zero /* 01DAF0 800426F0 8E0200B0 */ lw $v0, 0xb0($s0) @@ -4046,7 +4050,7 @@ func_80042388: /* 01DB80 80042780 30420020 */ andi $v0, $v0, 0x20 /* 01DB84 80042784 14400006 */ bnez $v0, .L800427A0 /* 01DB88 80042788 00000000 */ nop -/* 01DB8C 8004278C 0C0B1059 */ jal func_802C4164 +/* 01DB8C 8004278C 0C0B1059 */ jal does_script_exist /* 01DB90 80042790 8E040060 */ lw $a0, 0x60($s0) /* 01DB94 80042794 50400002 */ beql $v0, $zero, .L800427A0 /* 01DB98 80042798 AE000048 */ sw $zero, 0x48($s0) @@ -4083,13 +4087,13 @@ func_80042388: /* 01DC04 80042804 8E02003C */ lw $v0, 0x3c($s0) /* 01DC08 80042808 10400003 */ beqz $v0, .L80042818 /* 01DC0C 8004280C 00000000 */ nop -/* 01DC10 80042810 0C0B1123 */ jal func_802C448C +/* 01DC10 80042810 0C0B1123 */ jal resume_all_script /* 01DC14 80042814 8E040054 */ lw $a0, 0x54($s0) .L80042818: /* 01DC18 80042818 8E020044 */ lw $v0, 0x44($s0) /* 01DC1C 8004281C 10400003 */ beqz $v0, .L8004282C /* 01DC20 80042820 00000000 */ nop -/* 01DC24 80042824 0C0B1123 */ jal func_802C448C +/* 01DC24 80042824 0C0B1123 */ jal resume_all_script /* 01DC28 80042828 8E04005C */ lw $a0, 0x5c($s0) .L8004282C: /* 01DC2C 8004282C 8E820000 */ lw $v0, ($s4) @@ -4147,7 +4151,7 @@ func_80042388: /* 01DCE8 800428E8 3C048007 */ lui $a0, 0x8007 /* 01DCEC 800428EC 24847E9C */ addiu $a0, $a0, 0x7e9c /* 01DCF0 800428F0 2405000A */ addiu $a1, $zero, 0xa -/* 01DCF4 800428F4 0C0B0CF8 */ jal func_802C33E0 +/* 01DCF4 800428F4 0C0B0CF8 */ jal start_script /* 01DCF8 800428F8 0000302D */ daddu $a2, $zero, $zero /* 01DCFC 800428FC 0040202D */ daddu $a0, $v0, $zero /* 01DD00 80042900 AE040048 */ sw $a0, 0x48($s0) @@ -4237,7 +4241,7 @@ func_80042388: /* 01DE2C 80042A2C 8E040030 */ lw $a0, 0x30($s0) /* 01DE30 80042A30 1080000C */ beqz $a0, .L80042A64 /* 01DE34 80042A34 2405000A */ addiu $a1, $zero, 0xa -/* 01DE38 80042A38 0C0B0CF8 */ jal func_802C33E0 +/* 01DE38 80042A38 0C0B0CF8 */ jal start_script /* 01DE3C 80042A3C 0000302D */ daddu $a2, $zero, $zero /* 01DE40 80042A40 0040202D */ daddu $a0, $v0, $zero /* 01DE44 80042A44 AE040048 */ sw $a0, 0x48($s0) @@ -4282,7 +4286,7 @@ func_80042388: /* 01DEC4 80042AC4 30420020 */ andi $v0, $v0, 0x20 /* 01DEC8 80042AC8 14400006 */ bnez $v0, .L80042AE4 /* 01DECC 80042ACC 00000000 */ nop -/* 01DED0 80042AD0 0C0B1059 */ jal func_802C4164 +/* 01DED0 80042AD0 0C0B1059 */ jal does_script_exist /* 01DED4 80042AD4 8E040060 */ lw $a0, 0x60($s0) /* 01DED8 80042AD8 50400002 */ beql $v0, $zero, .L80042AE4 /* 01DEDC 80042ADC AE000048 */ sw $zero, 0x48($s0) @@ -4319,13 +4323,13 @@ func_80042388: /* 01DF48 80042B48 8E02003C */ lw $v0, 0x3c($s0) /* 01DF4C 80042B4C 10400003 */ beqz $v0, .L80042B5C /* 01DF50 80042B50 00000000 */ nop -/* 01DF54 80042B54 0C0B1123 */ jal func_802C448C +/* 01DF54 80042B54 0C0B1123 */ jal resume_all_script /* 01DF58 80042B58 8E040054 */ lw $a0, 0x54($s0) .L80042B5C: /* 01DF5C 80042B5C 8E020044 */ lw $v0, 0x44($s0) /* 01DF60 80042B60 10400003 */ beqz $v0, .L80042B70 /* 01DF64 80042B64 00000000 */ nop -/* 01DF68 80042B68 0C0B1123 */ jal func_802C448C +/* 01DF68 80042B68 0C0B1123 */ jal resume_all_script /* 01DF6C 80042B6C 8E04005C */ lw $a0, 0x5c($s0) .L80042B70: /* 01DF70 80042B70 8E820000 */ lw $v0, ($s4) @@ -4398,13 +4402,13 @@ func_80042388: /* 01E05C 80042C5C 8E02003C */ lw $v0, 0x3c($s0) /* 01E060 80042C60 10400003 */ beqz $v0, .L80042C70 /* 01E064 80042C64 00000000 */ nop -/* 01E068 80042C68 0C0B1123 */ jal func_802C448C +/* 01E068 80042C68 0C0B1123 */ jal resume_all_script /* 01E06C 80042C6C 8E040054 */ lw $a0, 0x54($s0) .L80042C70: /* 01E070 80042C70 8E020044 */ lw $v0, 0x44($s0) /* 01E074 80042C74 10400003 */ beqz $v0, .L80042C84 /* 01E078 80042C78 00000000 */ nop -/* 01E07C 80042C7C 0C0B1123 */ jal func_802C448C +/* 01E07C 80042C7C 0C0B1123 */ jal resume_all_script /* 01E080 80042C80 8E04005C */ lw $a0, 0x5c($s0) .L80042C84: /* 01E084 80042C84 8E820000 */ lw $v0, ($s4) @@ -4444,7 +4448,7 @@ func_80042388: /* 01E0F8 80042CF8 8E040030 */ lw $a0, 0x30($s0) /* 01E0FC 80042CFC 1080000C */ beqz $a0, .L80042D30 /* 01E100 80042D00 2405000A */ addiu $a1, $zero, 0xa -/* 01E104 80042D04 0C0B0CF8 */ jal func_802C33E0 +/* 01E104 80042D04 0C0B0CF8 */ jal start_script /* 01E108 80042D08 0000302D */ daddu $a2, $zero, $zero /* 01E10C 80042D0C 0040202D */ daddu $a0, $v0, $zero /* 01E110 80042D10 AE040048 */ sw $a0, 0x48($s0) @@ -4499,7 +4503,7 @@ func_80042388: /* 01E1B0 80042DB0 30420020 */ andi $v0, $v0, 0x20 /* 01E1B4 80042DB4 14400006 */ bnez $v0, .L80042DD0 /* 01E1B8 80042DB8 00000000 */ nop -/* 01E1BC 80042DBC 0C0B1059 */ jal func_802C4164 +/* 01E1BC 80042DBC 0C0B1059 */ jal does_script_exist /* 01E1C0 80042DC0 8E040060 */ lw $a0, 0x60($s0) /* 01E1C4 80042DC4 50400002 */ beql $v0, $zero, .L80042DD0 /* 01E1C8 80042DC8 AE000048 */ sw $zero, 0x48($s0) @@ -4536,13 +4540,13 @@ func_80042388: /* 01E234 80042E34 8E02003C */ lw $v0, 0x3c($s0) /* 01E238 80042E38 10400003 */ beqz $v0, .L80042E48 /* 01E23C 80042E3C 00000000 */ nop -/* 01E240 80042E40 0C0B1123 */ jal func_802C448C +/* 01E240 80042E40 0C0B1123 */ jal resume_all_script /* 01E244 80042E44 8E040054 */ lw $a0, 0x54($s0) .L80042E48: /* 01E248 80042E48 8E020044 */ lw $v0, 0x44($s0) /* 01E24C 80042E4C 10400003 */ beqz $v0, .L80042E5C /* 01E250 80042E50 00000000 */ nop -/* 01E254 80042E54 0C0B1123 */ jal func_802C448C +/* 01E254 80042E54 0C0B1123 */ jal resume_all_script /* 01E258 80042E58 8E04005C */ lw $a0, 0x5c($s0) .L80042E5C: /* 01E25C 80042E5C 8E820000 */ lw $v0, ($s4) @@ -4607,7 +4611,7 @@ func_80042F18: /* 01E320 80042F20 240400FF */ addiu $a0, $zero, 0xff func_80042F24: .L80042F24: -/* 01E324 80042F24 0C0B1192 */ jal func_802C4648 +/* 01E324 80042F24 0C0B1192 */ jal resume_all_group /* 01E328 80042F28 24040010 */ addiu $a0, $zero, 0x10 /* 01E32C 80042F2C 24020002 */ addiu $v0, $zero, 2 /* 01E330 80042F30 3C01800A */ lui $at, 0x800a @@ -4642,7 +4646,7 @@ func_80042F4C: /* 01E394 80042F94 30420020 */ andi $v0, $v0, 0x20 /* 01E398 80042F98 14400016 */ bnez $v0, .L80042FF4 /* 01E39C 80042F9C 00000000 */ nop -/* 01E3A0 80042FA0 0C00EABB */ jal func_8003AAEC +/* 01E3A0 80042FA0 0C00EABB */ jal get_npc_unsafe /* 01E3A4 80042FA4 86040008 */ lh $a0, 8($s0) /* 01E3A8 80042FA8 0040202D */ daddu $a0, $v0, $zero /* 01E3AC 80042FAC 820200B4 */ lb $v0, 0xb4($s0) @@ -4737,7 +4741,7 @@ func_8004309C: /* 01E4DC 800430DC 10400007 */ beqz $v0, .L800430FC /* 01E4E0 800430E0 0000882D */ daddu $s1, $zero, $zero /* 01E4E4 800430E4 8E040050 */ lw $a0, 0x50($s0) -/* 01E4E8 800430E8 0C0B1059 */ jal func_802C4164 +/* 01E4E8 800430E8 0C0B1059 */ jal does_script_exist /* 01E4EC 800430EC 00000000 */ nop /* 01E4F0 800430F0 50400002 */ beql $v0, $zero, .L800430FC /* 01E4F4 800430F4 AE000038 */ sw $zero, 0x38($s0) @@ -4746,7 +4750,7 @@ func_8004309C: /* 01E4FC 800430FC 8E020040 */ lw $v0, 0x40($s0) /* 01E500 80043100 10400006 */ beqz $v0, .L8004311C /* 01E504 80043104 00000000 */ nop -/* 01E508 80043108 0C0B1059 */ jal func_802C4164 +/* 01E508 80043108 0C0B1059 */ jal does_script_exist /* 01E50C 8004310C 8E040058 */ lw $a0, 0x58($s0) /* 01E510 80043110 50400002 */ beql $v0, $zero, .L8004311C /* 01E514 80043114 AE000040 */ sw $zero, 0x40($s0) @@ -4760,7 +4764,7 @@ func_8004309C: /* 01E530 80043130 00000000 */ nop .L80043134: -/* 01E534 80043134 0C0B1192 */ jal func_802C4648 +/* 01E534 80043134 0C0B1192 */ jal resume_all_group /* 01E538 80043138 24040001 */ addiu $a0, $zero, 1 /* 01E53C 8004313C 8E30008C */ lw $s0, 0x8c($s1) /* 01E540 80043140 12000006 */ beqz $s0, .L8004315C @@ -4768,7 +4772,7 @@ func_8004309C: /* 01E548 80043148 8E02003C */ lw $v0, 0x3c($s0) /* 01E54C 8004314C 10400003 */ beqz $v0, .L8004315C /* 01E550 80043150 00000000 */ nop -/* 01E554 80043154 0C0B1123 */ jal func_802C448C +/* 01E554 80043154 0C0B1123 */ jal resume_all_script /* 01E558 80043158 8E040054 */ lw $a0, 0x54($s0) .L8004315C: /* 01E55C 8004315C 0C038069 */ jal func_800E01A4 @@ -4781,13 +4785,13 @@ func_8004309C: /* 01E578 80043178 2402000C */ addiu $v0, $zero, 0xc /* 01E57C 8004317C 14620003 */ bne $v1, $v0, .L8004318C /* 01E580 80043180 00000000 */ nop -/* 01E584 80043184 0C039769 */ jal func_800E5DA4 +/* 01E584 80043184 0C039769 */ jal set_action_state /* 01E588 80043188 0000202D */ daddu $a0, $zero, $zero .L8004318C: /* 01E58C 8004318C 0C03BCF5 */ jal func_800EF3D4 /* 01E590 80043190 0000202D */ daddu $a0, $zero, $zero /* 01E594 80043194 24040010 */ addiu $a0, $zero, 0x10 -/* 01E598 80043198 0C0B1192 */ jal func_802C4648 +/* 01E598 80043198 0C0B1192 */ jal resume_all_group /* 01E59C 8004319C A2200005 */ sb $zero, 5($s1) /* 01E5A0 800431A0 24020002 */ addiu $v0, $zero, 2 /* 01E5A4 800431A4 3C01800A */ lui $at, 0x800a @@ -4912,7 +4916,7 @@ func_800431DC: /* 01E760 80043360 8E220020 */ lw $v0, 0x20($s1) /* 01E764 80043364 10400091 */ beqz $v0, .L800435AC /* 01E768 80043368 00000000 */ nop -/* 01E76C 8004336C 0C00EABB */ jal func_8003AAEC +/* 01E76C 8004336C 0C00EABB */ jal get_npc_unsafe /* 01E770 80043370 86240008 */ lh $a0, 8($s1) /* 01E774 80043374 0040802D */ daddu $s0, $v0, $zero /* 01E778 80043378 C45A0038 */ lwc1 $f26, 0x38($v0) @@ -4965,7 +4969,7 @@ func_800431DC: /* 01E830 80043430 00000000 */ nop /* 01E834 80043434 4501005D */ bc1t .L800435AC /* 01E838 80043438 00000000 */ nop -/* 01E83C 8004343C 0C00A6C9 */ jal func_80029B24 +/* 01E83C 8004343C 0C00A6C9 */ jal clamp_angle /* 01E840 80043440 C68C00A8 */ lwc1 $f12, 0xa8($s4) /* 01E844 80043444 3C014334 */ lui $at, 0x4334 /* 01E848 80043448 44811000 */ mtc1 $at, $f2 @@ -4977,7 +4981,7 @@ func_800431DC: /* 01E860 80043460 C6EC006C */ lwc1 $f12, 0x6c($s7) /* 01E864 80043464 3C0142F0 */ lui $at, 0x42f0 /* 01E868 80043468 44814000 */ mtc1 $at, $f8 -/* 01E86C 8004346C 0C00A6C9 */ jal func_80029B24 +/* 01E86C 8004346C 0C00A6C9 */ jal clamp_angle /* 01E870 80043470 46086301 */ sub.s $f12, $f12, $f8 /* 01E874 80043474 8E8200A4 */ lw $v0, 0xa4($s4) /* 01E878 80043478 3C080100 */ lui $t0, 0x100 @@ -4993,7 +4997,7 @@ func_800431DC: /* 01E898 80043498 C6EC006C */ lwc1 $f12, 0x6c($s7) /* 01E89C 8004349C 3C0142F0 */ lui $at, 0x42f0 /* 01E8A0 800434A0 44814000 */ mtc1 $at, $f8 -/* 01E8A4 800434A4 0C00A6C9 */ jal func_80029B24 +/* 01E8A4 800434A4 0C00A6C9 */ jal clamp_angle /* 01E8A8 800434A8 46086300 */ add.s $f12, $f12, $f8 /* 01E8AC 800434AC 8E8200A4 */ lw $v0, 0xa4($s4) /* 01E8B0 800434B0 3C080100 */ lui $t0, 0x100 @@ -5005,17 +5009,17 @@ func_800431DC: /* 01E8C8 800434C8 00000000 */ nop /* 01E8CC 800434CC 4606A301 */ sub.s $f12, $f20, $f6 func_800434D0: -/* 01E8D0 800434D0 0C00A6C9 */ jal func_80029B24 +/* 01E8D0 800434D0 0C00A6C9 */ jal clamp_angle /* 01E8D4 800434D4 00000000 */ nop /* 01E8D8 800434D8 46000506 */ mov.s $f20, $f0 .L800434DC: /* 01E8DC 800434DC C7AC0030 */ lwc1 $f12, 0x30($sp) /* 01E8E0 800434E0 4406D000 */ mfc1 $a2, $f26 /* 01E8E4 800434E4 4407E000 */ mfc1 $a3, $f28 -/* 01E8E8 800434E8 0C00A720 */ jal func_80029C80 +/* 01E8E8 800434E8 0C00A720 */ jal atan2 /* 01E8EC 800434EC C7AE0038 */ lwc1 $f14, 0x38($sp) /* 01E8F0 800434F0 4600A306 */ mov.s $f12, $f20 -/* 01E8F4 800434F4 0C00A70A */ jal func_80029C28 +/* 01E8F4 800434F4 0C00A70A */ jal get_clamped_angle_diff /* 01E8F8 800434F8 46000386 */ mov.s $f14, $f0 /* 01E8FC 800434FC 3C0142B4 */ lui $at, 0x42b4 /* 01E900 80043500 44811000 */ mtc1 $at, $f2 @@ -5037,7 +5041,7 @@ func_800434D0: /* 01E940 80043540 4600E386 */ mov.s $f14, $f28 /* 01E944 80043544 E7AC0020 */ swc1 $f12, 0x20($sp) /* 01E948 80043548 E7B80024 */ swc1 $f24, 0x24($sp) -/* 01E94C 8004354C 0C00A720 */ jal func_80029C80 +/* 01E94C 8004354C 0C00A720 */ jal atan2 /* 01E950 80043550 E7AE0028 */ swc1 $f14, 0x28($sp) /* 01E954 80043554 0000202D */ daddu $a0, $zero, $zero /* 01E958 80043558 27A60024 */ addiu $a2, $sp, 0x24 @@ -5135,7 +5139,7 @@ func_80043668: /* 01EAA8 800436A8 03E00008 */ jr $ra /* 01EAAC 800436AC 27BD00A8 */ addiu $sp, $sp, 0xa8 -func_800436B0: +create_npcs: /* 01EAB0 800436B0 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 01EAB4 800436B4 AFBE0058 */ sw $fp, 0x58($sp) /* 01EAB8 800436B8 27BE0010 */ addiu $fp, $sp, 0x10 @@ -5235,7 +5239,7 @@ func_800437FC: /* 01EC08 80043808 2404004C */ addiu $a0, $zero, 0x4c /* 01EC0C 8004380C 8FA80034 */ lw $t0, 0x34($sp) /* 01EC10 80043810 8D17FFFA */ lw $s7, -6($t0) -/* 01EC14 80043814 0C00AB39 */ jal func_8002ACE4 +/* 01EC14 80043814 0C00AB39 */ jal heap_malloc /* 01EC18 80043818 AFA20024 */ sw $v0, 0x24($sp) /* 01EC1C 8004381C 0040A02D */ daddu $s4, $v0, $zero /* 01EC20 80043820 00161080 */ sll $v0, $s6, 2 @@ -5267,7 +5271,7 @@ func_80043838: .L8004387C: /* 01EC7C 8004387C 86850048 */ lh $a1, 0x48($s4) /* 01EC80 80043880 8FA40028 */ lw $a0, 0x28($sp) -/* 01EC84 80043884 0C00FB7C */ jal func_8003EDF0 +/* 01EC84 80043884 0C00FB7C */ jal get_defeated /* 01EC88 80043888 00B32821 */ addu $a1, $a1, $s3 /* 01EC8C 8004388C 10400006 */ beqz $v0, .L800438A8 /* 01EC90 80043890 00000000 */ nop @@ -5278,7 +5282,7 @@ func_80043838: /* 01ECA4 800438A4 AD000004 */ sw $zero, 4($t0) .L800438A8: -/* 01ECA8 800438A8 0C00AB39 */ jal func_8002ACE4 +/* 01ECA8 800438A8 0C00AB39 */ jal heap_malloc /* 01ECAC 800438AC 240400E8 */ addiu $a0, $zero, 0xe8 /* 01ECB0 800438B0 8FA70030 */ lw $a3, 0x30($sp) /* 01ECB4 800438B4 0040802D */ daddu $s0, $v0, $zero @@ -5417,7 +5421,7 @@ func_80043A44: /* 01EE90 80043A90 0C00E220 */ jal func_80038880 /* 01EE94 80043A94 03C0202D */ daddu $a0, $fp, $zero func_80043A98: -/* 01EE98 80043A98 0C00E2B7 */ jal func_80038ADC +/* 01EE98 80043A98 0C00E2B7 */ jal get_npc_by_index /* 01EE9C 80043A9C 0040202D */ daddu $a0, $v0, $zero /* 01EEA0 80043AA0 9243FFDF */ lbu $v1, -0x21($s2) /* 01EEA4 80043AA4 0040882D */ daddu $s1, $v0, $zero @@ -5460,7 +5464,7 @@ func_80043A98: /* 01EF38 80043B38 C6440000 */ lwc1 $f4, ($s2) /* 01EF3C 80043B3C 46802120 */ cvt.s.w $f4, $f4 /* 01EF40 80043B40 44052000 */ mfc1 $a1, $f4 -/* 01EF44 80043B44 0C00ECD0 */ jal func_8003B340 +/* 01EF44 80043B44 0C00ECD0 */ jal set_npc_yaw /* 01EF48 80043B48 0220202D */ daddu $a0, $s1, $zero /* 01EF4C 80043B4C 24023039 */ addiu $v0, $zero, 0x3039 /* 01EF50 80043B50 A60200E0 */ sh $v0, 0xe0($s0) @@ -5585,7 +5589,7 @@ func_80043B98: /* 01F0F0 80043CF0 8EA40008 */ lw $a0, 8($s5) /* 01F0F4 80043CF4 1080000C */ beqz $a0, .L80043D28 /* 01F0F8 80043CF8 2405000A */ addiu $a1, $zero, 0xa -/* 01F0FC 80043CFC 0C0B0CF8 */ jal func_802C33E0 +/* 01F0FC 80043CFC 0C0B0CF8 */ jal start_script /* 01F100 80043D00 0000302D */ daddu $a2, $zero, $zero /* 01F104 80043D04 0040182D */ daddu $v1, $v0, $zero /* 01F108 80043D08 AE03003C */ sw $v1, 0x3c($s0) @@ -5653,7 +5657,7 @@ func_80043D30: /* 01F1DC 80043DDC 8E02003C */ lw $v0, 0x3c($s0) /* 01F1E0 80043DE0 10400005 */ beqz $v0, .L80043DF8 /* 01F1E4 80043DE4 00000000 */ nop -/* 01F1E8 80043DE8 0C0B1059 */ jal func_802C4164 +/* 01F1E8 80043DE8 0C0B1059 */ jal does_script_exist /* 01F1EC 80043DEC 8E040054 */ lw $a0, 0x54($s0) /* 01F1F0 80043DF0 54400001 */ bnezl $v0, .L80043DF8 /* 01F1F4 80043DF4 24150001 */ addiu $s5, $zero, 1 @@ -5694,7 +5698,7 @@ func_80043D30: /* 01F26C 80043E6C 8E04001C */ lw $a0, 0x1c($s0) /* 01F270 80043E70 1080000C */ beqz $a0, .L80043EA4 /* 01F274 80043E74 2405000A */ addiu $a1, $zero, 0xa -/* 01F278 80043E78 0C0B0CF8 */ jal func_802C33E0 +/* 01F278 80043E78 0C0B0CF8 */ jal start_script /* 01F27C 80043E7C 0000302D */ daddu $a2, $zero, $zero /* 01F280 80043E80 0040182D */ daddu $v1, $v0, $zero /* 01F284 80043E84 AE030034 */ sw $v1, 0x34($s0) @@ -5747,7 +5751,7 @@ func_80043D30: /* 01F324 80043F24 8E020034 */ lw $v0, 0x34($s0) /* 01F328 80043F28 10400006 */ beqz $v0, .L80043F44 /* 01F32C 80043F2C 00000000 */ nop -/* 01F330 80043F30 0C0B1059 */ jal func_802C4164 +/* 01F330 80043F30 0C0B1059 */ jal does_script_exist /* 01F334 80043F34 8E04004C */ lw $a0, 0x4c($s0) /* 01F338 80043F38 50400002 */ beql $v0, $zero, .L80043F44 /* 01F33C 80043F3C AE000034 */ sw $zero, 0x34($s0) @@ -5794,7 +5798,7 @@ func_80043D30: /* 01F3CC 80043FCC 8E040024 */ lw $a0, 0x24($s0) /* 01F3D0 80043FD0 1080000D */ beqz $a0, .L80044008 /* 01F3D4 80043FD4 2405000A */ addiu $a1, $zero, 0xa -/* 01F3D8 80043FD8 0C0B0CF8 */ jal func_802C33E0 +/* 01F3D8 80043FD8 0C0B0CF8 */ jal start_script /* 01F3DC 80043FDC 0000302D */ daddu $a2, $zero, $zero /* 01F3E0 80043FE0 0040182D */ daddu $v1, $v0, $zero /* 01F3E4 80043FE4 AE03003C */ sw $v1, 0x3c($s0) @@ -5845,7 +5849,7 @@ func_80043D30: /* 01F484 80044084 8E04002C */ lw $a0, 0x2c($s0) /* 01F488 80044088 1080000C */ beqz $a0, .L800440BC /* 01F48C 8004408C 2405000A */ addiu $a1, $zero, 0xa -/* 01F490 80044090 0C0B0CF8 */ jal func_802C33E0 +/* 01F490 80044090 0C0B0CF8 */ jal start_script /* 01F494 80044094 0000302D */ daddu $a2, $zero, $zero /* 01F498 80044098 0040182D */ daddu $v1, $v0, $zero /* 01F49C 8004409C AE030044 */ sw $v1, 0x44($s0) @@ -5870,7 +5874,7 @@ func_80043D30: /* 01F4E0 800440E0 1440FFDA */ bnez $v0, .L8004404C /* 01F4E4 800440E4 26520004 */ addiu $s2, $s2, 4 .L800440E8: -/* 01F4E8 800440E8 0C0B1192 */ jal func_802C4648 +/* 01F4E8 800440E8 0C0B1192 */ jal resume_all_group /* 01F4EC 800440EC 24040010 */ addiu $a0, $zero, 0x10 /* 01F4F0 800440F0 24020002 */ addiu $v0, $zero, 2 /* 01F4F4 800440F4 3C01800A */ lui $at, 0x800a diff --git a/papermario/asm/code_1b40_len_20b0.s b/papermario/asm/code_1b40_len_20b0.s index 9579273622..6a3524e2c7 100644 --- a/papermario/asm/code_1b40_len_20b0.s +++ b/papermario/asm/code_1b40_len_20b0.s @@ -1,11 +1,11 @@ .section .text80026740, "ax" -func_80026740: +step_game_loop: /* 001B40 80026740 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 001B44 80026744 AFBF0018 */ sw $ra, 0x18($sp) /* 001B48 80026748 AFB10014 */ sw $s1, 0x14($sp) -/* 001B4C 8002674C 0C00A21D */ jal func_80028874 +/* 001B4C 8002674C 0C00A21D */ jal update_input /* 001B50 80026750 AFB00010 */ sw $s0, 0x10($sp) /* 001B54 80026754 3C038007 */ lui $v1, 0x8007 /* 001B58 80026758 8C63419C */ lw $v1, 0x419c($v1) @@ -45,23 +45,23 @@ func_80026740: /* 001BD8 800267D8 00000000 */ nop /* 001BDC 800267DC 0C048D01 */ jal func_80123404 /* 001BE0 800267E0 00000000 */ nop -/* 001BE4 800267E4 0C051618 */ jal func_80145860 +/* 001BE4 800267E4 0C051618 */ jal update_triggers /* 001BE8 800267E8 00000000 */ nop -/* 001BEC 800267EC 0C0B0F5D */ jal func_802C3D74 +/* 001BEC 800267EC 0C0B0F5D */ jal update_scripts /* 001BF0 800267F0 00000000 */ nop -/* 001BF4 800267F4 0C048DF6 */ jal func_801237D8 +/* 001BF4 800267F4 0C048DF6 */ jal update_messages /* 001BF8 800267F8 00000000 */ nop -/* 001BFC 800267FC 0C050584 */ jal func_80141610 +/* 001BFC 800267FC 0C050584 */ jal update_menu_icons /* 001C00 80026800 00000000 */ nop -/* 001C04 80026804 0C044B9E */ jal func_80112E78 +/* 001C04 80026804 0C044B9E */ jal step_current_game_mode /* 001C08 80026808 00000000 */ nop -/* 001C0C 8002680C 0C043DB4 */ jal func_8010F6D0 +/* 001C0C 8002680C 0C043DB4 */ jal update_entities /* 001C10 80026810 00000000 */ nop /* 001C14 80026814 0C04E066 */ jal func_80138198 /* 001C18 80026818 00000000 */ nop /* 001C1C 8002681C 0C052952 */ jal func_8014A548 /* 001C20 80026820 00000000 */ nop -/* 001C24 80026824 0C051C99 */ jal func_80147264 +/* 001C24 80026824 0C051C99 */ jal UpdateMusicPlayers /* 001C28 80026828 00000000 */ nop /* 001C2C 8002682C 0C0525CD */ jal func_80149734 /* 001C30 80026830 00000000 */ nop @@ -126,7 +126,7 @@ func_80026740: /* 001D04 80026904 00000000 */ nop /* 001D08 80026908 0C05260E */ jal func_80149838 /* 001D0C 8002690C 00000000 */ nop -/* 001D10 80026910 0C00CD3C */ jal func_800334F0 +/* 001D10 80026910 0C00CD3C */ jal set_game_mode /* 001D14 80026914 0000202D */ daddu $a0, $zero, $zero /* 001D18 80026918 8E020000 */ lw $v0, ($s0) /* 001D1C 8002691C 2403FFDF */ addiu $v1, $zero, -0x21 @@ -182,7 +182,7 @@ func_8002693C: /* 001DC8 800269C8 00621024 */ and $v0, $v1, $v0 .L800269CC: /* 001DCC 800269CC AC820000 */ sw $v0, ($a0) -/* 001DD0 800269D0 0C00A67F */ jal func_800299FC +/* 001DD0 800269D0 0C00A67F */ jal rand_int /* 001DD4 800269D4 24040001 */ addiu $a0, $zero, 1 .L800269D8: /* 001DD8 800269D8 8FBF0018 */ lw $ra, 0x18($sp) @@ -258,7 +258,7 @@ func_80026AB4: /* 001EDC 80026ADC 00A22823 */ subu $a1, $a1, $v0 /* 001EE0 80026AE0 000528C3 */ sra $a1, $a1, 3 /* 001EE4 80026AE4 00442021 */ addu $a0, $v0, $a0 -/* 001EE8 80026AE8 0C00B331 */ jal func_8002CCC4 +/* 001EE8 80026AE8 0C00B331 */ jal nuGfxTaskStart /* 001EEC 80026AEC 000528C0 */ sll $a1, $a1, 3 /* 001EF0 80026AF0 8FBF001C */ lw $ra, 0x1c($sp) /* 001EF4 80026AF4 8FB20018 */ lw $s2, 0x18($sp) @@ -267,7 +267,7 @@ func_80026AB4: /* 001F00 80026B00 03E00008 */ jr $ra /* 001F04 80026B04 27BD0020 */ addiu $sp, $sp, 0x20 -func_80026B08: +gfx_draw_frame: /* 001F08 80026B08 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 001F0C 80026B0C 3C04800A */ lui $a0, 0x800a /* 001F10 80026B10 8C84A674 */ lw $a0, -0x598c($a0) @@ -306,7 +306,7 @@ func_80026B08: /* 001F8C 80026B8C 30420002 */ andi $v0, $v0, 2 /* 001F90 80026B90 14400003 */ bnez $v0, .L80026BA0 /* 001F94 80026B94 00000000 */ nop -/* 001F98 80026B98 0C00B5CF */ jal func_8002D73C +/* 001F98 80026B98 0C00B5CF */ jal render_frame /* 001F9C 80026B9C 0000202D */ daddu $a0, $zero, $zero .L80026BA0: /* 001FA0 80026BA0 0C038098 */ jal func_800E0260 @@ -321,7 +321,7 @@ func_80026B08: /* 001FC4 80026BC4 00000000 */ nop /* 001FC8 80026BC8 0C0167E5 */ jal func_80059F94 /* 001FCC 80026BCC 00000000 */ nop -/* 001FD0 80026BD0 0C044BD6 */ jal func_80112F58 +/* 001FD0 80026BD0 0C044BD6 */ jal render_ui /* 001FD4 80026BD4 00000000 */ nop /* 001FD8 80026BD8 8E020000 */ lw $v0, ($s0) /* 001FDC 80026BDC 3C030001 */ lui $v1, 1 @@ -340,7 +340,7 @@ func_80026B08: /* 00200C 80026C0C 80420078 */ lb $v0, 0x78($v0) /* 002010 80026C10 14400004 */ bnez $v0, .L80026C24 /* 002014 80026C14 00000000 */ nop -/* 002018 80026C18 0C00B5CF */ jal func_8002D73C +/* 002018 80026C18 0C00B5CF */ jal render_frame /* 00201C 80026C1C 24040001 */ addiu $a0, $zero, 1 /* 002020 80026C20 3C100010 */ lui $s0, 0x10 .L80026C24: @@ -351,7 +351,7 @@ func_80026B08: /* 002034 80026C34 00501024 */ and $v0, $v0, $s0 /* 002038 80026C38 14400003 */ bnez $v0, .L80026C48 /* 00203C 80026C3C 00000000 */ nop -/* 002040 80026C40 0C049081 */ jal func_80124204 +/* 002040 80026C40 0C049081 */ jal render_messages /* 002044 80026C44 00000000 */ nop .L80026C48: /* 002048 80026C48 0C048D38 */ jal func_801234E0 @@ -365,7 +365,7 @@ func_80026B08: /* 002068 80026C68 00501024 */ and $v0, $v0, $s0 /* 00206C 80026C6C 14430003 */ bne $v0, $v1, .L80026C7C /* 002070 80026C70 00000000 */ nop -/* 002074 80026C74 0C049081 */ jal func_80124204 +/* 002074 80026C74 0C049081 */ jal render_messages /* 002078 80026C78 00000000 */ nop .L80026C7C: /* 00207C 80026C7C 0C00AEA0 */ jal func_8002BA80 @@ -375,7 +375,7 @@ func_80026B08: /* 00208C 80026C8C 00431024 */ and $v0, $v0, $v1 /* 002090 80026C90 10400003 */ beqz $v0, .L80026CA0 /* 002094 80026C94 00000000 */ nop -/* 002098 80026C98 0C049081 */ jal func_80124204 +/* 002098 80026C98 0C049081 */ jal render_messages /* 00209C 80026C9C 00000000 */ nop .L80026CA0: /* 0020A0 80026CA0 8E220000 */ lw $v0, ($s1) @@ -445,7 +445,7 @@ func_80026D38: /* 00218C 80026D8C AD020000 */ sw $v0, ($t0) /* 002190 80026D90 3C02DF00 */ lui $v0, 0xdf00 /* 002194 80026D94 AC620000 */ sw $v0, ($v1) -/* 002198 80026D98 0C00B331 */ jal func_8002CCC4 +/* 002198 80026D98 0C00B331 */ jal nuGfxTaskStart /* 00219C 80026D9C AC600004 */ sw $zero, 4($v1) /* 0021A0 80026DA0 24050140 */ addiu $a1, $zero, 0x140 /* 0021A4 80026DA4 240600F0 */ addiu $a2, $zero, 0xf0 @@ -464,6 +464,7 @@ func_80026DC8: /* 0021D4 80026DD4 03E00008 */ jr $ra /* 0021D8 80026DD8 27BD0020 */ addiu $sp, $sp, 0x20 +load_engine_data: /* 0021DC 80026DDC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0021E0 80026DE0 3C040010 */ lui $a0, 0x10 /* 0021E4 80026DE4 2484EE30 */ addiu $a0, $a0, -0x11d0 @@ -472,7 +473,7 @@ func_80026DC8: /* 0021F0 80026DF0 3C06802E */ lui $a2, 0x802e /* 0021F4 80026DF4 24C6BD40 */ addiu $a2, $a2, -0x42c0 /* 0021F8 80026DF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0021FC 80026DFC 0C00A5CF */ jal func_8002973C +/* 0021FC 80026DFC 0C00A5CF */ jal dma_copy /* 002200 80026E00 AFB00010 */ sw $s0, 0x10($sp) /* 002204 80026E04 3C040007 */ lui $a0, 7 /* 002208 80026E08 248459B0 */ addiu $a0, $a0, 0x59b0 @@ -480,7 +481,7 @@ func_80026DC8: /* 002210 80026E10 24A55DD0 */ addiu $a1, $a1, 0x5dd0 /* 002214 80026E14 3C06800E */ lui $a2, 0x800e /* 002218 80026E18 24C6C500 */ addiu $a2, $a2, -0x3b00 -/* 00221C 80026E1C 0C00A5CF */ jal func_8002973C +/* 00221C 80026E1C 0C00A5CF */ jal dma_copy /* 002220 80026E20 00000000 */ nop /* 002224 80026E24 3C04000E */ lui $a0, 0xe /* 002228 80026E28 248479B0 */ addiu $a0, $a0, 0x79b0 @@ -488,7 +489,7 @@ func_80026DC8: /* 002230 80026E30 24A5EE30 */ addiu $a1, $a1, -0x11d0 /* 002234 80026E34 3C06802C */ lui $a2, 0x802c /* 002238 80026E38 24C63000 */ addiu $a2, $a2, 0x3000 -/* 00223C 80026E3C 0C00A5CF */ jal func_8002973C +/* 00223C 80026E3C 0C00A5CF */ jal dma_copy /* 002240 80026E40 00000000 */ nop /* 002244 80026E44 3C040010 */ lui $a0, 0x10 /* 002248 80026E48 24842610 */ addiu $a0, $a0, 0x2610 @@ -496,7 +497,7 @@ func_80026DC8: /* 002250 80026E50 24A5CC10 */ addiu $a1, $a1, -0x33f0 /* 002254 80026E54 3C06802E */ lui $a2, 0x802e /* 002258 80026E58 24C60D90 */ addiu $a2, $a2, 0xd90 -/* 00225C 80026E5C 0C00A5CF */ jal func_8002973C +/* 00225C 80026E5C 0C00A5CF */ jal dma_copy /* 002260 80026E60 00000000 */ nop /* 002264 80026E64 3C04000A */ lui $a0, 0xa /* 002268 80026E68 24845DD0 */ addiu $a0, $a0, 0x5dd0 @@ -504,7 +505,7 @@ func_80026DC8: /* 002270 80026E70 24A579B0 */ addiu $a1, $a1, 0x79b0 /* 002274 80026E74 3C068011 */ lui $a2, 0x8011 /* 002278 80026E78 24C6F6D0 */ addiu $a2, $a2, -0x930 -/* 00227C 80026E7C 0C00A5CF */ jal func_8002973C +/* 00227C 80026E7C 0C00A5CF */ jal dma_copy /* 002280 80026E80 00000000 */ nop /* 002284 80026E84 3C040011 */ lui $a0, 0x11 /* 002288 80026E88 2484CC10 */ addiu $a0, $a0, -0x33f0 @@ -512,7 +513,7 @@ func_80026DC8: /* 002290 80026E90 24A5F1B0 */ addiu $a1, $a1, -0xe50 /* 002294 80026E94 3C06802F */ lui $a2, 0x802f /* 002298 80026E98 24C6B3D0 */ addiu $a2, $a2, -0x4c30 -/* 00229C 80026E9C 0C00A5CF */ jal func_8002973C +/* 00229C 80026E9C 0C00A5CF */ jal dma_copy /* 0022A0 80026EA0 00000000 */ nop /* 0022A4 80026EA4 3C108007 */ lui $s0, 0x8007 /* 0022A8 80026EA8 2610419C */ addiu $s0, $s0, 0x419c @@ -548,21 +549,21 @@ func_80026DC8: /* 002320 80026F20 24020005 */ addiu $v0, $zero, 5 /* 002324 80026F24 3C018007 */ lui $at, 0x8007 /* 002328 80026F28 A0224021 */ sb $v0, 0x4021($at) -/* 00232C 80026F2C 0C00AE13 */ jal func_8002B84C +/* 00232C 80026F2C 0C00AE13 */ jal fio_init_flash /* 002330 80026F30 AC600168 */ sw $zero, 0x168($v1) /* 002334 80026F34 0C00A20E */ jal func_80028838 /* 002338 80026F38 00000000 */ nop -/* 00233C 80026F3C 0C00AB00 */ jal func_8002AC00 +/* 00233C 80026F3C 0C00AB00 */ jal general_heap_create /* 002340 80026F40 00000000 */ nop /* 002344 80026F44 0C047624 */ jal func_8011D890 /* 002348 80026F48 00000000 */ nop /* 00234C 80026F4C 0C048C2E */ jal func_801230B8 /* 002350 80026F50 00000000 */ nop -/* 002354 80026F54 0C0B0C77 */ jal func_802C31DC +/* 002354 80026F54 0C0B0C77 */ jal clear_script_list /* 002358 80026F58 00000000 */ nop -/* 00235C 80026F5C 0C00B7BD */ jal func_8002DEF4 +/* 00235C 80026F5C 0C00B7BD */ jal create_cameras_a /* 002360 80026F60 00000000 */ nop -/* 002364 80026F64 0C037F14 */ jal func_800DFC50 +/* 002364 80026F64 0C037F14 */ jal clear_player_status /* 002368 80026F68 00000000 */ nop /* 00236C 80026F6C 0C0B763E */ jal func_802DD8F8 /* 002370 80026F70 0000202D */ daddu $a0, $zero, $zero @@ -570,15 +571,15 @@ func_80026DC8: /* 002378 80026F78 00000000 */ nop /* 00237C 80026F7C 0C047889 */ jal func_8011E224 /* 002380 80026F80 00000000 */ nop -/* 002384 80026F84 0C045751 */ jal func_80115D44 +/* 002384 80026F84 0C045751 */ jal clear_model_data /* 002388 80026F88 00000000 */ nop /* 00238C 80026F8C 0C052010 */ jal func_80148040 /* 002390 80026F90 00000000 */ nop /* 002394 80026F94 0C05177E */ jal func_80145DF8 /* 002398 80026F98 00000000 */ nop -/* 00239C 80026F9C 0C048D98 */ jal func_80123660 +/* 00239C 80026F9C 0C048D98 */ jal clear_character_set /* 0023A0 80026FA0 00000000 */ nop -/* 0023A4 80026FA4 0C048D9D */ jal func_80123674 +/* 0023A4 80026FA4 0C048D9D */ jal clear_printers /* 0023A8 80026FA8 00000000 */ nop /* 0023AC 80026FAC 0C044AE6 */ jal func_80112B98 /* 0023B0 80026FB0 00000000 */ nop @@ -586,11 +587,11 @@ func_80026DC8: /* 0023B8 80026FB8 00000000 */ nop /* 0023BC 80026FBC 0C050440 */ jal func_80141100 /* 0023C0 80026FC0 00000000 */ nop -/* 0023C4 80026FC4 0C0515A0 */ jal func_80145680 +/* 0023C4 80026FC4 0C0515A0 */ jal clear_trigger_data /* 0023C8 80026FC8 00000000 */ nop /* 0023CC 80026FCC 0C04432E */ jal func_80110CB8 /* 0023D0 80026FD0 0000202D */ daddu $a0, $zero, $zero -/* 0023D4 80026FD4 0C039CE8 */ jal func_800E73A0 +/* 0023D4 80026FD4 0C039CE8 */ jal clear_player_data /* 0023D8 80026FD8 00000000 */ nop /* 0023DC 80026FDC 0C00F8CE */ jal func_8003E338 /* 0023E0 80026FE0 00000000 */ nop @@ -598,9 +599,9 @@ func_80026DC8: /* 0023E8 80026FE8 00000000 */ nop /* 0023EC 80026FEC 0C016727 */ jal func_80059C9C /* 0023F0 80026FF0 00000000 */ nop -/* 0023F4 80026FF4 0C0514C8 */ jal func_80145320 +/* 0023F4 80026FF4 0C0514C8 */ jal clear_saved_variables /* 0023F8 80026FF8 00000000 */ nop -/* 0023FC 80026FFC 0C04C3FC */ jal func_80130FF0 +/* 0023FC 80026FFC 0C04C3FC */ jal clear_item_entity_data /* 002400 80027000 00000000 */ nop /* 002404 80027004 0C052926 */ jal func_8014A498 /* 002408 80027008 00000000 */ nop @@ -612,7 +613,7 @@ func_80026DC8: /* 002420 80027020 00000000 */ nop /* 002424 80027024 0C00AE90 */ jal func_8002BA40 /* 002428 80027028 00000000 */ nop -/* 00242C 8002702C 0C00A3B8 */ jal func_80028EE0 +/* 00242C 8002702C 0C00A3B8 */ jal poll_rumble /* 002430 80027030 00000000 */ nop /* 002434 80027034 0000182D */ daddu $v1, $zero, $zero /* 002438 80027038 24050003 */ addiu $a1, $zero, 3 @@ -630,7 +631,7 @@ func_80026DC8: /* 002464 80027064 8C620000 */ lw $v0, ($v1) /* 002468 80027068 0000202D */ daddu $a0, $zero, $zero /* 00246C 8002706C 34420008 */ ori $v0, $v0, 8 -/* 002470 80027070 0C00CD3C */ jal func_800334F0 +/* 002470 80027070 0C00CD3C */ jal set_game_mode /* 002474 80027074 AC620000 */ sw $v0, ($v1) /* 002478 80027078 8FBF0014 */ lw $ra, 0x14($sp) /* 00247C 8002707C 8FB00010 */ lw $s0, 0x10($sp) @@ -657,7 +658,7 @@ func_80027088: /* 0024C8 800270C8 8C430000 */ lw $v1, ($v0) /* 0024CC 800270CC 2405F0FF */ addiu $a1, $zero, -0xf01 /* 0024D0 800270D0 00651824 */ and $v1, $v1, $a1 -/* 0024D4 800270D4 0C0B1192 */ jal func_802C4648 +/* 0024D4 800270D4 0C0B1192 */ jal resume_all_group /* 0024D8 800270D8 AC430000 */ sw $v1, ($v0) /* 0024DC 800270DC 08009C61 */ j func_80027184 /* 0024E0 800270E0 00000000 */ nop @@ -694,7 +695,7 @@ func_80027088: /* 002550 80027150 00651824 */ and $v1, $v1, $a1 /* 002554 80027154 34630700 */ ori $v1, $v1, 0x700 func_80027158: -/* 002558 80027158 0C0B117A */ jal func_802C45E8 +/* 002558 80027158 0C0B117A */ jal suspend_all_group /* 00255C 8002715C AC430000 */ sw $v1, ($v0) /* 002560 80027160 08009C61 */ j func_80027184 /* 002564 80027164 00000000 */ nop diff --git a/papermario/asm/code_1f580_len_1940.s b/papermario/asm/code_1f580_len_1940.s index 9d8c884b39..23673c96ad 100644 --- a/papermario/asm/code_1f580_len_1940.s +++ b/papermario/asm/code_1f580_len_1940.s @@ -1,6 +1,7 @@ .section .text80044180, "ax" +SetEncounterStatusFlags: /* 01F580 80044180 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 01F584 80044184 AFB10014 */ sw $s1, 0x14($sp) /* 01F588 80044188 3C11800B */ lui $s1, 0x800b @@ -11,7 +12,7 @@ /* 01F59C 8004419C 8C82000C */ lw $v0, 0xc($a0) /* 01F5A0 800441A0 8C450004 */ lw $a1, 4($v0) /* 01F5A4 800441A4 8C500000 */ lw $s0, ($v0) -/* 01F5A8 800441A8 0C0B1EAF */ jal func_802C7ABC +/* 01F5A8 800441A8 0C0B1EAF */ jal get_variable /* 01F5AC 800441AC 0220902D */ daddu $s2, $s1, $zero /* 01F5B0 800441B0 10400005 */ beqz $v0, .L800441C8 /* 01F5B4 800441B4 00101827 */ nor $v1, $zero, $s0 @@ -43,7 +44,7 @@ func_800441D4: /* 01F60C 8004420C 8C510000 */ lw $s1, ($v0) /* 01F610 80044210 0200202D */ daddu $a0, $s0, $zero /* 01F614 80044214 0040302D */ daddu $a2, $v0, $zero -/* 01F618 80044218 0C0B2026 */ jal func_802C8098 +/* 01F618 80044218 0C0B2026 */ jal set_variable /* 01F61C 8004421C 0220282D */ daddu $a1, $s1, $zero /* 01F620 80044220 8FBF0018 */ lw $ra, 0x18($sp) /* 01F624 80044224 8FB10014 */ lw $s1, 0x14($sp) @@ -55,7 +56,7 @@ func_800441D4: /* 01F638 80044238 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01F63C 8004423C AFBF0010 */ sw $ra, 0x10($sp) /* 01F640 80044240 8C82000C */ lw $v0, 0xc($a0) -/* 01F644 80044244 0C0B1EAF */ jal func_802C7ABC +/* 01F644 80044244 0C0B1EAF */ jal get_variable /* 01F648 80044248 8C450000 */ lw $a1, ($v0) /* 01F64C 8004424C 0C01CAF3 */ jal func_80072BCC /* 01F650 80044250 0040202D */ daddu $a0, $v0, $zero @@ -64,12 +65,13 @@ func_800441D4: /* 01F65C 8004425C 03E00008 */ jr $ra /* 01F660 80044260 27BD0018 */ addiu $sp, $sp, 0x18 +LoadDemoBattle: /* 01F664 80044264 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01F668 80044268 AFBF0010 */ sw $ra, 0x10($sp) /* 01F66C 8004426C 8C82000C */ lw $v0, 0xc($a0) -/* 01F670 80044270 0C0B1EAF */ jal func_802C7ABC +/* 01F670 80044270 0C0B1EAF */ jal get_variable /* 01F674 80044274 8C450000 */ lw $a1, ($v0) -/* 01F678 80044278 0C01CB85 */ jal func_80072E14 +/* 01F678 80044278 0C01CB85 */ jal load_demo_battle /* 01F67C 8004427C 0040202D */ daddu $a0, $v0, $zero /* 01F680 80044280 8FBF0010 */ lw $ra, 0x10($sp) /* 01F684 80044284 24020002 */ addiu $v0, $zero, 2 @@ -79,6 +81,7 @@ func_800441D4: /* 01F690 80044290 03E00008 */ jr $ra /* 01F694 80044294 24020002 */ addiu $v0, $zero, 2 +MakeNpcs: /* 01F698 80044298 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 01F69C 8004429C AFB10014 */ sw $s1, 0x14($sp) /* 01F6A0 800442A0 0080882D */ daddu $s1, $a0, $zero @@ -99,17 +102,17 @@ func_800441D4: .L800442D4: /* 01F6D4 800442D4 8E050000 */ lw $a1, ($s0) /* 01F6D8 800442D8 26100004 */ addiu $s0, $s0, 4 -/* 01F6DC 800442DC 0C0B1EAF */ jal func_802C7ABC +/* 01F6DC 800442DC 0C0B1EAF */ jal get_variable /* 01F6E0 800442E0 0220202D */ daddu $a0, $s1, $zero /* 01F6E4 800442E4 0220202D */ daddu $a0, $s1, $zero /* 01F6E8 800442E8 8E050000 */ lw $a1, ($s0) -/* 01F6EC 800442EC 0C0B1EAF */ jal func_802C7ABC +/* 01F6EC 800442EC 0C0B1EAF */ jal get_variable /* 01F6F0 800442F0 0040802D */ daddu $s0, $v0, $zero /* 01F6F4 800442F4 3C038007 */ lui $v1, 0x8007 /* 01F6F8 800442F8 8C63419C */ lw $v1, 0x419c($v1) /* 01F6FC 800442FC 0200202D */ daddu $a0, $s0, $zero /* 01F700 80044300 8465008C */ lh $a1, 0x8c($v1) -/* 01F704 80044304 0C00F99E */ jal func_8003E678 +/* 01F704 80044304 0C00F99E */ jal make_npcs /* 01F708 80044308 0040302D */ daddu $a2, $v0, $zero /* 01F70C 8004430C 24020001 */ addiu $v0, $zero, 1 /* 01F710 80044310 080110CA */ j func_80044328 @@ -130,6 +133,7 @@ func_8004432C: /* 01F738 80044338 03E00008 */ jr $ra /* 01F73C 8004433C 27BD0020 */ addiu $sp, $sp, 0x20 +RemoveNpc: /* 01F740 80044340 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 01F744 80044344 AFB20018 */ sw $s2, 0x18($sp) /* 01F748 80044348 0080902D */ daddu $s2, $a0, $zero @@ -141,7 +145,7 @@ func_8004432C: /* 01F760 80044360 8E42000C */ lw $v0, 0xc($s2) /* 01F764 80044364 8C450000 */ lw $a1, ($v0) /* 01F768 80044368 8E500148 */ lw $s0, 0x148($s2) -/* 01F76C 8004436C 0C0B1EAF */ jal func_802C7ABC +/* 01F76C 8004436C 0C0B1EAF */ jal get_variable /* 01F770 80044370 24130001 */ addiu $s3, $zero, 1 /* 01F774 80044374 0040882D */ daddu $s1, $v0, $zero /* 01F778 80044378 3C14800B */ lui $s4, 0x800b @@ -174,13 +178,13 @@ func_800443AC: /* 01F7D0 800443D0 00000000 */ nop .L800443D4: -/* 01F7D4 800443D4 0C00F9EB */ jal func_8003E7AC +/* 01F7D4 800443D4 0C00F9EB */ jal kill_enemy /* 01F7D8 800443D8 0200202D */ daddu $a0, $s0, $zero /* 01F7DC 800443DC 08011116 */ j func_80044458 /* 01F7E0 800443E0 0260102D */ daddu $v0, $s3, $zero .L800443E4: -/* 01F7E4 800443E4 0C00FB3A */ jal func_8003ECE8 +/* 01F7E4 800443E4 0C00FB3A */ jal get_enemy /* 01F7E8 800443E8 0220202D */ daddu $a0, $s1, $zero func_800443EC: .L800443EC: @@ -227,6 +231,7 @@ func_80044458: /* 01F870 80044470 03E00008 */ jr $ra /* 01F874 80044474 27BD0028 */ addiu $sp, $sp, 0x28 +RemoveEncounter: /* 01F878 80044478 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 01F87C 8004447C AFBF0020 */ sw $ra, 0x20($sp) /* 01F880 80044480 AFB3001C */ sw $s3, 0x1c($sp) @@ -236,7 +241,7 @@ func_80044458: /* 01F890 80044490 8C82000C */ lw $v0, 0xc($a0) /* 01F894 80044494 8C450000 */ lw $a1, ($v0) /* 01F898 80044498 8C900148 */ lw $s0, 0x148($a0) -/* 01F89C 8004449C 0C0B1EAF */ jal func_802C7ABC +/* 01F89C 8004449C 0C0B1EAF */ jal get_variable /* 01F8A0 800444A0 24120001 */ addiu $s2, $zero, 1 /* 01F8A4 800444A4 0040882D */ daddu $s1, $v0, $zero /* 01F8A8 800444A8 3C13800B */ lui $s3, 0x800b @@ -255,13 +260,13 @@ func_80044458: /* 01F8D8 800444D8 241200FF */ addiu $s2, $zero, 0xff .L800444DC: -/* 01F8DC 800444DC 0C00F9CC */ jal func_8003E730 +/* 01F8DC 800444DC 0C00F9CC */ jal kill_encounter /* 01F8E0 800444E0 0200202D */ daddu $a0, $s0, $zero /* 01F8E4 800444E4 08011158 */ j func_80044560 /* 01F8E8 800444E8 0240102D */ daddu $v0, $s2, $zero .L800444EC: -/* 01F8EC 800444EC 0C00FB3A */ jal func_8003ECE8 +/* 01F8EC 800444EC 0C00FB3A */ jal get_enemy /* 01F8F0 800444F0 0220202D */ daddu $a0, $s1, $zero func_800444F4: /* 01F8F4 800444F4 8262001C */ lb $v0, 0x1c($s3) @@ -306,12 +311,13 @@ func_80044560: /* 01F974 80044574 03E00008 */ jr $ra /* 01F978 80044578 27BD0028 */ addiu $sp, $sp, 0x28 +GetBattleOutcome: /* 01F97C 8004457C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01F980 80044580 AFBF0010 */ sw $ra, 0x10($sp) /* 01F984 80044584 8C82000C */ lw $v0, 0xc($a0) /* 01F988 80044588 3C06800B */ lui $a2, 0x800b /* 01F98C 8004458C 80C60F19 */ lb $a2, 0xf19($a2) -/* 01F990 80044590 0C0B2026 */ jal func_802C8098 +/* 01F990 80044590 0C0B2026 */ jal set_variable /* 01F994 80044594 8C450000 */ lw $a1, ($v0) /* 01F998 80044598 8FBF0010 */ lw $ra, 0x10($sp) /* 01F99C 8004459C 24020002 */ addiu $v0, $zero, 2 @@ -323,7 +329,7 @@ func_80044560: /* 01F9B0 800445B0 8C82000C */ lw $v0, 0xc($a0) /* 01F9B4 800445B4 8C830148 */ lw $v1, 0x148($a0) /* 01F9B8 800445B8 8C450000 */ lw $a1, ($v0) -/* 01F9BC 800445BC 0C0B2026 */ jal func_802C8098 +/* 01F9BC 800445BC 0C0B2026 */ jal set_variable /* 01F9C0 800445C0 8C6600C4 */ lw $a2, 0xc4($v1) /* 01F9C4 800445C4 8FBF0010 */ lw $ra, 0x10($sp) /* 01F9C8 800445C8 24020002 */ addiu $v0, $zero, 2 @@ -335,35 +341,37 @@ func_80044560: /* 01F9DC 800445DC 8C82000C */ lw $v0, 0xc($a0) /* 01F9E0 800445E0 8C830148 */ lw $v1, 0x148($a0) /* 01F9E4 800445E4 8C450000 */ lw $a1, ($v0) -/* 01F9E8 800445E8 0C0B2026 */ jal func_802C8098 +/* 01F9E8 800445E8 0C0B2026 */ jal set_variable /* 01F9EC 800445EC 8C6600C8 */ lw $a2, 0xc8($v1) /* 01F9F0 800445F0 8FBF0010 */ lw $ra, 0x10($sp) /* 01F9F4 800445F4 24020002 */ addiu $v0, $zero, 2 /* 01F9F8 800445F8 03E00008 */ jr $ra /* 01F9FC 800445FC 27BD0018 */ addiu $sp, $sp, 0x18 +GetOwnerEncountered: /* 01FA00 80044600 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01FA04 80044604 AFBF0010 */ sw $ra, 0x10($sp) /* 01FA08 80044608 8C82000C */ lw $v0, 0xc($a0) /* 01FA0C 8004460C 8C830148 */ lw $v1, 0x148($a0) /* 01FA10 80044610 8C450000 */ lw $a1, ($v0) -/* 01FA14 80044614 0C0B2026 */ jal func_802C8098 +/* 01FA14 80044614 0C0B2026 */ jal set_variable /* 01FA18 80044618 80660005 */ lb $a2, 5($v1) /* 01FA1C 8004461C 8FBF0010 */ lw $ra, 0x10($sp) /* 01FA20 80044620 24020002 */ addiu $v0, $zero, 2 /* 01FA24 80044624 03E00008 */ jr $ra /* 01FA28 80044628 27BD0018 */ addiu $sp, $sp, 0x18 +DoNpcDefeat: /* 01FA2C 8004462C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 01FA30 80044630 AFB10014 */ sw $s1, 0x14($sp) /* 01FA34 80044634 0080882D */ daddu $s1, $a0, $zero /* 01FA38 80044638 AFBF0018 */ sw $ra, 0x18($sp) /* 01FA3C 8004463C AFB00010 */ sw $s0, 0x10($sp) /* 01FA40 80044640 8E300148 */ lw $s0, 0x148($s1) -/* 01FA44 80044644 0C00EABB */ jal func_8003AAEC +/* 01FA44 80044644 0C00EABB */ jal get_npc_unsafe /* 01FA48 80044648 86040008 */ lh $a0, 8($s0) /* 01FA4C 8004464C 0220202D */ daddu $a0, $s1, $zero -/* 01FA50 80044650 0C0B0FCF */ jal func_802C3F3C +/* 01FA50 80044650 0C0B0FCF */ jal kill_script /* 01FA54 80044654 0040882D */ daddu $s1, $v0, $zero /* 01FA58 80044658 3C048007 */ lui $a0, 0x8007 /* 01FA5C 8004465C 24847E38 */ addiu $a0, $a0, 0x7e38 @@ -371,7 +379,7 @@ func_80044560: /* 01FA64 80044664 2405000A */ addiu $a1, $zero, 0xa /* 01FA68 80044668 8C420018 */ lw $v0, 0x18($v0) /* 01FA6C 8004466C 0000302D */ daddu $a2, $zero, $zero -/* 01FA70 80044670 0C0B0CF8 */ jal func_802C33E0 +/* 01FA70 80044670 0C0B0CF8 */ jal start_script /* 01FA74 80044674 AE220028 */ sw $v0, 0x28($s1) /* 01FA78 80044678 0040182D */ daddu $v1, $v0, $zero /* 01FA7C 8004467C AE030048 */ sw $v1, 0x48($s0) @@ -389,7 +397,7 @@ func_80044560: /* 01FAAC 800446AC 03E00008 */ jr $ra /* 01FAB0 800446B0 27BD0020 */ addiu $sp, $sp, 0x20 -func_800446B4: +start_battle: /* 01FAB4 800446B4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 01FAB8 800446B8 AFB00010 */ sw $s0, 0x10($sp) /* 01FABC 800446BC 00A0802D */ daddu $s0, $a1, $zero @@ -400,7 +408,7 @@ func_800446B4: /* 01FAD0 800446D0 AFB20018 */ sw $s2, 0x18($sp) /* 01FAD4 800446D4 AFB10014 */ sw $s1, 0x14($sp) /* 01FAD8 800446D8 8C910148 */ lw $s1, 0x148($a0) -/* 01FADC 800446DC 0C0B1192 */ jal func_802C4648 +/* 01FADC 800446DC 0C0B1192 */ jal resume_all_group /* 01FAE0 800446E0 24040001 */ addiu $a0, $zero, 1 /* 01FAE4 800446E4 3C13800B */ lui $s3, 0x800b /* 01FAE8 800446E8 26730F10 */ addiu $s3, $s3, 0xf10 @@ -421,13 +429,13 @@ func_800446B4: /* 01FB24 80044724 8E22003C */ lw $v0, 0x3c($s1) /* 01FB28 80044728 10400003 */ beqz $v0, .L80044738 /* 01FB2C 8004472C 00000000 */ nop -/* 01FB30 80044730 0C0B1108 */ jal func_802C4420 +/* 01FB30 80044730 0C0B1108 */ jal suspend_all_script /* 01FB34 80044734 8E240054 */ lw $a0, 0x54($s1) .L80044738: /* 01FB38 80044738 8E220044 */ lw $v0, 0x44($s1) /* 01FB3C 8004473C 10400003 */ beqz $v0, .L8004474C /* 01FB40 80044740 00000000 */ nop -/* 01FB44 80044744 0C0B1108 */ jal func_802C4420 +/* 01FB44 80044744 0C0B1108 */ jal suspend_all_script /* 01FB48 80044748 8E24005C */ lw $a0, 0x5c($s1) .L8004474C: /* 01FB4C 8004474C 0C03805E */ jal func_800E0178 @@ -456,7 +464,7 @@ func_800446B4: /* 01FBA0 800447A0 0040202D */ daddu $a0, $v0, $zero /* 01FBA4 800447A4 2405000A */ addiu $a1, $zero, 0xa /* 01FBA8 800447A8 0000302D */ daddu $a2, $zero, $zero -/* 01FBAC 800447AC 0C0B0CF8 */ jal func_802C33E0 +/* 01FBAC 800447AC 0C0B0CF8 */ jal start_script /* 01FBB0 800447B0 A2350005 */ sb $s5, 5($s1) /* 01FBB4 800447B4 0040182D */ daddu $v1, $v0, $zero /* 01FBB8 800447B8 AE230040 */ sw $v1, 0x40($s1) @@ -496,24 +504,26 @@ func_800446B4: /* 01FC38 80044838 03E00008 */ jr $ra /* 01FC3C 8004483C 27BD0030 */ addiu $sp, $sp, 0x30 +StartBattle: /* 01FC40 80044840 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01FC44 80044844 AFBF0010 */ sw $ra, 0x10($sp) -/* 01FC48 80044848 0C0111AD */ jal func_800446B4 +/* 01FC48 80044848 0C0111AD */ jal start_battle /* 01FC4C 8004484C 2405FFFF */ addiu $a1, $zero, -1 /* 01FC50 80044850 8FBF0010 */ lw $ra, 0x10($sp) /* 01FC54 80044854 24020001 */ addiu $v0, $zero, 1 /* 01FC58 80044858 03E00008 */ jr $ra /* 01FC5C 8004485C 27BD0018 */ addiu $sp, $sp, 0x18 +StartBattleWith: /* 01FC60 80044860 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01FC64 80044864 AFB00010 */ sw $s0, 0x10($sp) /* 01FC68 80044868 0080802D */ daddu $s0, $a0, $zero /* 01FC6C 8004486C AFBF0014 */ sw $ra, 0x14($sp) /* 01FC70 80044870 8E02000C */ lw $v0, 0xc($s0) -/* 01FC74 80044874 0C0B1EAF */ jal func_802C7ABC +/* 01FC74 80044874 0C0B1EAF */ jal get_variable /* 01FC78 80044878 8C450000 */ lw $a1, ($v0) /* 01FC7C 8004487C 0200202D */ daddu $a0, $s0, $zero -/* 01FC80 80044880 0C0111AD */ jal func_800446B4 +/* 01FC80 80044880 0C0111AD */ jal start_battle /* 01FC84 80044884 0040282D */ daddu $a1, $v0, $zero /* 01FC88 80044888 8FBF0014 */ lw $ra, 0x14($sp) /* 01FC8C 8004488C 8FB00010 */ lw $s0, 0x10($sp) @@ -521,6 +531,7 @@ func_800446B4: /* 01FC94 80044894 03E00008 */ jr $ra /* 01FC98 80044898 27BD0018 */ addiu $sp, $sp, 0x18 +StartBossBattle: /* 01FC9C 8004489C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 01FCA0 800448A0 AFBF0028 */ sw $ra, 0x28($sp) /* 01FCA4 800448A4 AFB50024 */ sw $s5, 0x24($sp) @@ -531,10 +542,10 @@ func_800446B4: /* 01FCB8 800448B8 AFB00010 */ sw $s0, 0x10($sp) /* 01FCBC 800448BC 8C82000C */ lw $v0, 0xc($a0) /* 01FCC0 800448C0 8C450000 */ lw $a1, ($v0) -/* 01FCC4 800448C4 0C0B1EAF */ jal func_802C7ABC +/* 01FCC4 800448C4 0C0B1EAF */ jal get_variable /* 01FCC8 800448C8 8C910148 */ lw $s1, 0x148($a0) /* 01FCCC 800448CC 24040001 */ addiu $a0, $zero, 1 -/* 01FCD0 800448D0 0C0B1192 */ jal func_802C4648 +/* 01FCD0 800448D0 0C0B1192 */ jal resume_all_group /* 01FCD4 800448D4 0040802D */ daddu $s0, $v0, $zero /* 01FCD8 800448D8 3C13800B */ lui $s3, 0x800b /* 01FCDC 800448DC 26730F10 */ addiu $s3, $s3, 0xf10 @@ -555,13 +566,13 @@ func_800446B4: /* 01FD18 80044918 8E22003C */ lw $v0, 0x3c($s1) /* 01FD1C 8004491C 10400003 */ beqz $v0, .L8004492C /* 01FD20 80044920 00000000 */ nop -/* 01FD24 80044924 0C0B1108 */ jal func_802C4420 +/* 01FD24 80044924 0C0B1108 */ jal suspend_all_script /* 01FD28 80044928 8E240054 */ lw $a0, 0x54($s1) .L8004492C: /* 01FD2C 8004492C 8E220044 */ lw $v0, 0x44($s1) /* 01FD30 80044930 10400003 */ beqz $v0, .L80044940 /* 01FD34 80044934 00000000 */ nop -/* 01FD38 80044938 0C0B1108 */ jal func_802C4420 +/* 01FD38 80044938 0C0B1108 */ jal suspend_all_script /* 01FD3C 8004493C 8E24005C */ lw $a0, 0x5c($s1) .L80044940: /* 01FD40 80044940 0C03805E */ jal func_800E0178 @@ -590,7 +601,7 @@ func_800446B4: /* 01FD94 80044994 0040202D */ daddu $a0, $v0, $zero /* 01FD98 80044998 2405000A */ addiu $a1, $zero, 0xa /* 01FD9C 8004499C 0000302D */ daddu $a2, $zero, $zero -/* 01FDA0 800449A0 0C0B0CF8 */ jal func_802C33E0 +/* 01FDA0 800449A0 0C0B0CF8 */ jal start_script /* 01FDA4 800449A4 A2350005 */ sb $s5, 5($s1) /* 01FDA8 800449A8 0040202D */ daddu $a0, $v0, $zero /* 01FDAC 800449AC AE240040 */ sw $a0, 0x40($s1) @@ -631,10 +642,11 @@ func_800446B4: /* 01FE30 80044A30 03E00008 */ jr $ra /* 01FE34 80044A34 27BD0030 */ addiu $sp, $sp, 0x30 +SetBattleMusic: /* 01FE38 80044A38 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 01FE3C 80044A3C AFBF0010 */ sw $ra, 0x10($sp) /* 01FE40 80044A40 8C82000C */ lw $v0, 0xc($a0) -/* 01FE44 80044A44 0C0B1EAF */ jal func_802C7ABC +/* 01FE44 80044A44 0C0B1EAF */ jal get_variable /* 01FE48 80044A48 8C450000 */ lw $a1, ($v0) /* 01FE4C 80044A4C 3C04800B */ lui $a0, 0x800b /* 01FE50 80044A50 24840F10 */ addiu $a0, $a0, 0xf10 @@ -648,6 +660,7 @@ func_800446B4: /* 01FE70 80044A70 03E00008 */ jr $ra /* 01FE74 80044A74 27BD0018 */ addiu $sp, $sp, 0x18 +BindNpcAI: /* 01FE78 80044A78 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 01FE7C 80044A7C AFB00010 */ sw $s0, 0x10($sp) /* 01FE80 80044A80 0080802D */ daddu $s0, $a0, $zero @@ -661,11 +674,11 @@ func_800446B4: /* 01FEA0 80044AA0 8E11000C */ lw $s1, 0xc($s0) /* 01FEA4 80044AA4 8E120148 */ lw $s2, 0x148($s0) /* 01FEA8 80044AA8 8E250000 */ lw $a1, ($s1) -/* 01FEAC 80044AAC 0C0B1EAF */ jal func_802C7ABC +/* 01FEAC 80044AAC 0C0B1EAF */ jal get_variable /* 01FEB0 80044AB0 26310004 */ addiu $s1, $s1, 4 /* 01FEB4 80044AB4 0040982D */ daddu $s3, $v0, $zero /* 01FEB8 80044AB8 8E250000 */ lw $a1, ($s1) -/* 01FEBC 80044ABC 0C0B1EAF */ jal func_802C7ABC +/* 01FEBC 80044ABC 0C0B1EAF */ jal get_variable /* 01FEC0 80044AC0 0200202D */ daddu $a0, $s0, $zero /* 01FEC4 80044AC4 0040A02D */ daddu $s4, $v0, $zero /* 01FEC8 80044AC8 2402FFFF */ addiu $v0, $zero, -1 @@ -693,7 +706,7 @@ func_80044AEC: /* 01FF10 80044B10 00000000 */ nop .L80044B14: -/* 01FF14 80044B14 0C00FB3A */ jal func_8003ECE8 +/* 01FF14 80044B14 0C00FB3A */ jal get_enemy /* 01FF18 80044B18 0260202D */ daddu $a0, $s3, $zero /* 01FF1C 80044B1C 0040902D */ daddu $s2, $v0, $zero func_80044B20: @@ -708,7 +721,7 @@ func_80044B20: /* 01FF38 80044B38 10400005 */ beqz $v0, .L80044B50 /* 01FF3C 80044B3C 0280202D */ daddu $a0, $s4, $zero /* 01FF40 80044B40 8E440054 */ lw $a0, 0x54($s2) -/* 01FF44 80044B44 0C0B102B */ jal func_802C40AC +/* 01FF44 80044B44 0C0B102B */ jal kill_script_by_ID /* 01FF48 80044B48 00000000 */ nop /* 01FF4C 80044B4C 0280202D */ daddu $a0, $s4, $zero .L80044B50: @@ -716,7 +729,7 @@ func_80044B20: /* 01FF54 80044B54 24020064 */ addiu $v0, $zero, 0x64 /* 01FF58 80044B58 0000302D */ daddu $a2, $zero, $zero /* 01FF5C 80044B5C AE4200C8 */ sw $v0, 0xc8($s2) -/* 01FF60 80044B60 0C0B0CF8 */ jal func_802C33E0 +/* 01FF60 80044B60 0C0B0CF8 */ jal start_script /* 01FF64 80044B64 AE440024 */ sw $a0, 0x24($s2) /* 01FF68 80044B68 0040802D */ daddu $s0, $v0, $zero /* 01FF6C 80044B6C AE50003C */ sw $s0, 0x3c($s2) @@ -736,6 +749,7 @@ func_80044B20: /* 01FFA4 80044BA4 03E00008 */ jr $ra /* 01FFA8 80044BA8 27BD0030 */ addiu $sp, $sp, 0x30 +BindNpcIdle: /* 01FFAC 80044BAC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 01FFB0 80044BB0 AFB10014 */ sw $s1, 0x14($sp) /* 01FFB4 80044BB4 0080882D */ daddu $s1, $a0, $zero @@ -746,11 +760,11 @@ func_80044B20: /* 01FFC8 80044BC8 8E30000C */ lw $s0, 0xc($s1) /* 01FFCC 80044BCC 8E330148 */ lw $s3, 0x148($s1) /* 01FFD0 80044BD0 8E050000 */ lw $a1, ($s0) -/* 01FFD4 80044BD4 0C0B1EAF */ jal func_802C7ABC +/* 01FFD4 80044BD4 0C0B1EAF */ jal get_variable /* 01FFD8 80044BD8 26100004 */ addiu $s0, $s0, 4 /* 01FFDC 80044BDC 0040902D */ daddu $s2, $v0, $zero /* 01FFE0 80044BE0 8E050000 */ lw $a1, ($s0) -/* 01FFE4 80044BE4 0C0B1EAF */ jal func_802C7ABC +/* 01FFE4 80044BE4 0C0B1EAF */ jal get_variable /* 01FFE8 80044BE8 0220202D */ daddu $a0, $s1, $zero /* 01FFEC 80044BEC 0040802D */ daddu $s0, $v0, $zero /* 01FFF0 80044BF0 2402FFFF */ addiu $v0, $zero, -1 @@ -758,7 +772,7 @@ func_80044B20: /* 01FFF8 80044BF8 00000000 */ nop /* 01FFFC 80044BFC 86720008 */ lh $s2, 8($s3) .L80044C00: -/* 020000 80044C00 0C00FB3A */ jal func_8003ECE8 +/* 020000 80044C00 0C00FB3A */ jal get_enemy /* 020004 80044C04 0240202D */ daddu $a0, $s2, $zero /* 020008 80044C08 AC500024 */ sw $s0, 0x24($v0) /* 02000C 80044C0C 8FBF0020 */ lw $ra, 0x20($sp) @@ -770,6 +784,7 @@ func_80044B20: /* 020024 80044C24 03E00008 */ jr $ra /* 020028 80044C28 27BD0028 */ addiu $sp, $sp, 0x28 +RestartNpcAI: /* 02002C 80044C2C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 020030 80044C30 AFB10014 */ sw $s1, 0x14($sp) /* 020034 80044C34 0080882D */ daddu $s1, $a0, $zero @@ -778,7 +793,7 @@ func_80044B20: /* 020040 80044C40 AFB00010 */ sw $s0, 0x10($sp) /* 020044 80044C44 8E22000C */ lw $v0, 0xc($s1) /* 020048 80044C48 8C450000 */ lw $a1, ($v0) -/* 02004C 80044C4C 0C0B1EAF */ jal func_802C7ABC +/* 02004C 80044C4C 0C0B1EAF */ jal get_variable /* 020050 80044C50 8E300148 */ lw $s0, 0x148($s1) /* 020054 80044C54 0040202D */ daddu $a0, $v0, $zero /* 020058 80044C58 2402FFFF */ addiu $v0, $zero, -1 @@ -786,7 +801,7 @@ func_80044B20: /* 020060 80044C60 00000000 */ nop /* 020064 80044C64 86040008 */ lh $a0, 8($s0) .L80044C68: -/* 020068 80044C68 0C00FB3A */ jal func_8003ECE8 +/* 020068 80044C68 0C00FB3A */ jal get_enemy /* 02006C 80044C6C 2412000B */ addiu $s2, $zero, 0xb /* 020070 80044C70 0040802D */ daddu $s0, $v0, $zero /* 020074 80044C74 8E020000 */ lw $v0, ($s0) @@ -798,14 +813,14 @@ func_80044B20: /* 020088 80044C88 10400005 */ beqz $v0, .L80044CA0 /* 02008C 80044C8C 2405000A */ addiu $a1, $zero, 0xa /* 020090 80044C90 8E040054 */ lw $a0, 0x54($s0) -/* 020094 80044C94 0C0B102B */ jal func_802C40AC +/* 020094 80044C94 0C0B102B */ jal kill_script_by_ID /* 020098 80044C98 00000000 */ nop /* 02009C 80044C9C 2405000A */ addiu $a1, $zero, 0xa .L80044CA0: /* 0200A0 80044CA0 24020064 */ addiu $v0, $zero, 0x64 /* 0200A4 80044CA4 8E040024 */ lw $a0, 0x24($s0) /* 0200A8 80044CA8 0000302D */ daddu $a2, $zero, $zero -/* 0200AC 80044CAC 0C0B0CF8 */ jal func_802C33E0 +/* 0200AC 80044CAC 0C0B0CF8 */ jal start_script /* 0200B0 80044CB0 AE0200C8 */ sw $v0, 0xc8($s0) /* 0200B4 80044CB4 0040182D */ daddu $v1, $v0, $zero /* 0200B8 80044CB8 AE03003C */ sw $v1, 0x3c($s0) @@ -823,6 +838,7 @@ func_80044B20: /* 0200E8 80044CE8 03E00008 */ jr $ra /* 0200EC 80044CEC 27BD0020 */ addiu $sp, $sp, 0x20 +EnableNpcAI: /* 0200F0 80044CF0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0200F4 80044CF4 AFB10014 */ sw $s1, 0x14($sp) /* 0200F8 80044CF8 0080882D */ daddu $s1, $a0, $zero @@ -833,11 +849,11 @@ func_80044B20: /* 02010C 80044D0C 8E30000C */ lw $s0, 0xc($s1) /* 020110 80044D10 8E330148 */ lw $s3, 0x148($s1) /* 020114 80044D14 8E050000 */ lw $a1, ($s0) -/* 020118 80044D18 0C0B1EAF */ jal func_802C7ABC +/* 020118 80044D18 0C0B1EAF */ jal get_variable /* 02011C 80044D1C 26100004 */ addiu $s0, $s0, 4 /* 020120 80044D20 0040902D */ daddu $s2, $v0, $zero /* 020124 80044D24 8E050000 */ lw $a1, ($s0) -/* 020128 80044D28 0C0B1EAF */ jal func_802C7ABC +/* 020128 80044D28 0C0B1EAF */ jal get_variable /* 02012C 80044D2C 0220202D */ daddu $a0, $s1, $zero /* 020130 80044D30 0040802D */ daddu $s0, $v0, $zero /* 020134 80044D34 2402FFFF */ addiu $v0, $zero, -1 @@ -845,14 +861,14 @@ func_80044B20: /* 02013C 80044D3C 00000000 */ nop /* 020140 80044D40 86720008 */ lh $s2, 8($s3) .L80044D44: -/* 020144 80044D44 0C00FB3A */ jal func_8003ECE8 +/* 020144 80044D44 0C00FB3A */ jal get_enemy /* 020148 80044D48 0240202D */ daddu $a0, $s2, $zero /* 02014C 80044D4C 12000008 */ beqz $s0, .L80044D70 /* 020150 80044D50 0040982D */ daddu $s3, $v0, $zero /* 020154 80044D54 8E62003C */ lw $v0, 0x3c($s3) /* 020158 80044D58 1040000A */ beqz $v0, .L80044D84 /* 02015C 80044D5C 00000000 */ nop -/* 020160 80044D60 0C0B1123 */ jal func_802C448C +/* 020160 80044D60 0C0B1123 */ jal resume_all_script /* 020164 80044D64 8E640054 */ lw $a0, 0x54($s3) /* 020168 80044D68 08011361 */ j func_80044D84 /* 02016C 80044D6C 00000000 */ nop @@ -861,7 +877,7 @@ func_80044B20: /* 020170 80044D70 8E62003C */ lw $v0, 0x3c($s3) /* 020174 80044D74 10400003 */ beqz $v0, .L80044D84 /* 020178 80044D78 00000000 */ nop -/* 02017C 80044D7C 0C0B1108 */ jal func_802C4420 +/* 02017C 80044D7C 0C0B1108 */ jal suspend_all_script /* 020180 80044D80 8E640054 */ lw $a0, 0x54($s3) func_80044D84: .L80044D84: @@ -874,6 +890,7 @@ func_80044D84: /* 02019C 80044D9C 03E00008 */ jr $ra /* 0201A0 80044DA0 27BD0028 */ addiu $sp, $sp, 0x28 +SetNpcAux: /* 0201A4 80044DA4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0201A8 80044DA8 AFB3001C */ sw $s3, 0x1c($sp) /* 0201AC 80044DAC 0080982D */ daddu $s3, $a0, $zero @@ -886,11 +903,11 @@ func_80044D84: /* 0201C8 80044DC8 8E70000C */ lw $s0, 0xc($s3) /* 0201CC 80044DCC 8E710148 */ lw $s1, 0x148($s3) /* 0201D0 80044DD0 8E050000 */ lw $a1, ($s0) -/* 0201D4 80044DD4 0C0B1EAF */ jal func_802C7ABC +/* 0201D4 80044DD4 0C0B1EAF */ jal get_variable /* 0201D8 80044DD8 26100004 */ addiu $s0, $s0, 4 /* 0201DC 80044DDC 0040902D */ daddu $s2, $v0, $zero /* 0201E0 80044DE0 8E050000 */ lw $a1, ($s0) -/* 0201E4 80044DE4 0C0B1EAF */ jal func_802C7ABC +/* 0201E4 80044DE4 0C0B1EAF */ jal get_variable /* 0201E8 80044DE8 0260202D */ daddu $a0, $s3, $zero /* 0201EC 80044DEC 0040802D */ daddu $s0, $v0, $zero /* 0201F0 80044DF0 2402FFFF */ addiu $v0, $zero, -1 @@ -918,7 +935,7 @@ func_80044E14: /* 020238 80044E38 00000000 */ nop .L80044E3C: -/* 02023C 80044E3C 0C00FB3A */ jal func_8003ECE8 +/* 02023C 80044E3C 0C00FB3A */ jal get_enemy /* 020240 80044E40 0240202D */ daddu $a0, $s2, $zero /* 020244 80044E44 0040882D */ daddu $s1, $v0, $zero /* 020248 80044E48 8E220044 */ lw $v0, 0x44($s1) @@ -926,14 +943,14 @@ func_80044E4C: .L80044E4C: /* 02024C 80044E4C 10400003 */ beqz $v0, .L80044E5C /* 020250 80044E50 00000000 */ nop -/* 020254 80044E54 0C0B102B */ jal func_802C40AC +/* 020254 80044E54 0C0B102B */ jal kill_script_by_ID /* 020258 80044E58 8E24005C */ lw $a0, 0x5c($s1) .L80044E5C: /* 02025C 80044E5C 1200000D */ beqz $s0, .L80044E94 /* 020260 80044E60 0200202D */ daddu $a0, $s0, $zero /* 020264 80044E64 2405000A */ addiu $a1, $zero, 0xa /* 020268 80044E68 0000302D */ daddu $a2, $zero, $zero -/* 02026C 80044E6C 0C0B0CF8 */ jal func_802C33E0 +/* 02026C 80044E6C 0C0B0CF8 */ jal start_script /* 020270 80044E70 AE24002C */ sw $a0, 0x2c($s1) /* 020274 80044E74 0040182D */ daddu $v1, $v0, $zero /* 020278 80044E78 AE230044 */ sw $v1, 0x44($s1) @@ -954,6 +971,7 @@ func_80044E4C: /* 0202B0 80044EB0 03E00008 */ jr $ra /* 0202B4 80044EB4 27BD0028 */ addiu $sp, $sp, 0x28 +BindNpcAux: /* 0202B8 80044EB8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0202BC 80044EBC AFB10014 */ sw $s1, 0x14($sp) /* 0202C0 80044EC0 0080882D */ daddu $s1, $a0, $zero @@ -964,11 +982,11 @@ func_80044E4C: /* 0202D4 80044ED4 8E30000C */ lw $s0, 0xc($s1) /* 0202D8 80044ED8 8E330148 */ lw $s3, 0x148($s1) /* 0202DC 80044EDC 8E050000 */ lw $a1, ($s0) -/* 0202E0 80044EE0 0C0B1EAF */ jal func_802C7ABC +/* 0202E0 80044EE0 0C0B1EAF */ jal get_variable /* 0202E4 80044EE4 26100004 */ addiu $s0, $s0, 4 /* 0202E8 80044EE8 0040902D */ daddu $s2, $v0, $zero /* 0202EC 80044EEC 8E050000 */ lw $a1, ($s0) -/* 0202F0 80044EF0 0C0B1EAF */ jal func_802C7ABC +/* 0202F0 80044EF0 0C0B1EAF */ jal get_variable /* 0202F4 80044EF4 0220202D */ daddu $a0, $s1, $zero /* 0202F8 80044EF8 0040802D */ daddu $s0, $v0, $zero /* 0202FC 80044EFC 2402FFFF */ addiu $v0, $zero, -1 @@ -976,7 +994,7 @@ func_80044E4C: /* 020304 80044F04 00000000 */ nop /* 020308 80044F08 86720008 */ lh $s2, 8($s3) .L80044F0C: -/* 02030C 80044F0C 0C00FB3A */ jal func_8003ECE8 +/* 02030C 80044F0C 0C00FB3A */ jal get_enemy /* 020310 80044F10 0240202D */ daddu $a0, $s2, $zero /* 020314 80044F14 AC50002C */ sw $s0, 0x2c($v0) /* 020318 80044F18 8FBF0020 */ lw $ra, 0x20($sp) @@ -988,6 +1006,7 @@ func_80044E4C: /* 020330 80044F30 03E00008 */ jr $ra /* 020334 80044F34 27BD0028 */ addiu $sp, $sp, 0x28 +RestartNpcAux: /* 020338 80044F38 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 02033C 80044F3C AFBF001C */ sw $ra, 0x1c($sp) /* 020340 80044F40 AFB20018 */ sw $s2, 0x18($sp) @@ -995,7 +1014,7 @@ func_80044E4C: /* 020348 80044F48 AFB00010 */ sw $s0, 0x10($sp) /* 02034C 80044F4C 8C82000C */ lw $v0, 0xc($a0) /* 020350 80044F50 8C450000 */ lw $a1, ($v0) -/* 020354 80044F54 0C0B1EAF */ jal func_802C7ABC +/* 020354 80044F54 0C0B1EAF */ jal get_variable /* 020358 80044F58 8C900148 */ lw $s0, 0x148($a0) /* 02035C 80044F5C 0040882D */ daddu $s1, $v0, $zero /* 020360 80044F60 2402FFFF */ addiu $v0, $zero, -1 @@ -1003,7 +1022,7 @@ func_80044E4C: /* 020368 80044F68 00000000 */ nop /* 02036C 80044F6C 86110008 */ lh $s1, 8($s0) .L80044F70: -/* 020370 80044F70 0C00FB3A */ jal func_8003ECE8 +/* 020370 80044F70 0C00FB3A */ jal get_enemy /* 020374 80044F74 0220202D */ daddu $a0, $s1, $zero /* 020378 80044F78 0040802D */ daddu $s0, $v0, $zero /* 02037C 80044F7C 8E020000 */ lw $v0, ($s0) @@ -1016,12 +1035,12 @@ func_80044E4C: /* 020394 80044F94 10400005 */ beqz $v0, .L80044FAC /* 020398 80044F98 2405000A */ addiu $a1, $zero, 0xa /* 02039C 80044F9C 8E04005C */ lw $a0, 0x5c($s0) -/* 0203A0 80044FA0 0C0B102B */ jal func_802C40AC +/* 0203A0 80044FA0 0C0B102B */ jal kill_script_by_ID /* 0203A4 80044FA4 00000000 */ nop /* 0203A8 80044FA8 2405000A */ addiu $a1, $zero, 0xa .L80044FAC: /* 0203AC 80044FAC 8E04002C */ lw $a0, 0x2c($s0) -/* 0203B0 80044FB0 0C0B0CF8 */ jal func_802C33E0 +/* 0203B0 80044FB0 0C0B0CF8 */ jal start_script /* 0203B4 80044FB4 0000302D */ daddu $a2, $zero, $zero /* 0203B8 80044FB8 0040182D */ daddu $v1, $v0, $zero /* 0203BC 80044FBC AE030044 */ sw $v1, 0x44($s0) @@ -1038,6 +1057,7 @@ func_80044E4C: /* 0203E8 80044FE8 03E00008 */ jr $ra /* 0203EC 80044FEC 27BD0020 */ addiu $sp, $sp, 0x20 +EnableNpcAux: /* 0203F0 80044FF0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0203F4 80044FF4 AFB10014 */ sw $s1, 0x14($sp) /* 0203F8 80044FF8 0080882D */ daddu $s1, $a0, $zero @@ -1048,11 +1068,11 @@ func_80044E4C: /* 02040C 8004500C 8E30000C */ lw $s0, 0xc($s1) /* 020410 80045010 8E330148 */ lw $s3, 0x148($s1) /* 020414 80045014 8E050000 */ lw $a1, ($s0) -/* 020418 80045018 0C0B1EAF */ jal func_802C7ABC +/* 020418 80045018 0C0B1EAF */ jal get_variable /* 02041C 8004501C 26100004 */ addiu $s0, $s0, 4 /* 020420 80045020 0040902D */ daddu $s2, $v0, $zero /* 020424 80045024 8E050000 */ lw $a1, ($s0) -/* 020428 80045028 0C0B1EAF */ jal func_802C7ABC +/* 020428 80045028 0C0B1EAF */ jal get_variable /* 02042C 8004502C 0220202D */ daddu $a0, $s1, $zero /* 020430 80045030 0040802D */ daddu $s0, $v0, $zero /* 020434 80045034 2402FFFF */ addiu $v0, $zero, -1 @@ -1060,14 +1080,14 @@ func_80044E4C: /* 02043C 8004503C 00000000 */ nop /* 020440 80045040 86720008 */ lh $s2, 8($s3) .L80045044: -/* 020444 80045044 0C00FB3A */ jal func_8003ECE8 +/* 020444 80045044 0C00FB3A */ jal get_enemy /* 020448 80045048 0240202D */ daddu $a0, $s2, $zero /* 02044C 8004504C 12000008 */ beqz $s0, .L80045070 /* 020450 80045050 0040982D */ daddu $s3, $v0, $zero /* 020454 80045054 8E620044 */ lw $v0, 0x44($s3) /* 020458 80045058 1040000A */ beqz $v0, .L80045084 /* 02045C 8004505C 00000000 */ nop -/* 020460 80045060 0C0B1123 */ jal func_802C448C +/* 020460 80045060 0C0B1123 */ jal resume_all_script /* 020464 80045064 8E64005C */ lw $a0, 0x5c($s3) /* 020468 80045068 08011421 */ j func_80045084 /* 02046C 8004506C 00000000 */ nop @@ -1076,7 +1096,7 @@ func_80044E4C: /* 020470 80045070 8E620044 */ lw $v0, 0x44($s3) /* 020474 80045074 10400003 */ beqz $v0, .L80045084 /* 020478 80045078 00000000 */ nop -/* 02047C 8004507C 0C0B1108 */ jal func_802C4420 +/* 02047C 8004507C 0C0B1108 */ jal suspend_all_script /* 020480 80045080 8E64005C */ lw $a0, 0x5c($s3) func_80045084: .L80045084: @@ -1089,6 +1109,7 @@ func_80045084: /* 02049C 8004509C 03E00008 */ jr $ra /* 0204A0 800450A0 27BD0028 */ addiu $sp, $sp, 0x28 +BindNpcInteract: /* 0204A4 800450A4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0204A8 800450A8 AFB10014 */ sw $s1, 0x14($sp) /* 0204AC 800450AC 0080882D */ daddu $s1, $a0, $zero @@ -1099,11 +1120,11 @@ func_80045084: /* 0204C0 800450C0 8E30000C */ lw $s0, 0xc($s1) /* 0204C4 800450C4 8E330148 */ lw $s3, 0x148($s1) /* 0204C8 800450C8 8E050000 */ lw $a1, ($s0) -/* 0204CC 800450CC 0C0B1EAF */ jal func_802C7ABC +/* 0204CC 800450CC 0C0B1EAF */ jal get_variable /* 0204D0 800450D0 26100004 */ addiu $s0, $s0, 4 /* 0204D4 800450D4 0040902D */ daddu $s2, $v0, $zero /* 0204D8 800450D8 8E050000 */ lw $a1, ($s0) -/* 0204DC 800450DC 0C0B1EAF */ jal func_802C7ABC +/* 0204DC 800450DC 0C0B1EAF */ jal get_variable /* 0204E0 800450E0 0220202D */ daddu $a0, $s1, $zero /* 0204E4 800450E4 0040802D */ daddu $s0, $v0, $zero /* 0204E8 800450E8 2402FFFF */ addiu $v0, $zero, -1 @@ -1111,14 +1132,14 @@ func_80045084: /* 0204F0 800450F0 00000000 */ nop /* 0204F4 800450F4 86720008 */ lh $s2, 8($s3) .L800450F8: -/* 0204F8 800450F8 0C00FB3A */ jal func_8003ECE8 +/* 0204F8 800450F8 0C00FB3A */ jal get_enemy /* 0204FC 800450FC 0240202D */ daddu $a0, $s2, $zero /* 020500 80045100 0040982D */ daddu $s3, $v0, $zero /* 020504 80045104 8E620038 */ lw $v0, 0x38($s3) /* 020508 80045108 50400005 */ beql $v0, $zero, .L80045120 /* 02050C 8004510C AE700020 */ sw $s0, 0x20($s3) /* 020510 80045110 8E640050 */ lw $a0, 0x50($s3) -/* 020514 80045114 0C0B102B */ jal func_802C40AC +/* 020514 80045114 0C0B102B */ jal kill_script_by_ID /* 020518 80045118 00000000 */ nop /* 02051C 8004511C AE700020 */ sw $s0, 0x20($s3) .L80045120: @@ -1131,6 +1152,7 @@ func_80045084: /* 020538 80045138 03E00008 */ jr $ra /* 02053C 8004513C 27BD0028 */ addiu $sp, $sp, 0x28 +BindNpcHit: /* 020540 80045140 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 020544 80045144 AFB10014 */ sw $s1, 0x14($sp) /* 020548 80045148 0080882D */ daddu $s1, $a0, $zero @@ -1141,11 +1163,11 @@ func_80045084: /* 02055C 8004515C 8E30000C */ lw $s0, 0xc($s1) /* 020560 80045160 8E330148 */ lw $s3, 0x148($s1) /* 020564 80045164 8E050000 */ lw $a1, ($s0) -/* 020568 80045168 0C0B1EAF */ jal func_802C7ABC +/* 020568 80045168 0C0B1EAF */ jal get_variable /* 02056C 8004516C 26100004 */ addiu $s0, $s0, 4 /* 020570 80045170 0040902D */ daddu $s2, $v0, $zero /* 020574 80045174 8E050000 */ lw $a1, ($s0) -/* 020578 80045178 0C0B1EAF */ jal func_802C7ABC +/* 020578 80045178 0C0B1EAF */ jal get_variable /* 02057C 8004517C 0220202D */ daddu $a0, $s1, $zero /* 020580 80045180 0040802D */ daddu $s0, $v0, $zero /* 020584 80045184 2402FFFF */ addiu $v0, $zero, -1 @@ -1153,14 +1175,14 @@ func_80045084: /* 02058C 8004518C 00000000 */ nop /* 020590 80045190 86720008 */ lh $s2, 8($s3) .L80045194: -/* 020594 80045194 0C00FB3A */ jal func_8003ECE8 +/* 020594 80045194 0C00FB3A */ jal get_enemy /* 020598 80045198 0240202D */ daddu $a0, $s2, $zero /* 02059C 8004519C 0040982D */ daddu $s3, $v0, $zero /* 0205A0 800451A0 8E620040 */ lw $v0, 0x40($s3) /* 0205A4 800451A4 50400005 */ beql $v0, $zero, .L800451BC /* 0205A8 800451A8 AE700028 */ sw $s0, 0x28($s3) /* 0205AC 800451AC 8E640058 */ lw $a0, 0x58($s3) -/* 0205B0 800451B0 0C0B102B */ jal func_802C40AC +/* 0205B0 800451B0 0C0B102B */ jal kill_script_by_ID /* 0205B4 800451B4 00000000 */ nop /* 0205B8 800451B8 AE700028 */ sw $s0, 0x28($s3) .L800451BC: @@ -1173,6 +1195,7 @@ func_80045084: /* 0205D4 800451D4 03E00008 */ jr $ra /* 0205D8 800451D8 27BD0028 */ addiu $sp, $sp, 0x28 +BindNpcDefeat: /* 0205DC 800451DC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0205E0 800451E0 AFB10014 */ sw $s1, 0x14($sp) /* 0205E4 800451E4 0080882D */ daddu $s1, $a0, $zero @@ -1183,11 +1206,11 @@ func_80045084: /* 0205F8 800451F8 8E30000C */ lw $s0, 0xc($s1) /* 0205FC 800451FC 8E330148 */ lw $s3, 0x148($s1) /* 020600 80045200 8E050000 */ lw $a1, ($s0) -/* 020604 80045204 0C0B1EAF */ jal func_802C7ABC +/* 020604 80045204 0C0B1EAF */ jal get_variable /* 020608 80045208 26100004 */ addiu $s0, $s0, 4 /* 02060C 8004520C 0040902D */ daddu $s2, $v0, $zero /* 020610 80045210 8E050000 */ lw $a1, ($s0) -/* 020614 80045214 0C0B1EAF */ jal func_802C7ABC +/* 020614 80045214 0C0B1EAF */ jal get_variable /* 020618 80045218 0220202D */ daddu $a0, $s1, $zero /* 02061C 8004521C 0040802D */ daddu $s0, $v0, $zero /* 020620 80045220 2402FFFF */ addiu $v0, $zero, -1 @@ -1195,7 +1218,7 @@ func_80045084: /* 020628 80045228 00000000 */ nop /* 02062C 8004522C 86720008 */ lh $s2, 8($s3) .L80045230: -/* 020630 80045230 0C00FB3A */ jal func_8003ECE8 +/* 020630 80045230 0C00FB3A */ jal get_enemy /* 020634 80045234 0240202D */ daddu $a0, $s2, $zero /* 020638 80045238 AC500030 */ sw $s0, 0x30($v0) /* 02063C 8004523C 8FBF0020 */ lw $ra, 0x20($sp) @@ -1207,6 +1230,7 @@ func_80045084: /* 020654 80045254 03E00008 */ jr $ra /* 020658 80045258 27BD0028 */ addiu $sp, $sp, 0x28 +SetSelfVar: /* 02065C 8004525C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 020660 80045260 AFB00010 */ sw $s0, 0x10($sp) /* 020664 80045264 0080802D */ daddu $s0, $a0, $zero @@ -1216,11 +1240,11 @@ func_80045084: /* 020674 80045274 8E11000C */ lw $s1, 0xc($s0) /* 020678 80045278 8E120148 */ lw $s2, 0x148($s0) /* 02067C 8004527C 8E250000 */ lw $a1, ($s1) -/* 020680 80045280 0C0B1EAF */ jal func_802C7ABC +/* 020680 80045280 0C0B1EAF */ jal get_variable /* 020684 80045284 26310004 */ addiu $s1, $s1, 4 /* 020688 80045288 0200202D */ daddu $a0, $s0, $zero /* 02068C 8004528C 8E250000 */ lw $a1, ($s1) -/* 020690 80045290 0C0B1EAF */ jal func_802C7ABC +/* 020690 80045290 0C0B1EAF */ jal get_variable /* 020694 80045294 0040802D */ daddu $s0, $v0, $zero /* 020698 80045298 00108080 */ sll $s0, $s0, 2 /* 02069C 8004529C 02509021 */ addu $s2, $s2, $s0 @@ -1233,6 +1257,7 @@ func_80045084: /* 0206B8 800452B8 03E00008 */ jr $ra /* 0206BC 800452BC 27BD0020 */ addiu $sp, $sp, 0x20 +GetSelfVar: /* 0206C0 800452C0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0206C4 800452C4 AFB20018 */ sw $s2, 0x18($sp) /* 0206C8 800452C8 0080902D */ daddu $s2, $a0, $zero @@ -1242,13 +1267,13 @@ func_80045084: /* 0206D8 800452D8 8E51000C */ lw $s1, 0xc($s2) /* 0206DC 800452DC 8E500148 */ lw $s0, 0x148($s2) /* 0206E0 800452E0 8E250000 */ lw $a1, ($s1) -/* 0206E4 800452E4 0C0B1EAF */ jal func_802C7ABC +/* 0206E4 800452E4 0C0B1EAF */ jal get_variable /* 0206E8 800452E8 26310004 */ addiu $s1, $s1, 4 /* 0206EC 800452EC 00021080 */ sll $v0, $v0, 2 /* 0206F0 800452F0 02028021 */ addu $s0, $s0, $v0 /* 0206F4 800452F4 8E250000 */ lw $a1, ($s1) /* 0206F8 800452F8 8E06006C */ lw $a2, 0x6c($s0) -/* 0206FC 800452FC 0C0B2026 */ jal func_802C8098 +/* 0206FC 800452FC 0C0B2026 */ jal set_variable /* 020700 80045300 0240202D */ daddu $a0, $s2, $zero /* 020704 80045304 8FBF001C */ lw $ra, 0x1c($sp) /* 020708 80045308 8FB20018 */ lw $s2, 0x18($sp) @@ -1258,6 +1283,7 @@ func_80045084: /* 020718 80045318 03E00008 */ jr $ra /* 02071C 8004531C 27BD0020 */ addiu $sp, $sp, 0x20 +SetNpcVar: /* 020720 80045320 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 020724 80045324 AFB10014 */ sw $s1, 0x14($sp) /* 020728 80045328 0080882D */ daddu $s1, $a0, $zero @@ -1268,16 +1294,16 @@ func_80045084: /* 02073C 8004533C 8E30000C */ lw $s0, 0xc($s1) /* 020740 80045340 8E330148 */ lw $s3, 0x148($s1) /* 020744 80045344 8E050000 */ lw $a1, ($s0) -/* 020748 80045348 0C0B1EAF */ jal func_802C7ABC +/* 020748 80045348 0C0B1EAF */ jal get_variable /* 02074C 8004534C 26100004 */ addiu $s0, $s0, 4 /* 020750 80045350 0040902D */ daddu $s2, $v0, $zero /* 020754 80045354 8E050000 */ lw $a1, ($s0) /* 020758 80045358 26100004 */ addiu $s0, $s0, 4 -/* 02075C 8004535C 0C0B1EAF */ jal func_802C7ABC +/* 02075C 8004535C 0C0B1EAF */ jal get_variable /* 020760 80045360 0220202D */ daddu $a0, $s1, $zero /* 020764 80045364 0220202D */ daddu $a0, $s1, $zero /* 020768 80045368 8E050000 */ lw $a1, ($s0) -/* 02076C 8004536C 0C0B1EAF */ jal func_802C7ABC +/* 02076C 8004536C 0C0B1EAF */ jal get_variable /* 020770 80045370 0040802D */ daddu $s0, $v0, $zero /* 020774 80045374 0040882D */ daddu $s1, $v0, $zero /* 020778 80045378 2402FFFF */ addiu $v0, $zero, -1 @@ -1285,7 +1311,7 @@ func_80045084: /* 020780 80045380 00000000 */ nop /* 020784 80045384 86720008 */ lh $s2, 8($s3) .L80045388: -/* 020788 80045388 0C00FB3A */ jal func_8003ECE8 +/* 020788 80045388 0C00FB3A */ jal get_enemy /* 02078C 8004538C 0240202D */ daddu $a0, $s2, $zero /* 020790 80045390 00101880 */ sll $v1, $s0, 2 /* 020794 80045394 00431021 */ addu $v0, $v0, $v1 @@ -1299,6 +1325,7 @@ func_80045084: /* 0207B4 800453B4 03E00008 */ jr $ra /* 0207B8 800453B8 27BD0028 */ addiu $sp, $sp, 0x28 +GetNpcVar: /* 0207BC 800453BC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0207C0 800453C0 AFB3001C */ sw $s3, 0x1c($sp) /* 0207C4 800453C4 0080982D */ daddu $s3, $a0, $zero @@ -1310,12 +1337,12 @@ func_80045084: /* 0207DC 800453DC 8E70000C */ lw $s0, 0xc($s3) /* 0207E0 800453E0 8E720148 */ lw $s2, 0x148($s3) /* 0207E4 800453E4 8E050000 */ lw $a1, ($s0) -/* 0207E8 800453E8 0C0B1EAF */ jal func_802C7ABC +/* 0207E8 800453E8 0C0B1EAF */ jal get_variable /* 0207EC 800453EC 26100004 */ addiu $s0, $s0, 4 /* 0207F0 800453F0 0040882D */ daddu $s1, $v0, $zero /* 0207F4 800453F4 8E050000 */ lw $a1, ($s0) /* 0207F8 800453F8 26100004 */ addiu $s0, $s0, 4 -/* 0207FC 800453FC 0C0B1EAF */ jal func_802C7ABC +/* 0207FC 800453FC 0C0B1EAF */ jal get_variable /* 020800 80045400 0260202D */ daddu $a0, $s3, $zero /* 020804 80045404 0040A02D */ daddu $s4, $v0, $zero /* 020808 80045408 2402FFFF */ addiu $v0, $zero, -1 @@ -1323,13 +1350,13 @@ func_80045084: /* 020810 80045410 8E100000 */ lw $s0, ($s0) /* 020814 80045414 86510008 */ lh $s1, 8($s2) .L80045418: -/* 020818 80045418 0C00FB3A */ jal func_8003ECE8 +/* 020818 80045418 0C00FB3A */ jal get_enemy /* 02081C 8004541C 0220202D */ daddu $a0, $s1, $zero /* 020820 80045420 0260202D */ daddu $a0, $s3, $zero /* 020824 80045424 00141880 */ sll $v1, $s4, 2 /* 020828 80045428 00431021 */ addu $v0, $v0, $v1 /* 02082C 8004542C 8C46006C */ lw $a2, 0x6c($v0) -/* 020830 80045430 0C0B2026 */ jal func_802C8098 +/* 020830 80045430 0C0B2026 */ jal set_variable /* 020834 80045434 0200282D */ daddu $a1, $s0, $zero /* 020838 80045438 8FBF0024 */ lw $ra, 0x24($sp) /* 02083C 8004543C 8FB40020 */ lw $s4, 0x20($sp) @@ -1341,6 +1368,7 @@ func_80045084: /* 020854 80045454 03E00008 */ jr $ra /* 020858 80045458 27BD0028 */ addiu $sp, $sp, 0x28 +SetSelfRotation: /* 02085C 8004545C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 020860 80045460 AFB10014 */ sw $s1, 0x14($sp) /* 020864 80045464 0080882D */ daddu $s1, $a0, $zero @@ -1349,21 +1377,21 @@ func_80045084: /* 020870 80045470 AFB20018 */ sw $s2, 0x18($sp) /* 020874 80045474 AFB00010 */ sw $s0, 0x10($sp) /* 020878 80045478 8E24014C */ lw $a0, 0x14c($s1) -/* 02087C 8004547C 0C00EABB */ jal func_8003AAEC +/* 02087C 8004547C 0C00EABB */ jal get_npc_unsafe /* 020880 80045480 8E30000C */ lw $s0, 0xc($s1) /* 020884 80045484 8E050000 */ lw $a1, ($s0) /* 020888 80045488 26100004 */ addiu $s0, $s0, 4 /* 02088C 8004548C 0220202D */ daddu $a0, $s1, $zero -/* 020890 80045490 0C0B1EAF */ jal func_802C7ABC +/* 020890 80045490 0C0B1EAF */ jal get_variable /* 020894 80045494 0040902D */ daddu $s2, $v0, $zero /* 020898 80045498 8E050000 */ lw $a1, ($s0) /* 02089C 8004549C 26100004 */ addiu $s0, $s0, 4 /* 0208A0 800454A0 0220202D */ daddu $a0, $s1, $zero -/* 0208A4 800454A4 0C0B1EAF */ jal func_802C7ABC +/* 0208A4 800454A4 0C0B1EAF */ jal get_variable /* 0208A8 800454A8 0040982D */ daddu $s3, $v0, $zero /* 0208AC 800454AC 0220202D */ daddu $a0, $s1, $zero /* 0208B0 800454B0 8E050000 */ lw $a1, ($s0) -/* 0208B4 800454B4 0C0B1EAF */ jal func_802C7ABC +/* 0208B4 800454B4 0C0B1EAF */ jal get_variable /* 0208B8 800454B8 0040802D */ daddu $s0, $v0, $zero /* 0208BC 800454BC 44821000 */ mtc1 $v0, $f2 /* 0208C0 800454C0 00000000 */ nop @@ -1386,6 +1414,7 @@ func_80045084: /* 020904 80045504 03E00008 */ jr $ra /* 020908 80045508 27BD0028 */ addiu $sp, $sp, 0x28 +SetSelfEnemyFlags: /* 02090C 8004550C 8C82000C */ lw $v0, 0xc($a0) /* 020910 80045510 8C830148 */ lw $v1, 0x148($a0) /* 020914 80045514 8C420000 */ lw $v0, ($v0) @@ -1393,6 +1422,7 @@ func_80045084: /* 02091C 8004551C 03E00008 */ jr $ra /* 020920 80045520 24020002 */ addiu $v0, $zero, 2 +SetSelfEnemyFlagBits: /* 020924 80045524 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 020928 80045528 AFBF0018 */ sw $ra, 0x18($sp) /* 02092C 8004552C AFB10014 */ sw $s1, 0x14($sp) @@ -1400,7 +1430,7 @@ func_80045084: /* 020934 80045534 8C82000C */ lw $v0, 0xc($a0) /* 020938 80045538 8C900148 */ lw $s0, 0x148($a0) /* 02093C 8004553C 8C450004 */ lw $a1, 4($v0) -/* 020940 80045540 0C0B1EAF */ jal func_802C7ABC +/* 020940 80045540 0C0B1EAF */ jal get_variable /* 020944 80045544 8C510000 */ lw $s1, ($v0) /* 020948 80045548 10400004 */ beqz $v0, .L8004555C /* 02094C 8004554C 00111827 */ nor $v1, $zero, $s1 @@ -1428,11 +1458,11 @@ func_80045564: /* 020994 80045594 AFB10014 */ sw $s1, 0x14($sp) /* 020998 80045598 8E04014C */ lw $a0, 0x14c($s0) /* 02099C 8004559C 8E12000C */ lw $s2, 0xc($s0) -/* 0209A0 800455A0 0C00EABB */ jal func_8003AAEC +/* 0209A0 800455A0 0C00EABB */ jal get_npc_unsafe /* 0209A4 800455A4 8E110148 */ lw $s1, 0x148($s0) /* 0209A8 800455A8 0200202D */ daddu $a0, $s0, $zero /* 0209AC 800455AC 8E450000 */ lw $a1, ($s2) -/* 0209B0 800455B0 0C0B1EAF */ jal func_802C7ABC +/* 0209B0 800455B0 0C0B1EAF */ jal get_variable /* 0209B4 800455B4 0040802D */ daddu $s0, $v0, $zero /* 0209B8 800455B8 A2220007 */ sb $v0, 7($s1) /* 0209BC 800455BC C6000038 */ lwc1 $f0, 0x38($s0) @@ -1458,18 +1488,20 @@ func_80045564: /* 020A0C 8004560C 03E00008 */ jr $ra /* 020A10 80045610 27BD0020 */ addiu $sp, $sp, 0x20 +GetSelfNpcID: /* 020A14 80045614 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 020A18 80045618 AFBF0010 */ sw $ra, 0x10($sp) /* 020A1C 8004561C 8C82000C */ lw $v0, 0xc($a0) /* 020A20 80045620 8C830148 */ lw $v1, 0x148($a0) /* 020A24 80045624 8C450000 */ lw $a1, ($v0) -/* 020A28 80045628 0C0B2026 */ jal func_802C8098 +/* 020A28 80045628 0C0B2026 */ jal set_variable /* 020A2C 8004562C 84660008 */ lh $a2, 8($v1) /* 020A30 80045630 8FBF0010 */ lw $ra, 0x10($sp) /* 020A34 80045634 24020002 */ addiu $v0, $zero, 2 /* 020A38 80045638 03E00008 */ jr $ra /* 020A3C 8004563C 27BD0018 */ addiu $sp, $sp, 0x18 +ClearDefeatedEnemies: /* 020A40 80045640 3C07800B */ lui $a3, 0x800b /* 020A44 80045644 24E70F10 */ addiu $a3, $a3, 0xf10 /* 020A48 80045648 0000302D */ daddu $a2, $zero, $zero @@ -1491,6 +1523,7 @@ func_80045564: /* 020A80 80045680 03E00008 */ jr $ra /* 020A84 80045684 24020002 */ addiu $v0, $zero, 2 +SetEnemyFlagBits: /* 020A88 80045688 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 020A8C 8004568C AFB10014 */ sw $s1, 0x14($sp) /* 020A90 80045690 0080882D */ daddu $s1, $a0, $zero @@ -1501,12 +1534,12 @@ func_80045564: /* 020AA4 800456A4 8E30000C */ lw $s0, 0xc($s1) /* 020AA8 800456A8 8E330148 */ lw $s3, 0x148($s1) /* 020AAC 800456AC 8E050000 */ lw $a1, ($s0) -/* 020AB0 800456B0 0C0B1EAF */ jal func_802C7ABC +/* 020AB0 800456B0 0C0B1EAF */ jal get_variable /* 020AB4 800456B4 26100004 */ addiu $s0, $s0, 4 /* 020AB8 800456B8 0040902D */ daddu $s2, $v0, $zero /* 020ABC 800456BC 8E050004 */ lw $a1, 4($s0) /* 020AC0 800456C0 8E100000 */ lw $s0, ($s0) -/* 020AC4 800456C4 0C0B1EAF */ jal func_802C7ABC +/* 020AC4 800456C4 0C0B1EAF */ jal get_variable /* 020AC8 800456C8 0220202D */ daddu $a0, $s1, $zero /* 020ACC 800456CC 0040882D */ daddu $s1, $v0, $zero /* 020AD0 800456D0 2402FFFF */ addiu $v0, $zero, -1 @@ -1514,7 +1547,7 @@ func_80045564: /* 020AD8 800456D8 00000000 */ nop /* 020ADC 800456DC 86720008 */ lh $s2, 8($s3) .L800456E0: -/* 020AE0 800456E0 0C00FB3A */ jal func_8003ECE8 +/* 020AE0 800456E0 0C00FB3A */ jal get_enemy /* 020AE4 800456E4 0240202D */ daddu $a0, $s2, $zero /* 020AE8 800456E8 12200004 */ beqz $s1, .L800456FC /* 020AEC 800456EC 0040982D */ daddu $s3, $v0, $zero @@ -1540,6 +1573,7 @@ func_80045708: /* 020B2C 8004572C 03E00008 */ jr $ra /* 020B30 80045730 24020002 */ addiu $v0, $zero, 2 +GetSelfAnimationFromTable: /* 020B34 80045734 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 020B38 80045738 AFB10014 */ sw $s1, 0x14($sp) /* 020B3C 8004573C 0080882D */ daddu $s1, $a0, $zero @@ -1549,14 +1583,14 @@ func_80045708: /* 020B4C 8004574C 8E30000C */ lw $s0, 0xc($s1) /* 020B50 80045750 8E320148 */ lw $s2, 0x148($s1) /* 020B54 80045754 8E050000 */ lw $a1, ($s0) -/* 020B58 80045758 0C0B1EAF */ jal func_802C7ABC +/* 020B58 80045758 0C0B1EAF */ jal get_variable /* 020B5C 8004575C 26100004 */ addiu $s0, $s0, 4 /* 020B60 80045760 00021080 */ sll $v0, $v0, 2 /* 020B64 80045764 8E4300CC */ lw $v1, 0xcc($s2) /* 020B68 80045768 8E050000 */ lw $a1, ($s0) /* 020B6C 8004576C 00431021 */ addu $v0, $v0, $v1 /* 020B70 80045770 8C460000 */ lw $a2, ($v0) -/* 020B74 80045774 0C0B2026 */ jal func_802C8098 +/* 020B74 80045774 0C0B2026 */ jal set_variable /* 020B78 80045778 0220202D */ daddu $a0, $s1, $zero /* 020B7C 8004577C 8FBF001C */ lw $ra, 0x1c($sp) /* 020B80 80045780 8FB20018 */ lw $s2, 0x18($sp) @@ -1569,7 +1603,7 @@ func_80045708: /* 020B98 80045798 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 020B9C 8004579C AFBF0010 */ sw $ra, 0x10($sp) /* 020BA0 800457A0 8C82000C */ lw $v0, 0xc($a0) -/* 020BA4 800457A4 0C0B1EAF */ jal func_802C7ABC +/* 020BA4 800457A4 0C0B1EAF */ jal get_variable /* 020BA8 800457A8 8C450000 */ lw $a1, ($v0) /* 020BAC 800457AC 8FBF0010 */ lw $ra, 0x10($sp) /* 020BB0 800457B0 3C018011 */ lui $at, 0x8011 @@ -1583,7 +1617,7 @@ func_80045708: /* 020BCC 800457CC AFB00010 */ sw $s0, 0x10($sp) /* 020BD0 800457D0 8C82000C */ lw $v0, 0xc($a0) /* 020BD4 800457D4 8C450000 */ lw $a1, ($v0) -/* 020BD8 800457D8 0C0B1EAF */ jal func_802C7ABC +/* 020BD8 800457D8 0C0B1EAF */ jal get_variable /* 020BDC 800457DC 8C900148 */ lw $s0, 0x148($a0) /* 020BE0 800457E0 A20200B5 */ sb $v0, 0xb5($s0) /* 020BE4 800457E4 8FBF0014 */ lw $ra, 0x14($sp) @@ -1603,7 +1637,7 @@ func_80045708: /* 020C14 80045814 8C82000C */ lw $v0, 0xc($a0) /* 020C18 80045818 3C06800B */ lui $a2, 0x800b /* 020C1C 8004581C 80C60F16 */ lb $a2, 0xf16($a2) -/* 020C20 80045820 0C0B2026 */ jal func_802C8098 +/* 020C20 80045820 0C0B2026 */ jal set_variable /* 020C24 80045824 8C450000 */ lw $a1, ($v0) /* 020C28 80045828 8FBF0010 */ lw $ra, 0x10($sp) /* 020C2C 8004582C 24020002 */ addiu $v0, $zero, 2 @@ -1619,16 +1653,16 @@ func_80045708: /* 020C50 80045850 AFB00010 */ sw $s0, 0x10($sp) /* 020C54 80045854 8E30000C */ lw $s0, 0xc($s1) /* 020C58 80045858 8E050000 */ lw $a1, ($s0) -/* 020C5C 8004585C 0C0B1EAF */ jal func_802C7ABC +/* 020C5C 8004585C 0C0B1EAF */ jal get_variable /* 020C60 80045860 26100004 */ addiu $s0, $s0, 4 /* 020C64 80045864 8E050000 */ lw $a1, ($s0) /* 020C68 80045868 26100004 */ addiu $s0, $s0, 4 /* 020C6C 8004586C 0220202D */ daddu $a0, $s1, $zero -/* 020C70 80045870 0C0B1EAF */ jal func_802C7ABC +/* 020C70 80045870 0C0B1EAF */ jal get_variable /* 020C74 80045874 0040902D */ daddu $s2, $v0, $zero /* 020C78 80045878 0220202D */ daddu $a0, $s1, $zero /* 020C7C 8004587C 8E050000 */ lw $a1, ($s0) -/* 020C80 80045880 0C0B1EAF */ jal func_802C7ABC +/* 020C80 80045880 0C0B1EAF */ jal get_variable /* 020C84 80045884 0040982D */ daddu $s3, $v0, $zero /* 020C88 80045888 0220202D */ daddu $a0, $s1, $zero /* 020C8C 8004588C 0240282D */ daddu $a1, $s2, $zero @@ -1656,7 +1690,7 @@ func_80045708: /* 020CDC 800458DC 8C83000C */ lw $v1, 0xc($a0) /* 020CE0 800458E0 9446002A */ lhu $a2, 0x2a($v0) /* 020CE4 800458E4 8C650000 */ lw $a1, ($v1) -/* 020CE8 800458E8 0C0B2026 */ jal func_802C8098 +/* 020CE8 800458E8 0C0B2026 */ jal set_variable /* 020CEC 800458EC 30C60008 */ andi $a2, $a2, 8 /* 020CF0 800458F0 8FBF0010 */ lw $ra, 0x10($sp) /* 020CF4 800458F4 24020002 */ addiu $v0, $zero, 2 @@ -1669,12 +1703,12 @@ func_80045708: /* 020D0C 8004590C AFBF0048 */ sw $ra, 0x48($sp) /* 020D10 80045910 AFB10044 */ sw $s1, 0x44($sp) /* 020D14 80045914 8E110148 */ lw $s1, 0x148($s0) -/* 020D18 80045918 0C00EABB */ jal func_8003AAEC +/* 020D18 80045918 0C00EABB */ jal get_npc_unsafe /* 020D1C 8004591C 86240008 */ lh $a0, 8($s1) /* 020D20 80045920 8E03000C */ lw $v1, 0xc($s0) /* 020D24 80045924 0200202D */ daddu $a0, $s0, $zero /* 020D28 80045928 8C650000 */ lw $a1, ($v1) -/* 020D2C 8004592C 0C0B1EAF */ jal func_802C7ABC +/* 020D2C 8004592C 0C0B1EAF */ jal get_variable /* 020D30 80045930 0040802D */ daddu $s0, $v0, $zero /* 020D34 80045934 8E2300B0 */ lw $v1, 0xb0($s1) /* 020D38 80045938 34630004 */ ori $v1, $v1, 4 @@ -1709,7 +1743,7 @@ func_80045708: /* 020DA8 800459A8 AFA20020 */ sw $v0, 0x20($sp) /* 020DAC 800459AC E7A20018 */ swc1 $f2, 0x18($sp) /* 020DB0 800459B0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 020DB4 800459B4 0C01BFA4 */ jal func_8006FE90 +/* 020DB4 800459B4 0C01BFA4 */ jal fx_emote /* 020DB8 800459B8 AFA60014 */ sw $a2, 0x14($sp) .L800459BC: /* 020DBC 800459BC 8E020000 */ lw $v0, ($s0) @@ -1761,14 +1795,14 @@ func_80045708: /* 020E68 80045A68 AFB00010 */ sw $s0, 0x10($sp) /* 020E6C 80045A6C 8E30000C */ lw $s0, 0xc($s1) /* 020E70 80045A70 8E050000 */ lw $a1, ($s0) -/* 020E74 80045A74 0C0B1EAF */ jal func_802C7ABC +/* 020E74 80045A74 0C0B1EAF */ jal get_variable /* 020E78 80045A78 26100004 */ addiu $s0, $s0, 4 /* 020E7C 80045A7C 0220202D */ daddu $a0, $s1, $zero /* 020E80 80045A80 8E050000 */ lw $a1, ($s0) -/* 020E84 80045A84 0C0B1EAF */ jal func_802C7ABC +/* 020E84 80045A84 0C0B1EAF */ jal get_variable /* 020E88 80045A88 0040802D */ daddu $s0, $v0, $zero /* 020E8C 80045A8C 0200202D */ daddu $a0, $s0, $zero -/* 020E90 80045A90 0C00FB3A */ jal func_8003ECE8 +/* 020E90 80045A90 0C00FB3A */ jal get_enemy /* 020E94 80045A94 0040802D */ daddu $s0, $v0, $zero /* 020E98 80045A98 AC5000D8 */ sw $s0, 0xd8($v0) /* 020E9C 80045A9C 8FBF0018 */ lw $ra, 0x18($sp) diff --git a/papermario/asm/code_20ec0_len_5040.s b/papermario/asm/code_20ec0_len_5040.s index 1095d18682..0eca6e329c 100644 --- a/papermario/asm/code_20ec0_len_5040.s +++ b/papermario/asm/code_20ec0_len_5040.s @@ -35,7 +35,7 @@ func_80045AC0: /* 020F2C 80045B2C 8E040018 */ lw $a0, 0x18($s0) /* 020F30 80045B30 50800004 */ beql $a0, $zero, .L80045B44 /* 020F34 80045B34 A6000010 */ sh $zero, 0x10($s0) -/* 020F38 80045B38 0C00AB4B */ jal func_8002AD2C +/* 020F38 80045B38 0C00AB4B */ jal heap_free /* 020F3C 80045B3C 00000000 */ nop /* 020F40 80045B40 A6000010 */ sh $zero, 0x10($s0) .L80045B44: @@ -160,7 +160,7 @@ func_80045CC4: /* 0210D4 80045CD4 8E040018 */ lw $a0, 0x18($s0) /* 0210D8 80045CD8 50800005 */ beql $a0, $zero, .L80045CF0 /* 0210DC 80045CDC A6000010 */ sh $zero, 0x10($s0) -/* 0210E0 80045CE0 0C00AB4B */ jal func_8002AD2C +/* 0210E0 80045CE0 0C00AB4B */ jal heap_free /* 0210E4 80045CE4 00000000 */ nop /* 0210E8 80045CE8 AE000018 */ sw $zero, 0x18($s0) /* 0210EC 80045CEC A6000010 */ sh $zero, 0x10($s0) @@ -292,7 +292,7 @@ func_80045E18: /* 0212A4 80045EA4 240700FF */ addiu $a3, $zero, 0xff /* 0212A8 80045EA8 AFA20010 */ sw $v0, 0x10($sp) /* 0212AC 80045EAC AFA00014 */ sw $zero, 0x14($sp) -/* 0212B0 80045EB0 0C04993B */ jal func_801264EC +/* 0212B0 80045EB0 0C04993B */ jal draw_string /* 0212B4 80045EB4 02063021 */ addu $a2, $s0, $a2 /* 0212B8 80045EB8 8FBF0024 */ lw $ra, 0x24($sp) /* 0212BC 80045EBC 8FB20020 */ lw $s2, 0x20($sp) @@ -317,7 +317,7 @@ func_80045E18: /* 021304 80045F04 02028021 */ addu $s0, $s0, $v0 /* 021308 80045F08 8E108168 */ lw $s0, -0x7e98($s0) /* 02130C 80045F0C 0000282D */ daddu $a1, $zero, $zero -/* 021310 80045F10 0C04991D */ jal func_80126474 +/* 021310 80045F10 0C04991D */ jal get_string_width /* 021314 80045F14 0200202D */ daddu $a0, $s0, $zero /* 021318 80045F18 0200202D */ daddu $a0, $s0, $zero /* 02131C 80045F1C 2451001E */ addiu $s1, $v0, 0x1e @@ -377,7 +377,7 @@ func_80045FB4: /* 0213E0 80045FE0 244265E0 */ addiu $v0, $v0, 0x65e0 /* 0213E4 80045FE4 AE000000 */ sw $zero, ($s0) /* 0213E8 80045FE8 AE000008 */ sw $zero, 8($s0) -/* 0213EC 80045FEC 0C00AB0A */ jal func_8002AC28 +/* 0213EC 80045FEC 0C00AB0A */ jal general_heap_malloc /* 0213F0 80045FF0 AE02000C */ sw $v0, 0xc($s0) /* 0213F4 80045FF4 AE020018 */ sw $v0, 0x18($s0) /* 0213F8 80045FF8 3C01800A */ lui $at, 0x800a @@ -480,15 +480,15 @@ func_80046008: /* 021540 80046140 3C048008 */ lui $a0, 0x8008 /* 021544 80046144 248404F0 */ addiu $a0, $a0, 0x4f0 func_80046148: -/* 021548 80046148 0C050529 */ jal func_801414A4 +/* 021548 80046148 0C050529 */ jal create_icon /* 02154C 8004614C 00000000 */ nop /* 021550 80046150 AE22FFBB */ sw $v0, -0x45($s1) /* 021554 80046154 0040802D */ daddu $s0, $v0, $zero /* 021558 80046158 0200202D */ daddu $a0, $s0, $zero -/* 02155C 8004615C 0C051280 */ jal func_80144A00 +/* 02155C 8004615C 0C051280 */ jal set_icon_flags /* 021560 80046160 24050002 */ addiu $a1, $zero, 2 /* 021564 80046164 0200202D */ daddu $a0, $s0, $zero -/* 021568 80046168 0C051280 */ jal func_80144A00 +/* 021568 80046168 0C051280 */ jal set_icon_flags /* 02156C 8004616C 24050080 */ addiu $a1, $zero, 0x80 /* 021570 80046170 A233FFB5 */ sb $s3, -0x4b($s1) .L80046174: @@ -568,7 +568,7 @@ func_80046148: /* 02166C 8004626C 3C058008 */ lui $a1, 0x8008 /* 021670 80046270 24A504F0 */ addiu $a1, $a1, 0x4f0 func_80046274: -/* 021674 80046274 0C0511FF */ jal func_801447FC +/* 021674 80046274 0C0511FF */ jal set_menu_icon_script /* 021678 80046278 00000000 */ nop /* 02167C 8004627C 2402000A */ addiu $v0, $zero, 0xa /* 021680 80046280 A222FFB8 */ sb $v0, -0x48($s1) @@ -585,7 +585,7 @@ func_80046274: .L800462A4: /* 0216A4 800462A4 8E24FFBF */ lw $a0, -0x41($s1) -/* 0216A8 800462A8 0C05123D */ jal func_801448F4 +/* 0216A8 800462A8 0C05123D */ jal free_icon /* 0216AC 800462AC A220FFB4 */ sb $zero, -0x4c($s1) /* 0216B0 800462B0 A220FFB6 */ sb $zero, -0x4a($s1) func_800462B4: @@ -601,15 +601,15 @@ func_800462B4: /* 0216D4 800462D4 3C048010 */ lui $a0, 0x8010 /* 0216D8 800462D8 248450A8 */ addiu $a0, $a0, 0x50a8 .L800462DC: -/* 0216DC 800462DC 0C050529 */ jal func_801414A4 +/* 0216DC 800462DC 0C050529 */ jal create_icon /* 0216E0 800462E0 00000000 */ nop /* 0216E4 800462E4 AE22FFCB */ sw $v0, -0x35($s1) /* 0216E8 800462E8 0040802D */ daddu $s0, $v0, $zero /* 0216EC 800462EC 0200202D */ daddu $a0, $s0, $zero -/* 0216F0 800462F0 0C051280 */ jal func_80144A00 +/* 0216F0 800462F0 0C051280 */ jal set_icon_flags /* 0216F4 800462F4 24050002 */ addiu $a1, $zero, 2 /* 0216F8 800462F8 0200202D */ daddu $a0, $s0, $zero -/* 0216FC 800462FC 0C051280 */ jal func_80144A00 +/* 0216FC 800462FC 0C051280 */ jal set_icon_flags /* 021700 80046300 24050080 */ addiu $a1, $zero, 0x80 /* 021704 80046304 A233FFC5 */ sb $s3, -0x3b($s1) .L80046308: @@ -639,7 +639,7 @@ func_800462B4: /* 021754 80046354 3C058008 */ lui $a1, 0x8008 /* 021758 80046358 24A504F0 */ addiu $a1, $a1, 0x4f0 func_8004635C: -/* 02175C 8004635C 0C0511FF */ jal func_801447FC +/* 02175C 8004635C 0C0511FF */ jal set_menu_icon_script /* 021760 80046360 00000000 */ nop /* 021764 80046364 A237FFC8 */ sb $s7, -0x38($s1) /* 021768 80046368 080118E6 */ j func_80046398 @@ -655,7 +655,7 @@ func_8004635C: .L80046388: /* 021788 80046388 8E24FFCF */ lw $a0, -0x31($s1) -/* 02178C 8004638C 0C05123D */ jal func_801448F4 +/* 02178C 8004638C 0C05123D */ jal free_icon /* 021790 80046390 A220FFC4 */ sb $zero, -0x3c($s1) /* 021794 80046394 A220FFC6 */ sb $zero, -0x3a($s1) func_80046398: @@ -671,15 +671,15 @@ func_80046398: /* 0217B8 800463B8 3C048010 */ lui $a0, 0x8010 /* 0217BC 800463BC 24846CD8 */ addiu $a0, $a0, 0x6cd8 .L800463C0: -/* 0217C0 800463C0 0C050529 */ jal func_801414A4 +/* 0217C0 800463C0 0C050529 */ jal create_icon /* 0217C4 800463C4 00000000 */ nop /* 0217C8 800463C8 AE22FFDB */ sw $v0, -0x25($s1) /* 0217CC 800463CC 0040802D */ daddu $s0, $v0, $zero /* 0217D0 800463D0 0200202D */ daddu $a0, $s0, $zero -/* 0217D4 800463D4 0C051280 */ jal func_80144A00 +/* 0217D4 800463D4 0C051280 */ jal set_icon_flags /* 0217D8 800463D8 24050002 */ addiu $a1, $zero, 2 /* 0217DC 800463DC 0200202D */ daddu $a0, $s0, $zero -/* 0217E0 800463E0 0C051280 */ jal func_80144A00 +/* 0217E0 800463E0 0C051280 */ jal set_icon_flags /* 0217E4 800463E4 24050080 */ addiu $a1, $zero, 0x80 /* 0217E8 800463E8 A233FFD5 */ sb $s3, -0x2b($s1) .L800463EC: @@ -709,7 +709,7 @@ func_80046398: /* 021838 80046438 3C058008 */ lui $a1, 0x8008 /* 02183C 8004643C 24A504F0 */ addiu $a1, $a1, 0x4f0 func_80046440: -/* 021840 80046440 0C0511FF */ jal func_801447FC +/* 021840 80046440 0C0511FF */ jal set_menu_icon_script /* 021844 80046444 00000000 */ nop /* 021848 80046448 A237FFD8 */ sb $s7, -0x28($s1) /* 02184C 8004644C 0801191F */ j func_8004647C @@ -725,7 +725,7 @@ func_80046440: .L8004646C: /* 02186C 8004646C 8E24FFDF */ lw $a0, -0x21($s1) -/* 021870 80046470 0C05123D */ jal func_801448F4 +/* 021870 80046470 0C05123D */ jal free_icon /* 021874 80046474 A220FFD4 */ sb $zero, -0x2c($s1) /* 021878 80046478 A220FFD6 */ sb $zero, -0x2a($s1) func_8004647C: @@ -735,15 +735,15 @@ func_8004647C: /* 021884 80046484 00000000 */ nop /* 021888 80046488 3C048010 */ lui $a0, 0x8010 /* 02188C 8004648C 248462DC */ addiu $a0, $a0, 0x62dc -/* 021890 80046490 0C050529 */ jal func_801414A4 +/* 021890 80046490 0C050529 */ jal create_icon /* 021894 80046494 00000000 */ nop /* 021898 80046498 0040802D */ daddu $s0, $v0, $zero /* 02189C 8004649C 0040202D */ daddu $a0, $v0, $zero /* 0218A0 800464A0 24050002 */ addiu $a1, $zero, 2 -/* 0218A4 800464A4 0C051280 */ jal func_80144A00 +/* 0218A4 800464A4 0C051280 */ jal set_icon_flags /* 0218A8 800464A8 AE30FFEB */ sw $s0, -0x15($s1) /* 0218AC 800464AC 0200202D */ daddu $a0, $s0, $zero -/* 0218B0 800464B0 0C051280 */ jal func_80144A00 +/* 0218B0 800464B0 0C051280 */ jal set_icon_flags /* 0218B4 800464B4 24050080 */ addiu $a1, $zero, 0x80 /* 0218B8 800464B8 A233FFE5 */ sb $s3, -0x1b($s1) .L800464BC: @@ -761,7 +761,7 @@ func_8004647C: /* 0218E0 800464E0 8E24FFEF */ lw $a0, -0x11($s1) /* 0218E4 800464E4 3C058010 */ lui $a1, 0x8010 /* 0218E8 800464E8 24A5645C */ addiu $a1, $a1, 0x645c -/* 0218EC 800464EC 0C0511FF */ jal func_801447FC +/* 0218EC 800464EC 0C0511FF */ jal set_menu_icon_script /* 0218F0 800464F0 00000000 */ nop /* 0218F4 800464F4 A237FFE8 */ sb $s7, -0x18($s1) /* 0218F8 800464F8 0801194A */ j func_80046528 @@ -777,7 +777,7 @@ func_8004647C: .L80046518: /* 021918 80046518 8E24FFEF */ lw $a0, -0x11($s1) -/* 02191C 8004651C 0C05123D */ jal func_801448F4 +/* 02191C 8004651C 0C05123D */ jal free_icon /* 021920 80046520 A220FFE4 */ sb $zero, -0x1c($s1) /* 021924 80046524 A220FFE6 */ sb $zero, -0x1a($s1) func_80046528: @@ -788,13 +788,13 @@ func_80046528: /* 021934 80046534 1452000B */ bne $v0, $s2, .L80046564 /* 021938 80046538 00000000 */ nop /* 02193C 8004653C 8E30FFFB */ lw $s0, -5($s1) -/* 021940 80046540 0C051235 */ jal func_801448D4 +/* 021940 80046540 0C051235 */ jal get_menu_icon /* 021944 80046544 0200202D */ daddu $a0, $s0, $zero /* 021948 80046548 8C420000 */ lw $v0, ($v0) /* 02194C 8004654C 30420004 */ andi $v0, $v0, 4 /* 021950 80046550 10400004 */ beqz $v0, .L80046564 /* 021954 80046554 00000000 */ nop -/* 021958 80046558 0C05123D */ jal func_801448F4 +/* 021958 80046558 0C05123D */ jal free_icon /* 02195C 8004655C 0200202D */ daddu $a0, $s0, $zero /* 021960 80046560 A220FFF4 */ sb $zero, -0xc($s1) .L80046564: @@ -804,13 +804,13 @@ func_80046528: /* 021970 80046570 5452000C */ bnel $v0, $s2, .L800465A4 /* 021974 80046574 26B50001 */ addiu $s5, $s5, 1 /* 021978 80046578 8E300007 */ lw $s0, 7($s1) -/* 02197C 8004657C 0C051235 */ jal func_801448D4 +/* 02197C 8004657C 0C051235 */ jal get_menu_icon /* 021980 80046580 0200202D */ daddu $a0, $s0, $zero /* 021984 80046584 8C420000 */ lw $v0, ($v0) /* 021988 80046588 30420004 */ andi $v0, $v0, 4 /* 02198C 8004658C 50400005 */ beql $v0, $zero, .L800465A4 /* 021990 80046590 26B50001 */ addiu $s5, $s5, 1 -/* 021994 80046594 0C05123D */ jal func_801448F4 +/* 021994 80046594 0C05123D */ jal free_icon /* 021998 80046598 0200202D */ daddu $a0, $s0, $zero /* 02199C 8004659C A2200000 */ sb $zero, ($s1) /* 0219A0 800465A0 26B50001 */ addiu $s5, $s5, 1 @@ -965,7 +965,7 @@ func_80046528: /* 021BE8 800467E8 10400006 */ beqz $v0, .L80046804 /* 021BEC 800467EC 30620002 */ andi $v0, $v1, 2 /* 021BF0 800467F0 8E24FF94 */ lw $a0, -0x6c($s1) -/* 021BF4 800467F4 0C051280 */ jal func_80144A00 +/* 021BF4 800467F4 0C051280 */ jal set_icon_flags /* 021BF8 800467F8 0300282D */ daddu $a1, $t8, $zero /* 021BFC 800467FC 08011A34 */ j func_800468D0 /* 021C00 80046800 00000000 */ nop @@ -980,7 +980,7 @@ func_80046528: /* 021C1C 8004681C 00000000 */ nop .L80046820: /* 021C20 80046820 8E24FF94 */ lw $a0, -0x6c($s1) -/* 021C24 80046824 0C05128B */ jal func_80144A2C +/* 021C24 80046824 0C05128B */ jal clear_icon_flags /* 021C28 80046828 24050002 */ addiu $a1, $zero, 2 /* 021C2C 8004682C C620FF68 */ lwc1 $f0, -0x98($s1) /* 021C30 80046830 46800020 */ cvt.s.w $f0, $f0 @@ -992,14 +992,14 @@ func_80046528: /* 021C48 80046848 C620FF60 */ lwc1 $f0, -0xa0($s1) /* 021C4C 8004684C 46166300 */ add.s $f12, $f12, $f22 /* 021C50 80046850 E7A20020 */ swc1 $f2, 0x20($sp) -/* 021C54 80046854 0C00A6C9 */ jal func_80029B24 +/* 021C54 80046854 0C00A6C9 */ jal clamp_angle /* 021C58 80046858 E7A00024 */ swc1 $f0, 0x24($sp) /* 021C5C 8004685C 27A40020 */ addiu $a0, $sp, 0x20 /* 021C60 80046860 C626FF64 */ lwc1 $f6, -0x9c($s1) /* 021C64 80046864 468031A0 */ cvt.s.w $f6, $f6 /* 021C68 80046868 44070000 */ mfc1 $a3, $f0 /* 021C6C 8004686C 44063000 */ mfc1 $a2, $f6 -/* 021C70 80046870 0C00A7E7 */ jal func_80029F9C +/* 021C70 80046870 0C00A7E7 */ jal add_vec2D_polar /* 021C74 80046874 27A50024 */ addiu $a1, $sp, 0x24 /* 021C78 80046878 3C048007 */ lui $a0, 0x8007 /* 021C7C 8004687C 8C847410 */ lw $a0, 0x7410($a0) @@ -1011,7 +1011,7 @@ func_80046528: /* 021C94 80046894 24120001 */ addiu $s2, $zero, 1 /* 021C98 80046898 AFB70010 */ sw $s7, 0x10($sp) /* 021C9C 8004689C AFB60014 */ sw $s6, 0x14($sp) -/* 021CA0 800468A0 0C00B94E */ jal func_8002E538 +/* 021CA0 800468A0 0C00B94E */ jal get_screen_coords /* 021CA4 800468A4 AFB50018 */ sw $s5, 0x18($sp) /* 021CA8 800468A8 0240982D */ daddu $s3, $s2, $zero /* 021CAC 800468AC 8E30FF94 */ lw $s0, -0x6c($s1) @@ -1019,9 +1019,9 @@ func_80046528: /* 021CB4 800468B4 8FA6002C */ lw $a2, 0x2c($sp) /* 021CB8 800468B8 0200202D */ daddu $a0, $s0, $zero /* 021CBC 800468BC 24A5FFF8 */ addiu $a1, $a1, -8 -/* 021CC0 800468C0 0C051261 */ jal func_80144984 +/* 021CC0 800468C0 0C051261 */ jal set_icon_render_pos /* 021CC4 800468C4 24C6FFF8 */ addiu $a2, $a2, -8 -/* 021CC8 800468C8 0C0511F1 */ jal func_801447C4 +/* 021CC8 800468C8 0C0511F1 */ jal draw_icon_1 /* 021CCC 800468CC 0200202D */ daddu $a0, $s0, $zero func_800468D0: .L800468D0: @@ -1040,7 +1040,7 @@ func_800468D0: /* 021D00 80046900 00000000 */ nop .L80046904: /* 021D04 80046904 8E24FF98 */ lw $a0, -0x68($s1) -/* 021D08 80046908 0C05128B */ jal func_80144A2C +/* 021D08 80046908 0C05128B */ jal clear_icon_flags /* 021D0C 8004690C 24050002 */ addiu $a1, $zero, 2 /* 021D10 80046910 52600001 */ beql $s3, $zero, .L80046918 /* 021D14 80046914 26520001 */ addiu $s2, $s2, 1 @@ -1055,14 +1055,14 @@ func_800468D0: /* 021D34 80046934 C620FF60 */ lwc1 $f0, -0xa0($s1) /* 021D38 80046938 46166300 */ add.s $f12, $f12, $f22 /* 021D3C 8004693C E7A20020 */ swc1 $f2, 0x20($sp) -/* 021D40 80046940 0C00A6C9 */ jal func_80029B24 +/* 021D40 80046940 0C00A6C9 */ jal clamp_angle /* 021D44 80046944 E7A00024 */ swc1 $f0, 0x24($sp) /* 021D48 80046948 27A40020 */ addiu $a0, $sp, 0x20 /* 021D4C 8004694C C626FF64 */ lwc1 $f6, -0x9c($s1) /* 021D50 80046950 468031A0 */ cvt.s.w $f6, $f6 /* 021D54 80046954 44070000 */ mfc1 $a3, $f0 /* 021D58 80046958 44063000 */ mfc1 $a2, $f6 -/* 021D5C 8004695C 0C00A7E7 */ jal func_80029F9C +/* 021D5C 8004695C 0C00A7E7 */ jal add_vec2D_polar /* 021D60 80046960 27A50024 */ addiu $a1, $sp, 0x24 /* 021D64 80046964 3C048007 */ lui $a0, 0x8007 /* 021D68 80046968 8C847410 */ lw $a0, 0x7410($a0) @@ -1073,16 +1073,16 @@ func_800468D0: /* 021D7C 8004697C 44071000 */ mfc1 $a3, $f2 /* 021D80 80046980 AFB70010 */ sw $s7, 0x10($sp) /* 021D84 80046984 AFB60014 */ sw $s6, 0x14($sp) -/* 021D88 80046988 0C00B94E */ jal func_8002E538 +/* 021D88 80046988 0C00B94E */ jal get_screen_coords /* 021D8C 8004698C AFB50018 */ sw $s5, 0x18($sp) /* 021D90 80046990 8E30FF98 */ lw $s0, -0x68($s1) /* 021D94 80046994 8FA50028 */ lw $a1, 0x28($sp) /* 021D98 80046998 8FA6002C */ lw $a2, 0x2c($sp) /* 021D9C 8004699C 0200202D */ daddu $a0, $s0, $zero /* 021DA0 800469A0 24A5FFF8 */ addiu $a1, $a1, -8 -/* 021DA4 800469A4 0C051261 */ jal func_80144984 +/* 021DA4 800469A4 0C051261 */ jal set_icon_render_pos /* 021DA8 800469A8 24C6FFF8 */ addiu $a2, $a2, -8 -/* 021DAC 800469AC 0C0511F1 */ jal func_801447C4 +/* 021DAC 800469AC 0C0511F1 */ jal draw_icon_1 /* 021DB0 800469B0 0200202D */ daddu $a0, $s0, $zero .L800469B4: /* 021DB4 800469B4 8222FF9E */ lb $v0, -0x62($s1) @@ -1094,7 +1094,7 @@ func_800468D0: /* 021DCC 800469CC 10400006 */ beqz $v0, .L800469E8 /* 021DD0 800469D0 30620002 */ andi $v0, $v1, 2 /* 021DD4 800469D4 8E24FFA4 */ lw $a0, -0x5c($s1) -/* 021DD8 800469D8 0C051280 */ jal func_80144A00 +/* 021DD8 800469D8 0C051280 */ jal set_icon_flags /* 021DDC 800469DC 0300282D */ daddu $a1, $t8, $zero /* 021DE0 800469E0 08011AB4 */ j func_80046AD0 /* 021DE4 800469E4 00000000 */ nop @@ -1109,7 +1109,7 @@ func_800468D0: /* 021E00 80046A00 00000000 */ nop .L80046A04: /* 021E04 80046A04 8E24FFA4 */ lw $a0, -0x5c($s1) -/* 021E08 80046A08 0C05128B */ jal func_80144A2C +/* 021E08 80046A08 0C05128B */ jal clear_icon_flags /* 021E0C 80046A0C 24050002 */ addiu $a1, $zero, 2 /* 021E10 80046A10 16400002 */ bnez $s2, .L80046A1C /* 021E14 80046A14 0000102D */ daddu $v0, $zero, $zero @@ -1129,14 +1129,14 @@ func_800468D0: /* 021E48 80046A48 44820000 */ mtc1 $v0, $f0 /* 021E4C 80046A4C 00000000 */ nop /* 021E50 80046A50 46800020 */ cvt.s.w $f0, $f0 -/* 021E54 80046A54 0C00A6C9 */ jal func_80029B24 +/* 021E54 80046A54 0C00A6C9 */ jal clamp_angle /* 021E58 80046A58 46001500 */ add.s $f20, $f2, $f0 /* 021E5C 80046A5C 27A40020 */ addiu $a0, $sp, 0x20 /* 021E60 80046A60 C626FF6C */ lwc1 $f6, -0x94($s1) /* 021E64 80046A64 468031A0 */ cvt.s.w $f6, $f6 /* 021E68 80046A68 44070000 */ mfc1 $a3, $f0 /* 021E6C 80046A6C 44063000 */ mfc1 $a2, $f6 -/* 021E70 80046A70 0C00A7E7 */ jal func_80029F9C +/* 021E70 80046A70 0C00A7E7 */ jal add_vec2D_polar /* 021E74 80046A74 27A50024 */ addiu $a1, $sp, 0x24 /* 021E78 80046A78 C7A00020 */ lwc1 $f0, 0x20($sp) /* 021E7C 80046A7C 3C048007 */ lui $a0, 0x8007 @@ -1148,7 +1148,7 @@ func_800468D0: /* 021E94 80046A94 26520001 */ addiu $s2, $s2, 1 /* 021E98 80046A98 AFB70010 */ sw $s7, 0x10($sp) /* 021E9C 80046A9C AFB60014 */ sw $s6, 0x14($sp) -/* 021EA0 80046AA0 0C00B94E */ jal func_8002E538 +/* 021EA0 80046AA0 0C00B94E */ jal get_screen_coords /* 021EA4 80046AA4 AFB50018 */ sw $s5, 0x18($sp) /* 021EA8 80046AA8 24130001 */ addiu $s3, $zero, 1 /* 021EAC 80046AAC 8E30FFA4 */ lw $s0, -0x5c($s1) @@ -1156,9 +1156,9 @@ func_800468D0: /* 021EB4 80046AB4 8FA6002C */ lw $a2, 0x2c($sp) /* 021EB8 80046AB8 0200202D */ daddu $a0, $s0, $zero /* 021EBC 80046ABC 24A5FFF8 */ addiu $a1, $a1, -8 -/* 021EC0 80046AC0 0C051261 */ jal func_80144984 +/* 021EC0 80046AC0 0C051261 */ jal set_icon_render_pos /* 021EC4 80046AC4 24C6FFF8 */ addiu $a2, $a2, -8 -/* 021EC8 80046AC8 0C0511F1 */ jal func_801447C4 +/* 021EC8 80046AC8 0C0511F1 */ jal draw_icon_1 /* 021ECC 80046ACC 0200202D */ daddu $a0, $s0, $zero func_80046AD0: .L80046AD0: @@ -1177,7 +1177,7 @@ func_80046AD0: /* 021F00 80046B00 00000000 */ nop .L80046B04: /* 021F04 80046B04 8E24FFA8 */ lw $a0, -0x58($s1) -/* 021F08 80046B08 0C05128B */ jal func_80144A2C +/* 021F08 80046B08 0C05128B */ jal clear_icon_flags /* 021F0C 80046B0C 24050002 */ addiu $a1, $zero, 2 /* 021F10 80046B10 16400002 */ bnez $s2, .L80046B1C /* 021F14 80046B14 0000102D */ daddu $v0, $zero, $zero @@ -1200,14 +1200,14 @@ func_80046AD0: /* 021F50 80046B50 44820000 */ mtc1 $v0, $f0 /* 021F54 80046B54 00000000 */ nop /* 021F58 80046B58 46800020 */ cvt.s.w $f0, $f0 -/* 021F5C 80046B5C 0C00A6C9 */ jal func_80029B24 +/* 021F5C 80046B5C 0C00A6C9 */ jal clamp_angle /* 021F60 80046B60 46001500 */ add.s $f20, $f2, $f0 /* 021F64 80046B64 27A40020 */ addiu $a0, $sp, 0x20 /* 021F68 80046B68 C626FF6C */ lwc1 $f6, -0x94($s1) /* 021F6C 80046B6C 468031A0 */ cvt.s.w $f6, $f6 /* 021F70 80046B70 44070000 */ mfc1 $a3, $f0 /* 021F74 80046B74 44063000 */ mfc1 $a2, $f6 -/* 021F78 80046B78 0C00A7E7 */ jal func_80029F9C +/* 021F78 80046B78 0C00A7E7 */ jal add_vec2D_polar /* 021F7C 80046B7C 27A50024 */ addiu $a1, $sp, 0x24 /* 021F80 80046B80 C7A00020 */ lwc1 $f0, 0x20($sp) /* 021F84 80046B84 3C048007 */ lui $a0, 0x8007 @@ -1218,16 +1218,16 @@ func_80046AD0: /* 021F98 80046B98 44070000 */ mfc1 $a3, $f0 /* 021F9C 80046B9C AFB70010 */ sw $s7, 0x10($sp) /* 021FA0 80046BA0 AFB60014 */ sw $s6, 0x14($sp) -/* 021FA4 80046BA4 0C00B94E */ jal func_8002E538 +/* 021FA4 80046BA4 0C00B94E */ jal get_screen_coords /* 021FA8 80046BA8 AFB50018 */ sw $s5, 0x18($sp) /* 021FAC 80046BAC 8E30FFA8 */ lw $s0, -0x58($s1) /* 021FB0 80046BB0 8FA50028 */ lw $a1, 0x28($sp) /* 021FB4 80046BB4 8FA6002C */ lw $a2, 0x2c($sp) /* 021FB8 80046BB8 0200202D */ daddu $a0, $s0, $zero /* 021FBC 80046BBC 24A5FFF8 */ addiu $a1, $a1, -8 -/* 021FC0 80046BC0 0C051261 */ jal func_80144984 +/* 021FC0 80046BC0 0C051261 */ jal set_icon_render_pos /* 021FC4 80046BC4 24C6FFF8 */ addiu $a2, $a2, -8 -/* 021FC8 80046BC8 0C0511F1 */ jal func_801447C4 +/* 021FC8 80046BC8 0C0511F1 */ jal draw_icon_1 /* 021FCC 80046BCC 0200202D */ daddu $a0, $s0, $zero .L80046BD0: /* 021FD0 80046BD0 8222FFAE */ lb $v0, -0x52($s1) @@ -1239,7 +1239,7 @@ func_80046AD0: /* 021FE8 80046BE8 10400006 */ beqz $v0, .L80046C04 /* 021FEC 80046BEC 30620002 */ andi $v0, $v1, 2 /* 021FF0 80046BF0 8E24FFB4 */ lw $a0, -0x4c($s1) -/* 021FF4 80046BF4 0C051280 */ jal func_80144A00 +/* 021FF4 80046BF4 0C051280 */ jal set_icon_flags /* 021FF8 80046BF8 0300282D */ daddu $a1, $t8, $zero /* 021FFC 80046BFC 08011B3D */ j func_80046CF4 /* 022000 80046C00 00000000 */ nop @@ -1254,7 +1254,7 @@ func_80046AD0: /* 02201C 80046C1C 00000000 */ nop .L80046C20: /* 022020 80046C20 8E24FFB4 */ lw $a0, -0x4c($s1) -/* 022024 80046C24 0C05128B */ jal func_80144A2C +/* 022024 80046C24 0C05128B */ jal clear_icon_flags /* 022028 80046C28 24050002 */ addiu $a1, $zero, 2 /* 02202C 80046C2C 165E0002 */ bne $s2, $fp, .L80046C38 /* 022030 80046C30 0000102D */ daddu $v0, $zero, $zero @@ -1277,14 +1277,14 @@ func_80046AD0: /* 02206C 80046C6C 44820000 */ mtc1 $v0, $f0 /* 022070 80046C70 00000000 */ nop /* 022074 80046C74 46800020 */ cvt.s.w $f0, $f0 -/* 022078 80046C78 0C00A6C9 */ jal func_80029B24 +/* 022078 80046C78 0C00A6C9 */ jal clamp_angle /* 02207C 80046C7C 46001500 */ add.s $f20, $f2, $f0 /* 022080 80046C80 27A40020 */ addiu $a0, $sp, 0x20 /* 022084 80046C84 C626FF74 */ lwc1 $f6, -0x8c($s1) /* 022088 80046C88 468031A0 */ cvt.s.w $f6, $f6 /* 02208C 80046C8C 44070000 */ mfc1 $a3, $f0 /* 022090 80046C90 44063000 */ mfc1 $a2, $f6 -/* 022094 80046C94 0C00A7E7 */ jal func_80029F9C +/* 022094 80046C94 0C00A7E7 */ jal add_vec2D_polar /* 022098 80046C98 27A50024 */ addiu $a1, $sp, 0x24 /* 02209C 80046C9C C7A00020 */ lwc1 $f0, 0x20($sp) /* 0220A0 80046CA0 3C048007 */ lui $a0, 0x8007 @@ -1296,7 +1296,7 @@ func_80046AD0: /* 0220B8 80046CB8 26520001 */ addiu $s2, $s2, 1 /* 0220BC 80046CBC AFB70010 */ sw $s7, 0x10($sp) /* 0220C0 80046CC0 AFB60014 */ sw $s6, 0x14($sp) -/* 0220C4 80046CC4 0C00B94E */ jal func_8002E538 +/* 0220C4 80046CC4 0C00B94E */ jal get_screen_coords /* 0220C8 80046CC8 AFB50018 */ sw $s5, 0x18($sp) /* 0220CC 80046CCC 24130001 */ addiu $s3, $zero, 1 /* 0220D0 80046CD0 8E30FFB4 */ lw $s0, -0x4c($s1) @@ -1304,9 +1304,9 @@ func_80046AD0: /* 0220D8 80046CD8 8FA6002C */ lw $a2, 0x2c($sp) /* 0220DC 80046CDC 0200202D */ daddu $a0, $s0, $zero /* 0220E0 80046CE0 24A5FFF8 */ addiu $a1, $a1, -8 -/* 0220E4 80046CE4 0C051261 */ jal func_80144984 +/* 0220E4 80046CE4 0C051261 */ jal set_icon_render_pos /* 0220E8 80046CE8 24C6FFF8 */ addiu $a2, $a2, -8 -/* 0220EC 80046CEC 0C0511F1 */ jal func_801447C4 +/* 0220EC 80046CEC 0C0511F1 */ jal draw_icon_1 /* 0220F0 80046CF0 0200202D */ daddu $a0, $s0, $zero func_80046CF4: .L80046CF4: @@ -1325,7 +1325,7 @@ func_80046CF4: /* 022124 80046D24 00000000 */ nop .L80046D28: /* 022128 80046D28 8E24FFB8 */ lw $a0, -0x48($s1) -/* 02212C 80046D2C 0C05128B */ jal func_80144A2C +/* 02212C 80046D2C 0C05128B */ jal clear_icon_flags /* 022130 80046D30 24050002 */ addiu $a1, $zero, 2 /* 022134 80046D34 165E0002 */ bne $s2, $fp, .L80046D40 /* 022138 80046D38 0000102D */ daddu $v0, $zero, $zero @@ -1351,14 +1351,14 @@ func_80046CF4: /* 02217C 80046D7C 44820000 */ mtc1 $v0, $f0 /* 022180 80046D80 00000000 */ nop /* 022184 80046D84 46800020 */ cvt.s.w $f0, $f0 -/* 022188 80046D88 0C00A6C9 */ jal func_80029B24 +/* 022188 80046D88 0C00A6C9 */ jal clamp_angle /* 02218C 80046D8C 46001500 */ add.s $f20, $f2, $f0 /* 022190 80046D90 27A40020 */ addiu $a0, $sp, 0x20 /* 022194 80046D94 C626FF74 */ lwc1 $f6, -0x8c($s1) /* 022198 80046D98 468031A0 */ cvt.s.w $f6, $f6 /* 02219C 80046D9C 44070000 */ mfc1 $a3, $f0 /* 0221A0 80046DA0 44063000 */ mfc1 $a2, $f6 -/* 0221A4 80046DA4 0C00A7E7 */ jal func_80029F9C +/* 0221A4 80046DA4 0C00A7E7 */ jal add_vec2D_polar /* 0221A8 80046DA8 27A50024 */ addiu $a1, $sp, 0x24 /* 0221AC 80046DAC C7A00020 */ lwc1 $f0, 0x20($sp) /* 0221B0 80046DB0 3C048007 */ lui $a0, 0x8007 @@ -1369,16 +1369,16 @@ func_80046CF4: /* 0221C4 80046DC4 44070000 */ mfc1 $a3, $f0 /* 0221C8 80046DC8 AFB70010 */ sw $s7, 0x10($sp) /* 0221CC 80046DCC AFB60014 */ sw $s6, 0x14($sp) -/* 0221D0 80046DD0 0C00B94E */ jal func_8002E538 +/* 0221D0 80046DD0 0C00B94E */ jal get_screen_coords /* 0221D4 80046DD4 AFB50018 */ sw $s5, 0x18($sp) /* 0221D8 80046DD8 8E30FFB8 */ lw $s0, -0x48($s1) /* 0221DC 80046DDC 8FA50028 */ lw $a1, 0x28($sp) /* 0221E0 80046DE0 8FA6002C */ lw $a2, 0x2c($sp) /* 0221E4 80046DE4 0200202D */ daddu $a0, $s0, $zero /* 0221E8 80046DE8 24A5FFF8 */ addiu $a1, $a1, -8 -/* 0221EC 80046DEC 0C051261 */ jal func_80144984 +/* 0221EC 80046DEC 0C051261 */ jal set_icon_render_pos /* 0221F0 80046DF0 24C6FFF8 */ addiu $a2, $a2, -8 -/* 0221F4 80046DF4 0C0511F1 */ jal func_801447C4 +/* 0221F4 80046DF4 0C0511F1 */ jal draw_icon_1 /* 0221F8 80046DF8 0200202D */ daddu $a0, $s0, $zero .L80046DFC: /* 0221FC 80046DFC 8222FFBE */ lb $v0, -0x42($s1) @@ -1390,49 +1390,49 @@ func_80046CF4: /* 022214 80046E14 10400024 */ beqz $v0, .L80046EA8 /* 022218 80046E18 30620002 */ andi $v0, $v1, 2 /* 02221C 80046E1C 8E24FFC4 */ lw $a0, -0x3c($s1) -/* 022220 80046E20 0C051280 */ jal func_80144A00 +/* 022220 80046E20 0C051280 */ jal set_icon_flags /* 022224 80046E24 0300282D */ daddu $a1, $t8, $zero /* 022228 80046E28 08011BE9 */ j func_80046FA4 /* 02222C 80046E2C 00000000 */ nop .L80046E30: /* 022230 80046E30 8E24FFD0 */ lw $a0, -0x30($s1) -/* 022234 80046E34 0C051280 */ jal func_80144A00 +/* 022234 80046E34 0C051280 */ jal set_icon_flags /* 022238 80046E38 24050002 */ addiu $a1, $zero, 2 /* 02223C 80046E3C 08011C56 */ j func_80047158 /* 022240 80046E40 00000000 */ nop .L80046E44: /* 022244 80046E44 8E24FFDC */ lw $a0, -0x24($s1) -/* 022248 80046E48 0C051280 */ jal func_80144A00 +/* 022248 80046E48 0C051280 */ jal set_icon_flags /* 02224C 80046E4C 24050002 */ addiu $a1, $zero, 2 /* 022250 80046E50 08011CA1 */ j func_80047284 /* 022254 80046E54 00000000 */ nop .L80046E58: /* 022258 80046E58 8E24FFE8 */ lw $a0, -0x18($s1) -/* 02225C 80046E5C 0C051280 */ jal func_80144A00 +/* 02225C 80046E5C 0C051280 */ jal set_icon_flags /* 022260 80046E60 24050002 */ addiu $a1, $zero, 2 /* 022264 80046E64 08011CEC */ j func_800473B0 /* 022268 80046E68 00000000 */ nop .L80046E6C: /* 02226C 80046E6C 8E24FFF0 */ lw $a0, -0x10($s1) -/* 022270 80046E70 0C051280 */ jal func_80144A00 +/* 022270 80046E70 0C051280 */ jal set_icon_flags /* 022274 80046E74 24050002 */ addiu $a1, $zero, 2 /* 022278 80046E78 08011D17 */ j func_8004745C /* 02227C 80046E7C 00000000 */ nop .L80046E80: /* 022280 80046E80 8E24FFF8 */ lw $a0, -8($s1) -/* 022284 80046E84 0C051280 */ jal func_80144A00 +/* 022284 80046E84 0C051280 */ jal set_icon_flags /* 022288 80046E88 24050002 */ addiu $a1, $zero, 2 /* 02228C 80046E8C 08011D42 */ j func_80047508 /* 022290 80046E90 00000000 */ nop .L80046E94: /* 022294 80046E94 8E240000 */ lw $a0, ($s1) -/* 022298 80046E98 0C051280 */ jal func_80144A00 +/* 022298 80046E98 0C051280 */ jal set_icon_flags /* 02229C 80046E9C 24050002 */ addiu $a1, $zero, 2 /* 0222A0 80046EA0 08011D6E */ j func_800475B8 /* 0222A4 80046EA4 263100B0 */ addiu $s1, $s1, 0xb0 @@ -1447,7 +1447,7 @@ func_80046CF4: /* 0222C0 80046EC0 00000000 */ nop .L80046EC4: /* 0222C4 80046EC4 8E24FFC4 */ lw $a0, -0x3c($s1) -/* 0222C8 80046EC8 0C05128B */ jal func_80144A2C +/* 0222C8 80046EC8 0C05128B */ jal clear_icon_flags /* 0222CC 80046ECC 24050002 */ addiu $a1, $zero, 2 /* 0222D0 80046ED0 24180002 */ addiu $t8, $zero, 2 /* 0222D4 80046ED4 16580002 */ bne $s2, $t8, .L80046EE0 @@ -1474,14 +1474,14 @@ func_80046CF4: /* 02231C 80046F1C 44820000 */ mtc1 $v0, $f0 /* 022320 80046F20 00000000 */ nop /* 022324 80046F24 46800020 */ cvt.s.w $f0, $f0 -/* 022328 80046F28 0C00A6C9 */ jal func_80029B24 +/* 022328 80046F28 0C00A6C9 */ jal clamp_angle /* 02232C 80046F2C 46001500 */ add.s $f20, $f2, $f0 /* 022330 80046F30 27A40020 */ addiu $a0, $sp, 0x20 /* 022334 80046F34 C626FF7C */ lwc1 $f6, -0x84($s1) /* 022338 80046F38 468031A0 */ cvt.s.w $f6, $f6 /* 02233C 80046F3C 44070000 */ mfc1 $a3, $f0 /* 022340 80046F40 44063000 */ mfc1 $a2, $f6 -/* 022344 80046F44 0C00A7E7 */ jal func_80029F9C +/* 022344 80046F44 0C00A7E7 */ jal add_vec2D_polar /* 022348 80046F48 27A50024 */ addiu $a1, $sp, 0x24 /* 02234C 80046F4C C7A00020 */ lwc1 $f0, 0x20($sp) /* 022350 80046F50 3C048007 */ lui $a0, 0x8007 @@ -1493,7 +1493,7 @@ func_80046CF4: /* 022368 80046F68 26520001 */ addiu $s2, $s2, 1 /* 02236C 80046F6C AFB70010 */ sw $s7, 0x10($sp) /* 022370 80046F70 AFB60014 */ sw $s6, 0x14($sp) -/* 022374 80046F74 0C00B94E */ jal func_8002E538 +/* 022374 80046F74 0C00B94E */ jal get_screen_coords /* 022378 80046F78 AFB50018 */ sw $s5, 0x18($sp) /* 02237C 80046F7C 24130001 */ addiu $s3, $zero, 1 /* 022380 80046F80 8E30FFC4 */ lw $s0, -0x3c($s1) @@ -1501,9 +1501,9 @@ func_80046CF4: /* 022388 80046F88 8FA6002C */ lw $a2, 0x2c($sp) /* 02238C 80046F8C 0200202D */ daddu $a0, $s0, $zero /* 022390 80046F90 24A5FFF8 */ addiu $a1, $a1, -8 -/* 022394 80046F94 0C051261 */ jal func_80144984 +/* 022394 80046F94 0C051261 */ jal set_icon_render_pos /* 022398 80046F98 24C6FFF8 */ addiu $a2, $a2, -8 -/* 02239C 80046F9C 0C0511F1 */ jal func_801447C4 +/* 02239C 80046F9C 0C0511F1 */ jal draw_icon_1 /* 0223A0 80046FA0 0200202D */ daddu $a0, $s0, $zero func_80046FA4: .L80046FA4: @@ -1522,7 +1522,7 @@ func_80046FA4: /* 0223D4 80046FD4 00000000 */ nop .L80046FD8: /* 0223D8 80046FD8 8E24FFC8 */ lw $a0, -0x38($s1) -/* 0223DC 80046FDC 0C05128B */ jal func_80144A2C +/* 0223DC 80046FDC 0C05128B */ jal clear_icon_flags /* 0223E0 80046FE0 24050002 */ addiu $a1, $zero, 2 /* 0223E4 80046FE4 16500002 */ bne $s2, $s0, .L80046FF0 /* 0223E8 80046FE8 0000102D */ daddu $v0, $zero, $zero @@ -1548,14 +1548,14 @@ func_80046FA4: /* 02242C 8004702C 44820000 */ mtc1 $v0, $f0 /* 022430 80047030 00000000 */ nop /* 022434 80047034 46800020 */ cvt.s.w $f0, $f0 -/* 022438 80047038 0C00A6C9 */ jal func_80029B24 +/* 022438 80047038 0C00A6C9 */ jal clamp_angle /* 02243C 8004703C 46001500 */ add.s $f20, $f2, $f0 /* 022440 80047040 27A40020 */ addiu $a0, $sp, 0x20 /* 022444 80047044 C626FF7C */ lwc1 $f6, -0x84($s1) /* 022448 80047048 468031A0 */ cvt.s.w $f6, $f6 /* 02244C 8004704C 44070000 */ mfc1 $a3, $f0 /* 022450 80047050 44063000 */ mfc1 $a2, $f6 -/* 022454 80047054 0C00A7E7 */ jal func_80029F9C +/* 022454 80047054 0C00A7E7 */ jal add_vec2D_polar /* 022458 80047058 27A50024 */ addiu $a1, $sp, 0x24 /* 02245C 8004705C C7A00020 */ lwc1 $f0, 0x20($sp) /* 022460 80047060 3C048007 */ lui $a0, 0x8007 @@ -1566,16 +1566,16 @@ func_80046FA4: /* 022474 80047074 44070000 */ mfc1 $a3, $f0 /* 022478 80047078 AFB70010 */ sw $s7, 0x10($sp) /* 02247C 8004707C AFB60014 */ sw $s6, 0x14($sp) -/* 022480 80047080 0C00B94E */ jal func_8002E538 +/* 022480 80047080 0C00B94E */ jal get_screen_coords /* 022484 80047084 AFB50018 */ sw $s5, 0x18($sp) /* 022488 80047088 8E30FFC8 */ lw $s0, -0x38($s1) /* 02248C 8004708C 8FA50028 */ lw $a1, 0x28($sp) /* 022490 80047090 8FA6002C */ lw $a2, 0x2c($sp) /* 022494 80047094 0200202D */ daddu $a0, $s0, $zero /* 022498 80047098 24A5FFF8 */ addiu $a1, $a1, -8 -/* 02249C 8004709C 0C051261 */ jal func_80144984 +/* 02249C 8004709C 0C051261 */ jal set_icon_render_pos /* 0224A0 800470A0 24C6FFF8 */ addiu $a2, $a2, -8 -/* 0224A4 800470A4 0C0511F1 */ jal func_801447C4 +/* 0224A4 800470A4 0C0511F1 */ jal draw_icon_1 /* 0224A8 800470A8 0200202D */ daddu $a0, $s0, $zero .L800470AC: /* 0224AC 800470AC 8222FFCC */ lb $v0, -0x34($s1) @@ -1594,7 +1594,7 @@ func_80046FA4: /* 0224E0 800470E0 00000000 */ nop .L800470E4: /* 0224E4 800470E4 8E24FFD0 */ lw $a0, -0x30($s1) -/* 0224E8 800470E8 0C05128B */ jal func_80144A2C +/* 0224E8 800470E8 0C05128B */ jal clear_icon_flags /* 0224EC 800470EC 24050002 */ addiu $a1, $zero, 2 /* 0224F0 800470F0 C620FF58 */ lwc1 $f0, -0xa8($s1) /* 0224F4 800470F4 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1611,16 +1611,16 @@ func_80046FA4: /* 022520 80047120 AFA70024 */ sw $a3, 0x24($sp) /* 022524 80047124 AFB70010 */ sw $s7, 0x10($sp) /* 022528 80047128 AFB60014 */ sw $s6, 0x14($sp) -/* 02252C 8004712C 0C00B94E */ jal func_8002E538 +/* 02252C 8004712C 0C00B94E */ jal get_screen_coords /* 022530 80047130 AFB50018 */ sw $s5, 0x18($sp) /* 022534 80047134 8E30FFD0 */ lw $s0, -0x30($s1) /* 022538 80047138 8FA50028 */ lw $a1, 0x28($sp) /* 02253C 8004713C 8FA6002C */ lw $a2, 0x2c($sp) /* 022540 80047140 0200202D */ daddu $a0, $s0, $zero /* 022544 80047144 24A50002 */ addiu $a1, $a1, 2 -/* 022548 80047148 0C051261 */ jal func_80144984 +/* 022548 80047148 0C051261 */ jal set_icon_render_pos /* 02254C 8004714C 24C6FFF4 */ addiu $a2, $a2, -0xc -/* 022550 80047150 0C0511F1 */ jal func_801447C4 +/* 022550 80047150 0C0511F1 */ jal draw_icon_1 /* 022554 80047154 0200202D */ daddu $a0, $s0, $zero func_80047158: .L80047158: @@ -1628,7 +1628,7 @@ func_80047158: /* 02255C 8004715C 1040001E */ beqz $v0, .L800471D8 /* 022560 80047160 00000000 */ nop /* 022564 80047164 8E24FFD4 */ lw $a0, -0x2c($s1) -/* 022568 80047168 0C05128B */ jal func_80144A2C +/* 022568 80047168 0C05128B */ jal clear_icon_flags /* 02256C 8004716C 24050002 */ addiu $a1, $zero, 2 /* 022570 80047170 C620FF58 */ lwc1 $f0, -0xa8($s1) /* 022574 80047174 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1645,16 +1645,16 @@ func_80047158: /* 0225A0 800471A0 AFA70024 */ sw $a3, 0x24($sp) /* 0225A4 800471A4 AFB70010 */ sw $s7, 0x10($sp) /* 0225A8 800471A8 AFB60014 */ sw $s6, 0x14($sp) -/* 0225AC 800471AC 0C00B94E */ jal func_8002E538 +/* 0225AC 800471AC 0C00B94E */ jal get_screen_coords /* 0225B0 800471B0 AFB50018 */ sw $s5, 0x18($sp) /* 0225B4 800471B4 8E30FFD4 */ lw $s0, -0x2c($s1) /* 0225B8 800471B8 8FA50028 */ lw $a1, 0x28($sp) /* 0225BC 800471BC 8FA6002C */ lw $a2, 0x2c($sp) /* 0225C0 800471C0 0200202D */ daddu $a0, $s0, $zero /* 0225C4 800471C4 24A50002 */ addiu $a1, $a1, 2 -/* 0225C8 800471C8 0C051261 */ jal func_80144984 +/* 0225C8 800471C8 0C051261 */ jal set_icon_render_pos /* 0225CC 800471CC 24C6FFF4 */ addiu $a2, $a2, -0xc -/* 0225D0 800471D0 0C0511F1 */ jal func_801447C4 +/* 0225D0 800471D0 0C0511F1 */ jal draw_icon_1 /* 0225D4 800471D4 0200202D */ daddu $a0, $s0, $zero .L800471D8: /* 0225D8 800471D8 8222FFD8 */ lb $v0, -0x28($s1) @@ -1673,7 +1673,7 @@ func_80047158: /* 02260C 8004720C 00000000 */ nop .L80047210: /* 022610 80047210 8E24FFDC */ lw $a0, -0x24($s1) -/* 022614 80047214 0C05128B */ jal func_80144A2C +/* 022614 80047214 0C05128B */ jal clear_icon_flags /* 022618 80047218 24050002 */ addiu $a1, $zero, 2 /* 02261C 8004721C C620FF58 */ lwc1 $f0, -0xa8($s1) /* 022620 80047220 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1690,16 +1690,16 @@ func_80047158: /* 02264C 8004724C AFA70024 */ sw $a3, 0x24($sp) /* 022650 80047250 AFB70010 */ sw $s7, 0x10($sp) /* 022654 80047254 AFB60014 */ sw $s6, 0x14($sp) -/* 022658 80047258 0C00B94E */ jal func_8002E538 +/* 022658 80047258 0C00B94E */ jal get_screen_coords /* 02265C 8004725C AFB50018 */ sw $s5, 0x18($sp) /* 022660 80047260 8E30FFDC */ lw $s0, -0x24($s1) /* 022664 80047264 8FA50028 */ lw $a1, 0x28($sp) /* 022668 80047268 8FA6002C */ lw $a2, 0x2c($sp) /* 02266C 8004726C 0200202D */ daddu $a0, $s0, $zero /* 022670 80047270 24A50002 */ addiu $a1, $a1, 2 -/* 022674 80047274 0C051261 */ jal func_80144984 +/* 022674 80047274 0C051261 */ jal set_icon_render_pos /* 022678 80047278 24C6FFF4 */ addiu $a2, $a2, -0xc -/* 02267C 8004727C 0C0511F1 */ jal func_801447C4 +/* 02267C 8004727C 0C0511F1 */ jal draw_icon_1 /* 022680 80047280 0200202D */ daddu $a0, $s0, $zero func_80047284: .L80047284: @@ -1707,7 +1707,7 @@ func_80047284: /* 022688 80047288 1040001E */ beqz $v0, .L80047304 /* 02268C 8004728C 00000000 */ nop /* 022690 80047290 8E24FFE0 */ lw $a0, -0x20($s1) -/* 022694 80047294 0C05128B */ jal func_80144A2C +/* 022694 80047294 0C05128B */ jal clear_icon_flags /* 022698 80047298 24050002 */ addiu $a1, $zero, 2 /* 02269C 8004729C C620FF58 */ lwc1 $f0, -0xa8($s1) /* 0226A0 800472A0 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1724,16 +1724,16 @@ func_80047284: /* 0226CC 800472CC AFA70024 */ sw $a3, 0x24($sp) /* 0226D0 800472D0 AFB70010 */ sw $s7, 0x10($sp) /* 0226D4 800472D4 AFB60014 */ sw $s6, 0x14($sp) -/* 0226D8 800472D8 0C00B94E */ jal func_8002E538 +/* 0226D8 800472D8 0C00B94E */ jal get_screen_coords /* 0226DC 800472DC AFB50018 */ sw $s5, 0x18($sp) /* 0226E0 800472E0 8E30FFE0 */ lw $s0, -0x20($s1) /* 0226E4 800472E4 8FA50028 */ lw $a1, 0x28($sp) /* 0226E8 800472E8 8FA6002C */ lw $a2, 0x2c($sp) /* 0226EC 800472EC 0200202D */ daddu $a0, $s0, $zero /* 0226F0 800472F0 24A50002 */ addiu $a1, $a1, 2 -/* 0226F4 800472F4 0C051261 */ jal func_80144984 +/* 0226F4 800472F4 0C051261 */ jal set_icon_render_pos /* 0226F8 800472F8 24C6FFF4 */ addiu $a2, $a2, -0xc -/* 0226FC 800472FC 0C0511F1 */ jal func_801447C4 +/* 0226FC 800472FC 0C0511F1 */ jal draw_icon_1 /* 022700 80047300 0200202D */ daddu $a0, $s0, $zero .L80047304: /* 022704 80047304 8222FFE4 */ lb $v0, -0x1c($s1) @@ -1752,7 +1752,7 @@ func_80047284: /* 022738 80047338 00000000 */ nop .L8004733C: /* 02273C 8004733C 8E24FFE8 */ lw $a0, -0x18($s1) -/* 022740 80047340 0C05128B */ jal func_80144A2C +/* 022740 80047340 0C05128B */ jal clear_icon_flags /* 022744 80047344 24050002 */ addiu $a1, $zero, 2 /* 022748 80047348 C620FF58 */ lwc1 $f0, -0xa8($s1) /* 02274C 8004734C C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1769,16 +1769,16 @@ func_80047284: /* 022778 80047378 AFA70024 */ sw $a3, 0x24($sp) /* 02277C 8004737C AFB70010 */ sw $s7, 0x10($sp) /* 022780 80047380 AFB60014 */ sw $s6, 0x14($sp) -/* 022784 80047384 0C00B94E */ jal func_8002E538 +/* 022784 80047384 0C00B94E */ jal get_screen_coords /* 022788 80047388 AFB50018 */ sw $s5, 0x18($sp) /* 02278C 8004738C 8E30FFE8 */ lw $s0, -0x18($s1) /* 022790 80047390 8FA50028 */ lw $a1, 0x28($sp) /* 022794 80047394 8FA6002C */ lw $a2, 0x2c($sp) /* 022798 80047398 0200202D */ daddu $a0, $s0, $zero /* 02279C 8004739C 24A50002 */ addiu $a1, $a1, 2 -/* 0227A0 800473A0 0C051261 */ jal func_80144984 +/* 0227A0 800473A0 0C051261 */ jal set_icon_render_pos /* 0227A4 800473A4 24C6FFF4 */ addiu $a2, $a2, -0xc -/* 0227A8 800473A8 0C0511F1 */ jal func_801447C4 +/* 0227A8 800473A8 0C0511F1 */ jal draw_icon_1 /* 0227AC 800473AC 0200202D */ daddu $a0, $s0, $zero func_800473B0: .L800473B0: @@ -1798,7 +1798,7 @@ func_800473B0: /* 0227E4 800473E4 00000000 */ nop .L800473E8: /* 0227E8 800473E8 8E24FFF0 */ lw $a0, -0x10($s1) -/* 0227EC 800473EC 0C05128B */ jal func_80144A2C +/* 0227EC 800473EC 0C05128B */ jal clear_icon_flags /* 0227F0 800473F0 24050002 */ addiu $a1, $zero, 2 /* 0227F4 800473F4 C620FF58 */ lwc1 $f0, -0xa8($s1) /* 0227F8 800473F8 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1815,16 +1815,16 @@ func_800473B0: /* 022824 80047424 AFA70024 */ sw $a3, 0x24($sp) /* 022828 80047428 AFB70010 */ sw $s7, 0x10($sp) /* 02282C 8004742C AFB60014 */ sw $s6, 0x14($sp) -/* 022830 80047430 0C00B94E */ jal func_8002E538 +/* 022830 80047430 0C00B94E */ jal get_screen_coords /* 022834 80047434 AFB50018 */ sw $s5, 0x18($sp) /* 022838 80047438 8E30FFF0 */ lw $s0, -0x10($s1) /* 02283C 8004743C 8FA50028 */ lw $a1, 0x28($sp) /* 022840 80047440 8FA6002C */ lw $a2, 0x2c($sp) /* 022844 80047444 0200202D */ daddu $a0, $s0, $zero /* 022848 80047448 24A50002 */ addiu $a1, $a1, 2 -/* 02284C 8004744C 0C051261 */ jal func_80144984 +/* 02284C 8004744C 0C051261 */ jal set_icon_render_pos /* 022850 80047450 24C6FFF1 */ addiu $a2, $a2, -0xf -/* 022854 80047454 0C0511F1 */ jal func_801447C4 +/* 022854 80047454 0C0511F1 */ jal draw_icon_1 /* 022858 80047458 0200202D */ daddu $a0, $s0, $zero func_8004745C: .L8004745C: @@ -1844,7 +1844,7 @@ func_8004745C: /* 022890 80047490 00000000 */ nop .L80047494: /* 022894 80047494 8E24FFF8 */ lw $a0, -8($s1) -/* 022898 80047498 0C05128B */ jal func_80144A2C +/* 022898 80047498 0C05128B */ jal clear_icon_flags /* 02289C 8004749C 24050002 */ addiu $a1, $zero, 2 /* 0228A0 800474A0 C620FF58 */ lwc1 $f0, -0xa8($s1) /* 0228A4 800474A4 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1861,16 +1861,16 @@ func_8004745C: /* 0228D0 800474D0 AFA70024 */ sw $a3, 0x24($sp) /* 0228D4 800474D4 AFB70010 */ sw $s7, 0x10($sp) /* 0228D8 800474D8 AFB60014 */ sw $s6, 0x14($sp) -/* 0228DC 800474DC 0C00B94E */ jal func_8002E538 +/* 0228DC 800474DC 0C00B94E */ jal get_screen_coords /* 0228E0 800474E0 AFB50018 */ sw $s5, 0x18($sp) /* 0228E4 800474E4 8E30FFF8 */ lw $s0, -8($s1) /* 0228E8 800474E8 8FA50028 */ lw $a1, 0x28($sp) /* 0228EC 800474EC 8FA6002C */ lw $a2, 0x2c($sp) /* 0228F0 800474F0 0200202D */ daddu $a0, $s0, $zero /* 0228F4 800474F4 24A50002 */ addiu $a1, $a1, 2 -/* 0228F8 800474F8 0C051261 */ jal func_80144984 +/* 0228F8 800474F8 0C051261 */ jal set_icon_render_pos /* 0228FC 800474FC 24C6FFF0 */ addiu $a2, $a2, -0x10 -/* 022900 80047500 0C0511F1 */ jal func_801447C4 +/* 022900 80047500 0C0511F1 */ jal draw_icon_1 /* 022904 80047504 0200202D */ daddu $a0, $s0, $zero func_80047508: .L80047508: @@ -1890,7 +1890,7 @@ func_80047508: /* 02293C 8004753C 263100B0 */ addiu $s1, $s1, 0xb0 .L80047540: /* 022940 80047540 8E240000 */ lw $a0, ($s1) -/* 022944 80047544 0C05128B */ jal func_80144A2C +/* 022944 80047544 0C05128B */ jal clear_icon_flags /* 022948 80047548 24050002 */ addiu $a1, $zero, 2 /* 02294C 8004754C C620FF58 */ lwc1 $f0, -0xa8($s1) /* 022950 80047550 C622FF60 */ lwc1 $f2, -0xa0($s1) @@ -1907,16 +1907,16 @@ func_80047508: /* 02297C 8004757C AFA70024 */ sw $a3, 0x24($sp) /* 022980 80047580 AFB70010 */ sw $s7, 0x10($sp) /* 022984 80047584 AFB60014 */ sw $s6, 0x14($sp) -/* 022988 80047588 0C00B94E */ jal func_8002E538 +/* 022988 80047588 0C00B94E */ jal get_screen_coords /* 02298C 8004758C AFB50018 */ sw $s5, 0x18($sp) /* 022990 80047590 8E300000 */ lw $s0, ($s1) /* 022994 80047594 8FA50028 */ lw $a1, 0x28($sp) /* 022998 80047598 8FA6002C */ lw $a2, 0x2c($sp) /* 02299C 8004759C 0200202D */ daddu $a0, $s0, $zero /* 0229A0 800475A0 24A50002 */ addiu $a1, $a1, 2 -/* 0229A4 800475A4 0C051261 */ jal func_80144984 +/* 0229A4 800475A4 0C051261 */ jal set_icon_render_pos /* 0229A8 800475A8 24C6FFF0 */ addiu $a2, $a2, -0x10 -/* 0229AC 800475AC 0C0511F1 */ jal func_801447C4 +/* 0229AC 800475AC 0C0511F1 */ jal draw_icon_1 /* 0229B0 800475B0 0200202D */ daddu $a0, $s0, $zero /* 0229B4 800475B4 263100B0 */ addiu $s1, $s1, 0xb0 func_800475B8: @@ -2384,14 +2384,14 @@ func_80047B84: /* 02305C 80047C5C 3C048010 */ lui $a0, 0x8010 /* 023060 80047C60 2484701C */ addiu $a0, $a0, 0x701c /* 023064 80047C64 24020001 */ addiu $v0, $zero, 1 -/* 023068 80047C68 0C050529 */ jal func_801414A4 +/* 023068 80047C68 0C050529 */ jal create_icon /* 02306C 80047C6C A2220078 */ sb $v0, 0x78($s1) /* 023070 80047C70 0040802D */ daddu $s0, $v0, $zero /* 023074 80047C74 0200202D */ daddu $a0, $s0, $zero -/* 023078 80047C78 0C051280 */ jal func_80144A00 +/* 023078 80047C78 0C051280 */ jal set_icon_flags /* 02307C 80047C7C 24050002 */ addiu $a1, $zero, 2 /* 023080 80047C80 0200202D */ daddu $a0, $s0, $zero -/* 023084 80047C84 0C051280 */ jal func_80144A00 +/* 023084 80047C84 0C051280 */ jal set_icon_flags /* 023088 80047C88 24050080 */ addiu $a1, $zero, 0x80 /* 02308C 80047C8C AE30007C */ sw $s0, 0x7c($s1) .L80047C90: @@ -2420,7 +2420,7 @@ func_80047CA4: /* 0230E0 80047CE0 24A5717C */ addiu $a1, $a1, 0x717c /* 0230E4 80047CE4 A0600078 */ sb $zero, 0x78($v1) /* 0230E8 80047CE8 A0620079 */ sb $v0, 0x79($v1) -/* 0230EC 80047CEC 0C0511FF */ jal func_801447FC +/* 0230EC 80047CEC 0C0511FF */ jal set_menu_icon_script /* 0230F0 80047CF0 AC640080 */ sw $a0, 0x80($v1) .L80047CF4: /* 0230F4 80047CF4 8FBF0010 */ lw $ra, 0x10($sp) @@ -2461,14 +2461,14 @@ func_80047CA4: /* 023178 80047D78 3C048010 */ lui $a0, 0x8010 /* 02317C 80047D7C 24847314 */ addiu $a0, $a0, 0x7314 /* 023180 80047D80 24020001 */ addiu $v0, $zero, 1 -/* 023184 80047D84 0C050529 */ jal func_801414A4 +/* 023184 80047D84 0C050529 */ jal create_icon /* 023188 80047D88 A2220084 */ sb $v0, 0x84($s1) /* 02318C 80047D8C 0040802D */ daddu $s0, $v0, $zero /* 023190 80047D90 0200202D */ daddu $a0, $s0, $zero -/* 023194 80047D94 0C051280 */ jal func_80144A00 +/* 023194 80047D94 0C051280 */ jal set_icon_flags /* 023198 80047D98 24050002 */ addiu $a1, $zero, 2 /* 02319C 80047D9C 0200202D */ daddu $a0, $s0, $zero -/* 0231A0 80047DA0 0C051280 */ jal func_80144A00 +/* 0231A0 80047DA0 0C051280 */ jal set_icon_flags /* 0231A4 80047DA4 24050080 */ addiu $a1, $zero, 0x80 /* 0231A8 80047DA8 AE300088 */ sw $s0, 0x88($s1) .L80047DAC: @@ -2497,7 +2497,7 @@ func_80047DC0: /* 0231FC 80047DFC 24A57474 */ addiu $a1, $a1, 0x7474 /* 023200 80047E00 A0600084 */ sb $zero, 0x84($v1) /* 023204 80047E04 A0600085 */ sb $zero, 0x85($v1) -/* 023208 80047E08 0C0511FF */ jal func_801447FC +/* 023208 80047E08 0C0511FF */ jal set_menu_icon_script /* 02320C 80047E0C AC64008C */ sw $a0, 0x8c($v1) .L80047E10: /* 023210 80047E10 8FBF0010 */ lw $ra, 0x10($sp) @@ -2538,14 +2538,14 @@ func_80047DC0: /* 023294 80047E94 3C048010 */ lui $a0, 0x8010 /* 023298 80047E98 248475E0 */ addiu $a0, $a0, 0x75e0 /* 02329C 80047E9C 24020001 */ addiu $v0, $zero, 1 -/* 0232A0 80047EA0 0C050529 */ jal func_801414A4 +/* 0232A0 80047EA0 0C050529 */ jal create_icon /* 0232A4 80047EA4 A2220090 */ sb $v0, 0x90($s1) /* 0232A8 80047EA8 0040802D */ daddu $s0, $v0, $zero /* 0232AC 80047EAC 0200202D */ daddu $a0, $s0, $zero -/* 0232B0 80047EB0 0C051280 */ jal func_80144A00 +/* 0232B0 80047EB0 0C051280 */ jal set_icon_flags /* 0232B4 80047EB4 24050002 */ addiu $a1, $zero, 2 /* 0232B8 80047EB8 0200202D */ daddu $a0, $s0, $zero -/* 0232BC 80047EBC 0C051280 */ jal func_80144A00 +/* 0232BC 80047EBC 0C051280 */ jal set_icon_flags /* 0232C0 80047EC0 24050080 */ addiu $a1, $zero, 0x80 /* 0232C4 80047EC4 AE300094 */ sw $s0, 0x94($s1) .L80047EC8: @@ -2570,7 +2570,7 @@ func_80047EDC: /* 023308 80047F08 10400004 */ beqz $v0, .L80047F1C /* 02330C 80047F0C 00000000 */ nop /* 023310 80047F10 8C640094 */ lw $a0, 0x94($v1) -/* 023314 80047F14 0C05123D */ jal func_801448F4 +/* 023314 80047F14 0C05123D */ jal free_icon /* 023318 80047F18 A0600090 */ sb $zero, 0x90($v1) .L80047F1C: /* 02331C 80047F1C 8FBF0010 */ lw $ra, 0x10($sp) @@ -2611,14 +2611,14 @@ func_80047EDC: /* 0233A0 80047FA0 3C048010 */ lui $a0, 0x8010 /* 0233A4 80047FA4 2484760C */ addiu $a0, $a0, 0x760c /* 0233A8 80047FA8 24020001 */ addiu $v0, $zero, 1 -/* 0233AC 80047FAC 0C050529 */ jal func_801414A4 +/* 0233AC 80047FAC 0C050529 */ jal create_icon /* 0233B0 80047FB0 A2220098 */ sb $v0, 0x98($s1) /* 0233B4 80047FB4 0040802D */ daddu $s0, $v0, $zero /* 0233B8 80047FB8 0200202D */ daddu $a0, $s0, $zero -/* 0233BC 80047FBC 0C051280 */ jal func_80144A00 +/* 0233BC 80047FBC 0C051280 */ jal set_icon_flags /* 0233C0 80047FC0 24050002 */ addiu $a1, $zero, 2 /* 0233C4 80047FC4 0200202D */ daddu $a0, $s0, $zero -/* 0233C8 80047FC8 0C051280 */ jal func_80144A00 +/* 0233C8 80047FC8 0C051280 */ jal set_icon_flags /* 0233CC 80047FCC 24050080 */ addiu $a1, $zero, 0x80 /* 0233D0 80047FD0 AE30009C */ sw $s0, 0x9c($s1) .L80047FD4: @@ -2643,7 +2643,7 @@ func_80047FE8: /* 023414 80048014 10400004 */ beqz $v0, .L80048028 /* 023418 80048018 00000000 */ nop /* 02341C 8004801C 8C64009C */ lw $a0, 0x9c($v1) -/* 023420 80048020 0C05123D */ jal func_801448F4 +/* 023420 80048020 0C05123D */ jal free_icon /* 023424 80048024 A0600098 */ sb $zero, 0x98($v1) .L80048028: /* 023428 80048028 8FBF0010 */ lw $ra, 0x10($sp) @@ -2684,14 +2684,14 @@ func_80047FE8: /* 0234AC 800480AC 3C048011 */ lui $a0, 0x8011 /* 0234B0 800480B0 248489C4 */ addiu $a0, $a0, -0x763c /* 0234B4 800480B4 24020001 */ addiu $v0, $zero, 1 -/* 0234B8 800480B8 0C050529 */ jal func_801414A4 +/* 0234B8 800480B8 0C050529 */ jal create_icon /* 0234BC 800480BC A22200A0 */ sb $v0, 0xa0($s1) /* 0234C0 800480C0 0040802D */ daddu $s0, $v0, $zero /* 0234C4 800480C4 0200202D */ daddu $a0, $s0, $zero -/* 0234C8 800480C8 0C051280 */ jal func_80144A00 +/* 0234C8 800480C8 0C051280 */ jal set_icon_flags /* 0234CC 800480CC 24050002 */ addiu $a1, $zero, 2 /* 0234D0 800480D0 0200202D */ daddu $a0, $s0, $zero -/* 0234D4 800480D4 0C051280 */ jal func_80144A00 +/* 0234D4 800480D4 0C051280 */ jal set_icon_flags /* 0234D8 800480D8 24050080 */ addiu $a1, $zero, 0x80 /* 0234DC 800480DC AE3000A4 */ sw $s0, 0xa4($s1) .L800480E0: @@ -2716,7 +2716,7 @@ func_800480F4: /* 023520 80048120 10400004 */ beqz $v0, .L80048134 /* 023524 80048124 00000000 */ nop /* 023528 80048128 8C6400A4 */ lw $a0, 0xa4($v1) -/* 02352C 8004812C 0C05123D */ jal func_801448F4 +/* 02352C 8004812C 0C05123D */ jal free_icon /* 023530 80048130 A06000A0 */ sb $zero, 0xa0($v1) .L80048134: /* 023534 80048134 8FBF0010 */ lw $ra, 0x10($sp) @@ -2757,14 +2757,14 @@ func_800480F4: /* 0235B8 800481B8 3C048011 */ lui $a0, 0x8011 /* 0235BC 800481BC 24848A14 */ addiu $a0, $a0, -0x75ec /* 0235C0 800481C0 24020001 */ addiu $v0, $zero, 1 -/* 0235C4 800481C4 0C050529 */ jal func_801414A4 +/* 0235C4 800481C4 0C050529 */ jal create_icon /* 0235C8 800481C8 A22200A8 */ sb $v0, 0xa8($s1) /* 0235CC 800481CC 0040802D */ daddu $s0, $v0, $zero /* 0235D0 800481D0 0200202D */ daddu $a0, $s0, $zero -/* 0235D4 800481D4 0C051280 */ jal func_80144A00 +/* 0235D4 800481D4 0C051280 */ jal set_icon_flags /* 0235D8 800481D8 24050002 */ addiu $a1, $zero, 2 /* 0235DC 800481DC 0200202D */ daddu $a0, $s0, $zero -/* 0235E0 800481E0 0C051280 */ jal func_80144A00 +/* 0235E0 800481E0 0C051280 */ jal set_icon_flags /* 0235E4 800481E4 24050080 */ addiu $a1, $zero, 0x80 /* 0235E8 800481E8 AE3000AC */ sw $s0, 0xac($s1) .L800481EC: @@ -2789,7 +2789,7 @@ func_80048200: /* 02362C 8004822C 10400004 */ beqz $v0, .L80048240 /* 023630 80048230 00000000 */ nop /* 023634 80048234 8C6400AC */ lw $a0, 0xac($v1) -/* 023638 80048238 0C05123D */ jal func_801448F4 +/* 023638 80048238 0C05123D */ jal free_icon /* 02363C 8004823C A06000A8 */ sb $zero, 0xa8($v1) .L80048240: /* 023640 80048240 8FBF0010 */ lw $ra, 0x10($sp) @@ -2810,7 +2810,7 @@ func_80048200: /* 023678 80048278 AC620000 */ sw $v0, ($v1) /* 02367C 8004827C 00000000 */ nop -func_80048280: +spawn_drops: /* 023680 80048280 27BDFF68 */ addiu $sp, $sp, -0x98 /* 023684 80048284 AFA40098 */ sw $a0, 0x98($sp) /* 023688 80048288 8FA80098 */ lw $t0, 0x98($sp) @@ -2834,7 +2834,7 @@ func_80048280: /* 0236D0 800482D0 84840008 */ lh $a0, 8($a0) /* 0236D4 800482D4 8D0800D4 */ lw $t0, 0xd4($t0) /* 0236D8 800482D8 0000902D */ daddu $s2, $zero, $zero -/* 0236DC 800482DC 0C00EABB */ jal func_8003AAEC +/* 0236DC 800482DC 0C00EABB */ jal get_npc_unsafe /* 0236E0 800482E0 AFA80020 */ sw $t0, 0x20($sp) /* 0236E4 800482E4 0040802D */ daddu $s0, $v0, $zero /* 0236E8 800482E8 3C038007 */ lui $v1, 0x8007 @@ -2850,7 +2850,7 @@ func_80048280: /* 023710 80048310 000210C0 */ sll $v0, $v0, 3 /* 023714 80048314 00448821 */ addu $s1, $v0, $a0 .L80048318: -/* 023718 80048318 0C044181 */ jal func_80110604 +/* 023718 80048318 0C044181 */ jal get_shadow_by_index /* 02371C 8004831C 0240202D */ daddu $a0, $s2, $zero /* 023720 80048320 14400004 */ bnez $v0, .L80048334 /* 023724 80048324 26520001 */ addiu $s2, $s2, 1 @@ -2870,7 +2870,7 @@ func_80048280: /* 023758 80048358 AFA00024 */ sw $zero, 0x24($sp) /* 02375C 8004835C 460C0300 */ add.s $f12, $f0, $f12 /* 023760 80048360 00431023 */ subu $v0, $v0, $v1 -/* 023764 80048364 0C00A6C9 */ jal func_80029B24 +/* 023764 80048364 0C00A6C9 */ jal clamp_angle /* 023768 80048368 AFA20028 */ sw $v0, 0x28($sp) /* 02376C 8004836C 4600010D */ trunc.w.s $f4, $f0 /* 023770 80048370 44162000 */ mfc1 $s6, $f4 @@ -2892,7 +2892,7 @@ func_80048280: /* 0237B0 800483B0 C6040038 */ lwc1 $f4, 0x38($s0) /* 0237B4 800483B4 E7A40034 */ swc1 $f4, 0x34($sp) /* 0237B8 800483B8 C61E0040 */ lwc1 $f30, 0x40($s0) -/* 0237BC 800483BC 0C00A67F */ jal func_800299FC +/* 0237BC 800483BC 0C00A67F */ jal rand_int /* 0237C0 800483C0 24040064 */ addiu $a0, $zero, 0x64 /* 0237C4 800483C4 0051102A */ slt $v0, $v0, $s1 /* 0237C8 800483C8 10400061 */ beqz $v0, .L80048550 @@ -2913,7 +2913,7 @@ func_80048280: /* 023800 80048400 1440FFF6 */ bnez $v0, .L800483DC /* 023804 80048404 24A50006 */ addiu $a1, $a1, 6 .L80048408: -/* 023808 80048408 0C00A67F */ jal func_800299FC +/* 023808 80048408 0C00A67F */ jal rand_int /* 02380C 8004840C 0000A82D */ daddu $s5, $zero, $zero /* 023810 80048410 0040882D */ daddu $s1, $v0, $zero /* 023814 80048414 02A0902D */ daddu $s2, $s5, $zero @@ -2932,7 +2932,7 @@ func_80048280: /* 023844 80048444 84640002 */ lh $a0, 2($v1) /* 023848 80048448 18800005 */ blez $a0, .L80048460 /* 02384C 8004844C 02A2A821 */ addu $s5, $s5, $v0 -/* 023850 80048450 0C05152F */ jal func_801454BC +/* 023850 80048450 0C05152F */ jal get_global_flag /* 023854 80048454 24840714 */ addiu $a0, $a0, 0x714 /* 023858 80048458 54400007 */ bnezl $v0, .L80048478 /* 02385C 8004845C 26940006 */ addiu $s4, $s4, 6 @@ -2970,7 +2970,7 @@ func_8004848C: /* 0238C8 800484C8 02C21021 */ addu $v0, $s6, $v0 /* 0238CC 800484CC AFA20018 */ sw $v0, 0x18($sp) /* 0238D0 800484D0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0238D4 800484D4 0C04C4FD */ jal func_801313F4 +/* 0238D4 800484D4 0C04C4FD */ jal make_item_entity /* 0238D8 800484D8 AFA80014 */ sw $t0, 0x14($sp) /* 0238DC 800484DC 44960000 */ mtc1 $s6, $f0 /* 0238E0 800484E0 00000000 */ nop @@ -3000,7 +3000,7 @@ func_8004848C: /* 02393C 8004853C 84440002 */ lh $a0, 2($v0) /* 023940 80048540 04800003 */ bltz $a0, .L80048550 /* 023944 80048544 00000000 */ nop -/* 023948 80048548 0C051514 */ jal func_80145450 +/* 023948 80048548 0C051514 */ jal set_global_flag /* 02394C 8004854C 24840715 */ addiu $a0, $a0, 0x715 .L80048550: /* 023950 80048550 3C02800B */ lui $v0, 0x800b @@ -3023,7 +3023,7 @@ func_8004848C: /* 023994 80048594 A0200F23 */ sb $zero, 0xf23($at) /* 023998 80048598 AFA20018 */ sw $v0, 0x18($sp) /* 02399C 8004859C AFA0001C */ sw $zero, 0x1c($sp) -/* 0239A0 800485A0 0C04C4FD */ jal func_801313F4 +/* 0239A0 800485A0 0C04C4FD */ jal make_item_entity /* 0239A4 800485A4 AFA80014 */ sw $t0, 0x14($sp) /* 0239A8 800485A8 44960000 */ mtc1 $s6, $f0 /* 0239AC 800485AC 00000000 */ nop @@ -3084,7 +3084,7 @@ func_8004848C: /* 023A7C 8004867C 4680A520 */ cvt.s.w $f20, $f20 /* 023A80 80048680 45000034 */ bc1f .L80048754 /* 023A84 80048684 461AA503 */ div.s $f20, $f20, $f26 -/* 023A88 80048688 0C00A67F */ jal func_800299FC +/* 023A88 80048688 0C00A67F */ jal rand_int /* 023A8C 8004868C 24040064 */ addiu $a0, $zero, 0x64 /* 023A90 80048690 461CA082 */ mul.s $f2, $f20, $f28 /* 023A94 80048694 00000000 */ nop @@ -3115,7 +3115,7 @@ func_8004848C: /* 023AF8 800486F8 4500001D */ bc1f .L80048770 /* 023AFC 800486FC 461AA503 */ div.s $f20, $f20, $f26 func_80048700: -/* 023B00 80048700 0C00A67F */ jal func_800299FC +/* 023B00 80048700 0C00A67F */ jal rand_int /* 023B04 80048704 24040064 */ addiu $a0, $zero, 0x64 /* 023B08 80048708 461CA082 */ mul.s $f2, $f20, $f28 /* 023B0C 8004870C 00000000 */ nop @@ -3148,11 +3148,11 @@ func_80048700: /* 023B68 80048768 1440FFB9 */ bnez $v0, .L80048650 /* 023B6C 8004876C 26100008 */ addiu $s0, $s0, 8 .L80048770: -/* 023B70 80048770 0C03A752 */ jal func_800E9D48 +/* 023B70 80048770 0C03A752 */ jal is_ability_active /* 023B74 80048774 2404002B */ addiu $a0, $zero, 0x2b /* 023B78 80048778 10400005 */ beqz $v0, .L80048790 /* 023B7C 8004877C 00000000 */ nop -/* 023B80 80048780 0C00A67F */ jal func_800299FC +/* 023B80 80048780 0C00A67F */ jal rand_int /* 023B84 80048784 24040002 */ addiu $a0, $zero, 2 /* 023B88 80048788 26230001 */ addiu $v1, $s1, 1 /* 023B8C 8004878C 00628821 */ addu $s1, $v1, $v0 @@ -3209,7 +3209,7 @@ func_80048700: /* 023C40 80048840 AFB30010 */ sw $s3, 0x10($sp) /* 023C44 80048844 AFA20018 */ sw $v0, 0x18($sp) /* 023C48 80048848 AFA0001C */ sw $zero, 0x1c($sp) -/* 023C4C 8004884C 0C04C4FD */ jal func_801313F4 +/* 023C4C 8004884C 0C04C4FD */ jal make_item_entity /* 023C50 80048850 AFA80014 */ sw $t0, 0x14($sp) /* 023C54 80048854 44960000 */ mtc1 $s6, $f0 /* 023C58 80048858 00000000 */ nop @@ -3271,7 +3271,7 @@ func_80048700: /* 023D2C 8004892C 4680A520 */ cvt.s.w $f20, $f20 /* 023D30 80048930 45000034 */ bc1f .L80048A04 /* 023D34 80048934 461AA503 */ div.s $f20, $f20, $f26 -/* 023D38 80048938 0C00A67F */ jal func_800299FC +/* 023D38 80048938 0C00A67F */ jal rand_int /* 023D3C 8004893C 24040064 */ addiu $a0, $zero, 0x64 /* 023D40 80048940 461CA082 */ mul.s $f2, $f20, $f28 /* 023D44 80048944 00000000 */ nop @@ -3302,7 +3302,7 @@ func_80048700: /* 023DA8 800489A8 4500001D */ bc1f .L80048A20 /* 023DAC 800489AC 461AA503 */ div.s $f20, $f20, $f26 func_800489B0: -/* 023DB0 800489B0 0C00A67F */ jal func_800299FC +/* 023DB0 800489B0 0C00A67F */ jal rand_int /* 023DB4 800489B4 24040064 */ addiu $a0, $zero, 0x64 /* 023DB8 800489B8 461CA082 */ mul.s $f2, $f20, $f28 /* 023DBC 800489BC 00000000 */ nop @@ -3335,11 +3335,11 @@ func_800489B0: /* 023E18 80048A18 1440FFB9 */ bnez $v0, .L80048900 /* 023E1C 80048A1C 26100008 */ addiu $s0, $s0, 8 .L80048A20: -/* 023E20 80048A20 0C03A752 */ jal func_800E9D48 +/* 023E20 80048A20 0C03A752 */ jal is_ability_active /* 023E24 80048A24 2404002C */ addiu $a0, $zero, 0x2c /* 023E28 80048A28 10400005 */ beqz $v0, .L80048A40 /* 023E2C 80048A2C 00000000 */ nop -/* 023E30 80048A30 0C00A67F */ jal func_800299FC +/* 023E30 80048A30 0C00A67F */ jal rand_int /* 023E34 80048A34 24040002 */ addiu $a0, $zero, 2 /* 023E38 80048A38 26230001 */ addiu $v1, $s1, 1 /* 023E3C 80048A3C 00628821 */ addu $s1, $v1, $v0 @@ -3396,7 +3396,7 @@ func_800489B0: /* 023EF0 80048AF0 AFB30010 */ sw $s3, 0x10($sp) /* 023EF4 80048AF4 AFA20018 */ sw $v0, 0x18($sp) /* 023EF8 80048AF8 AFA0001C */ sw $zero, 0x1c($sp) -/* 023EFC 80048AFC 0C04C4FD */ jal func_801313F4 +/* 023EFC 80048AFC 0C04C4FD */ jal make_item_entity /* 023F00 80048B00 AFA80014 */ sw $t0, 0x14($sp) /* 023F04 80048B04 44960000 */ mtc1 $s6, $f0 /* 023F08 80048B08 00000000 */ nop @@ -3440,7 +3440,7 @@ func_800489B0: /* 023F8C 80048B8C 12200005 */ beqz $s1, .L80048BA4 /* 023F90 80048B90 0220202D */ daddu $a0, $s1, $zero func_80048B94: -/* 023F94 80048B94 0C00A67F */ jal func_800299FC +/* 023F94 80048B94 0C00A67F */ jal rand_int /* 023F98 80048B98 00000000 */ nop /* 023F9C 80048B9C 080122EA */ j func_80048BA8 /* 023FA0 80048BA0 00508821 */ addu $s1, $v0, $s0 @@ -3454,7 +3454,7 @@ func_80048BA8: /* 023FB0 80048BB0 3C02800B */ lui $v0, 0x800b /* 023FB4 80048BB4 84420F1E */ lh $v0, 0xf1e($v0) /* 023FB8 80048BB8 24040019 */ addiu $a0, $zero, 0x19 -/* 023FBC 80048BBC 0C03A752 */ jal func_800E9D48 +/* 023FBC 80048BBC 0C03A752 */ jal is_ability_active /* 023FC0 80048BC0 02228821 */ addu $s1, $s1, $v0 /* 023FC4 80048BC4 10400007 */ beqz $v0, .L80048BE4 /* 023FC8 80048BC8 00000000 */ nop @@ -3473,7 +3473,7 @@ func_80048BA8: /* 023FF8 80048BF8 A0200F1B */ sb $zero, 0xf1b($at) /* 023FFC 80048BFC 02228821 */ addu $s1, $s1, $v0 .L80048C00: -/* 024000 80048C00 0C03A752 */ jal func_800E9D48 +/* 024000 80048C00 0C03A752 */ jal is_ability_active /* 024004 80048C04 24040010 */ addiu $a0, $zero, 0x10 /* 024008 80048C08 54400001 */ bnezl $v0, .L80048C10 /* 02400C 80048C0C 00118840 */ sll $s1, $s1, 1 @@ -3523,7 +3523,7 @@ func_80048BA8: /* 0240A4 80048CA4 AFB30010 */ sw $s3, 0x10($sp) /* 0240A8 80048CA8 AFA20018 */ sw $v0, 0x18($sp) /* 0240AC 80048CAC AFA0001C */ sw $zero, 0x1c($sp) -/* 0240B0 80048CB0 0C04C4FD */ jal func_801313F4 +/* 0240B0 80048CB0 0C04C4FD */ jal make_item_entity /* 0240B4 80048CB4 AFA80014 */ sw $t0, 0x14($sp) /* 0240B8 80048CB8 44960000 */ mtc1 $s6, $f0 /* 0240BC 80048CBC 00000000 */ nop @@ -3566,7 +3566,7 @@ func_80048BA8: /* 024148 80048D48 03E00008 */ jr $ra /* 02414C 80048D4C 27BD0098 */ addiu $sp, $sp, 0x98 -func_80048D50: +get_coin_drop_amount: /* 024150 80048D50 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 024154 80048D54 AFB20018 */ sw $s2, 0x18($sp) /* 024158 80048D58 0080902D */ daddu $s2, $a0, $zero @@ -3589,14 +3589,14 @@ func_80048D50: /* 024198 80048D98 10800004 */ beqz $a0, .L80048DAC /* 02419C 80048D9C 00000000 */ nop .L80048DA0: -/* 0241A0 80048DA0 0C00A67F */ jal func_800299FC +/* 0241A0 80048DA0 0C00A67F */ jal rand_int /* 0241A4 80048DA4 00000000 */ nop /* 0241A8 80048DA8 00508021 */ addu $s0, $v0, $s0 .L80048DAC: /* 0241AC 80048DAC 06020001 */ bltzl $s0, .L80048DB4 /* 0241B0 80048DB0 0000802D */ daddu $s0, $zero, $zero .L80048DB4: -/* 0241B4 80048DB4 0C03A752 */ jal func_800E9D48 +/* 0241B4 80048DB4 0C03A752 */ jal is_ability_active /* 0241B8 80048DB8 24040019 */ addiu $a0, $zero, 0x19 /* 0241BC 80048DBC 10400004 */ beqz $v0, .L80048DD0 /* 0241C0 80048DC0 00000000 */ nop @@ -3609,7 +3609,7 @@ func_80048D50: /* 0241D8 80048DD8 00101040 */ sll $v0, $s0, 1 /* 0241DC 80048DDC 02028021 */ addu $s0, $s0, $v0 .L80048DE0: -/* 0241E0 80048DE0 0C03A752 */ jal func_800E9D48 +/* 0241E0 80048DE0 0C03A752 */ jal is_ability_active /* 0241E4 80048DE4 24040010 */ addiu $a0, $zero, 0x10 /* 0241E8 80048DE8 54400001 */ bnezl $v0, .L80048DF0 /* 0241EC 80048DEC 00108040 */ sll $s0, $s0, 1 @@ -3645,14 +3645,14 @@ func_80048D50: /* 024254 80048E54 10400005 */ beqz $v0, .L80048E6C /* 024258 80048E58 00C0882D */ daddu $s1, $a2, $zero /* 02425C 80048E5C 8E040054 */ lw $a0, 0x54($s0) -/* 024260 80048E60 0C0B102B */ jal func_802C40AC +/* 024260 80048E60 0C0B102B */ jal kill_script_by_ID /* 024264 80048E64 00000000 */ nop /* 024268 80048E68 AE00003C */ sw $zero, 0x3c($s0) .L80048E6C: /* 02426C 80048E6C 8E0200BC */ lw $v0, 0xbc($s0) /* 024270 80048E70 10400004 */ beqz $v0, .L80048E84 /* 024274 80048E74 00000000 */ nop -/* 024278 80048E78 0C0B102B */ jal func_802C40AC +/* 024278 80048E78 0C0B102B */ jal kill_script_by_ID /* 02427C 80048E7C 8E0400C0 */ lw $a0, 0xc0($s0) /* 024280 80048E80 AE0000BC */ sw $zero, 0xbc($s0) .L80048E84: @@ -3661,7 +3661,7 @@ func_80048D50: /* 02428C 80048E8C 2405000A */ addiu $a1, $zero, 0xa /* 024290 80048E90 0040202D */ daddu $a0, $v0, $zero /* 024294 80048E94 24060020 */ addiu $a2, $zero, 0x20 -/* 024298 80048E98 0C0B0CF8 */ jal func_802C33E0 +/* 024298 80048E98 0C0B0CF8 */ jal start_script /* 02429C 80048E9C AE1100C8 */ sw $s1, 0xc8($s0) /* 0242A0 80048EA0 0040202D */ daddu $a0, $v0, $zero /* 0242A4 80048EA4 AE04003C */ sw $a0, 0x3c($s0) @@ -3676,7 +3676,7 @@ func_80048D50: /* 0242C4 80048EC4 2405000A */ addiu $a1, $zero, 0xa /* 0242C8 80048EC8 0040202D */ daddu $a0, $v0, $zero /* 0242CC 80048ECC 24060020 */ addiu $a2, $zero, 0x20 -/* 0242D0 80048ED0 0C0B0CF8 */ jal func_802C33E0 +/* 0242D0 80048ED0 0C0B0CF8 */ jal start_script /* 0242D4 80048ED4 AE1200C4 */ sw $s2, 0xc4($s0) /* 0242D8 80048ED8 0040202D */ daddu $a0, $v0, $zero /* 0242DC 80048EDC AE0400BC */ sw $a0, 0xbc($s0) @@ -3723,7 +3723,7 @@ func_80048D50: /* 024370 80048F70 30420020 */ andi $v0, $v0, 0x20 /* 024374 80048F74 14400003 */ bnez $v0, .L80048F84 /* 024378 80048F78 00000000 */ nop -/* 02437C 80048F7C 0C00EABB */ jal func_8003AAEC +/* 02437C 80048F7C 0C00EABB */ jal get_npc_unsafe /* 024380 80048F80 84640008 */ lh $a0, 8($v1) .L80048F84: /* 024384 80048F84 8E420000 */ lw $v0, ($s2) @@ -3749,7 +3749,7 @@ func_80048D50: /* 0243CC 80048FCC 03E00008 */ jr $ra /* 0243D0 80048FD0 27BD0030 */ addiu $sp, $sp, 0x30 -func_80048FD4: +is_point_within_region: /* 0243D4 80048FD4 44856000 */ mtc1 $a1, $f12 /* 0243D8 80048FD8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0243DC 80048FDC F7B60020 */ sdc1 $f22, 0x20($sp) @@ -3771,7 +3771,7 @@ func_80048FD4: .L80049018: /* 024418 80049018 44060000 */ mfc1 $a2, $f0 /* 02441C 8004901C 4407C000 */ mfc1 $a3, $f24 -/* 024420 80049020 0C00A7B5 */ jal func_80029ED4 +/* 024420 80049020 0C00A7B5 */ jal dist2D /* 024424 80049024 4600B386 */ mov.s $f14, $f22 /* 024428 80049028 4600D03C */ c.lt.s $f26, $f0 /* 02442C 8004902C 00000000 */ nop @@ -3784,13 +3784,13 @@ func_80048FD4: /* 024440 80049040 4480A000 */ mtc1 $zero, $f20 /* 024444 80049044 44060000 */ mfc1 $a2, $f0 /* 024448 80049048 4407A000 */ mfc1 $a3, $f20 -/* 02444C 8004904C 0C00A7B5 */ jal func_80029ED4 +/* 02444C 8004904C 0C00A7B5 */ jal dist2D /* 024450 80049050 4600A386 */ mov.s $f14, $f20 /* 024454 80049054 4600A306 */ mov.s $f12, $f20 /* 024458 80049058 4600B386 */ mov.s $f14, $f22 /* 02445C 8004905C 44066000 */ mfc1 $a2, $f12 /* 024460 80049060 4407C000 */ mfc1 $a3, $f24 -/* 024464 80049064 0C00A7B5 */ jal func_80029ED4 +/* 024464 80049064 0C00A7B5 */ jal dist2D /* 024468 80049068 46000506 */ mov.s $f20, $f0 /* 02446C 8004906C 0000102D */ daddu $v0, $zero, $zero /* 024470 80049070 4614D03C */ c.lt.s $f26, $f20 @@ -3830,7 +3830,7 @@ func_800490B4: /* 0244E4 800490E4 AFB00030 */ sw $s0, 0x30($sp) /* 0244E8 800490E8 F7B40048 */ sdc1 $f20, 0x48($sp) /* 0244EC 800490EC 86640008 */ lh $a0, 8($s3) -/* 0244F0 800490F0 0C00EABB */ jal func_8003AAEC +/* 0244F0 800490F0 0C00EABB */ jal get_npc_unsafe /* 0244F4 800490F4 93B40073 */ lbu $s4, 0x73($sp) /* 0244F8 800490F8 0040802D */ daddu $s0, $v0, $zero /* 0244FC 800490FC 8E6200B0 */ lw $v0, 0xb0($s3) @@ -3900,7 +3900,7 @@ func_800490B4: /* 0245F0 800491F0 C6200014 */ lwc1 $f0, 0x14($s1) /* 0245F4 800491F4 46800020 */ cvt.s.w $f0, $f0 /* 0245F8 800491F8 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0245FC 800491FC 0C0123F5 */ jal func_80048FD4 +/* 0245FC 800491FC 0C0123F5 */ jal is_point_within_region /* 024600 80049200 8E240004 */ lw $a0, 4($s1) /* 024604 80049204 1440006E */ bnez $v0, .L800493C0 /* 024608 80049208 0000102D */ daddu $v0, $zero, $zero @@ -3934,13 +3934,13 @@ func_800490B4: /* 024674 80049274 E7A40020 */ swc1 $f4, 0x20($sp) /* 024678 80049278 E7A60028 */ swc1 $f6, 0x28($sp) /* 02467C 8004927C 46200020 */ cvt.s.d $f0, $f0 -/* 024680 80049280 0C00A7B5 */ jal func_80029ED4 +/* 024680 80049280 0C00A7B5 */ jal dist2D /* 024684 80049284 E7A00024 */ swc1 $f0, 0x24($sp) /* 024688 80049288 C60C0038 */ lwc1 $f12, 0x38($s0) /* 02468C 8004928C C60E0040 */ lwc1 $f14, 0x40($s0) /* 024690 80049290 8E460028 */ lw $a2, 0x28($s2) /* 024694 80049294 8E470030 */ lw $a3, 0x30($s2) -/* 024698 80049298 0C00A720 */ jal func_80029C80 +/* 024698 80049298 0C00A720 */ jal atan2 /* 02469C 8004929C 46000506 */ mov.s $f20, $f0 /* 0246A0 800492A0 3C040005 */ lui $a0, 5 /* 0246A4 800492A4 27A50020 */ addiu $a1, $sp, 0x20 @@ -3964,7 +3964,7 @@ func_800490B4: /* 0246E8 800492E8 0000102D */ daddu $v0, $zero, $zero .L800492EC: -/* 0246EC 800492EC 0C00A67F */ jal func_800299FC +/* 0246EC 800492EC 0C00A67F */ jal rand_int /* 0246F0 800492F0 24440001 */ addiu $a0, $v0, 1 func_800492F4: /* 0246F4 800492F4 14400032 */ bnez $v0, .L800493C0 @@ -4013,12 +4013,12 @@ func_8004933C: /* 024788 80049388 4406C000 */ mfc1 $a2, $f24 /* 02478C 8004938C 44070000 */ mfc1 $a3, $f0 func_80049390: -/* 024790 80049390 0C00A7E7 */ jal func_80029F9C +/* 024790 80049390 0C00A7E7 */ jal add_vec2D_polar /* 024794 80049394 27A50028 */ addiu $a1, $sp, 0x28 /* 024798 80049398 C7AC0020 */ lwc1 $f12, 0x20($sp) /* 02479C 8004939C C7AE0028 */ lwc1 $f14, 0x28($sp) /* 0247A0 800493A0 8E460028 */ lw $a2, 0x28($s2) -/* 0247A4 800493A4 0C00A7B5 */ jal func_80029ED4 +/* 0247A4 800493A4 0C00A7B5 */ jal dist2D /* 0247A8 800493A8 8E470030 */ lw $a3, 0x30($s2) /* 0247AC 800493AC 4616003E */ c.le.s $f0, $f22 /* 0247B0 800493B0 00000000 */ nop @@ -4049,7 +4049,7 @@ func_80049390: /* 024808 80049408 F7B40028 */ sdc1 $f20, 0x28($sp) /* 02480C 8004940C 84840008 */ lh $a0, 8($a0) /* 024810 80049410 4487A000 */ mtc1 $a3, $f20 -/* 024814 80049414 0C00EABB */ jal func_8003AAEC +/* 024814 80049414 0C00EABB */ jal get_npc_unsafe /* 024818 80049418 00A0802D */ daddu $s0, $a1, $zero /* 02481C 8004941C 3C128011 */ lui $s2, 0x8011 /* 024820 80049420 2652EFC8 */ addiu $s2, $s2, -0x1038 @@ -4057,7 +4057,7 @@ func_80049390: /* 024828 80049428 0040882D */ daddu $s1, $v0, $zero /* 02482C 8004942C 12000003 */ beqz $s0, .L8004943C /* 024830 80049430 0000102D */ daddu $v0, $zero, $zero -/* 024834 80049434 0C00A67F */ jal func_800299FC +/* 024834 80049434 0C00A67F */ jal rand_int /* 024838 80049438 26040001 */ addiu $a0, $s0, 1 .L8004943C: /* 02483C 8004943C 14400018 */ bnez $v0, .L800494A0 @@ -4073,12 +4073,12 @@ func_80049390: /* 024864 80049464 44070000 */ mfc1 $a3, $f0 /* 024868 80049468 27A50014 */ addiu $a1, $sp, 0x14 /* 02486C 8004946C E7A60010 */ swc1 $f6, 0x10($sp) -/* 024870 80049470 0C00A7E7 */ jal func_80029F9C +/* 024870 80049470 0C00A7E7 */ jal add_vec2D_polar /* 024874 80049474 E7A40014 */ swc1 $f4, 0x14($sp) /* 024878 80049478 8E460028 */ lw $a2, 0x28($s2) /* 02487C 8004947C 8E470030 */ lw $a3, 0x30($s2) /* 024880 80049480 C7AC0010 */ lwc1 $f12, 0x10($sp) -/* 024884 80049484 0C00A7B5 */ jal func_80029ED4 +/* 024884 80049484 0C00A7B5 */ jal dist2D /* 024888 80049488 C7AE0014 */ lwc1 $f14, 0x14($sp) /* 02488C 8004948C 4616003E */ c.le.s $f0, $f22 /* 024890 80049490 00000000 */ nop @@ -4105,7 +4105,7 @@ func_800494C0: /* 0248D4 800494D4 AFBF0024 */ sw $ra, 0x24($sp) /* 0248D8 800494D8 AFB00018 */ sw $s0, 0x18($sp) /* 0248DC 800494DC 822400A4 */ lb $a0, 0xa4($s1) -/* 0248E0 800494E0 0C00FB3A */ jal func_8003ECE8 +/* 0248E0 800494E0 0C00FB3A */ jal get_enemy /* 0248E4 800494E4 00C0802D */ daddu $s0, $a2, $zero /* 0248E8 800494E8 3C03FFFF */ lui $v1, 0xffff /* 0248EC 800494EC 02031824 */ and $v1, $s0, $v1 @@ -4127,7 +4127,7 @@ func_800494C0: /* 024924 80049524 E7A00010 */ swc1 $f0, 0x10($sp) /* 024928 80049528 8E260038 */ lw $a2, 0x38($s1) /* 02492C 8004952C 8E27003C */ lw $a3, 0x3c($s1) -/* 024930 80049530 0C052757 */ jal func_80149D5C +/* 024930 80049530 0C052757 */ jal play_sound_at_position /* 024934 80049534 0240202D */ daddu $a0, $s2, $zero /* 024938 80049538 8FBF0024 */ lw $ra, 0x24($sp) /* 02493C 8004953C 8FB20020 */ lw $s2, 0x20($sp) @@ -4143,7 +4143,7 @@ func_800494C0: /* 024960 80049560 AFB10014 */ sw $s1, 0x14($sp) /* 024964 80049564 8E020148 */ lw $v0, 0x148($s0) /* 024968 80049568 84440008 */ lh $a0, 8($v0) -/* 02496C 8004956C 0C00EABB */ jal func_8003AAEC +/* 02496C 8004956C 0C00EABB */ jal get_npc_unsafe /* 024970 80049570 00A0882D */ daddu $s1, $a1, $zero /* 024974 80049574 9443008E */ lhu $v1, 0x8e($v0) /* 024978 80049578 2463FFFF */ addiu $v1, $v1, -1 @@ -4168,14 +4168,14 @@ func_800495A0: /* 0249B8 800495B8 AFB00010 */ sw $s0, 0x10($sp) /* 0249BC 800495BC 8E710148 */ lw $s1, 0x148($s3) /* 0249C0 800495C0 86240008 */ lh $a0, 8($s1) -/* 0249C4 800495C4 0C00EABB */ jal func_8003AAEC +/* 0249C4 800495C4 0C00EABB */ jal get_npc_unsafe /* 0249C8 800495C8 00A0902D */ daddu $s2, $a1, $zero /* 0249CC 800495CC 8E440004 */ lw $a0, 4($s2) /* 0249D0 800495D0 0040802D */ daddu $s0, $v0, $zero /* 0249D4 800495D4 00041FC2 */ srl $v1, $a0, 0x1f /* 0249D8 800495D8 00832021 */ addu $a0, $a0, $v1 /* 0249DC 800495DC 00042043 */ sra $a0, $a0, 1 -/* 0249E0 800495E0 0C00A67F */ jal func_800299FC +/* 0249E0 800495E0 0C00A67F */ jal rand_int /* 0249E4 800495E4 24840001 */ addiu $a0, $a0, 1 /* 0249E8 800495E8 8E430004 */ lw $v1, 4($s2) /* 0249EC 800495EC 2404003C */ addiu $a0, $zero, 0x3c @@ -4183,7 +4183,7 @@ func_800495A0: /* 0249F4 800495F4 00651821 */ addu $v1, $v1, $a1 /* 0249F8 800495F8 00031843 */ sra $v1, $v1, 1 /* 0249FC 800495FC 00621821 */ addu $v1, $v1, $v0 -/* 024A00 80049600 0C00A67F */ jal func_800299FC +/* 024A00 80049600 0C00A67F */ jal rand_int /* 024A04 80049604 A603008E */ sh $v1, 0x8e($s0) /* 024A08 80049608 C60C000C */ lwc1 $f12, 0xc($s0) /* 024A0C 8004960C 44820000 */ mtc1 $v0, $f0 @@ -4192,7 +4192,7 @@ func_800495A0: /* 024A18 80049618 46006300 */ add.s $f12, $f12, $f0 /* 024A1C 8004961C 3C0141F0 */ lui $at, 0x41f0 /* 024A20 80049620 44810000 */ mtc1 $at, $f0 -/* 024A24 80049624 0C00A6C9 */ jal func_80029B24 +/* 024A24 80049624 0C00A6C9 */ jal clamp_angle /* 024A28 80049628 46006301 */ sub.s $f12, $f12, $f0 /* 024A2C 8004962C E600000C */ swc1 $f0, 0xc($s0) /* 024A30 80049630 8E2200CC */ lw $v0, 0xcc($s1) @@ -4247,7 +4247,7 @@ func_800496B8: /* 024AE0 800496E0 8E710148 */ lw $s1, 0x148($s3) /* 024AE4 800496E4 00C0902D */ daddu $s2, $a2, $zero /* 024AE8 800496E8 86240008 */ lh $a0, 8($s1) -/* 024AEC 800496EC 0C00EABB */ jal func_8003AAEC +/* 024AEC 800496EC 0C00EABB */ jal get_npc_unsafe /* 024AF0 800496F0 0000A82D */ daddu $s5, $zero, $zero /* 024AF4 800496F4 8E830014 */ lw $v1, 0x14($s4) /* 024AF8 800496F8 0460005D */ bltz $v1, .L80049870 @@ -4275,7 +4275,7 @@ func_800496B8: /* 024B50 80049750 46007106 */ mov.s $f4, $f14 /* 024B54 80049754 E7A00028 */ swc1 $f0, 0x28($sp) /* 024B58 80049758 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 024B5C 8004975C 0C00A720 */ jal func_80029C80 +/* 024B5C 8004975C 0C00A720 */ jal atan2 /* 024B60 80049760 E7A40030 */ swc1 $f4, 0x30($sp) /* 024B64 80049764 C6820018 */ lwc1 $f2, 0x18($s4) /* 024B68 80049768 E7A00038 */ swc1 $f0, 0x38($sp) @@ -4323,7 +4323,7 @@ func_800496B8: /* 024C10 80049810 AFA20020 */ sw $v0, 0x20($sp) /* 024C14 80049814 E7A00010 */ swc1 $f0, 0x10($sp) /* 024C18 80049818 E7A20014 */ swc1 $f2, 0x14($sp) -/* 024C1C 8004981C 0C01BFA4 */ jal func_8006FE90 +/* 024C1C 8004981C 0C01BFA4 */ jal fx_emote /* 024C20 80049820 E7A40018 */ swc1 $f4, 0x18($sp) /* 024C24 80049824 2403FFBF */ addiu $v1, $zero, -0x41 /* 024C28 80049828 8E2200B0 */ lw $v0, 0xb0($s1) @@ -4368,7 +4368,7 @@ func_800496B8: /* 024CAC 800498AC 46800020 */ cvt.s.w $f0, $f0 /* 024CB0 800498B0 E7A00018 */ swc1 $f0, 0x18($sp) /* 024CB4 800498B4 8C640018 */ lw $a0, 0x18($v1) -/* 024CB8 800498B8 0C0123F5 */ jal func_80048FD4 +/* 024CB8 800498B8 0C0123F5 */ jal is_point_within_region /* 024CBC 800498BC 8E070038 */ lw $a3, 0x38($s0) /* 024CC0 800498C0 10400064 */ beqz $v0, .L80049A54 /* 024CC4 800498C4 00000000 */ nop @@ -4378,7 +4378,7 @@ func_800496B8: /* 024CD4 800498D4 C44C0000 */ lwc1 $f12, ($v0) /* 024CD8 800498D8 46806320 */ cvt.s.w $f12, $f12 /* 024CDC 800498DC C44E0008 */ lwc1 $f14, 8($v0) -/* 024CE0 800498E0 0C00A7B5 */ jal func_80029ED4 +/* 024CE0 800498E0 0C00A7B5 */ jal dist2D /* 024CE4 800498E4 468073A0 */ cvt.s.w $f14, $f14 /* 024CE8 800498E8 C6020018 */ lwc1 $f2, 0x18($s0) /* 024CEC 800498EC 4600103C */ c.lt.s $f2, $f0 @@ -4404,9 +4404,9 @@ func_800496B8: /* 024D38 80049938 C4460008 */ lwc1 $f6, 8($v0) /* 024D3C 8004993C 468031A0 */ cvt.s.w $f6, $f6 /* 024D40 80049940 44073000 */ mfc1 $a3, $f6 -/* 024D44 80049944 0C00A720 */ jal func_80029C80 +/* 024D44 80049944 0C00A720 */ jal atan2 /* 024D48 80049948 00000000 */ nop -/* 024D4C 8004994C 0C00A6C9 */ jal func_80029B24 +/* 024D4C 8004994C 0C00A6C9 */ jal clamp_angle /* 024D50 80049950 46000306 */ mov.s $f12, $f0 /* 024D54 80049954 E600000C */ swc1 $f0, 0xc($s0) /* 024D58 80049958 8E2200B0 */ lw $v0, 0xb0($s1) @@ -4453,9 +4453,9 @@ func_800496B8: /* 024DF8 800499F8 C4460008 */ lwc1 $f6, 8($v0) /* 024DFC 800499FC 468031A0 */ cvt.s.w $f6, $f6 /* 024E00 80049A00 44073000 */ mfc1 $a3, $f6 -/* 024E04 80049A04 0C00A720 */ jal func_80029C80 +/* 024E04 80049A04 0C00A720 */ jal atan2 /* 024E08 80049A08 00000000 */ nop -/* 024E0C 80049A0C 0C00A6C9 */ jal func_80029B24 +/* 024E0C 80049A0C 0C00A6C9 */ jal clamp_angle /* 024E10 80049A10 46000306 */ mov.s $f12, $f0 /* 024E14 80049A14 0200202D */ daddu $a0, $s0, $zero /* 024E18 80049A18 27A60038 */ addiu $a2, $sp, 0x38 @@ -4497,7 +4497,7 @@ func_80049A74: /* 024E98 80049A98 00000000 */ nop /* 024E9C 80049A9C 8E050018 */ lw $a1, 0x18($s0) /* 024EA0 80049AA0 8E06000C */ lw $a2, 0xc($s0) -/* 024EA4 80049AA4 0C00EA95 */ jal func_8003AA54 +/* 024EA4 80049AA4 0C00EA95 */ jal npc_move_heading /* 024EA8 80049AA8 0200202D */ daddu $a0, $s0, $zero .L80049AAC: /* 024EAC 80049AAC 8E820004 */ lw $v0, 4($s4) @@ -4510,7 +4510,7 @@ func_80049A74: /* 024EC8 80049AC8 1C400015 */ bgtz $v0, .L80049B20 /* 024ECC 80049ACC 240403E8 */ addiu $a0, $zero, 0x3e8 /* 024ED0 80049AD0 24020002 */ addiu $v0, $zero, 2 -/* 024ED4 80049AD4 0C00A67F */ jal func_800299FC +/* 024ED4 80049AD4 0C00A67F */ jal rand_int /* 024ED8 80049AD8 AE620070 */ sw $v0, 0x70($s3) /* 024EDC 80049ADC 3C035555 */ lui $v1, 0x5555 /* 024EE0 80049AE0 34635556 */ ori $v1, $v1, 0x5556 @@ -4551,14 +4551,14 @@ func_80049B44: /* 024F5C 80049B5C AFB00010 */ sw $s0, 0x10($sp) /* 024F60 80049B60 8E720148 */ lw $s2, 0x148($s3) /* 024F64 80049B64 86440008 */ lh $a0, 8($s2) -/* 024F68 80049B68 0C00EABB */ jal func_8003AAEC +/* 024F68 80049B68 0C00EABB */ jal get_npc_unsafe /* 024F6C 80049B6C 00A0882D */ daddu $s1, $a1, $zero /* 024F70 80049B70 8E240008 */ lw $a0, 8($s1) /* 024F74 80049B74 0040802D */ daddu $s0, $v0, $zero /* 024F78 80049B78 00041FC2 */ srl $v1, $a0, 0x1f /* 024F7C 80049B7C 00832021 */ addu $a0, $a0, $v1 /* 024F80 80049B80 00042043 */ sra $a0, $a0, 1 -/* 024F84 80049B84 0C00A67F */ jal func_800299FC +/* 024F84 80049B84 0C00A67F */ jal rand_int /* 024F88 80049B88 24840001 */ addiu $a0, $a0, 1 /* 024F8C 80049B8C 8E230008 */ lw $v1, 8($s1) /* 024F90 80049B90 240400B4 */ addiu $a0, $zero, 0xb4 @@ -4566,7 +4566,7 @@ func_80049B44: /* 024F98 80049B98 00651821 */ addu $v1, $v1, $a1 /* 024F9C 80049B9C 00031843 */ sra $v1, $v1, 1 /* 024FA0 80049BA0 00621821 */ addu $v1, $v1, $v0 -/* 024FA4 80049BA4 0C00A67F */ jal func_800299FC +/* 024FA4 80049BA4 0C00A67F */ jal rand_int /* 024FA8 80049BA8 A603008E */ sh $v1, 0x8e($s0) /* 024FAC 80049BAC C60C000C */ lwc1 $f12, 0xc($s0) /* 024FB0 80049BB0 44820000 */ mtc1 $v0, $f0 @@ -4575,7 +4575,7 @@ func_80049B44: /* 024FBC 80049BBC 46006300 */ add.s $f12, $f12, $f0 /* 024FC0 80049BC0 3C0142B4 */ lui $at, 0x42b4 /* 024FC4 80049BC4 44810000 */ mtc1 $at, $f0 -/* 024FC8 80049BC8 0C00A6C9 */ jal func_80029B24 +/* 024FC8 80049BC8 0C00A6C9 */ jal clamp_angle /* 024FCC 80049BCC 46006301 */ sub.s $f12, $f12, $f0 /* 024FD0 80049BD0 E600000C */ swc1 $f0, 0xc($s0) /* 024FD4 80049BD4 8E4200CC */ lw $v0, 0xcc($s2) @@ -4604,7 +4604,7 @@ func_80049C04: /* 025028 80049C28 8E920148 */ lw $s2, 0x148($s4) /* 02502C 80049C2C 00A0982D */ daddu $s3, $a1, $zero /* 025030 80049C30 86440008 */ lh $a0, 8($s2) -/* 025034 80049C34 0C00EABB */ jal func_8003AAEC +/* 025034 80049C34 0C00EABB */ jal get_npc_unsafe /* 025038 80049C38 00C0882D */ daddu $s1, $a2, $zero /* 02503C 80049C3C 8E630014 */ lw $v1, 0x14($s3) /* 025040 80049C40 0460004F */ bltz $v1, .L80049D80 @@ -4628,7 +4628,7 @@ func_80049C04: /* 025088 80049C88 46002386 */ mov.s $f14, $f4 /* 02508C 80049C8C E7A00028 */ swc1 $f0, 0x28($sp) /* 025090 80049C90 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 025094 80049C94 0C00A720 */ jal func_80029C80 +/* 025094 80049C94 0C00A720 */ jal atan2 /* 025098 80049C98 E7A40030 */ swc1 $f4, 0x30($sp) /* 02509C 80049C9C C6620018 */ lwc1 $f2, 0x18($s3) /* 0250A0 80049CA0 46000506 */ mov.s $f20, $f0 @@ -4675,7 +4675,7 @@ func_80049C04: /* 025144 80049D44 AFA20020 */ sw $v0, 0x20($sp) /* 025148 80049D48 E7A00010 */ swc1 $f0, 0x10($sp) /* 02514C 80049D4C E7A20014 */ swc1 $f2, 0x14($sp) -/* 025150 80049D50 0C01BFA4 */ jal func_8006FE90 +/* 025150 80049D50 0C01BFA4 */ jal fx_emote /* 025154 80049D54 E7A40018 */ swc1 $f4, 0x18($sp) /* 025158 80049D58 8E420018 */ lw $v0, 0x18($s2) /* 02515C 80049D5C 9442002A */ lhu $v0, 0x2a($v0) @@ -4712,7 +4712,7 @@ func_80049C04: /* 0251C8 80049DC8 C600000C */ lwc1 $f0, 0xc($s0) /* 0251CC 80049DCC 3C014334 */ lui $at, 0x4334 /* 0251D0 80049DD0 44816000 */ mtc1 $at, $f12 -/* 0251D4 80049DD4 0C00A6C9 */ jal func_80029B24 +/* 0251D4 80049DD4 0C00A6C9 */ jal clamp_angle /* 0251D8 80049DD8 460C0300 */ add.s $f12, $f0, $f12 /* 0251DC 80049DDC E600000C */ swc1 $f0, 0xc($s0) .L80049DE0: @@ -4720,7 +4720,7 @@ func_80049C04: /* 0251E4 80049DE4 000417C2 */ srl $v0, $a0, 0x1f /* 0251E8 80049DE8 00822021 */ addu $a0, $a0, $v0 /* 0251EC 80049DEC 00042043 */ sra $a0, $a0, 1 -/* 0251F0 80049DF0 0C00A67F */ jal func_800299FC +/* 0251F0 80049DF0 0C00A67F */ jal rand_int /* 0251F4 80049DF4 24840001 */ addiu $a0, $a0, 1 /* 0251F8 80049DF8 8E630008 */ lw $v1, 8($s3) /* 0251FC 80049DFC 000327C2 */ srl $a0, $v1, 0x1f @@ -4752,7 +4752,7 @@ func_80049E3C: /* 02524C 80049E4C AFB10014 */ sw $s1, 0x14($sp) /* 025250 80049E50 AFB00010 */ sw $s0, 0x10($sp) /* 025254 80049E54 8E510148 */ lw $s1, 0x148($s2) -/* 025258 80049E58 0C00EABB */ jal func_8003AAEC +/* 025258 80049E58 0C00EABB */ jal get_npc_unsafe /* 02525C 80049E5C 86240008 */ lh $a0, 8($s1) /* 025260 80049E60 0040802D */ daddu $s0, $v0, $zero /* 025264 80049E64 0200202D */ daddu $a0, $s0, $zero @@ -4788,7 +4788,7 @@ func_80049ECC: /* 0252D4 80049ED4 0080802D */ daddu $s0, $a0, $zero /* 0252D8 80049ED8 AFBF0014 */ sw $ra, 0x14($sp) /* 0252DC 80049EDC 8E020148 */ lw $v0, 0x148($s0) -/* 0252E0 80049EE0 0C00EABB */ jal func_8003AAEC +/* 0252E0 80049EE0 0C00EABB */ jal get_npc_unsafe /* 0252E4 80049EE4 84440008 */ lh $a0, 8($v0) /* 0252E8 80049EE8 0040202D */ daddu $a0, $v0, $zero /* 0252EC 80049EEC C480001C */ lwc1 $f0, 0x1c($a0) @@ -4844,7 +4844,7 @@ func_80049F7C: /* 02539C 80049F9C F7B40028 */ sdc1 $f20, 0x28($sp) /* 0253A0 80049FA0 8E930148 */ lw $s3, 0x148($s4) /* 0253A4 80049FA4 86640008 */ lh $a0, 8($s3) -/* 0253A8 80049FA8 0C00EABB */ jal func_8003AAEC +/* 0253A8 80049FA8 0C00EABB */ jal get_npc_unsafe /* 0253AC 80049FAC 00A0902D */ daddu $s2, $a1, $zero /* 0253B0 80049FB0 3C04800F */ lui $a0, 0x800f /* 0253B4 80049FB4 8C847B30 */ lw $a0, 0x7b30($a0) @@ -4863,7 +4863,7 @@ func_80049F7C: /* 0253E4 80049FE4 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0253E8 80049FE8 C60E0040 */ lwc1 $f14, 0x40($s0) /* 0253EC 80049FEC 8C860028 */ lw $a2, 0x28($a0) -/* 0253F0 80049FF0 0C00A7B5 */ jal func_80029ED4 +/* 0253F0 80049FF0 0C00A7B5 */ jal dist2D /* 0253F4 80049FF4 8C870030 */ lw $a3, 0x30($a0) /* 0253F8 80049FF8 860200A6 */ lh $v0, 0xa6($s0) /* 0253FC 80049FFC 46000021 */ cvt.d.s $f0, $f0 @@ -4882,11 +4882,11 @@ func_80049F7C: /* 02542C 8004A02C 8C427B30 */ lw $v0, 0x7b30($v0) /* 025430 8004A030 C60E0040 */ lwc1 $f14, 0x40($s0) /* 025434 8004A034 8C460028 */ lw $a2, 0x28($v0) -/* 025438 8004A038 0C00A720 */ jal func_80029C80 +/* 025438 8004A038 0C00A720 */ jal atan2 /* 02543C 8004A03C 8C470030 */ lw $a3, 0x30($v0) /* 025440 8004A040 46000506 */ mov.s $f20, $f0 /* 025444 8004A044 C60C000C */ lwc1 $f12, 0xc($s0) -/* 025448 8004A048 0C00A70A */ jal func_80029C28 +/* 025448 8004A048 0C00A70A */ jal get_clamped_angle_diff /* 02544C 8004A04C 4600A386 */ mov.s $f14, $f20 /* 025450 8004A050 46000086 */ mov.s $f2, $f0 /* 025454 8004A054 8E42001C */ lw $v0, 0x1c($s2) @@ -4914,14 +4914,14 @@ func_80049F7C: /* 0254A4 8004A0A4 4604A500 */ add.s $f20, $f20, $f4 func_8004A0A8: .L8004A0A8: -/* 0254A8 8004A0A8 0C00A6C9 */ jal func_80029B24 +/* 0254A8 8004A0A8 0C00A6C9 */ jal clamp_angle /* 0254AC 8004A0AC 4600A306 */ mov.s $f12, $f20 /* 0254B0 8004A0B0 E600000C */ swc1 $f0, 0xc($s0) /* 0254B4 8004A0B4 8E440020 */ lw $a0, 0x20($s2) /* 0254B8 8004A0B8 000417C2 */ srl $v0, $a0, 0x1f /* 0254BC 8004A0BC 00822021 */ addu $a0, $a0, $v0 /* 0254C0 8004A0C0 00042043 */ sra $a0, $a0, 1 -/* 0254C4 8004A0C4 0C00A67F */ jal func_800299FC +/* 0254C4 8004A0C4 0C00A67F */ jal rand_int /* 0254C8 8004A0C8 24840001 */ addiu $a0, $a0, 1 /* 0254CC 8004A0CC 8E430020 */ lw $v1, 0x20($s2) /* 0254D0 8004A0D0 000327C2 */ srl $a0, $v1, 0x1f @@ -4959,7 +4959,7 @@ func_8004A124: /* 025544 8004A144 8E720148 */ lw $s2, 0x148($s3) /* 025548 8004A148 00A0882D */ daddu $s1, $a1, $zero /* 02554C 8004A14C 86440008 */ lh $a0, 8($s2) -/* 025550 8004A150 0C00EABB */ jal func_8003AAEC +/* 025550 8004A150 0C00EABB */ jal get_npc_unsafe /* 025554 8004A154 00C0802D */ daddu $s0, $a2, $zero /* 025558 8004A158 0200202D */ daddu $a0, $s0, $zero /* 02555C 8004A15C 0240282D */ daddu $a1, $s2, $zero @@ -4990,7 +4990,7 @@ func_8004A124: /* 0255C0 8004A1C0 AFA20020 */ sw $v0, 0x20($sp) /* 0255C4 8004A1C4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0255C8 8004A1C8 E7A20014 */ swc1 $f2, 0x14($sp) -/* 0255CC 8004A1CC 0C01BFA4 */ jal func_8006FE90 +/* 0255CC 8004A1CC 0C01BFA4 */ jal fx_emote /* 0255D0 8004A1D0 E7A40018 */ swc1 $f4, 0x18($sp) /* 0255D4 8004A1D4 8E4200CC */ lw $v0, 0xcc($s2) /* 0255D8 8004A1D8 8C430000 */ lw $v1, ($v0) @@ -5011,7 +5011,7 @@ func_8004A124: /* 02560C 8004A20C C60C0038 */ lwc1 $f12, 0x38($s0) /* 025610 8004A210 C60E0040 */ lwc1 $f14, 0x40($s0) /* 025614 8004A214 8C460028 */ lw $a2, 0x28($v0) -/* 025618 8004A218 0C00A7B5 */ jal func_80029ED4 +/* 025618 8004A218 0C00A7B5 */ jal dist2D /* 02561C 8004A21C 8C470030 */ lw $a3, 0x30($v0) /* 025620 8004A220 C6020018 */ lwc1 $f2, 0x18($s0) /* 025624 8004A224 3C014014 */ lui $at, 0x4014 @@ -5069,7 +5069,7 @@ func_8004A124: /* 0256F4 8004A2F4 E7B40010 */ swc1 $f20, 0x10($sp) /* 0256F8 8004A2F8 AFA20020 */ sw $v0, 0x20($sp) /* 0256FC 8004A2FC E7A00014 */ swc1 $f0, 0x14($sp) -/* 025700 8004A300 0C01BFA4 */ jal func_8006FE90 +/* 025700 8004A300 0C01BFA4 */ jal fx_emote /* 025704 8004A304 E7A20018 */ swc1 $f2, 0x18($sp) /* 025708 8004A308 8E4200CC */ lw $v0, 0xcc($s2) /* 02570C 8004A30C 8C430000 */ lw $v1, ($v0) @@ -5086,7 +5086,7 @@ func_8004A124: /* 02572C 8004A32C 24050001 */ addiu $a1, $zero, 1 /* 025730 8004A330 8E050018 */ lw $a1, 0x18($s0) /* 025734 8004A334 8E06000C */ lw $a2, 0xc($s0) -/* 025738 8004A338 0C00EA95 */ jal func_8003AA54 +/* 025738 8004A338 0C00EA95 */ jal npc_move_heading /* 02573C 8004A33C 0200202D */ daddu $a0, $s0, $zero /* 025740 8004A340 C6000018 */ lwc1 $f0, 0x18($s0) /* 025744 8004A344 3C014020 */ lui $at, 0x4020 @@ -5144,7 +5144,7 @@ func_8004A3E8: /* 0257F8 8004A3F8 AFB10014 */ sw $s1, 0x14($sp) /* 0257FC 8004A3FC AFB00010 */ sw $s0, 0x10($sp) /* 025800 8004A400 8E510148 */ lw $s1, 0x148($s2) -/* 025804 8004A404 0C00EABB */ jal func_8003AAEC +/* 025804 8004A404 0C00EABB */ jal get_npc_unsafe /* 025808 8004A408 86240008 */ lh $a0, 8($s1) /* 02580C 8004A40C 0040802D */ daddu $s0, $v0, $zero /* 025810 8004A410 9602008E */ lhu $v0, 0x8e($s0) @@ -5162,9 +5162,9 @@ func_8004A3E8: /* 025840 8004A440 C4420008 */ lwc1 $f2, 8($v0) /* 025844 8004A444 468010A0 */ cvt.s.w $f2, $f2 /* 025848 8004A448 44071000 */ mfc1 $a3, $f2 -/* 02584C 8004A44C 0C00A720 */ jal func_80029C80 +/* 02584C 8004A44C 0C00A720 */ jal atan2 /* 025850 8004A450 00000000 */ nop -/* 025854 8004A454 0C00A6C9 */ jal func_80029B24 +/* 025854 8004A454 0C00A6C9 */ jal clamp_angle /* 025858 8004A458 46000306 */ mov.s $f12, $f0 /* 02585C 8004A45C E600000C */ swc1 $f0, 0xc($s0) /* 025860 8004A460 AE400070 */ sw $zero, 0x70($s2) @@ -5187,12 +5187,12 @@ func_8004A3E8: /* 02589C 8004A49C AFB00030 */ sw $s0, 0x30($sp) /* 0258A0 8004A4A0 8E510148 */ lw $s1, 0x148($s2) /* 0258A4 8004A4A4 86240008 */ lh $a0, 8($s1) -/* 0258A8 8004A4A8 0C00EABB */ jal func_8003AAEC +/* 0258A8 8004A4A8 0C00EABB */ jal get_npc_unsafe /* 0258AC 8004A4AC 00A0802D */ daddu $s0, $a1, $zero /* 0258B0 8004A4B0 8E43000C */ lw $v1, 0xc($s2) /* 0258B4 8004A4B4 0240202D */ daddu $a0, $s2, $zero /* 0258B8 8004A4B8 8C650000 */ lw $a1, ($v1) -/* 0258BC 8004A4BC 0C0B1EAF */ jal func_802C7ABC +/* 0258BC 8004A4BC 0C0B1EAF */ jal get_variable /* 0258C0 8004A4C0 0040A82D */ daddu $s5, $v0, $zero /* 0258C4 8004A4C4 AFA00010 */ sw $zero, 0x10($sp) /* 0258C8 8004A4C8 8E2300D0 */ lw $v1, 0xd0($s1) @@ -5354,7 +5354,7 @@ func_8004A6C4: /* 025AF8 8004A6F8 0080802D */ daddu $s0, $a0, $zero /* 025AFC 8004A6FC AFBF0014 */ sw $ra, 0x14($sp) /* 025B00 8004A700 8E020148 */ lw $v0, 0x148($s0) -/* 025B04 8004A704 0C00EABB */ jal func_8003AAEC +/* 025B04 8004A704 0C00EABB */ jal get_npc_unsafe /* 025B08 8004A708 84440008 */ lh $a0, 8($v0) /* 025B0C 8004A70C 9443008E */ lhu $v1, 0x8e($v0) /* 025B10 8004A710 2463FFFF */ addiu $v1, $v1, -1 @@ -5377,7 +5377,7 @@ func_8004A73C: /* 025B48 8004A748 AFBF0018 */ sw $ra, 0x18($sp) /* 025B4C 8004A74C AFB00010 */ sw $s0, 0x10($sp) /* 025B50 8004A750 8E300148 */ lw $s0, 0x148($s1) -/* 025B54 8004A754 0C00EABB */ jal func_8003AAEC +/* 025B54 8004A754 0C00EABB */ jal get_npc_unsafe /* 025B58 8004A758 86040008 */ lh $a0, 8($s0) /* 025B5C 8004A75C 820200B4 */ lb $v0, 0xb4($s0) /* 025B60 8004A760 14400003 */ bnez $v0, .L8004A770 @@ -5449,7 +5449,7 @@ func_8004A784: /* 025C5C 8004A85C C60C0038 */ lwc1 $f12, 0x38($s0) /* 025C60 8004A860 C60E0040 */ lwc1 $f14, 0x40($s0) /* 025C64 8004A864 8FA60020 */ lw $a2, 0x20($sp) -/* 025C68 8004A868 0C00A7B5 */ jal func_80029ED4 +/* 025C68 8004A868 0C00A7B5 */ jal dist2D /* 025C6C 8004A86C 8FA70028 */ lw $a3, 0x28($sp) /* 025C70 8004A870 46000586 */ mov.s $f22, $f0 /* 025C74 8004A874 C6020038 */ lwc1 $f2, 0x38($s0) @@ -5460,7 +5460,7 @@ func_8004A784: /* 025C88 8004A888 461ED300 */ add.s $f12, $f26, $f30 /* 025C8C 8004A88C E7A2002C */ swc1 $f2, 0x2c($sp) /* 025C90 8004A890 E7A40030 */ swc1 $f4, 0x30($sp) -/* 025C94 8004A894 0C00A6C9 */ jal func_80029B24 +/* 025C94 8004A894 0C00A6C9 */ jal clamp_angle /* 025C98 8004A898 E7A00034 */ swc1 $f0, 0x34($sp) /* 025C9C 8004A89C C6020018 */ lwc1 $f2, 0x18($s0) /* 025CA0 8004A8A0 461C1082 */ mul.s $f2, $f2, $f28 @@ -5487,7 +5487,7 @@ func_8004A784: /* 025CF4 8004A8F4 C60C0038 */ lwc1 $f12, 0x38($s0) /* 025CF8 8004A8F8 C60E0040 */ lwc1 $f14, 0x40($s0) /* 025CFC 8004A8FC 8FA6002C */ lw $a2, 0x2c($sp) -/* 025D00 8004A900 0C00A7B5 */ jal func_80029ED4 +/* 025D00 8004A900 0C00A7B5 */ jal dist2D /* 025D04 8004A904 8FA70034 */ lw $a3, 0x34($sp) /* 025D08 8004A908 46000506 */ mov.s $f20, $f0 .L8004A90C: @@ -5497,7 +5497,7 @@ func_8004A784: /* 025D18 8004A918 461ED301 */ sub.s $f12, $f26, $f30 /* 025D1C 8004A91C E7A00038 */ swc1 $f0, 0x38($sp) /* 025D20 8004A920 E7A2003C */ swc1 $f2, 0x3c($sp) -/* 025D24 8004A924 0C00A6C9 */ jal func_80029B24 +/* 025D24 8004A924 0C00A6C9 */ jal clamp_angle /* 025D28 8004A928 E7A40040 */ swc1 $f4, 0x40($sp) /* 025D2C 8004A92C C6020018 */ lwc1 $f2, 0x18($s0) /* 025D30 8004A930 461C1082 */ mul.s $f2, $f2, $f28 @@ -5524,7 +5524,7 @@ func_8004A784: /* 025D84 8004A984 C60C0038 */ lwc1 $f12, 0x38($s0) /* 025D88 8004A988 C60E0040 */ lwc1 $f14, 0x40($s0) /* 025D8C 8004A98C 8FA60038 */ lw $a2, 0x38($sp) -/* 025D90 8004A990 0C00A7B5 */ jal func_80029ED4 +/* 025D90 8004A990 0C00A7B5 */ jal dist2D /* 025D94 8004A994 8FA70040 */ lw $a3, 0x40($sp) /* 025D98 8004A998 46000606 */ mov.s $f24, $f0 .L8004A99C: @@ -5603,7 +5603,7 @@ func_8004AA8C: .L8004AA8C: /* 025E8C 8004AA8C 12200004 */ beqz $s1, .L8004AAA0 /* 025E90 8004AA90 00000000 */ nop -/* 025E94 8004AA94 0C00A6C9 */ jal func_80029B24 +/* 025E94 8004AA94 0C00A6C9 */ jal clamp_angle /* 025E98 8004AA98 4600D306 */ mov.s $f12, $f26 /* 025E9C 8004AA9C E6200000 */ swc1 $f0, ($s1) .L8004AAA0: diff --git a/papermario/asm/code_25f00_len_940.s b/papermario/asm/code_25f00_len_940.s index d486695ff2..390ba91202 100644 --- a/papermario/asm/code_25f00_len_940.s +++ b/papermario/asm/code_25f00_len_940.s @@ -64,7 +64,7 @@ /* 025FEC 8004ABEC 24050001 */ addiu $a1, $zero, 1 /* 025FF0 8004ABF0 24064000 */ addiu $a2, $zero, 0x4000 /* 025FF4 8004ABF4 8FA4002C */ lw $a0, 0x2c($sp) -/* 025FF8 8004ABF8 0C015FE4 */ jal func_80057F90 +/* 025FF8 8004ABF8 0C015FE4 */ jal alHeapAlloc /* 025FFC 8004ABFC 02258821 */ addu $s1, $s1, $a1 /* 026000 8004AC00 AE420000 */ sw $v0, ($s2) /* 026004 8004AC04 2E220003 */ sltiu $v0, $s1, 3 @@ -110,7 +110,7 @@ /* 02609C 8004AC9C 3C06800A */ lui $a2, 0x800a /* 0260A0 8004ACA0 8CC63634 */ lw $a2, 0x3634($a2) /* 0260A4 8004ACA4 8FA4002C */ lw $a0, 0x2c($sp) -/* 0260A8 8004ACA8 0C015FE4 */ jal func_80057F90 +/* 0260A8 8004ACA8 0C015FE4 */ jal alHeapAlloc /* 0260AC 8004ACAC 00063080 */ sll $a2, $a2, 2 /* 0260B0 8004ACB0 AE020000 */ sw $v0, ($s0) /* 0260B4 8004ACB4 2E220003 */ sltiu $v0, $s1, 3 @@ -125,13 +125,13 @@ /* 0260D8 8004ACD8 AE000000 */ sw $zero, ($s0) .L8004ACDC: /* 0260DC 8004ACDC 0240202D */ daddu $a0, $s2, $zero -/* 0260E0 8004ACE0 0C012CFB */ jal func_8004B3EC +/* 0260E0 8004ACE0 0C012CFB */ jal alLink /* 0260E4 8004ACE4 0200282D */ daddu $a1, $s0, $zero /* 0260E8 8004ACE8 24050001 */ addiu $a1, $zero, 1 /* 0260EC 8004ACEC 24060500 */ addiu $a2, $zero, 0x500 /* 0260F0 8004ACF0 26520014 */ addiu $s2, $s2, 0x14 /* 0260F4 8004ACF4 8FA4002C */ lw $a0, 0x2c($sp) -/* 0260F8 8004ACF8 0C015FE4 */ jal func_80057F90 +/* 0260F8 8004ACF8 0C015FE4 */ jal alHeapAlloc /* 0260FC 8004ACFC 02258821 */ addu $s1, $s1, $a1 /* 026100 8004AD00 AE020010 */ sw $v0, 0x10($s0) /* 026104 8004AD04 2E220031 */ sltiu $v0, $s1, 0x31 @@ -139,7 +139,7 @@ /* 02610C 8004AD0C 26100014 */ addiu $s0, $s0, 0x14 /* 026110 8004AD10 24050001 */ addiu $a1, $zero, 1 /* 026114 8004AD14 8FA4002C */ lw $a0, 0x2c($sp) -/* 026118 8004AD18 0C015FE4 */ jal func_80057F90 +/* 026118 8004AD18 0C015FE4 */ jal alHeapAlloc /* 02611C 8004AD1C 24060500 */ addiu $a2, $zero, 0x500 /* 026120 8004AD20 3C04800A */ lui $a0, 0x800a /* 026124 8004AD24 24843640 */ addiu $a0, $a0, 0x3640 @@ -277,7 +277,7 @@ func_8004AEA8: /* 026314 8004AF14 000210C0 */ sll $v0, $v0, 3 /* 026318 8004AF18 0C019608 */ jal osSendMesg /* 02631C 8004AF1C AE220044 */ sw $v0, 0x44($s1) -/* 026320 8004AF20 0C012C9A */ jal func_8004B268 +/* 026320 8004AF20 0C012C9A */ jal nuAuCleanDMABuffers /* 026324 8004AF24 26730001 */ addiu $s3, $s3, 1 /* 026328 8004AF28 0000282D */ daddu $a1, $zero, $zero /* 02632C 8004AF2C 8FA40080 */ lw $a0, 0x80($sp) @@ -346,7 +346,7 @@ func_8004AFF8: /* 026400 8004B000 0280202D */ daddu $a0, $s4, $zero /* 026404 8004B004 27A50078 */ addiu $a1, $sp, 0x78 /* 026408 8004B008 0040302D */ daddu $a2, $v0, $zero -/* 02640C 8004B00C 0C015970 */ jal func_800565C0 +/* 02640C 8004B00C 0C015970 */ jal alAudioFrame /* 026410 8004B010 02A0382D */ daddu $a3, $s5, $zero /* 026414 8004B014 3C038008 */ lui $v1, 0x8008 /* 026418 8004B018 8C638174 */ lw $v1, -0x7e8c($v1) @@ -377,6 +377,7 @@ func_8004B064: /* 02646C 8004B06C 08012BA8 */ j func_8004AEA0 /* 026470 8004B070 A2E20000 */ sb $v0, ($s7) +nuAuDmaCallBack: /* 026474 8004B074 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 026478 8004B078 AFB3001C */ sw $s3, 0x1c($sp) /* 02647C 8004B07C 0080982D */ daddu $s3, $a0, $zero @@ -422,11 +423,11 @@ func_8004B064: .L8004B10C: /* 02650C 8004B10C 8E220000 */ lw $v0, ($s1) -/* 026510 8004B110 0C012D03 */ jal func_8004B40C +/* 026510 8004B110 0C012D03 */ jal alUnlink /* 026514 8004B114 AE420008 */ sw $v0, 8($s2) /* 026518 8004B118 12000005 */ beqz $s0, .L8004B130 /* 02651C 8004B11C 0220202D */ daddu $a0, $s1, $zero -/* 026520 8004B120 0C012CFB */ jal func_8004B3EC +/* 026520 8004B120 0C012CFB */ jal alLink /* 026524 8004B124 0200282D */ daddu $a1, $s0, $zero /* 026528 8004B128 08012C61 */ j func_8004B184 /* 02652C 8004B12C 00000000 */ nop @@ -500,6 +501,7 @@ func_8004B208: /* 02661C 8004B21C 03E00008 */ jr $ra /* 026620 8004B220 27BD0028 */ addiu $sp, $sp, 0x28 +nuAuDmaNew: /* 026624 8004B224 3C03800A */ lui $v1, 0x800a /* 026628 8004B228 24633BD0 */ addiu $v1, $v1, 0x3bd0 /* 02662C 8004B22C 90620000 */ lbu $v0, ($v1) @@ -519,7 +521,7 @@ func_8004B208: /* 026660 8004B260 03E00008 */ jr $ra /* 026664 8004B264 AC830000 */ sw $v1, ($a0) -func_8004B268: +nuAuCleanDMABuffers: /* 026668 8004B268 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 02666C 8004B26C 3C02800A */ lui $v0, 0x800a /* 026670 8004B270 24423BD0 */ addiu $v0, $v0, 0x3bd0 @@ -543,12 +545,12 @@ func_8004B268: /* 0266B4 8004B2B4 50500001 */ beql $v0, $s0, .L8004B2BC /* 0266B8 8004B2B8 AE510004 */ sw $s1, 4($s2) .L8004B2BC: -/* 0266BC 8004B2BC 0C012D03 */ jal func_8004B40C +/* 0266BC 8004B2BC 0C012D03 */ jal alUnlink /* 0266C0 8004B2C0 0200202D */ daddu $a0, $s0, $zero /* 0266C4 8004B2C4 8E450008 */ lw $a1, 8($s2) /* 0266C8 8004B2C8 50A00005 */ beql $a1, $zero, .L8004B2E0 /* 0266CC 8004B2CC AE500008 */ sw $s0, 8($s2) -/* 0266D0 8004B2D0 0C012CFB */ jal func_8004B3EC +/* 0266D0 8004B2D0 0C012CFB */ jal alLink /* 0266D4 8004B2D4 0200202D */ daddu $a0, $s0, $zero /* 0266D8 8004B2D8 08012CBB */ j func_8004B2EC /* 0266DC 8004B2DC 0220802D */ daddu $s0, $s1, $zero @@ -631,7 +633,7 @@ func_8004B3DC: /* 0267E4 8004B3E4 03E00008 */ jr $ra /* 0267E8 8004B3E8 27BD0018 */ addiu $sp, $sp, 0x18 -func_8004B3EC: +alLink: /* 0267EC 8004B3EC 8CA20000 */ lw $v0, ($a1) /* 0267F0 8004B3F0 AC850004 */ sw $a1, 4($a0) /* 0267F4 8004B3F4 AC820000 */ sw $v0, ($a0) @@ -642,7 +644,7 @@ func_8004B3EC: /* 026804 8004B404 03E00008 */ jr $ra /* 026808 8004B408 ACA40000 */ sw $a0, ($a1) -func_8004B40C: +alUnlink: /* 02680C 8004B40C 8C830000 */ lw $v1, ($a0) /* 026810 8004B410 10600003 */ beqz $v1, .L8004B420 /* 026814 8004B414 00000000 */ nop diff --git a/papermario/asm/code_28910_len_5090.s b/papermario/asm/code_28910_len_5090.s index e3ea5e8d5f..e8950b5a0c 100644 --- a/papermario/asm/code_28910_len_5090.s +++ b/papermario/asm/code_28910_len_5090.s @@ -654,7 +654,7 @@ func_8004DCB8: /* 0291A8 8004DDA8 00451021 */ addu $v0, $v0, $a1 /* 0291AC 8004DDAC 0100282D */ daddu $a1, $t0, $zero /* 0291B0 8004DDB0 A0430070 */ sb $v1, 0x70($v0) -/* 0291B4 8004DDB4 0C0153DD */ jal func_80054F74 +/* 0291B4 8004DDB4 0C0153DD */ jal al_CopyWords /* 0291B8 8004DDB8 AE000020 */ sw $zero, 0x20($s0) /* 0291BC 8004DDBC 16A00012 */ bnez $s5, .L8004DE08 /* 0291C0 8004DDC0 0260102D */ daddu $v0, $s3, $zero @@ -832,7 +832,7 @@ func_8004DFD4: /* 0293F4 8004DFF4 AFB00010 */ sw $s0, 0x10($sp) /* 0293F8 8004DFF8 8E710074 */ lw $s1, 0x74($s3) /* 0293FC 8004DFFC 8E640078 */ lw $a0, 0x78($s3) -/* 029400 8004E000 0C0153DD */ jal func_80054F74 +/* 029400 8004E000 0C0153DD */ jal al_CopyWords /* 029404 8004E004 0220282D */ daddu $a1, $s1, $zero /* 029408 8004E008 8E63007C */ lw $v1, 0x7c($s3) /* 02940C 8004E00C 8E22001C */ lw $v0, 0x1c($s1) diff --git a/papermario/asm/code_2e230_len_2190.s b/papermario/asm/code_2e230_len_2190.s index c67a79e828..a308d99f61 100644 --- a/papermario/asm/code_2e230_len_2190.s +++ b/papermario/asm/code_2e230_len_2190.s @@ -31,40 +31,40 @@ func_80052E5C: /* 02E290 80052E90 AFB00028 */ sw $s0, 0x28($sp) /* 02E294 80052E94 8C550018 */ lw $s5, 0x18($v0) /* 02E298 80052E98 0000982D */ daddu $s3, $zero, $zero -/* 02E29C 80052E9C 0C015FE4 */ jal func_80057F90 +/* 02E29C 80052E9C 0C015FE4 */ jal alHeapAlloc /* 02E2A0 80052EA0 02A0202D */ daddu $a0, $s5, $zero /* 02E2A4 80052EA4 02A0202D */ daddu $a0, $s5, $zero /* 02E2A8 80052EA8 24050001 */ addiu $a1, $zero, 1 /* 02E2AC 80052EAC 24060A9C */ addiu $a2, $zero, 0xa9c /* 02E2B0 80052EB0 3C12800A */ lui $s2, 0x800a /* 02E2B4 80052EB4 2652A5C0 */ addiu $s2, $s2, -0x5a40 -/* 02E2B8 80052EB8 0C015FE4 */ jal func_80057F90 +/* 02E2B8 80052EB8 0C015FE4 */ jal alHeapAlloc /* 02E2BC 80052EBC AE420000 */ sw $v0, ($s2) /* 02E2C0 80052EC0 02A0202D */ daddu $a0, $s5, $zero /* 02E2C4 80052EC4 24050001 */ addiu $a1, $zero, 1 /* 02E2C8 80052EC8 24060A9C */ addiu $a2, $zero, 0xa9c /* 02E2CC 80052ECC 3C11800A */ lui $s1, 0x800a /* 02E2D0 80052ED0 2631A664 */ addiu $s1, $s1, -0x599c -/* 02E2D4 80052ED4 0C015FE4 */ jal func_80057F90 +/* 02E2D4 80052ED4 0C015FE4 */ jal alHeapAlloc /* 02E2D8 80052ED8 AE220000 */ sw $v0, ($s1) /* 02E2DC 80052EDC 02A0202D */ daddu $a0, $s5, $zero /* 02E2E0 80052EE0 24050001 */ addiu $a1, $zero, 1 /* 02E2E4 80052EE4 3C01800A */ lui $at, 0x800a /* 02E2E8 80052EE8 AC22A5FC */ sw $v0, -0x5a04($at) -/* 02E2EC 80052EEC 0C015FE4 */ jal func_80057F90 +/* 02E2EC 80052EEC 0C015FE4 */ jal alHeapAlloc /* 02E2F0 80052EF0 24060A9C */ addiu $a2, $zero, 0xa9c /* 02E2F4 80052EF4 02A0202D */ daddu $a0, $s5, $zero /* 02E2F8 80052EF8 24050001 */ addiu $a1, $zero, 1 /* 02E2FC 80052EFC 3C01800A */ lui $at, 0x800a /* 02E300 80052F00 AC22A5CC */ sw $v0, -0x5a34($at) -/* 02E304 80052F04 0C015FE4 */ jal func_80057F90 +/* 02E304 80052F04 0C015FE4 */ jal alHeapAlloc /* 02E308 80052F08 240606CC */ addiu $a2, $zero, 0x6cc /* 02E30C 80052F0C 02A0202D */ daddu $a0, $s5, $zero /* 02E310 80052F10 24050001 */ addiu $a1, $zero, 1 /* 02E314 80052F14 24060834 */ addiu $a2, $zero, 0x834 /* 02E318 80052F18 3C10800A */ lui $s0, 0x800a /* 02E31C 80052F1C 2610A640 */ addiu $s0, $s0, -0x59c0 -/* 02E320 80052F20 0C015FE4 */ jal func_80057F90 +/* 02E320 80052F20 0C015FE4 */ jal alHeapAlloc /* 02E324 80052F24 AE020000 */ sw $v0, ($s0) /* 02E328 80052F28 02A0202D */ daddu $a0, $s5, $zero /* 02E32C 80052F2C 24050001 */ addiu $a1, $zero, 1 @@ -76,7 +76,7 @@ func_80052E5C: /* 02E344 80052F44 AC22A628 */ sw $v0, -0x59d8($at) /* 02E348 80052F48 0060A02D */ daddu $s4, $v1, $zero /* 02E34C 80052F4C AD070004 */ sw $a3, 4($t0) -/* 02E350 80052F50 0C015FE4 */ jal func_80057F90 +/* 02E350 80052F50 0C015FE4 */ jal alHeapAlloc /* 02E354 80052F54 AC430000 */ sw $v1, ($v0) /* 02E358 80052F58 0280802D */ daddu $s0, $s4, $zero /* 02E35C 80052F5C 24435000 */ addiu $v1, $v0, 0x5000 @@ -88,7 +88,7 @@ func_80052E5C: .L80052F74: /* 02E374 80052F74 02A0202D */ daddu $a0, $s5, $zero /* 02E378 80052F78 24050001 */ addiu $a1, $zero, 1 -/* 02E37C 80052F7C 0C015FE4 */ jal func_80057F90 +/* 02E37C 80052F7C 0C015FE4 */ jal alHeapAlloc /* 02E380 80052F80 24060A9C */ addiu $a2, $zero, 0xa9c /* 02E384 80052F84 AE02006C */ sw $v0, 0x6c($s0) /* 02E388 80052F88 26730001 */ addiu $s3, $s3, 1 @@ -96,27 +96,27 @@ func_80052E5C: /* 02E390 80052F90 26100008 */ addiu $s0, $s0, 8 /* 02E394 80052F94 02A0202D */ daddu $a0, $s5, $zero /* 02E398 80052F98 24050001 */ addiu $a1, $zero, 1 -/* 02E39C 80052F9C 0C015FE4 */ jal func_80057F90 +/* 02E39C 80052F9C 0C015FE4 */ jal alHeapAlloc /* 02E3A0 80052FA0 24065200 */ addiu $a2, $zero, 0x5200 /* 02E3A4 80052FA4 02A0202D */ daddu $a0, $s5, $zero /* 02E3A8 80052FA8 24050001 */ addiu $a1, $zero, 1 /* 02E3AC 80052FAC 24060030 */ addiu $a2, $zero, 0x30 -/* 02E3B0 80052FB0 0C015FE4 */ jal func_80057F90 +/* 02E3B0 80052FB0 0C015FE4 */ jal alHeapAlloc /* 02E3B4 80052FB4 AE8200A0 */ sw $v0, 0xa0($s4) /* 02E3B8 80052FB8 02A0202D */ daddu $a0, $s5, $zero /* 02E3BC 80052FBC 24050001 */ addiu $a1, $zero, 1 /* 02E3C0 80052FC0 24060360 */ addiu $a2, $zero, 0x360 -/* 02E3C4 80052FC4 0C015FE4 */ jal func_80057F90 +/* 02E3C4 80052FC4 0C015FE4 */ jal alHeapAlloc /* 02E3C8 80052FC8 AE820004 */ sw $v0, 4($s4) /* 02E3CC 80052FCC 02A0202D */ daddu $a0, $s5, $zero /* 02E3D0 80052FD0 24050001 */ addiu $a1, $zero, 1 /* 02E3D4 80052FD4 24060200 */ addiu $a2, $zero, 0x200 -/* 02E3D8 80052FD8 0C015FE4 */ jal func_80057F90 +/* 02E3D8 80052FD8 0C015FE4 */ jal alHeapAlloc /* 02E3DC 80052FDC AE820054 */ sw $v0, 0x54($s4) /* 02E3E0 80052FE0 02A0202D */ daddu $a0, $s5, $zero /* 02E3E4 80052FE4 24050001 */ addiu $a1, $zero, 1 /* 02E3E8 80052FE8 24060040 */ addiu $a2, $zero, 0x40 -/* 02E3EC 80052FEC 0C015FE4 */ jal func_80057F90 +/* 02E3EC 80052FEC 0C015FE4 */ jal alHeapAlloc /* 02E3F0 80052FF0 AE820058 */ sw $v0, 0x58($s4) /* 02E3F4 80052FF4 0000982D */ daddu $s3, $zero, $zero /* 02E3F8 80052FF8 8E840004 */ lw $a0, 4($s4) @@ -179,14 +179,14 @@ func_80052E5C: /* 02E4D0 800530D0 26310048 */ addiu $s1, $s1, 0x48 /* 02E4D4 800530D4 0280202D */ daddu $a0, $s4, $zero /* 02E4D8 800530D8 3C0500F0 */ lui $a1, 0xf0 -/* 02E4DC 800530DC 0C0150AF */ jal func_800542BC +/* 02E4DC 800530DC 0C0150AF */ jal al_LoadINIT /* 02E4E0 800530E0 02A0302D */ daddu $a2, $s5, $zero /* 02E4E4 800530E4 0000982D */ daddu $s3, $zero, $zero /* 02E4E8 800530E8 0280802D */ daddu $s0, $s4, $zero .L800530EC: /* 02E4EC 800530EC 02A0202D */ daddu $a0, $s5, $zero /* 02E4F0 800530F0 24050001 */ addiu $a1, $zero, 1 -/* 02E4F4 800530F4 0C015FE4 */ jal func_80057F90 +/* 02E4F4 800530F4 0C015FE4 */ jal alHeapAlloc /* 02E4F8 800530F8 24060840 */ addiu $a2, $zero, 0x840 /* 02E4FC 800530FC AE021310 */ sw $v0, 0x1310($s0) /* 02E500 80053100 26730001 */ addiu $s3, $s3, 1 @@ -243,12 +243,12 @@ func_80052E5C: /* 02E5CC 800531CC 0C014985 */ jal func_80052614 /* 02E5D0 800531D0 0280202D */ daddu $a0, $s4, $zero /* 02E5D4 800531D4 0280202D */ daddu $a0, $s4, $zero -/* 02E5D8 800531D8 0C0153F0 */ jal func_80054FC0 +/* 02E5D8 800531D8 0C0153F0 */ jal al_LoadBKHeaders /* 02E5DC 800531DC 02A0282D */ daddu $a1, $s5, $zero /* 02E5E0 800531E0 8E82003C */ lw $v0, 0x3c($s4) /* 02E5E4 800531E4 24050020 */ addiu $a1, $zero, 0x20 /* 02E5E8 800531E8 94440000 */ lhu $a0, ($v0) -/* 02E5EC 800531EC 0C01511F */ jal func_8005447C +/* 02E5EC 800531EC 0C01511F */ jal al_CopyFileTableEntry /* 02E5F0 800531F0 27A60018 */ addiu $a2, $sp, 0x18 /* 02E5F4 800531F4 14400007 */ bnez $v0, .L80053214 /* 02E5F8 800531F8 3C0200FF */ lui $v0, 0xff @@ -256,7 +256,7 @@ func_80052E5C: /* 02E600 80053200 8FA40018 */ lw $a0, 0x18($sp) /* 02E604 80053204 8FA6001C */ lw $a2, 0x1c($sp) /* 02E608 80053208 8E8500A0 */ lw $a1, 0xa0($s4) -/* 02E60C 8005320C 0C015380 */ jal func_80054E00 +/* 02E60C 8005320C 0C015380 */ jal al_DmaCopy /* 02E610 80053210 00C23024 */ and $a2, $a2, $v0 .L80053214: /* 02E614 80053214 8E040000 */ lw $a0, ($s0) @@ -265,23 +265,23 @@ func_80052E5C: /* 02E620 80053220 8E82003C */ lw $v0, 0x3c($s4) /* 02E624 80053224 24050040 */ addiu $a1, $zero, 0x40 /* 02E628 80053228 94440002 */ lhu $a0, 2($v0) -/* 02E62C 8005322C 0C01511F */ jal func_8005447C +/* 02E62C 8005322C 0C01511F */ jal al_CopyFileTableEntry /* 02E630 80053230 27A60018 */ addiu $a2, $sp, 0x18 /* 02E634 80053234 14400004 */ bnez $v0, .L80053248 /* 02E638 80053238 00000000 */ nop /* 02E63C 8005323C 8FA50018 */ lw $a1, 0x18($sp) -/* 02E640 80053240 0C01513E */ jal func_800544F8 +/* 02E640 80053240 0C01513E */ jal al_LoadPER /* 02E644 80053244 0280202D */ daddu $a0, $s4, $zero .L80053248: /* 02E648 80053248 8E82003C */ lw $v0, 0x3c($s4) /* 02E64C 8005324C 24050040 */ addiu $a1, $zero, 0x40 /* 02E650 80053250 94440004 */ lhu $a0, 4($v0) -/* 02E654 80053254 0C01511F */ jal func_8005447C +/* 02E654 80053254 0C01511F */ jal al_CopyFileTableEntry /* 02E658 80053258 27A60018 */ addiu $a2, $sp, 0x18 /* 02E65C 8005325C 54400005 */ bnezl $v0, .L80053274 /* 02E660 80053260 0000202D */ daddu $a0, $zero, $zero /* 02E664 80053264 8FA50018 */ lw $a1, 0x18($sp) -/* 02E668 80053268 0C01516D */ jal func_800545B4 +/* 02E668 80053268 0C01516D */ jal al_LoadPRG /* 02E66C 8005326C 0280202D */ daddu $a0, $s4, $zero /* 02E670 80053270 0000202D */ daddu $a0, $zero, $zero .L80053274: @@ -1095,7 +1095,7 @@ func_80053CF8: /* 02F150 80053D50 001610C0 */ sll $v0, $s6, 3 /* 02F154 80053D54 0062A021 */ addu $s4, $v1, $v0 /* 02F158 80053D58 96840000 */ lhu $a0, ($s4) -/* 02F15C 80053D5C 0C01511F */ jal func_8005447C +/* 02F15C 80053D5C 0C01511F */ jal al_CopyFileTableEntry /* 02F160 80053D60 03A53021 */ addu $a2, $sp, $a1 /* 02F164 80053D64 14400030 */ bnez $v0, .L80053E28 /* 02F168 80053D68 00000000 */ nop @@ -1113,7 +1113,7 @@ func_80053CF8: /* 02F198 80053D98 0280882D */ daddu $s1, $s4, $zero /* 02F19C 80053D9C 8FA60014 */ lw $a2, 0x14($sp) /* 02F1A0 80053DA0 8FA40010 */ lw $a0, 0x10($sp) -/* 02F1A4 80053DA4 0C015380 */ jal func_80054E00 +/* 02F1A4 80053DA4 0C015380 */ jal al_DmaCopy /* 02F1A8 80053DA8 00C23024 */ and $a2, $a2, $v0 .L80053DAC: /* 02F1AC 80053DAC 96220002 */ lhu $v0, 2($s1) @@ -1182,7 +1182,7 @@ func_80053E58: /* 02F28C 80053E8C 000420C0 */ sll $a0, $a0, 3 /* 02F290 80053E90 00448821 */ addu $s1, $v0, $a0 /* 02F294 80053E94 96240000 */ lhu $a0, ($s1) -/* 02F298 80053E98 0C01511F */ jal func_8005447C +/* 02F298 80053E98 0C01511F */ jal al_CopyFileTableEntry /* 02F29C 80053E9C 27A60018 */ addiu $a2, $sp, 0x18 /* 02F2A0 80053EA0 0040982D */ daddu $s3, $v0, $zero /* 02F2A4 80053EA4 16600026 */ bnez $s3, .L80053F40 @@ -1196,7 +1196,7 @@ func_80053E58: /* 02F2C4 80053EC4 24150030 */ addiu $s5, $zero, 0x30 /* 02F2C8 80053EC8 8FA6001C */ lw $a2, 0x1c($sp) /* 02F2CC 80053ECC 8FA40018 */ lw $a0, 0x18($sp) -/* 02F2D0 80053ED0 0C015380 */ jal func_80054E00 +/* 02F2D0 80053ED0 0C015380 */ jal al_DmaCopy /* 02F2D4 80053ED4 00C23024 */ and $a2, $a2, $v0 .L80053ED8: /* 02F2D8 80053ED8 96220002 */ lhu $v0, 2($s1) @@ -1277,7 +1277,7 @@ func_80053F80: /* 02F3DC 80053FDC 00021040 */ sll $v0, $v0, 1 /* 02F3E0 80053FE0 00431021 */ addu $v0, $v0, $v1 /* 02F3E4 80053FE4 94440000 */ lhu $a0, ($v0) -/* 02F3E8 80053FE8 0C01511F */ jal func_8005447C +/* 02F3E8 80053FE8 0C01511F */ jal al_CopyFileTableEntry /* 02F3EC 80053FEC 27A60010 */ addiu $a2, $sp, 0x10 /* 02F3F0 80053FF0 1440008B */ bnez $v0, .L80054220 /* 02F3F4 80053FF4 3C0200FF */ lui $v0, 0xff @@ -1285,7 +1285,7 @@ func_80053F80: /* 02F3FC 80053FFC 8FA40010 */ lw $a0, 0x10($sp) /* 02F400 80054000 8FA60014 */ lw $a2, 0x14($sp) /* 02F404 80054004 8E650064 */ lw $a1, 0x64($s3) -/* 02F408 80054008 0C015380 */ jal func_80054E00 +/* 02F408 80054008 0C015380 */ jal al_DmaCopy /* 02F40C 8005400C 00C23024 */ and $a2, $a2, $v0 /* 02F410 80054010 24030001 */ addiu $v1, $zero, 1 /* 02F414 80054014 8E620064 */ lw $v0, 0x64($s3) @@ -1333,7 +1333,7 @@ func_80053F80: /* 02F4AC 800540AC 00021040 */ sll $v0, $v0, 1 /* 02F4B0 800540B0 00431021 */ addu $v0, $v0, $v1 /* 02F4B4 800540B4 94440000 */ lhu $a0, ($v0) -/* 02F4B8 800540B8 0C01511F */ jal func_8005447C +/* 02F4B8 800540B8 0C01511F */ jal al_CopyFileTableEntry /* 02F4BC 800540BC 27A60010 */ addiu $a2, $sp, 0x10 /* 02F4C0 800540C0 14400057 */ bnez $v0, .L80054220 /* 02F4C4 800540C4 3C1100FF */ lui $s1, 0xff @@ -1341,7 +1341,7 @@ func_80053F80: /* 02F4CC 800540CC 0200282D */ daddu $a1, $s0, $zero /* 02F4D0 800540D0 8FA60014 */ lw $a2, 0x14($sp) /* 02F4D4 800540D4 8FA40010 */ lw $a0, 0x10($sp) -/* 02F4D8 800540D8 0C015380 */ jal func_80054E00 +/* 02F4D8 800540D8 0C015380 */ jal al_DmaCopy /* 02F4DC 800540DC 00D13024 */ and $a2, $a2, $s1 /* 02F4E0 800540E0 24050040 */ addiu $a1, $zero, 0x40 /* 02F4E4 800540E4 27A60010 */ addiu $a2, $sp, 0x10 @@ -1355,14 +1355,14 @@ func_80053F80: /* 02F504 80054104 94640000 */ lhu $a0, ($v1) /* 02F508 80054108 00451021 */ addu $v0, $v0, $a1 /* 02F50C 8005410C 00511024 */ and $v0, $v0, $s1 -/* 02F510 80054110 0C01511F */ jal func_8005447C +/* 02F510 80054110 0C01511F */ jal al_CopyFileTableEntry /* 02F514 80054114 02028021 */ addu $s0, $s0, $v0 /* 02F518 80054118 14400041 */ bnez $v0, .L80054220 /* 02F51C 8005411C 00000000 */ nop /* 02F520 80054120 0200282D */ daddu $a1, $s0, $zero /* 02F524 80054124 8FA60014 */ lw $a2, 0x14($sp) /* 02F528 80054128 8FA40010 */ lw $a0, 0x10($sp) -/* 02F52C 8005412C 0C015380 */ jal func_80054E00 +/* 02F52C 8005412C 0C015380 */ jal al_DmaCopy /* 02F530 80054130 00D13024 */ and $a2, $a2, $s1 /* 02F534 80054134 24050040 */ addiu $a1, $zero, 0x40 /* 02F538 80054138 27A60010 */ addiu $a2, $sp, 0x10 @@ -1376,14 +1376,14 @@ func_80053F80: /* 02F558 80054158 94640000 */ lhu $a0, ($v1) /* 02F55C 8005415C 00451021 */ addu $v0, $v0, $a1 /* 02F560 80054160 00511024 */ and $v0, $v0, $s1 -/* 02F564 80054164 0C01511F */ jal func_8005447C +/* 02F564 80054164 0C01511F */ jal al_CopyFileTableEntry /* 02F568 80054168 02028021 */ addu $s0, $s0, $v0 /* 02F56C 8005416C 1440002C */ bnez $v0, .L80054220 /* 02F570 80054170 00000000 */ nop /* 02F574 80054174 0200282D */ daddu $a1, $s0, $zero /* 02F578 80054178 8FA60014 */ lw $a2, 0x14($sp) /* 02F57C 8005417C 8FA40010 */ lw $a0, 0x10($sp) -/* 02F580 80054180 0C015380 */ jal func_80054E00 +/* 02F580 80054180 0C015380 */ jal al_DmaCopy /* 02F584 80054184 00D13024 */ and $a2, $a2, $s1 /* 02F588 80054188 24050040 */ addiu $a1, $zero, 0x40 /* 02F58C 8005418C 27A60010 */ addiu $a2, $sp, 0x10 @@ -1397,14 +1397,14 @@ func_80053F80: /* 02F5AC 800541AC 94640000 */ lhu $a0, ($v1) /* 02F5B0 800541B0 00451021 */ addu $v0, $v0, $a1 /* 02F5B4 800541B4 00511024 */ and $v0, $v0, $s1 -/* 02F5B8 800541B8 0C01511F */ jal func_8005447C +/* 02F5B8 800541B8 0C01511F */ jal al_CopyFileTableEntry /* 02F5BC 800541BC 02028021 */ addu $s0, $s0, $v0 /* 02F5C0 800541C0 14400017 */ bnez $v0, .L80054220 /* 02F5C4 800541C4 00000000 */ nop /* 02F5C8 800541C8 0200282D */ daddu $a1, $s0, $zero /* 02F5CC 800541CC 8FA60014 */ lw $a2, 0x14($sp) /* 02F5D0 800541D0 8FA40010 */ lw $a0, 0x10($sp) -/* 02F5D4 800541D4 0C015380 */ jal func_80054E00 +/* 02F5D4 800541D4 0C015380 */ jal al_DmaCopy /* 02F5D8 800541D8 00D13024 */ and $a2, $a2, $s1 /* 02F5DC 800541DC 24050030 */ addiu $a1, $zero, 0x30 /* 02F5E0 800541E0 24020004 */ addiu $v0, $zero, 4 @@ -1416,7 +1416,7 @@ func_80053F80: /* 02F5F8 800541F8 00021040 */ sll $v0, $v0, 1 /* 02F5FC 800541FC 00431021 */ addu $v0, $v0, $v1 /* 02F600 80054200 94440000 */ lhu $a0, ($v0) -/* 02F604 80054204 0C01511F */ jal func_8005447C +/* 02F604 80054204 0C01511F */ jal al_CopyFileTableEntry /* 02F608 80054208 27A60010 */ addiu $a2, $sp, 0x10 /* 02F60C 8005420C 14400004 */ bnez $v0, .L80054220 /* 02F610 80054210 00000000 */ nop @@ -1477,7 +1477,7 @@ func_800542B4: /* 02F6B4 800542B4 03E00008 */ jr $ra /* 02F6B8 800542B8 00000000 */ nop -func_800542BC: +al_LoadINIT: /* 02F6BC 800542BC 27BDFF70 */ addiu $sp, $sp, -0x90 /* 02F6C0 800542C0 AFB3007C */ sw $s3, 0x7c($sp) /* 02F6C4 800542C4 0080982D */ daddu $s3, $a0, $zero @@ -1492,7 +1492,7 @@ func_800542BC: /* 02F6E8 800542E8 2675001C */ addiu $s5, $s3, 0x1c /* 02F6EC 800542EC AFBF0088 */ sw $ra, 0x88($sp) /* 02F6F0 800542F0 AFB20078 */ sw $s2, 0x78($sp) -/* 02F6F4 800542F4 0C015380 */ jal func_80054E00 +/* 02F6F4 800542F4 0C015380 */ jal al_DmaCopy /* 02F6F8 800542F8 AFB00070 */ sw $s0, 0x70($sp) /* 02F6FC 800542FC 0280202D */ daddu $a0, $s4, $zero /* 02F700 80054300 8FB00024 */ lw $s0, 0x24($sp) @@ -1501,14 +1501,14 @@ func_800542BC: /* 02F70C 8005430C 8FA20024 */ lw $v0, 0x24($sp) /* 02F710 80054310 001080C0 */ sll $s0, $s0, 3 /* 02F714 80054314 0200302D */ daddu $a2, $s0, $zero -/* 02F718 80054318 0C015FE4 */ jal func_80057F90 +/* 02F718 80054318 0C015FE4 */ jal alHeapAlloc /* 02F71C 8005431C AE620024 */ sw $v0, 0x24($s3) /* 02F720 80054320 0040282D */ daddu $a1, $v0, $zero /* 02F724 80054324 8E62001C */ lw $v0, 0x1c($s3) /* 02F728 80054328 AE650020 */ sw $a1, 0x20($s3) /* 02F72C 8005432C 8FA40020 */ lw $a0, 0x20($sp) /* 02F730 80054330 0200302D */ daddu $a2, $s0, $zero -/* 02F734 80054334 0C015380 */ jal func_80054E00 +/* 02F734 80054334 0C015380 */ jal al_DmaCopy /* 02F738 80054338 00442021 */ addu $a0, $v0, $a0 /* 02F73C 8005433C 8FA20024 */ lw $v0, 0x24($sp) /* 02F740 80054340 8E650020 */ lw $a1, 0x20($s3) @@ -1542,7 +1542,7 @@ func_800542BC: /* 02F7A8 800543A8 8EB10000 */ lw $s1, ($s5) /* 02F7AC 800543AC 24060020 */ addiu $a2, $zero, 0x20 /* 02F7B0 800543B0 02228821 */ addu $s1, $s1, $v0 -/* 02F7B4 800543B4 0C015380 */ jal func_80054E00 +/* 02F7B4 800543B4 0C015380 */ jal al_DmaCopy /* 02F7B8 800543B8 0220202D */ daddu $a0, $s1, $zero /* 02F7BC 800543BC 0280202D */ daddu $a0, $s4, $zero /* 02F7C0 800543C0 24050001 */ addiu $a1, $zero, 1 @@ -1551,12 +1551,12 @@ func_800542BC: /* 02F7CC 800543CC 2442000F */ addiu $v0, $v0, 0xf /* 02F7D0 800543D0 3052FFF0 */ andi $s2, $v0, 0xfff0 /* 02F7D4 800543D4 0240302D */ daddu $a2, $s2, $zero -/* 02F7D8 800543D8 0C015FE4 */ jal func_80057F90 +/* 02F7D8 800543D8 0C015FE4 */ jal alHeapAlloc /* 02F7DC 800543DC 02308021 */ addu $s0, $s1, $s0 /* 02F7E0 800543E0 0200202D */ daddu $a0, $s0, $zero /* 02F7E4 800543E4 0040282D */ daddu $a1, $v0, $zero /* 02F7E8 800543E8 0240302D */ daddu $a2, $s2, $zero -/* 02F7EC 800543EC 0C015380 */ jal func_80054E00 +/* 02F7EC 800543EC 0C015380 */ jal al_DmaCopy /* 02F7F0 800543F0 AE65002C */ sw $a1, 0x2c($s3) /* 02F7F4 800543F4 0280202D */ daddu $a0, $s4, $zero /* 02F7F8 800543F8 24050001 */ addiu $a1, $zero, 1 @@ -1565,12 +1565,12 @@ func_800542BC: /* 02F804 80054404 2442000F */ addiu $v0, $v0, 0xf /* 02F808 80054408 3052FFF0 */ andi $s2, $v0, 0xfff0 /* 02F80C 8005440C 0240302D */ daddu $a2, $s2, $zero -/* 02F810 80054410 0C015FE4 */ jal func_80057F90 +/* 02F810 80054410 0C015FE4 */ jal alHeapAlloc /* 02F814 80054414 02308021 */ addu $s0, $s1, $s0 /* 02F818 80054418 0200202D */ daddu $a0, $s0, $zero /* 02F81C 8005441C 0040282D */ daddu $a1, $v0, $zero /* 02F820 80054420 0240302D */ daddu $a2, $s2, $zero -/* 02F824 80054424 0C015380 */ jal func_80054E00 +/* 02F824 80054424 0C015380 */ jal al_DmaCopy /* 02F828 80054428 AE65003C */ sw $a1, 0x3c($s3) /* 02F82C 8005442C 97A20058 */ lhu $v0, 0x58($sp) /* 02F830 80054430 02228821 */ addu $s1, $s1, $v0 @@ -1594,7 +1594,7 @@ func_800542BC: /* 02F874 80054474 03E00008 */ jr $ra /* 02F878 80054478 27BD0090 */ addiu $sp, $sp, 0x90 -func_8005447C: +al_CopyFileTableEntry: /* 02F87C 8005447C 27BDFFF8 */ addiu $sp, $sp, -8 /* 02F880 80054480 3C07800A */ lui $a3, 0x800a /* 02F884 80054484 8CE7A5C0 */ lw $a3, -0x5a40($a3) @@ -1631,7 +1631,7 @@ func_800544EC: /* 02F8F0 800544F0 03E00008 */ jr $ra /* 02F8F4 800544F4 27BD0008 */ addiu $sp, $sp, 8 -func_800544F8: +al_LoadPER: /* 02F8F8 800544F8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 02F8FC 800544FC AFB20028 */ sw $s2, 0x28($sp) /* 02F900 80054500 0080902D */ daddu $s2, $a0, $zero @@ -1641,13 +1641,13 @@ func_800544F8: /* 02F910 80054510 27A50010 */ addiu $a1, $sp, 0x10 /* 02F914 80054514 24060010 */ addiu $a2, $zero, 0x10 /* 02F918 80054518 AFBF002C */ sw $ra, 0x2c($sp) -/* 02F91C 8005451C 0C015380 */ jal func_80054E00 +/* 02F91C 8005451C 0C015380 */ jal al_DmaCopy /* 02F920 80054520 AFB10024 */ sw $s1, 0x24($sp) /* 02F924 80054524 26040010 */ addiu $a0, $s0, 0x10 /* 02F928 80054528 8FB00014 */ lw $s0, 0x14($sp) /* 02F92C 8005452C 8E450054 */ lw $a1, 0x54($s2) /* 02F930 80054530 2610FFF0 */ addiu $s0, $s0, -0x10 -/* 02F934 80054534 0C015380 */ jal func_80054E00 +/* 02F934 80054534 0C015380 */ jal al_DmaCopy /* 02F938 80054538 0200302D */ daddu $a2, $s0, $zero /* 02F93C 8005453C 3C0238E3 */ lui $v0, 0x38e3 /* 02F940 80054540 34428E39 */ ori $v0, $v0, 0x8e39 @@ -1664,14 +1664,14 @@ func_800544F8: /* 02F96C 8005456C 8E500054 */ lw $s0, 0x54($s2) /* 02F970 80054570 00021100 */ sll $v0, $v0, 4 /* 02F974 80054574 02028021 */ addu $s0, $s0, $v0 -/* 02F978 80054578 0C0153DD */ jal func_80054F74 +/* 02F978 80054578 0C0153DD */ jal al_CopyWords /* 02F97C 8005457C 0200282D */ daddu $a1, $s0, $zero /* 02F980 80054580 0200202D */ daddu $a0, $s0, $zero /* 02F984 80054584 2485000C */ addiu $a1, $a0, 0xc /* 02F988 80054588 001130C0 */ sll $a2, $s1, 3 /* 02F98C 8005458C 00D13021 */ addu $a2, $a2, $s1 /* 02F990 80054590 00063100 */ sll $a2, $a2, 4 -/* 02F994 80054594 0C0153DD */ jal func_80054F74 +/* 02F994 80054594 0C0153DD */ jal al_CopyWords /* 02F998 80054598 24C6FFF4 */ addiu $a2, $a2, -0xc .L8005459C: /* 02F99C 8005459C 8FBF002C */ lw $ra, 0x2c($sp) @@ -1681,7 +1681,7 @@ func_800544F8: /* 02F9AC 800545AC 03E00008 */ jr $ra /* 02F9B0 800545B0 27BD0030 */ addiu $sp, $sp, 0x30 -func_800545B4: +al_LoadPRG: /* 02F9B4 800545B4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 02F9B8 800545B8 AFB20028 */ sw $s2, 0x28($sp) /* 02F9BC 800545BC 0080902D */ daddu $s2, $a0, $zero @@ -1691,7 +1691,7 @@ func_800545B4: /* 02F9CC 800545CC 27A50010 */ addiu $a1, $sp, 0x10 /* 02F9D0 800545D0 24060010 */ addiu $a2, $zero, 0x10 /* 02F9D4 800545D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 02F9D8 800545D8 0C015380 */ jal func_80054E00 +/* 02F9D8 800545D8 0C015380 */ jal al_DmaCopy /* 02F9DC 800545DC AFB10024 */ sw $s1, 0x24($sp) /* 02F9E0 800545E0 8FA20014 */ lw $v0, 0x14($sp) /* 02F9E4 800545E4 2451FFF0 */ addiu $s1, $v0, -0x10 @@ -1701,7 +1701,7 @@ func_800545B4: /* 02F9F4 800545F4 24110200 */ addiu $s1, $zero, 0x200 .L800545F8: /* 02F9F8 800545F8 8E450058 */ lw $a1, 0x58($s2) -/* 02F9FC 800545FC 0C015380 */ jal func_80054E00 +/* 02F9FC 800545FC 0C015380 */ jal al_DmaCopy /* 02FA00 80054600 0220302D */ daddu $a2, $s1, $zero /* 02FA04 80054604 001118C2 */ srl $v1, $s1, 3 /* 02FA08 80054608 24020040 */ addiu $v0, $zero, 0x40 @@ -1712,12 +1712,12 @@ func_800545B4: /* 02FA1C 8005461C 8E500058 */ lw $s0, 0x58($s2) /* 02FA20 80054620 000310C0 */ sll $v0, $v1, 3 /* 02FA24 80054624 02028021 */ addu $s0, $s0, $v0 -/* 02FA28 80054628 0C0153DD */ jal func_80054F74 +/* 02FA28 80054628 0C0153DD */ jal al_CopyWords /* 02FA2C 8005462C 0200282D */ daddu $a1, $s0, $zero /* 02FA30 80054630 0200202D */ daddu $a0, $s0, $zero /* 02FA34 80054634 24850008 */ addiu $a1, $a0, 8 /* 02FA38 80054638 001130C0 */ sll $a2, $s1, 3 -/* 02FA3C 8005463C 0C0153DD */ jal func_80054F74 +/* 02FA3C 8005463C 0C0153DD */ jal al_CopyWords /* 02FA40 80054640 24C6FFF8 */ addiu $a2, $a2, -8 .L80054644: /* 02FA44 80054644 8FBF002C */ lw $ra, 0x2c($sp) @@ -1835,7 +1835,7 @@ func_800547BC: /* 02FBC0 800547C0 03E00008 */ jr $ra /* 02FBC4 800547C4 0060102D */ daddu $v0, $v1, $zero -func_800547C8: +al_LoadBank: /* 02FBC8 800547C8 27BDFF80 */ addiu $sp, $sp, -0x80 /* 02FBCC 800547CC AFB5006C */ sw $s5, 0x6c($sp) /* 02FBD0 800547D0 0080A82D */ daddu $s5, $a0, $zero @@ -1858,7 +1858,7 @@ func_800547C8: /* 02FC14 80054814 AFB60070 */ sw $s6, 0x70($sp) /* 02FC18 80054818 AFB00058 */ sw $s0, 0x58($sp) /* 02FC1C 8005481C 8C560018 */ lw $s6, 0x18($v0) -/* 02FC20 80054820 0C015380 */ jal func_80054E00 +/* 02FC20 80054820 0C015380 */ jal al_DmaCopy /* 02FC24 80054824 24120001 */ addiu $s2, $zero, 1 /* 02FC28 80054828 3263FFFF */ andi $v1, $s3, 0xffff .L8005482C: @@ -1930,13 +1930,13 @@ func_800547C8: /* 02FD08 80054908 24900040 */ addiu $s0, $a0, 0x40 /* 02FD0C 8005490C 02C0202D */ daddu $a0, $s6, $zero /* 02FD10 80054910 24050001 */ addiu $a1, $zero, 1 -/* 02FD14 80054914 0C015FE4 */ jal func_80057F90 +/* 02FD14 80054914 0C015FE4 */ jal alHeapAlloc /* 02FD18 80054918 0200302D */ daddu $a2, $s0, $zero /* 02FD1C 8005491C 0040A02D */ daddu $s4, $v0, $zero .L80054920: /* 02FD20 80054920 02A0202D */ daddu $a0, $s5, $zero /* 02FD24 80054924 0280282D */ daddu $a1, $s4, $zero -/* 02FD28 80054928 0C015380 */ jal func_80054E00 +/* 02FD28 80054928 0C015380 */ jal al_DmaCopy /* 02FD2C 8005492C 0200302D */ daddu $a2, $s0, $zero /* 02FD30 80054930 03C0202D */ daddu $a0, $fp, $zero /* 02FD34 80054934 0C0151D1 */ jal func_80054744 @@ -2090,7 +2090,7 @@ func_800549F8: .L80054B28: /* 02FF28 80054B28 27A50018 */ addiu $a1, $sp, 0x18 /* 02FF2C 80054B2C 8EC40000 */ lw $a0, ($s6) -/* 02FF30 80054B30 0C015380 */ jal func_80054E00 +/* 02FF30 80054B30 0C015380 */ jal al_DmaCopy /* 02FF34 80054B34 24060040 */ addiu $a2, $zero, 0x40 /* 02FF38 80054B38 96830000 */ lhu $v1, ($s4) /* 02FF3C 80054B3C 2402424B */ addiu $v0, $zero, 0x424b @@ -2109,13 +2109,13 @@ func_800549F8: /* 02FF68 80054B68 16600005 */ bnez $s3, .L80054B80 /* 02FF6C 80054B6C 02E0202D */ daddu $a0, $s7, $zero /* 02FF70 80054B70 8E860004 */ lw $a2, 4($s4) -/* 02FF74 80054B74 0C015FE4 */ jal func_80057F90 +/* 02FF74 80054B74 0C015FE4 */ jal alHeapAlloc /* 02FF78 80054B78 24050001 */ addiu $a1, $zero, 1 /* 02FF7C 80054B7C 0040982D */ daddu $s3, $v0, $zero .L80054B80: /* 02FF80 80054B80 8EC40000 */ lw $a0, ($s6) /* 02FF84 80054B84 8E860004 */ lw $a2, 4($s4) -/* 02FF88 80054B88 0C015380 */ jal func_80054E00 +/* 02FF88 80054B88 0C015380 */ jal al_DmaCopy /* 02FF8C 80054B8C 0260282D */ daddu $a1, $s3, $zero /* 02FF90 80054B90 8FA4008C */ lw $a0, 0x8c($sp) /* 02FF94 80054B94 8FA50088 */ lw $a1, 0x88($sp) @@ -2184,7 +2184,7 @@ func_80054C4C: /* 030060 80054C60 AFBF0010 */ sw $ra, 0x10($sp) /* 030064 80054C64 00621821 */ addu $v1, $v1, $v0 /* 030068 80054C68 8C651310 */ lw $a1, 0x1310($v1) -/* 03006C 80054C6C 0C0151F2 */ jal func_800547C8 +/* 03006C 80054C6C 0C0151F2 */ jal al_LoadBank /* 030070 80054C70 24070001 */ addiu $a3, $zero, 1 /* 030074 80054C74 8FBF0010 */ lw $ra, 0x10($sp) /* 030078 80054C78 0000102D */ daddu $v0, $zero, $zero @@ -2303,7 +2303,7 @@ func_80054DA8: /* 0301F8 80054DF8 03E00008 */ jr $ra /* 0301FC 80054DFC 00000000 */ nop -func_80054E00: +al_DmaCopy: /* 030200 80054E00 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 030204 80054E04 AFB3001C */ sw $s3, 0x1c($sp) /* 030208 80054E08 0080982D */ daddu $s3, $a0, $zero @@ -2418,7 +2418,7 @@ func_80054F14: /* 03036C 80054F6C 03E00008 */ jr $ra /* 030370 80054F70 00000000 */ nop -func_80054F74: +al_CopyWords: /* 030374 80054F74 04C10002 */ bgez $a2, .L80054F80 /* 030378 80054F78 00C0102D */ daddu $v0, $a2, $zero /* 03037C 80054F7C 24C20003 */ addiu $v0, $a2, 3 diff --git a/papermario/asm/code_303c0_len_3e10.s b/papermario/asm/code_303c0_len_3e10.s index 5f92099803..28868486ab 100644 --- a/papermario/asm/code_303c0_len_3e10.s +++ b/papermario/asm/code_303c0_len_3e10.s @@ -1,7 +1,7 @@ .section .text80054FC0, "ax" -func_80054FC0: +al_LoadBKHeaders: /* 0303C0 80054FC0 27BDFE98 */ addiu $sp, $sp, -0x168 /* 0303C4 80054FC4 0080102D */ daddu $v0, $a0, $zero /* 0303C8 80054FC8 27A50018 */ addiu $a1, $sp, 0x18 @@ -13,7 +13,7 @@ func_80054FC0: /* 0303E0 80054FE0 AFB00158 */ sw $s0, 0x158($sp) /* 0303E4 80054FE4 8C440034 */ lw $a0, 0x34($v0) /* 0303E8 80054FE8 8C460038 */ lw $a2, 0x38($v0) -/* 0303EC 80054FEC 0C015380 */ jal func_80054E00 +/* 0303EC 80054FEC 0C015380 */ jal al_DmaCopy /* 0303F0 80054FF0 00A0802D */ daddu $s0, $a1, $zero .L80054FF4: /* 0303F4 80054FF4 96020000 */ lhu $v0, ($s0) @@ -21,13 +21,13 @@ func_80054FC0: /* 0303FC 80054FFC 24050030 */ addiu $a1, $zero, 0x30 /* 030400 80055000 27A60010 */ addiu $a2, $sp, 0x10 /* 030404 80055004 0040202D */ daddu $a0, $v0, $zero -/* 030408 80055008 0C01511F */ jal func_8005447C +/* 030408 80055008 0C01511F */ jal al_CopyFileTableEntry /* 03040C 8005500C 26310001 */ addiu $s1, $s1, 1 /* 030410 80055010 0000282D */ daddu $a1, $zero, $zero /* 030414 80055014 8FA40010 */ lw $a0, 0x10($sp) /* 030418 80055018 92060002 */ lbu $a2, 2($s0) /* 03041C 8005501C 92070003 */ lbu $a3, 3($s0) -/* 030420 80055020 0C0151F2 */ jal func_800547C8 +/* 030420 80055020 0C0151F2 */ jal al_LoadBank /* 030424 80055024 26100004 */ addiu $s0, $s0, 4 /* 030428 80055028 2A220050 */ slti $v0, $s1, 0x50 /* 03042C 8005502C 1440FFF1 */ bnez $v0, .L80054FF4 @@ -1428,7 +1428,7 @@ func_80056250: /* 0316E4 800562E4 24020001 */ addiu $v0, $zero, 1 /* 0316E8 800562E8 3C018008 */ lui $at, 0x8008 /* 0316EC 800562EC A0228E5C */ sb $v0, -0x71a4($at) -/* 0316F0 800562F0 0C015FE4 */ jal func_80057F90 +/* 0316F0 800562F0 0C015FE4 */ jal alHeapAlloc /* 0316F4 800562F4 2406007C */ addiu $a2, $zero, 0x7c /* 0316F8 800562F8 8E030000 */ lw $v1, ($s0) /* 0316FC 800562FC AC62001C */ sw $v0, 0x1c($v1) @@ -1444,12 +1444,12 @@ func_80056250: /* 031720 80056320 24050001 */ addiu $a1, $zero, 1 /* 031724 80056324 8C50001C */ lw $s0, 0x1c($v0) /* 031728 80056328 24060020 */ addiu $a2, $zero, 0x20 -/* 03172C 8005632C 0C015FE4 */ jal func_80057F90 +/* 03172C 8005632C 0C015FE4 */ jal alHeapAlloc /* 031730 80056330 02148021 */ addu $s0, $s0, $s4 /* 031734 80056334 0260202D */ daddu $a0, $s3, $zero /* 031738 80056338 24050001 */ addiu $a1, $zero, 1 /* 03173C 8005633C 24060020 */ addiu $a2, $zero, 0x20 -/* 031740 80056340 0C015FE4 */ jal func_80057F90 +/* 031740 80056340 0C015FE4 */ jal alHeapAlloc /* 031744 80056344 AE020004 */ sw $v0, 4($s0) /* 031748 80056348 8EC30000 */ lw $v1, ($s6) /* 03174C 8005634C 26040024 */ addiu $a0, $s0, 0x24 @@ -1463,7 +1463,7 @@ func_80056250: /* 03176C 8005636C AE020020 */ sw $v0, 0x20($s0) /* 031770 80056370 AE00002C */ sw $zero, 0x2c($s0) /* 031774 80056374 AE120030 */ sw $s2, 0x30($s0) -/* 031778 80056378 0C015FE4 */ jal func_80057F90 +/* 031778 80056378 0C015FE4 */ jal alHeapAlloc /* 03177C 8005637C AE000034 */ sw $zero, 0x34($s0) /* 031780 80056380 0260202D */ daddu $a0, $s3, $zero /* 031784 80056384 24050001 */ addiu $a1, $zero, 1 @@ -1473,7 +1473,7 @@ func_80056250: /* 031794 80056394 AE020038 */ sw $v0, 0x38($s0) /* 031798 80056398 AE000040 */ sw $zero, 0x40($s0) /* 03179C 8005639C AE120044 */ sw $s2, 0x44($s0) -/* 0317A0 800563A0 0C015FE4 */ jal func_80057F90 +/* 0317A0 800563A0 0C015FE4 */ jal alHeapAlloc /* 0317A4 800563A4 E600003C */ swc1 $f0, 0x3c($s0) /* 0317A8 800563A8 AE020048 */ sw $v0, 0x48($s0) /* 0317AC 800563AC 24020040 */ addiu $v0, $zero, 0x40 @@ -1505,7 +1505,7 @@ func_80056250: .L80056414: /* 031814 80056414 0260202D */ daddu $a0, $s3, $zero /* 031818 80056418 8EA50004 */ lw $a1, 4($s5) -/* 03181C 8005641C 0C015FE4 */ jal func_80057F90 +/* 03181C 8005641C 0C015FE4 */ jal alHeapAlloc /* 031820 80056420 24060018 */ addiu $a2, $zero, 0x18 /* 031824 80056424 3C038008 */ lui $v1, 0x8008 /* 031828 80056428 8C638E54 */ lw $v1, -0x71ac($v1) @@ -1527,12 +1527,12 @@ func_80056250: /* 031864 80056464 AE000010 */ sw $zero, 0x10($s0) /* 031868 80056468 AE000014 */ sw $zero, 0x14($s0) /* 03186C 8005646C A6140000 */ sh $s4, ($s0) -/* 031870 80056470 0C015FE4 */ jal func_80057F90 +/* 031870 80056470 0C015FE4 */ jal alHeapAlloc /* 031874 80056474 A200000C */ sb $zero, 0xc($s0) /* 031878 80056478 0260202D */ daddu $a0, $s3, $zero /* 03187C 8005647C 24050001 */ addiu $a1, $zero, 1 /* 031880 80056480 24060014 */ addiu $a2, $zero, 0x14 -/* 031884 80056484 0C015FE4 */ jal func_80057F90 +/* 031884 80056484 0C015FE4 */ jal alHeapAlloc /* 031888 80056488 AE020004 */ sw $v0, 4($s0) /* 03188C 8005648C 8E040004 */ lw $a0, 4($s0) /* 031890 80056490 9205000C */ lbu $a1, 0xc($s0) @@ -1550,7 +1550,7 @@ func_80056250: .L800564C0: /* 0318C0 800564C0 0260202D */ daddu $a0, $s3, $zero /* 0318C4 800564C4 24050170 */ addiu $a1, $zero, 0x170 -/* 0318C8 800564C8 0C015FE4 */ jal func_80057F90 +/* 0318C8 800564C8 0C015FE4 */ jal alHeapAlloc /* 0318CC 800564CC 24060002 */ addiu $a2, $zero, 2 /* 0318D0 800564D0 0260202D */ daddu $a0, $s3, $zero /* 0318D4 800564D4 24050170 */ addiu $a1, $zero, 0x170 @@ -1559,7 +1559,7 @@ func_80056250: /* 0318E0 800564E0 26108E54 */ addiu $s0, $s0, -0x71ac /* 0318E4 800564E4 8E030000 */ lw $v1, ($s0) /* 0318E8 800564E8 0000882D */ daddu $s1, $zero, $zero -/* 0318EC 800564EC 0C015FE4 */ jal func_80057F90 +/* 0318EC 800564EC 0C015FE4 */ jal alHeapAlloc /* 0318F0 800564F0 AC620024 */ sw $v0, 0x24($v1) /* 0318F4 800564F4 0260202D */ daddu $a0, $s3, $zero /* 0318F8 800564F8 240502E0 */ addiu $a1, $zero, 0x2e0 @@ -1572,14 +1572,14 @@ func_80056250: /* 031914 80056514 24030004 */ addiu $v1, $zero, 4 /* 031918 80056518 3C01800A */ lui $at, 0x800a /* 03191C 8005651C AC233FF0 */ sw $v1, 0x3ff0($at) -/* 031920 80056520 0C015FE4 */ jal func_80057F90 +/* 031920 80056520 0C015FE4 */ jal alHeapAlloc /* 031924 80056524 ACE20028 */ sw $v0, 0x28($a3) /* 031928 80056528 0260202D */ daddu $a0, $s3, $zero /* 03192C 8005652C 240502E0 */ addiu $a1, $zero, 0x2e0 /* 031930 80056530 24060002 */ addiu $a2, $zero, 2 /* 031934 80056534 3C10800A */ lui $s0, 0x800a /* 031938 80056538 26103FE0 */ addiu $s0, $s0, 0x3fe0 -/* 03193C 8005653C 0C015FE4 */ jal func_80057F90 +/* 03193C 8005653C 0C015FE4 */ jal alHeapAlloc /* 031940 80056540 AE020000 */ sw $v0, ($s0) /* 031944 80056544 8E100000 */ lw $s0, ($s0) /* 031948 80056548 0040182D */ daddu $v1, $v0, $zero @@ -1617,7 +1617,7 @@ func_80056250: /* 0319B8 800565B8 03E00008 */ jr $ra /* 0319BC 800565BC 00000000 */ nop -func_800565C0: +alAudioFrame: /* 0319C0 800565C0 3C028008 */ lui $v0, 0x8008 /* 0319C4 800565C4 8C428E50 */ lw $v0, -0x71b0($v0) /* 0319C8 800565C8 27BDFFB8 */ addiu $sp, $sp, -0x48 @@ -3444,7 +3444,7 @@ func_80057F40: /* 033388 80057F88 03E00008 */ jr $ra /* 03338C 80057F8C 00000000 */ nop -func_80057F90: +alHeapAlloc: /* 033390 80057F90 0080382D */ daddu $a3, $a0, $zero /* 033394 80057F94 00A60018 */ mult $a1, $a2 /* 033398 80057F98 2402FFF0 */ addiu $v0, $zero, -0x10 diff --git a/papermario/asm/code_341d0_len_20d0.s b/papermario/asm/code_341d0_len_20d0.s index dc4c0db80b..b335735311 100644 --- a/papermario/asm/code_341d0_len_20d0.s +++ b/papermario/asm/code_341d0_len_20d0.s @@ -63,12 +63,12 @@ func_80058E84: /* 0342A8 80058EA8 24060030 */ addiu $a2, $zero, 0x30 /* 0342AC 80058EAC AFBF0024 */ sw $ra, 0x24($sp) /* 0342B0 80058EB0 AFB10014 */ sw $s1, 0x14($sp) -/* 0342B4 80058EB4 0C015FE4 */ jal func_80057F90 +/* 0342B4 80058EB4 0C015FE4 */ jal alHeapAlloc /* 0342B8 80058EB8 AFB00010 */ sw $s0, 0x10($sp) /* 0342BC 80058EBC 0240202D */ daddu $a0, $s2, $zero /* 0342C0 80058EC0 24050A10 */ addiu $a1, $zero, 0xa10 /* 0342C4 80058EC4 24060002 */ addiu $a2, $zero, 2 -/* 0342C8 80058EC8 0C015FE4 */ jal func_80057F90 +/* 0342C8 80058EC8 0C015FE4 */ jal alHeapAlloc /* 0342CC 80058ECC AE62000C */ sw $v0, 0xc($s3) /* 0342D0 80058ED0 0000882D */ daddu $s1, $zero, $zero /* 0342D4 80058ED4 AE620000 */ sw $v0, ($s3) @@ -81,23 +81,23 @@ func_80058E84: /* 0342EC 80058EEC 00431021 */ addu $v0, $v0, $v1 /* 0342F0 80058EF0 8E70000C */ lw $s0, 0xc($s3) /* 0342F4 80058EF4 00021100 */ sll $v0, $v0, 4 -/* 0342F8 80058EF8 0C015FE4 */ jal func_80057F90 +/* 0342F8 80058EF8 0C015FE4 */ jal alHeapAlloc /* 0342FC 80058EFC 02028021 */ addu $s0, $s0, $v0 /* 034300 80058F00 0240202D */ daddu $a0, $s2, $zero /* 034304 80058F04 24050001 */ addiu $a1, $zero, 1 /* 034308 80058F08 24060020 */ addiu $a2, $zero, 0x20 -/* 03430C 80058F0C 0C015FE4 */ jal func_80057F90 +/* 03430C 80058F0C 0C015FE4 */ jal alHeapAlloc /* 034310 80058F10 AE02002C */ sw $v0, 0x2c($s0) /* 034314 80058F14 0240202D */ daddu $a0, $s2, $zero /* 034318 80058F18 24050001 */ addiu $a1, $zero, 1 /* 03431C 80058F1C 8E03002C */ lw $v1, 0x2c($s0) /* 034320 80058F20 24060030 */ addiu $a2, $zero, 0x30 -/* 034324 80058F24 0C015FE4 */ jal func_80057F90 +/* 034324 80058F24 0C015FE4 */ jal alHeapAlloc /* 034328 80058F28 AC620000 */ sw $v0, ($v1) /* 03432C 80058F2C 0240202D */ daddu $a0, $s2, $zero /* 034330 80058F30 24050001 */ addiu $a1, $zero, 1 /* 034334 80058F34 24060008 */ addiu $a2, $zero, 8 -/* 034338 80058F38 0C015FE4 */ jal func_80057F90 +/* 034338 80058F38 0C015FE4 */ jal alHeapAlloc /* 03433C 80058F3C AE020024 */ sw $v0, 0x24($s0) /* 034340 80058F40 8E030024 */ lw $v1, 0x24($s0) /* 034344 80058F44 26310001 */ addiu $s1, $s1, 1 @@ -126,17 +126,17 @@ func_80058E84: /* 03439C 80058F9C 0200202D */ daddu $a0, $s0, $zero /* 0343A0 80058FA0 24051420 */ addiu $a1, $zero, 0x1420 /* 0343A4 80058FA4 AFBF0018 */ sw $ra, 0x18($sp) -/* 0343A8 80058FA8 0C015FE4 */ jal func_80057F90 +/* 0343A8 80058FA8 0C015FE4 */ jal alHeapAlloc /* 0343AC 80058FAC 24060002 */ addiu $a2, $zero, 2 /* 0343B0 80058FB0 0200202D */ daddu $a0, $s0, $zero /* 0343B4 80058FB4 24050001 */ addiu $a1, $zero, 1 /* 0343B8 80058FB8 24060030 */ addiu $a2, $zero, 0x30 -/* 0343BC 80058FBC 0C015FE4 */ jal func_80057F90 +/* 0343BC 80058FBC 0C015FE4 */ jal alHeapAlloc /* 0343C0 80058FC0 AE220000 */ sw $v0, ($s1) /* 0343C4 80058FC4 0200202D */ daddu $a0, $s0, $zero /* 0343C8 80058FC8 24050001 */ addiu $a1, $zero, 1 /* 0343CC 80058FCC 24060008 */ addiu $a2, $zero, 8 -/* 0343D0 80058FD0 0C015FE4 */ jal func_80057F90 +/* 0343D0 80058FD0 0C015FE4 */ jal alHeapAlloc /* 0343D4 80058FD4 AE220010 */ sw $v0, 0x10($s1) /* 0343D8 80058FD8 0220202D */ daddu $a0, $s1, $zero /* 0343DC 80058FDC 0000282D */ daddu $a1, $zero, $zero @@ -1068,7 +1068,7 @@ func_80059C9C: /* 035124 80059D24 24845AD0 */ addiu $a0, $a0, 0x5ad0 /* 035128 80059D28 3C050032 */ lui $a1, 0x32 /* 03512C 80059D2C 24A56410 */ addiu $a1, $a1, 0x6410 -/* 035130 80059D30 0C00A5CF */ jal func_8002973C +/* 035130 80059D30 0C00A5CF */ jal dma_copy /* 035134 80059D34 0200302D */ daddu $a2, $s0, $zero /* 035138 80059D38 8FBF001C */ lw $ra, 0x1c($sp) /* 03513C 80059D3C 8FB00018 */ lw $s0, 0x18($sp) @@ -1176,7 +1176,7 @@ func_80059E34: /* 0352A0 80059EA0 8E240000 */ lw $a0, ($s1) /* 0352A4 80059EA4 50800005 */ beql $a0, $zero, .L80059EBC /* 0352A8 80059EA8 AE000000 */ sw $zero, ($s0) -/* 0352AC 80059EAC 0C00AB1E */ jal func_8002AC78 +/* 0352AC 80059EAC 0C00AB1E */ jal general_heap_free /* 0352B0 80059EB0 00000000 */ nop /* 0352B4 80059EB4 AE200000 */ sw $zero, ($s1) /* 0352B8 80059EB8 AE000000 */ sw $zero, ($s0) @@ -1199,7 +1199,7 @@ func_80059EC4: /* 0352EC 80059EEC 03E00008 */ jr $ra /* 0352F0 80059EF0 27BD0028 */ addiu $sp, $sp, 0x28 -func_80059EF4: +render_effects: /* 0352F4 80059EF4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0352F8 80059EF8 AFB10014 */ sw $s1, 0x14($sp) /* 0352FC 80059EFC 0000882D */ daddu $s1, $zero, $zero @@ -1482,7 +1482,7 @@ func_8005A308: /* 03570C 8005A30C 00000000 */ nop .L8005A310: -/* 035710 8005A310 0C00AB0A */ jal func_8002AC28 +/* 035710 8005A310 0C00AB0A */ jal general_heap_malloc /* 035714 8005A314 24040014 */ addiu $a0, $zero, 0x14 /* 035718 8005A318 00101880 */ sll $v1, $s0, 2 /* 03571C 8005A31C 0040882D */ daddu $s1, $v0, $zero @@ -1578,7 +1578,7 @@ func_8005A390: /* 035848 8005A448 03E00008 */ jr $ra /* 03584C 8005A44C 27BD0020 */ addiu $sp, $sp, 0x20 -func_8005A450: +remove_effect: /* 035850 8005A450 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 035854 8005A454 AFB10014 */ sw $s1, 0x14($sp) /* 035858 8005A458 0080882D */ daddu $s1, $a0, $zero @@ -1607,10 +1607,10 @@ func_8005A498: /* 0358A0 8005A4A0 8E24000C */ lw $a0, 0xc($s1) /* 0358A4 8005A4A4 10800003 */ beqz $a0, .L8005A4B4 /* 0358A8 8005A4A8 00000000 */ nop -/* 0358AC 8005A4AC 0C00AB1E */ jal func_8002AC78 +/* 0358AC 8005A4AC 0C00AB1E */ jal general_heap_free /* 0358B0 8005A4B0 00000000 */ nop .L8005A4B4: -/* 0358B4 8005A4B4 0C00AB1E */ jal func_8002AC78 +/* 0358B4 8005A4B4 0C00AB1E */ jal general_heap_free /* 0358B8 8005A4B8 0220202D */ daddu $a0, $s1, $zero /* 0358BC 8005A4BC 00101080 */ sll $v0, $s0, 2 /* 0358C0 8005A4C0 3C01800B */ lui $at, 0x800b @@ -1622,6 +1622,7 @@ func_8005A498: /* 0358D8 8005A4D8 03E00008 */ jr $ra /* 0358DC 8005A4DC 27BD0020 */ addiu $sp, $sp, 0x20 +remove_all_effects: /* 0358E0 8005A4E0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0358E4 8005A4E4 AFB20018 */ sw $s2, 0x18($sp) /* 0358E8 8005A4E8 0000902D */ daddu $s2, $zero, $zero @@ -1641,10 +1642,10 @@ func_8005A498: /* 03591C 8005A51C 8E04000C */ lw $a0, 0xc($s0) /* 035920 8005A520 10800003 */ beqz $a0, .L8005A530 /* 035924 8005A524 00000000 */ nop -/* 035928 8005A528 0C00AB1E */ jal func_8002AC78 +/* 035928 8005A528 0C00AB1E */ jal general_heap_free /* 03592C 8005A52C 00000000 */ nop .L8005A530: -/* 035930 8005A530 0C00AB1E */ jal func_8002AC78 +/* 035930 8005A530 0C00AB1E */ jal general_heap_free /* 035934 8005A534 0200202D */ daddu $a0, $s0, $zero /* 035938 8005A538 AE200000 */ sw $zero, ($s1) /* 03593C 8005A53C 26520001 */ addiu $s2, $s2, 1 @@ -1659,7 +1660,7 @@ func_8005A498: /* 03595C 8005A55C 03E00008 */ jr $ra /* 035960 8005A560 27BD0020 */ addiu $sp, $sp, 0x20 -func_8005A564: +play_effect: /* 035964 8005A564 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 035968 8005A568 AFB20020 */ sw $s2, 0x20($sp) /* 03596C 8005A56C 0080902D */ daddu $s2, $a0, $zero @@ -1727,13 +1728,13 @@ func_8005A610: /* 035A44 8005A644 00473824 */ and $a3, $v0, $a3 /* 035A48 8005A648 8E240004 */ lw $a0, 4($s1) /* 035A4C 8005A64C 8E250008 */ lw $a1, 8($s1) -/* 035A50 8005A650 0C00A5CF */ jal func_8002973C +/* 035A50 8005A650 0C00A5CF */ jal dma_copy /* 035A54 8005A654 8E26000C */ lw $a2, 0xc($s1) /* 035A58 8005A658 8E220010 */ lw $v0, 0x10($s1) /* 035A5C 8005A65C 5040000D */ beql $v0, $zero, .L8005A694 /* 035A60 8005A660 24020001 */ addiu $v0, $zero, 1 /* 035A64 8005A664 8E240014 */ lw $a0, 0x14($s1) -/* 035A68 8005A668 0C00AB0A */ jal func_8002AC28 +/* 035A68 8005A668 0C00AB0A */ jal general_heap_malloc /* 035A6C 8005A66C 00822023 */ subu $a0, $a0, $v0 /* 035A70 8005A670 14400003 */ bnez $v0, .L8005A680 /* 035A74 8005A674 AE02001C */ sw $v0, 0x1c($s0) @@ -1744,7 +1745,7 @@ func_8005A678: .L8005A680: /* 035A80 8005A680 8E240010 */ lw $a0, 0x10($s1) /* 035A84 8005A684 8E250014 */ lw $a1, 0x14($s1) -/* 035A88 8005A688 0C00A5CF */ jal func_8002973C +/* 035A88 8005A688 0C00A5CF */ jal dma_copy /* 035A8C 8005A68C 8E06001C */ lw $a2, 0x1c($s0) /* 035A90 8005A690 24020001 */ addiu $v0, $zero, 1 .L8005A694: @@ -1760,7 +1761,7 @@ func_8005A678: /* 035AB8 8005A6B8 27BD0028 */ addiu $sp, $sp, 0x28 /* 035ABC 8005A6BC 00000000 */ nop -func_8005A6C0: +load_map_script_lib: /* 035AC0 8005A6C0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 035AC4 8005A6C4 3C04007E */ lui $a0, 0x7e /* 035AC8 8005A6C8 24840E80 */ addiu $a0, $a0, 0xe80 @@ -1769,13 +1770,13 @@ func_8005A6C0: /* 035AD4 8005A6D4 3C068028 */ lui $a2, 0x8028 /* 035AD8 8005A6D8 24C60000 */ addiu $a2, $a2, 0 /* 035ADC 8005A6DC AFBF0010 */ sw $ra, 0x10($sp) -/* 035AE0 8005A6E0 0C00A5CF */ jal func_8002973C +/* 035AE0 8005A6E0 0C00A5CF */ jal dma_copy /* 035AE4 8005A6E4 00000000 */ nop /* 035AE8 8005A6E8 8FBF0010 */ lw $ra, 0x10($sp) /* 035AEC 8005A6EC 03E00008 */ jr $ra /* 035AF0 8005A6F0 27BD0018 */ addiu $sp, $sp, 0x18 -func_8005A6F4: +load_map_by_IDs: /* 035AF4 8005A6F4 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 035AF8 8005A6F8 AFB00038 */ sw $s0, 0x38($sp) /* 035AFC 8005A6FC 00C0802D */ daddu $s0, $a2, $zero @@ -1807,7 +1808,7 @@ func_8005A6F4: /* 035B64 8005A764 00108403 */ sra $s0, $s0, 0x10 /* 035B68 8005A768 0C048C2E */ jal func_801230B8 /* 035B6C 8005A76C 00000000 */ nop -/* 035B70 8005A770 0C0B0C77 */ jal func_802C31DC +/* 035B70 8005A770 0C0B0C77 */ jal clear_script_list /* 035B74 8005A774 00000000 */ nop /* 035B78 8005A778 12000005 */ beqz $s0, .L8005A790 /* 035B7C 8005A77C 24020001 */ addiu $v0, $zero, 1 @@ -1817,14 +1818,14 @@ func_8005A6F4: /* 035B8C 8005A78C 00000000 */ nop .L8005A790: -/* 035B90 8005A790 0C0514E4 */ jal func_80145390 +/* 035B90 8005A790 0C0514E4 */ jal clear_area_flags /* 035B94 8005A794 00000000 */ nop /* 035B98 8005A798 8E420000 */ lw $v0, ($s2) /* 035B9C 8005A79C 080169F0 */ j func_8005A7C0 /* 035BA0 8005A7A0 A0400167 */ sb $zero, 0x167($v0) .L8005A7A4: -/* 035BA4 8005A7A4 0C00AD24 */ jal func_8002B490 +/* 035BA4 8005A7A4 0C00AD24 */ jal fio_deserialize_state /* 035BA8 8005A7A8 00000000 */ nop /* 035BAC 8005A7AC 8E420000 */ lw $v0, ($s2) /* 035BB0 8005A7B0 94510086 */ lhu $s1, 0x86($v0) @@ -1875,13 +1876,13 @@ func_8005A7C0: /* 035C60 8005A860 0C01BB50 */ jal strcpy /* 035C64 8005A864 00000000 */ nop .L8005A868: -/* 035C68 8005A868 0C0169B0 */ jal func_8005A6C0 +/* 035C68 8005A868 0C0169B0 */ jal load_map_script_lib /* 035C6C 8005A86C 00000000 */ nop /* 035C70 8005A870 8E440008 */ lw $a0, 8($s2) /* 035C74 8005A874 10800004 */ beqz $a0, .L8005A888 /* 035C78 8005A878 00000000 */ nop /* 035C7C 8005A87C 8E45000C */ lw $a1, 0xc($s2) -/* 035C80 8005A880 0C00A5CF */ jal func_8002973C +/* 035C80 8005A880 0C00A5CF */ jal dma_copy /* 035C84 8005A884 8E460010 */ lw $a2, 0x10($s2) .L8005A888: /* 035C88 8005A888 8E420004 */ lw $v0, 4($s2) @@ -1913,7 +1914,7 @@ func_8005A7C0: /* 035CE8 8005A8E8 00000000 */ nop /* 035CEC 8005A8EC 3C04800E */ lui $a0, 0x800e /* 035CF0 8005A8F0 24849230 */ addiu $a0, $a0, -0x6dd0 -/* 035CF4 8005A8F4 0C016B3A */ jal func_8005ACE8 +/* 035CF4 8005A8F4 0C016B3A */ jal load_asset_by_name /* 035CF8 8005A8F8 27A50030 */ addiu $a1, $sp, 0x30 /* 035CFC 8005A8FC 0040882D */ daddu $s1, $v0, $zero /* 035D00 8005A900 0220202D */ daddu $a0, $s1, $zero @@ -1921,7 +1922,7 @@ func_8005A7C0: /* 035D08 8005A908 26100000 */ addiu $s0, $s0, 0 /* 035D0C 8005A90C 0C01BB7C */ jal decode_yay0 /* 035D10 8005A910 0200282D */ daddu $a1, $s0, $zero -/* 035D14 8005A914 0C00AB1E */ jal func_8002AC78 +/* 035D14 8005A914 0C00AB1E */ jal general_heap_free /* 035D18 8005A918 0220202D */ daddu $a0, $s1, $zero /* 035D1C 8005A91C 8E020000 */ lw $v0, ($s0) /* 035D20 8005A920 8E030008 */ lw $v1, 8($s0) @@ -1937,7 +1938,7 @@ func_8005A7C0: /* 035D44 8005A944 00000000 */ nop /* 035D48 8005A948 3C04800E */ lui $a0, 0x800e /* 035D4C 8005A94C 24849668 */ addiu $a0, $a0, -0x6998 -/* 035D50 8005A950 0C05175C */ jal func_80145D70 +/* 035D50 8005A950 0C05175C */ jal load_map_bg /* 035D54 8005A954 00000000 */ nop .L8005A958: /* 035D58 8005A958 0C00B458 */ jal func_8002D160 @@ -1948,9 +1949,9 @@ func_8005A7C0: /* 035D6C 8005A96C 0000202D */ daddu $a0, $zero, $zero /* 035D70 8005A970 0C048C2E */ jal func_801230B8 /* 035D74 8005A974 00000000 */ nop -/* 035D78 8005A978 0C0B0C77 */ jal func_802C31DC +/* 035D78 8005A978 0C0B0C77 */ jal clear_script_list /* 035D7C 8005A97C 00000000 */ nop -/* 035D80 8005A980 0C00B7BD */ jal func_8002DEF4 +/* 035D80 8005A980 0C00B7BD */ jal create_cameras_a /* 035D84 8005A984 00000000 */ nop /* 035D88 8005A988 3C108007 */ lui $s0, 0x8007 /* 035D8C 8005A98C 2610419C */ addiu $s0, $s0, 0x419c @@ -1965,9 +1966,9 @@ func_8005A7C0: /* 035DB0 8005A9B0 00000000 */ nop /* 035DB4 8005A9B4 0C050440 */ jal func_80141100 /* 035DB8 8005A9B8 00000000 */ nop -/* 035DBC 8005A9BC 0C0515A0 */ jal func_80145680 +/* 035DBC 8005A9BC 0C0515A0 */ jal clear_trigger_data /* 035DC0 8005A9C0 00000000 */ nop -/* 035DC4 8005A9C4 0C045751 */ jal func_80115D44 +/* 035DC4 8005A9C4 0C045751 */ jal clear_model_data /* 035DC8 8005A9C8 00000000 */ nop /* 035DCC 8005A9CC 0C052010 */ jal func_80148040 /* 035DD0 8005A9D0 00000000 */ nop @@ -1983,28 +1984,28 @@ func_8005A7C0: .L8005A9F8: /* 035DF8 8005A9F8 16800005 */ bnez $s4, .L8005AA10 /* 035DFC 8005A9FC 00000000 */ nop -/* 035E00 8005AA00 0C016BE5 */ jal func_8005AF94 +/* 035E00 8005AA00 0C016BE5 */ jal initialize_collision /* 035E04 8005AA04 00000000 */ nop -/* 035E08 8005AA08 0C016BF0 */ jal func_8005AFC0 +/* 035E08 8005AA08 0C016BF0 */ jal load_hit_asset /* 035E0C 8005AA0C 00000000 */ nop .L8005AA10: /* 035E10 8005AA10 0C01CACC */ jal func_80072B30 /* 035E14 8005AA14 00000000 */ nop -/* 035E18 8005AA18 0C00F900 */ jal func_8003E400 +/* 035E18 8005AA18 0C00F900 */ jal clear_encounter_status /* 035E1C 8005AA1C 00000000 */ nop /* 035E20 8005AA20 0C04432E */ jal func_80110CB8 /* 035E24 8005AA24 24040001 */ addiu $a0, $zero, 1 /* 035E28 8005AA28 0C016727 */ jal func_80059C9C /* 035E2C 8005AA2C 00000000 */ nop -/* 035E30 8005AA30 0C037F14 */ jal func_800DFC50 +/* 035E30 8005AA30 0C037F14 */ jal clear_player_status /* 035E34 8005AA34 00000000 */ nop /* 035E38 8005AA38 0C037F1D */ jal func_800DFC74 /* 035E3C 8005AA3C 00000000 */ nop /* 035E40 8005AA40 0C03AD1D */ jal func_800EB474 /* 035E44 8005AA44 00000000 */ nop -/* 035E48 8005AA48 0C048D9D */ jal func_80123674 +/* 035E48 8005AA48 0C048D9D */ jal clear_printers /* 035E4C 8005AA4C 00000000 */ nop -/* 035E50 8005AA50 0C04C3FC */ jal func_80130FF0 +/* 035E50 8005AA50 0C04C3FC */ jal clear_item_entity_data /* 035E54 8005AA54 00000000 */ nop /* 035E58 8005AA58 3C028011 */ lui $v0, 0x8011 /* 035E5C 8005AA5C 2442EFC8 */ addiu $v0, $v0, -0x1038 @@ -2023,19 +2024,19 @@ func_8005A7C0: /* 035E90 8005AA90 00000000 */ nop /* 035E94 8005AA94 3C04800B */ lui $a0, 0x800b /* 035E98 8005AA98 24840CF0 */ addiu $a0, $a0, 0xcf0 -/* 035E9C 8005AA9C 0C016B74 */ jal func_8005ADD0 +/* 035E9C 8005AA9C 0C016B74 */ jal get_asset_offset /* 035EA0 8005AAA0 27A50030 */ addiu $a1, $sp, 0x30 /* 035EA4 8005AAA4 8E640000 */ lw $a0, ($s3) /* 035EA8 8005AAA8 10800004 */ beqz $a0, .L8005AABC /* 035EAC 8005AAAC 00000000 */ nop /* 035EB0 8005AAB0 8FA60030 */ lw $a2, 0x30($sp) -/* 035EB4 8005AAB4 0C046B52 */ jal func_8011AD48 +/* 035EB4 8005AAB4 0C046B52 */ jal load_data_for_models /* 035EB8 8005AAB8 0040282D */ daddu $a1, $v0, $zero .L8005AABC: /* 035EBC 8005AABC 8E640038 */ lw $a0, 0x38($s3) /* 035EC0 8005AAC0 50800005 */ beql $a0, $zero, .L8005AAD8 /* 035EC4 8005AAC4 24040128 */ addiu $a0, $zero, 0x128 -/* 035EC8 8005AAC8 0C05178A */ jal func_80145E28 +/* 035EC8 8005AAC8 0C05178A */ jal read_background_size /* 035ECC 8005AACC 00000000 */ nop /* 035ED0 8005AAD0 08016ABA */ j func_8005AAE8 /* 035ED4 8005AAD4 00000000 */ nop @@ -2043,7 +2044,7 @@ func_8005A7C0: .L8005AAD8: /* 035ED8 8005AAD8 240500C8 */ addiu $a1, $zero, 0xc8 /* 035EDC 8005AADC 2406000C */ addiu $a2, $zero, 0xc -/* 035EE0 8005AAE0 0C05179C */ jal func_80145E70 +/* 035EE0 8005AAE0 0C05179C */ jal set_background_size /* 035EE4 8005AAE4 24070014 */ addiu $a3, $zero, 0x14 func_8005AAE8: /* 035EE8 8005AAE8 3C04800B */ lui $a0, 0x800b @@ -2083,9 +2084,9 @@ func_8005AAE8: /* 035F68 8005AB68 2406001C */ addiu $a2, $zero, 0x1c /* 035F6C 8005AB6C 24070106 */ addiu $a3, $zero, 0x106 func_8005AB70: -/* 035F70 8005AB70 0C00B8C5 */ jal func_8002E314 +/* 035F70 8005AB70 0C00B8C5 */ jal set_cam_viewport /* 035F74 8005AB74 00000000 */ nop -/* 035F78 8005AB78 0C039E4D */ jal func_800E7934 +/* 035F78 8005AB78 0C039E4D */ jal initialize_status_menu /* 035F7C 8005AB7C 00000000 */ nop /* 035F80 8005AB80 0000282D */ daddu $a1, $zero, $zero /* 035F84 8005AB84 00A0302D */ daddu $a2, $a1, $zero @@ -2096,7 +2097,7 @@ func_8005AB70: /* 035F98 8005AB98 A4620090 */ sh $v0, 0x90($v1) /* 035F9C 8005AB9C A4620092 */ sh $v0, 0x92($v1) /* 035FA0 8005ABA0 8E640010 */ lw $a0, 0x10($s3) -/* 035FA4 8005ABA4 0C0B0D74 */ jal func_802C35D0 +/* 035FA4 8005ABA4 0C0B0D74 */ jal start_script_in_group /* 035FA8 8005ABA8 00A0382D */ daddu $a3, $a1, $zero /* 035FAC 8005ABAC 8E030000 */ lw $v1, ($s0) /* 035FB0 8005ABB0 8C420144 */ lw $v0, 0x144($v0) @@ -2110,18 +2111,19 @@ func_8005AB70: /* 035FD0 8005ABD0 03E00008 */ jr $ra /* 035FD4 8005ABD4 27BD0050 */ addiu $sp, $sp, 0x50 +get_current_map_config: /* 035FD8 8005ABD8 3C02800A */ lui $v0, 0x800a /* 035FDC 8005ABDC 8C4241E0 */ lw $v0, 0x41e0($v0) /* 035FE0 8005ABE0 03E00008 */ jr $ra /* 035FE4 8005ABE4 00000000 */ nop -func_8005ABE8: +get_current_map_header: /* 035FE8 8005ABE8 3C02800A */ lui $v0, 0x800a /* 035FEC 8005ABEC 244241E8 */ addiu $v0, $v0, 0x41e8 /* 035FF0 8005ABF0 03E00008 */ jr $ra /* 035FF4 8005ABF4 00000000 */ nop -func_8005ABF8: +get_map_IDs_by_name: /* 035FF8 8005ABF8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 035FFC 8005ABFC AFB50024 */ sw $s5, 0x24($sp) /* 036000 8005AC00 0080A82D */ daddu $s5, $a0, $zero @@ -2190,7 +2192,7 @@ func_8005ACBC: /* 0360E0 8005ACE0 03E00008 */ jr $ra /* 0360E4 8005ACE4 27BD0038 */ addiu $sp, $sp, 0x38 -func_8005ACE8: +load_asset_by_name: /* 0360E8 8005ACE8 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0360EC 8005ACEC AFB00030 */ sw $s0, 0x30($sp) /* 0360F0 8005ACF0 0080802D */ daddu $s0, $a0, $zero @@ -2203,10 +2205,10 @@ func_8005ACE8: /* 03610C 8005AD0C 27A60010 */ addiu $a2, $sp, 0x10 /* 036110 8005AD10 AFBF0040 */ sw $ra, 0x40($sp) /* 036114 8005AD14 AFB20038 */ sw $s2, 0x38($sp) -/* 036118 8005AD18 0C00A5CF */ jal func_8002973C +/* 036118 8005AD18 0C00A5CF */ jal dma_copy /* 03611C 8005AD1C AFB10034 */ sw $s1, 0x34($sp) /* 036120 8005AD20 8FA40020 */ lw $a0, 0x20($sp) -/* 036124 8005AD24 0C00AB39 */ jal func_8002ACE4 +/* 036124 8005AD24 0C00AB39 */ jal heap_malloc /* 036128 8005AD28 00000000 */ nop /* 03612C 8005AD2C 0040902D */ daddu $s2, $v0, $zero /* 036130 8005AD30 0240882D */ daddu $s1, $s2, $zero @@ -2216,7 +2218,7 @@ func_8005ACE8: /* 036140 8005AD40 34840020 */ ori $a0, $a0, 0x20 /* 036144 8005AD44 8FA50020 */ lw $a1, 0x20($sp) /* 036148 8005AD48 0240302D */ daddu $a2, $s2, $zero -/* 03614C 8005AD4C 0C00A5CF */ jal func_8002973C +/* 03614C 8005AD4C 0C00A5CF */ jal dma_copy /* 036150 8005AD50 00A22821 */ addu $a1, $a1, $v0 func_8005AD54: /* 036154 8005AD54 0220202D */ daddu $a0, $s1, $zero @@ -2230,7 +2232,7 @@ func_8005AD54: .L8005AD70: /* 036170 8005AD70 8E220018 */ lw $v0, 0x18($s1) /* 036174 8005AD74 AE620000 */ sw $v0, ($s3) -/* 036178 8005AD78 0C00AB0A */ jal func_8002AC28 +/* 036178 8005AD78 0C00AB0A */ jal general_heap_malloc /* 03617C 8005AD7C 8E240014 */ lw $a0, 0x14($s1) /* 036180 8005AD80 3C0301E4 */ lui $v1, 0x1e4 /* 036184 8005AD84 34630020 */ ori $v1, $v1, 0x20 @@ -2240,9 +2242,9 @@ func_8005AD54: /* 036194 8005AD94 8E250014 */ lw $a1, 0x14($s1) /* 036198 8005AD98 00432021 */ addu $a0, $v0, $v1 /* 03619C 8005AD9C 00A32821 */ addu $a1, $a1, $v1 -/* 0361A0 8005ADA0 0C00A5CF */ jal func_8002973C +/* 0361A0 8005ADA0 0C00A5CF */ jal dma_copy /* 0361A4 8005ADA4 00452821 */ addu $a1, $v0, $a1 -/* 0361A8 8005ADA8 0C00AB4B */ jal func_8002AD2C +/* 0361A8 8005ADA8 0C00AB4B */ jal heap_free /* 0361AC 8005ADAC 0240202D */ daddu $a0, $s2, $zero /* 0361B0 8005ADB0 0200102D */ daddu $v0, $s0, $zero /* 0361B4 8005ADB4 8FBF0040 */ lw $ra, 0x40($sp) @@ -2253,7 +2255,7 @@ func_8005AD54: /* 0361C8 8005ADC8 03E00008 */ jr $ra /* 0361CC 8005ADCC 27BD0048 */ addiu $sp, $sp, 0x48 -func_8005ADD0: +get_asset_offset: /* 0361D0 8005ADD0 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0361D4 8005ADD4 AFB20038 */ sw $s2, 0x38($sp) /* 0361D8 8005ADD8 0080902D */ daddu $s2, $a0, $zero @@ -2266,10 +2268,10 @@ func_8005ADD0: /* 0361F4 8005ADF4 27A60010 */ addiu $a2, $sp, 0x10 /* 0361F8 8005ADF8 AFBF0040 */ sw $ra, 0x40($sp) /* 0361FC 8005ADFC AFB10034 */ sw $s1, 0x34($sp) -/* 036200 8005AE00 0C00A5CF */ jal func_8002973C +/* 036200 8005AE00 0C00A5CF */ jal dma_copy /* 036204 8005AE04 AFB00030 */ sw $s0, 0x30($sp) /* 036208 8005AE08 8FA40020 */ lw $a0, 0x20($sp) -/* 03620C 8005AE0C 0C00AB39 */ jal func_8002ACE4 +/* 03620C 8005AE0C 0C00AB39 */ jal heap_malloc /* 036210 8005AE10 00000000 */ nop /* 036214 8005AE14 0040882D */ daddu $s1, $v0, $zero /* 036218 8005AE18 0220802D */ daddu $s0, $s1, $zero @@ -2279,7 +2281,7 @@ func_8005ADD0: /* 036228 8005AE28 34840020 */ ori $a0, $a0, 0x20 /* 03622C 8005AE2C 8FA50020 */ lw $a1, 0x20($sp) /* 036230 8005AE30 0220302D */ daddu $a2, $s1, $zero -/* 036234 8005AE34 0C00A5CF */ jal func_8002973C +/* 036234 8005AE34 0C00A5CF */ jal dma_copy /* 036238 8005AE38 00A22821 */ addu $a1, $a1, $v0 func_8005AE3C: /* 03623C 8005AE3C 0200202D */ daddu $a0, $s0, $zero @@ -2296,7 +2298,7 @@ func_8005AE3C: /* 036260 8005AE60 AE620000 */ sw $v0, ($s3) /* 036264 8005AE64 8E100010 */ lw $s0, 0x10($s0) /* 036268 8005AE68 0220202D */ daddu $a0, $s1, $zero -/* 03626C 8005AE6C 0C00AB4B */ jal func_8002AD2C +/* 03626C 8005AE6C 0C00AB4B */ jal heap_free /* 036270 8005AE70 02038021 */ addu $s0, $s0, $v1 /* 036274 8005AE74 0200102D */ daddu $v0, $s0, $zero /* 036278 8005AE78 8FBF0040 */ lw $ra, 0x40($sp) diff --git a/papermario/asm/code_362a0_len_2f70.s b/papermario/asm/code_362a0_len_2f70.s index 451dcba8a5..04a6c6d5d3 100644 --- a/papermario/asm/code_362a0_len_2f70.s +++ b/papermario/asm/code_362a0_len_2f70.s @@ -1,14 +1,14 @@ .section .text8005AEA0, "ax" -func_8005AEA0: +allocate_hit_tables: /* 0362A0 8005AEA0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0362A4 8005AEA4 AFB00010 */ sw $s0, 0x10($sp) /* 0362A8 8005AEA8 3C10800B */ lui $s0, 0x800b /* 0362AC 8005AEAC 261042E0 */ addiu $s0, $s0, 0x42e0 /* 0362B0 8005AEB0 AFBF0014 */ sw $ra, 0x14($sp) /* 0362B4 8005AEB4 8604000C */ lh $a0, 0xc($s0) -/* 0362B8 8005AEB8 0C00AB0A */ jal func_8002AC28 +/* 0362B8 8005AEB8 0C00AB0A */ jal general_heap_malloc /* 0362BC 8005AEBC 000420C0 */ sll $a0, $a0, 3 /* 0362C0 8005AEC0 0040202D */ daddu $a0, $v0, $zero /* 0362C4 8005AEC4 8602000C */ lh $v0, 0xc($s0) @@ -34,7 +34,7 @@ func_8005AEA0: /* 03630C 8005AF0C 3C10800E */ lui $s0, 0x800e /* 036310 8005AF10 261091D0 */ addiu $s0, $s0, -0x6e30 /* 036314 8005AF14 8604000C */ lh $a0, 0xc($s0) -/* 036318 8005AF18 0C00AB0A */ jal func_8002AC28 +/* 036318 8005AF18 0C00AB0A */ jal general_heap_malloc /* 03631C 8005AF1C 000420C0 */ sll $a0, $a0, 3 /* 036320 8005AF20 0040202D */ daddu $a0, $v0, $zero /* 036324 8005AF24 8602000C */ lh $v0, 0xc($s0) @@ -71,51 +71,51 @@ func_8005AF84: /* 03638C 8005AF8C 03E00008 */ jr $ra /* 036390 8005AF90 00000000 */ nop -func_8005AF94: +initialize_collision: /* 036394 8005AF94 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 036398 8005AF98 AFBF0010 */ sw $ra, 0x10($sp) /* 03639C 8005AF9C 3C01800B */ lui $at, 0x800b /* 0363A0 8005AFA0 A42042EC */ sh $zero, 0x42ec($at) /* 0363A4 8005AFA4 3C01800E */ lui $at, 0x800e /* 0363A8 8005AFA8 A42091DC */ sh $zero, -0x6e24($at) -/* 0363AC 8005AFAC 0C00AB5D */ jal func_8002AD74 +/* 0363AC 8005AFAC 0C00AB5D */ jal collision_heap_create /* 0363B0 8005AFB0 00000000 */ nop /* 0363B4 8005AFB4 8FBF0010 */ lw $ra, 0x10($sp) /* 0363B8 8005AFB8 03E00008 */ jr $ra /* 0363BC 8005AFBC 27BD0018 */ addiu $sp, $sp, 0x18 -func_8005AFC0: +load_hit_asset: /* 0363C0 8005AFC0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0363C4 8005AFC4 AFBF0024 */ sw $ra, 0x24($sp) /* 0363C8 8005AFC8 AFB20020 */ sw $s2, 0x20($sp) /* 0363CC 8005AFCC AFB1001C */ sw $s1, 0x1c($sp) -/* 0363D0 8005AFD0 0C016AFA */ jal func_8005ABE8 +/* 0363D0 8005AFD0 0C016AFA */ jal get_current_map_header /* 0363D4 8005AFD4 AFB00018 */ sw $s0, 0x18($sp) /* 0363D8 8005AFD8 3C04800E */ lui $a0, 0x800e /* 0363DC 8005AFDC 248491E0 */ addiu $a0, $a0, -0x6e20 /* 0363E0 8005AFE0 27A50010 */ addiu $a1, $sp, 0x10 -/* 0363E4 8005AFE4 0C016B3A */ jal func_8005ACE8 +/* 0363E4 8005AFE4 0C016B3A */ jal load_asset_by_name /* 0363E8 8005AFE8 0040902D */ daddu $s2, $v0, $zero /* 0363EC 8005AFEC 8FA40010 */ lw $a0, 0x10($sp) -/* 0363F0 8005AFF0 0C00AB39 */ jal func_8002ACE4 +/* 0363F0 8005AFF0 0C00AB39 */ jal heap_malloc /* 0363F4 8005AFF4 0040882D */ daddu $s1, $v0, $zero /* 0363F8 8005AFF8 0220202D */ daddu $a0, $s1, $zero /* 0363FC 8005AFFC 0040802D */ daddu $s0, $v0, $zero /* 036400 8005B000 0C01BB7C */ jal decode_yay0 /* 036404 8005B004 0200282D */ daddu $a1, $s0, $zero -/* 036408 8005B008 0C00AB1E */ jal func_8002AC78 +/* 036408 8005B008 0C00AB1E */ jal general_heap_free /* 03640C 8005B00C 0220202D */ daddu $a0, $s1, $zero /* 036410 8005B010 8E020000 */ lw $v0, ($s0) /* 036414 8005B014 0000202D */ daddu $a0, $zero, $zero /* 036418 8005B018 AE420004 */ sw $v0, 4($s2) /* 03641C 8005B01C 8E020004 */ lw $v0, 4($s0) /* 036420 8005B020 0200282D */ daddu $a1, $s0, $zero -/* 036424 8005B024 0C016C8F */ jal func_8005B23C +/* 036424 8005B024 0C016C8F */ jal load_hit_data /* 036428 8005B028 AE420008 */ sw $v0, 8($s2) /* 03642C 8005B02C 24040001 */ addiu $a0, $zero, 1 -/* 036430 8005B030 0C016C8F */ jal func_8005B23C +/* 036430 8005B030 0C016C8F */ jal load_hit_data /* 036434 8005B034 0200282D */ daddu $a1, $s0, $zero -/* 036438 8005B038 0C00AB4B */ jal func_8002AD2C +/* 036438 8005B038 0C00AB4B */ jal heap_free /* 03643C 8005B03C 0200202D */ daddu $a0, $s0, $zero /* 036440 8005B040 8FBF0024 */ lw $ra, 0x24($sp) /* 036444 8005B044 8FB20020 */ lw $s2, 0x20($sp) @@ -124,7 +124,7 @@ func_8005AFC0: /* 036450 8005B050 03E00008 */ jr $ra /* 036454 8005B054 27BD0028 */ addiu $sp, $sp, 0x28 -func_8005B058: +load_collision: /* 036458 8005B058 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 03645C 8005B05C AFBF002C */ sw $ra, 0x2c($sp) /* 036460 8005B060 AFB60028 */ sw $s6, 0x28($sp) @@ -133,7 +133,7 @@ func_8005B058: /* 03646C 8005B06C AFB3001C */ sw $s3, 0x1c($sp) /* 036470 8005B070 AFB20018 */ sw $s2, 0x18($sp) /* 036474 8005B074 AFB10014 */ sw $s1, 0x14($sp) -/* 036478 8005B078 0C016BF0 */ jal func_8005AFC0 +/* 036478 8005B078 0C016BF0 */ jal load_hit_asset /* 03647C 8005B07C AFB00010 */ sw $s0, 0x10($sp) /* 036480 8005B080 3C13800B */ lui $s3, 0x800b /* 036484 8005B084 267342E0 */ addiu $s3, $s3, 0x42e0 @@ -160,9 +160,9 @@ func_8005B058: /* 0364D4 8005B0D4 00128400 */ sll $s0, $s2, 0x10 /* 0364D8 8005B0D8 00108403 */ sra $s0, $s0, 0x10 /* 0364DC 8005B0DC 0200202D */ daddu $a0, $s0, $zero -/* 0364E0 8005B0E0 0C016DE0 */ jal func_8005B780 +/* 0364E0 8005B0E0 0C016DE0 */ jal parent_collider_to_model /* 0364E4 8005B0E4 00052C03 */ sra $a1, $a1, 0x10 -/* 0364E8 8005B0E8 0C016E89 */ jal func_8005BA24 +/* 0364E8 8005B0E8 0C016E89 */ jal update_collider_transform /* 0364EC 8005B0EC 0200202D */ daddu $a0, $s0, $zero .L8005B0F0: /* 0364F0 8005B0F0 2694001C */ addiu $s4, $s4, 0x1c @@ -196,11 +196,11 @@ func_8005B058: .L8005B158: /* 036558 8005B158 3C04800A */ lui $a0, 0x800a /* 03655C 8005B15C 8C844264 */ lw $a0, 0x4264($a0) -/* 036560 8005B160 0C00AB1E */ jal func_8002AC78 +/* 036560 8005B160 0C00AB1E */ jal general_heap_free /* 036564 8005B164 00000000 */ nop /* 036568 8005B168 3C04800A */ lui $a0, 0x800a /* 03656C 8005B16C 8C844268 */ lw $a0, 0x4268($a0) -/* 036570 8005B170 0C00AB1E */ jal func_8002AC78 +/* 036570 8005B170 0C00AB1E */ jal general_heap_free /* 036574 8005B174 00000000 */ nop /* 036578 8005B178 8FBF002C */ lw $ra, 0x2c($sp) /* 03657C 8005B17C 8FB60028 */ lw $s6, 0x28($sp) @@ -213,6 +213,7 @@ func_8005B058: /* 036598 8005B198 03E00008 */ jr $ra /* 03659C 8005B19C 27BD0030 */ addiu $sp, $sp, 0x30 +load_stage_collision: /* 0365A0 8005B1A0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0365A4 8005B1A4 AFB00018 */ sw $s0, 0x18($sp) /* 0365A8 8005B1A8 0080802D */ daddu $s0, $a0, $zero @@ -226,27 +227,27 @@ func_8005B058: /* 0365C8 8005B1C8 00000000 */ nop .L8005B1CC: -/* 0365CC 8005B1CC 0C016AFA */ jal func_8005ABE8 +/* 0365CC 8005B1CC 0C016AFA */ jal get_current_map_header /* 0365D0 8005B1D0 00000000 */ nop /* 0365D4 8005B1D4 0200202D */ daddu $a0, $s0, $zero /* 0365D8 8005B1D8 27A50010 */ addiu $a1, $sp, 0x10 -/* 0365DC 8005B1DC 0C016B3A */ jal func_8005ACE8 +/* 0365DC 8005B1DC 0C016B3A */ jal load_asset_by_name /* 0365E0 8005B1E0 0040902D */ daddu $s2, $v0, $zero /* 0365E4 8005B1E4 8FA40010 */ lw $a0, 0x10($sp) -/* 0365E8 8005B1E8 0C00AB39 */ jal func_8002ACE4 +/* 0365E8 8005B1E8 0C00AB39 */ jal heap_malloc /* 0365EC 8005B1EC 0040882D */ daddu $s1, $v0, $zero /* 0365F0 8005B1F0 0220202D */ daddu $a0, $s1, $zero /* 0365F4 8005B1F4 0040802D */ daddu $s0, $v0, $zero /* 0365F8 8005B1F8 0C01BB7C */ jal decode_yay0 /* 0365FC 8005B1FC 0200282D */ daddu $a1, $s0, $zero -/* 036600 8005B200 0C00AB1E */ jal func_8002AC78 +/* 036600 8005B200 0C00AB1E */ jal general_heap_free /* 036604 8005B204 0220202D */ daddu $a0, $s1, $zero /* 036608 8005B208 0000202D */ daddu $a0, $zero, $zero /* 03660C 8005B20C 8E020000 */ lw $v0, ($s0) /* 036610 8005B210 0200282D */ daddu $a1, $s0, $zero -/* 036614 8005B214 0C016C8F */ jal func_8005B23C +/* 036614 8005B214 0C016C8F */ jal load_hit_data /* 036618 8005B218 AE420004 */ sw $v0, 4($s2) -/* 03661C 8005B21C 0C00AB4B */ jal func_8002AD2C +/* 03661C 8005B21C 0C00AB4B */ jal heap_free /* 036620 8005B220 0200202D */ daddu $a0, $s0, $zero func_8005B224: /* 036624 8005B224 8FBF0024 */ lw $ra, 0x24($sp) @@ -256,7 +257,7 @@ func_8005B224: /* 036634 8005B234 03E00008 */ jr $ra /* 036638 8005B238 27BD0028 */ addiu $sp, $sp, 0x28 -func_8005B23C: +load_hit_data: /* 03663C 8005B23C 27BDFF90 */ addiu $sp, $sp, -0x70 /* 036640 8005B240 AFB60038 */ sw $s6, 0x38($sp) /* 036644 8005B244 0000B02D */ daddu $s6, $zero, $zero @@ -276,7 +277,7 @@ func_8005B23C: /* 03667C 8005B27C F7B60050 */ sdc1 $f22, 0x50($sp) /* 036680 8005B280 F7B40048 */ sdc1 $f20, 0x48($sp) /* 036684 8005B284 AFA40070 */ sw $a0, 0x70($sp) -/* 036688 8005B288 0C016AFA */ jal func_8005ABE8 +/* 036688 8005B288 0C016AFA */ jal get_current_map_header /* 03668C 8005B28C AFA50074 */ sw $a1, 0x74($sp) /* 036690 8005B290 8FA80070 */ lw $t0, 0x70($sp) /* 036694 8005B294 11000006 */ beqz $t0, .L8005B2B0 @@ -312,7 +313,7 @@ func_8005B2F0: /* 0366F4 8005B2F4 8FA80074 */ lw $t0, 0x74($sp) /* 0366F8 8005B2F8 86C40010 */ lh $a0, 0x10($s6) /* 0366FC 8005B2FC 01028021 */ addu $s0, $t0, $v0 -/* 036700 8005B300 0C00AB6C */ jal func_8002ADB0 +/* 036700 8005B300 0C00AB6C */ jal collision_heap_malloc /* 036704 8005B304 00042080 */ sll $a0, $a0, 2 /* 036708 8005B308 AFC20008 */ sw $v0, 8($fp) /* 03670C 8005B30C 86C30010 */ lh $v1, 0x10($s6) @@ -335,7 +336,7 @@ func_8005B2F0: /* 036748 8005B348 01028021 */ addu $s0, $t0, $v0 /* 03674C 8005B34C 00032040 */ sll $a0, $v1, 1 /* 036750 8005B350 00832021 */ addu $a0, $a0, $v1 -/* 036754 8005B354 0C00AB6C */ jal func_8002ADB0 +/* 036754 8005B354 0C00AB6C */ jal collision_heap_malloc /* 036758 8005B358 00042080 */ sll $a0, $a0, 2 /* 03675C 8005B35C AFC20000 */ sw $v0, ($fp) /* 036760 8005B360 86C30008 */ lh $v1, 8($s6) @@ -375,7 +376,7 @@ func_8005B2F0: /* 0367E0 8005B3E0 000320C0 */ sll $a0, $v1, 3 /* 0367E4 8005B3E4 00832023 */ subu $a0, $a0, $v1 /* 0367E8 8005B3E8 00042080 */ sll $a0, $a0, 2 -/* 0367EC 8005B3EC 0C00AB6C */ jal func_8002ADB0 +/* 0367EC 8005B3EC 0C00AB6C */ jal collision_heap_malloc /* 0367F0 8005B3F0 AFA20010 */ sw $v0, 0x10($sp) /* 0367F4 8005B3F4 AFC20004 */ sw $v0, 4($fp) /* 0367F8 8005B3F8 96C30000 */ lhu $v1, ($s6) @@ -403,7 +404,7 @@ func_8005B2F0: /* 03684C 8005B44C 2673000C */ addiu $s3, $s3, 0xc /* 036850 8005B450 86640000 */ lh $a0, ($s3) /* 036854 8005B454 AFA70018 */ sw $a3, 0x18($sp) -/* 036858 8005B458 0C00AB6C */ jal func_8002ADB0 +/* 036858 8005B458 0C00AB6C */ jal collision_heap_malloc /* 03685C 8005B45C 00042180 */ sll $a0, $a0, 6 /* 036860 8005B460 0040B82D */ daddu $s7, $v0, $zero /* 036864 8005B464 AE57FFFC */ sw $s7, -4($s2) @@ -618,7 +619,7 @@ func_8005B6D4: /* 036B78 8005B778 03E00008 */ jr $ra /* 036B7C 8005B77C 27BD0070 */ addiu $sp, $sp, 0x70 -func_8005B780: +parent_collider_to_model: /* 036B80 8005B780 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 036B84 8005B784 00042400 */ sll $a0, $a0, 0x10 /* 036B88 8005B788 00042403 */ sra $a0, $a0, 0x10 @@ -645,7 +646,7 @@ func_8005B780: /* 036BDC 8005B7DC 8E820000 */ lw $v0, ($s4) /* 036BE0 8005B7E0 00042080 */ sll $a0, $a0, 2 /* 036BE4 8005B7E4 00431025 */ or $v0, $v0, $v1 -/* 036BE8 8005B7E8 0C00AB6C */ jal func_8002ADB0 +/* 036BE8 8005B7E8 0C00AB6C */ jal collision_heap_malloc /* 036BEC 8005B7EC AE820000 */ sw $v0, ($s4) /* 036BF0 8005B7F0 0040A82D */ daddu $s5, $v0, $zero /* 036BF4 8005B7F4 8E91000C */ lw $s1, 0xc($s4) @@ -660,15 +661,15 @@ func_8005B780: /* 036C14 8005B814 0240302D */ daddu $a2, $s2, $zero /* 036C18 8005B818 26730001 */ addiu $s3, $s3, 1 /* 036C1C 8005B81C 8E250000 */ lw $a1, ($s1) -/* 036C20 8005B820 0C016E68 */ jal func_8005B9A0 +/* 036C20 8005B820 0C016E68 */ jal _add_hit_vert_to_buffer /* 036C24 8005B824 26310040 */ addiu $s1, $s1, 0x40 /* 036C28 8005B828 02A0202D */ daddu $a0, $s5, $zero /* 036C2C 8005B82C 8E05FFFC */ lw $a1, -4($s0) -/* 036C30 8005B830 0C016E68 */ jal func_8005B9A0 +/* 036C30 8005B830 0C016E68 */ jal _add_hit_vert_to_buffer /* 036C34 8005B834 0240302D */ daddu $a2, $s2, $zero /* 036C38 8005B838 02A0202D */ daddu $a0, $s5, $zero /* 036C3C 8005B83C 8E050000 */ lw $a1, ($s0) -/* 036C40 8005B840 0C016E68 */ jal func_8005B9A0 +/* 036C40 8005B840 0C016E68 */ jal _add_hit_vert_to_buffer /* 036C44 8005B844 0240302D */ daddu $a2, $s2, $zero /* 036C48 8005B848 8682000A */ lh $v0, 0xa($s4) /* 036C4C 8005B84C 0262102A */ slt $v0, $s3, $v0 @@ -681,7 +682,7 @@ func_8005B780: /* 036C64 8005B864 00822021 */ addu $a0, $a0, $v0 /* 036C68 8005B868 97A20012 */ lhu $v0, 0x12($sp) /* 036C6C 8005B86C 000420C0 */ sll $a0, $a0, 3 -/* 036C70 8005B870 0C00AB6C */ jal func_8002ADB0 +/* 036C70 8005B870 0C00AB6C */ jal collision_heap_malloc /* 036C74 8005B874 A6820014 */ sh $v0, 0x14($s4) /* 036C78 8005B878 8FA30010 */ lw $v1, 0x10($sp) /* 036C7C 8005B87C 0040902D */ daddu $s2, $v0, $zero @@ -718,7 +719,7 @@ func_8005B780: /* 036CEC 8005B8EC 02A0202D */ daddu $a0, $s5, $zero /* 036CF0 8005B8F0 02C0302D */ daddu $a2, $s6, $zero /* 036CF4 8005B8F4 8E250000 */ lw $a1, ($s1) -/* 036CF8 8005B8F8 0C016E7D */ jal func_8005B9F4 +/* 036CF8 8005B8F8 0C016E7D */ jal _get_hit_vert_index_from_buffer /* 036CFC 8005B8FC 26730001 */ addiu $s3, $s3, 1 /* 036D00 8005B900 02A0202D */ daddu $a0, $s5, $zero /* 036D04 8005B904 02C0302D */ daddu $a2, $s6, $zero @@ -728,7 +729,7 @@ func_8005B780: /* 036D14 8005B914 02431821 */ addu $v1, $s2, $v1 /* 036D18 8005B918 AE230000 */ sw $v1, ($s1) /* 036D1C 8005B91C 8E05FFFC */ lw $a1, -4($s0) -/* 036D20 8005B920 0C016E7D */ jal func_8005B9F4 +/* 036D20 8005B920 0C016E7D */ jal _get_hit_vert_index_from_buffer /* 036D24 8005B924 26310040 */ addiu $s1, $s1, 0x40 /* 036D28 8005B928 02A0202D */ daddu $a0, $s5, $zero /* 036D2C 8005B92C 02C0302D */ daddu $a2, $s6, $zero @@ -737,7 +738,7 @@ func_8005B780: /* 036D38 8005B938 000318C0 */ sll $v1, $v1, 3 /* 036D3C 8005B93C 8E050000 */ lw $a1, ($s0) /* 036D40 8005B940 02431821 */ addu $v1, $s2, $v1 -/* 036D44 8005B944 0C016E7D */ jal func_8005B9F4 +/* 036D44 8005B944 0C016E7D */ jal _get_hit_vert_index_from_buffer /* 036D48 8005B948 AE03FFFC */ sw $v1, -4($s0) /* 036D4C 8005B94C 00021840 */ sll $v1, $v0, 1 /* 036D50 8005B950 00621821 */ addu $v1, $v1, $v0 @@ -749,7 +750,7 @@ func_8005B780: /* 036D68 8005B968 1440FFE0 */ bnez $v0, .L8005B8EC /* 036D6C 8005B96C 26100040 */ addiu $s0, $s0, 0x40 .L8005B970: -/* 036D70 8005B970 0C00AB7D */ jal func_8002ADF4 +/* 036D70 8005B970 0C00AB7D */ jal collision_heap_free /* 036D74 8005B974 02A0202D */ daddu $a0, $s5, $zero /* 036D78 8005B978 8FBF0034 */ lw $ra, 0x34($sp) /* 036D7C 8005B97C 8FB60030 */ lw $s6, 0x30($sp) @@ -762,7 +763,7 @@ func_8005B780: /* 036D98 8005B998 03E00008 */ jr $ra /* 036D9C 8005B99C 27BD0038 */ addiu $sp, $sp, 0x38 -func_8005B9A0: +_add_hit_vert_to_buffer: /* 036DA0 8005B9A0 8CC80000 */ lw $t0, ($a2) /* 036DA4 8005B9A4 19000009 */ blez $t0, .L8005B9CC /* 036DA8 8005B9A8 0000182D */ daddu $v1, $zero, $zero @@ -788,7 +789,7 @@ func_8005B9A0: /* 036DEC 8005B9EC 03E00008 */ jr $ra /* 036DF0 8005B9F0 00000000 */ nop -func_8005B9F4: +_get_hit_vert_index_from_buffer: /* 036DF4 8005B9F4 8CC60000 */ lw $a2, ($a2) /* 036DF8 8005B9F8 18C00008 */ blez $a2, .L8005BA1C /* 036DFC 8005B9FC 0000182D */ daddu $v1, $zero, $zero @@ -804,7 +805,7 @@ func_8005B9F4: /* 036E1C 8005BA1C 03E00008 */ jr $ra /* 036E20 8005BA20 0060102D */ daddu $v0, $v1, $zero -func_8005BA24: +update_collider_transform: /* 036E24 8005BA24 27BDFF58 */ addiu $sp, $sp, -0xa8 /* 036E28 8005BA28 00042400 */ sll $a0, $a0, 0x10 /* 036E2C 8005BA2C 00042403 */ sra $a0, $a0, 0x10 @@ -826,13 +827,13 @@ func_8005BA24: /* 036E6C 8005BA6C F7B60080 */ sdc1 $f22, 0x80($sp) /* 036E70 8005BA70 F7B40078 */ sdc1 $f20, 0x78($sp) /* 036E74 8005BA74 00629821 */ addu $s3, $v1, $v0 -/* 036E78 8005BA78 0C046B4C */ jal func_8011AD30 +/* 036E78 8005BA78 0C046B4C */ jal get_model_from_list_index /* 036E7C 8005BA7C 86640008 */ lh $a0, 8($s3) /* 036E80 8005BA80 0040802D */ daddu $s0, $v0, $zero /* 036E84 8005BA84 8E050004 */ lw $a1, 4($s0) /* 036E88 8005BA88 14A00005 */ bnez $a1, .L8005BAA0 /* 036E8C 8005BA8C 26040058 */ addiu $a0, $s0, 0x58 -/* 036E90 8005BA90 0C00A5C8 */ jal func_80029720 +/* 036E90 8005BA90 0C00A5C8 */ jal copy_matrix /* 036E94 8005BA94 27A50020 */ addiu $a1, $sp, 0x20 /* 036E98 8005BA98 08016EAF */ j func_8005BABC /* 036E9C 8005BA9C 0000902D */ daddu $s2, $zero, $zero @@ -1048,7 +1049,7 @@ func_8005BD34: /* 0371A0 8005BDA0 03E00008 */ jr $ra /* 0371A4 8005BDA4 27BD00A8 */ addiu $sp, $sp, 0xa8 -func_8005BDA8: +get_collider_type_by_id: /* 0371A8 8005BDA8 30824000 */ andi $v0, $a0, 0x4000 /* 0371AC 8005BDAC 14400008 */ bnez $v0, .L8005BDD0 /* 0371B0 8005BDB0 000410C0 */ sll $v0, $a0, 3 @@ -1080,7 +1081,7 @@ func_8005BDD8: /* 037208 8005BE08 03E00008 */ jr $ra /* 03720C 8005BE0C E4E00000 */ swc1 $f0, ($a3) -func_8005BE10: +get_collider_center: /* 037210 8005BE10 000410C0 */ sll $v0, $a0, 3 /* 037214 8005BE14 00441023 */ subu $v0, $v0, $a0 /* 037218 8005BE18 3C03800B */ lui $v1, 0x800b @@ -1111,7 +1112,7 @@ func_8005BE10: /* 03727C 8005BE7C 03E00008 */ jr $ra /* 037280 8005BE80 E4E00000 */ swc1 $f0, ($a3) -func_8005BE84: +test_ray_triangle_general: /* 037284 8005BE84 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 037288 8005BE88 F7BE0038 */ sdc1 $f30, 0x38($sp) /* 03728C 8005BE8C F7BC0030 */ sdc1 $f28, 0x30($sp) @@ -1509,7 +1510,7 @@ func_8005C350: /* 037894 8005C494 03E00008 */ jr $ra /* 037898 8005C498 27BD0040 */ addiu $sp, $sp, 0x40 -func_8005C49C: +test_down_ray_triangle: /* 03789C 8005C49C C4800030 */ lwc1 $f0, 0x30($a0) /* 0378A0 8005C4A0 44801000 */ mtc1 $zero, $f2 /* 0378A4 8005C4A4 00000000 */ nop @@ -1713,7 +1714,7 @@ func_8005C614: /* 037B9C 8005C79C 03E00008 */ jr $ra /* 037BA0 8005C7A0 24020001 */ addiu $v0, $zero, 1 -func_8005C7A4: +test_up_ray_triangle: /* 037BA4 8005C7A4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 037BA8 8005C7A8 F7BC0020 */ sdc1 $f28, 0x20($sp) /* 037BAC 8005C7AC F7BA0018 */ sdc1 $f26, 0x18($sp) @@ -2052,7 +2053,7 @@ func_8005CBB4: /* 0380C8 8005CCC8 03E00008 */ jr $ra /* 0380CC 8005CCCC 27BD0028 */ addiu $sp, $sp, 0x28 -func_8005CCD0: +test_ray_colliders: /* 0380D0 8005CCD0 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0380D4 8005CCD4 44854000 */ mtc1 $a1, $f8 /* 0380D8 8005CCD8 44866000 */ mtc1 $a2, $f12 @@ -2239,7 +2240,7 @@ func_8005CE68: /* 038380 8005CF80 0220202D */ daddu $a0, $s1, $zero .L8005CF84: /* 038384 8005CF84 8EA50000 */ lw $a1, ($s5) -/* 038388 8005CF88 0C017127 */ jal func_8005C49C +/* 038388 8005CF88 0C017127 */ jal test_down_ray_triangle /* 03838C 8005CF8C 26310040 */ addiu $s1, $s1, 0x40 /* 038390 8005CF90 54400001 */ bnezl $v0, .L8005CF98 /* 038394 8005CF94 0260A02D */ daddu $s4, $s3, $zero @@ -2267,7 +2268,7 @@ func_8005CE68: /* 0383E0 8005CFE0 0220202D */ daddu $a0, $s1, $zero .L8005CFE4: /* 0383E4 8005CFE4 8EA50000 */ lw $a1, ($s5) -/* 0383E8 8005CFE8 0C0171E9 */ jal func_8005C7A4 +/* 0383E8 8005CFE8 0C0171E9 */ jal test_up_ray_triangle /* 0383EC 8005CFEC 26310040 */ addiu $s1, $s1, 0x40 /* 0383F0 8005CFF0 54400001 */ bnezl $v0, .L8005CFF8 /* 0383F4 8005CFF4 0260A02D */ daddu $s4, $s3, $zero @@ -2287,7 +2288,7 @@ func_8005CE68: /* 038420 8005D020 0220202D */ daddu $a0, $s1, $zero .L8005D024: /* 038424 8005D024 8EA50000 */ lw $a1, ($s5) -/* 038428 8005D028 0C016FA1 */ jal func_8005BE84 +/* 038428 8005D028 0C016FA1 */ jal test_ray_triangle_general /* 03842C 8005D02C 26310040 */ addiu $s1, $s1, 0x40 /* 038430 8005D030 54400001 */ bnezl $v0, .L8005D038 /* 038434 8005D034 0260A02D */ daddu $s4, $s3, $zero @@ -2357,7 +2358,7 @@ func_8005D050: /* 03851C 8005D11C 03E00008 */ jr $ra /* 038520 8005D120 27BD0068 */ addiu $sp, $sp, 0x68 -func_8005D124: +test_ray_zones: /* 038524 8005D124 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 038528 8005D128 C7A00048 */ lwc1 $f0, 0x48($sp) /* 03852C 8005D12C C7A2004C */ lwc1 $f2, 0x4c($sp) @@ -2414,7 +2415,7 @@ func_8005D124: /* 0385F4 8005D1F4 0220202D */ daddu $a0, $s1, $zero .L8005D1F8: /* 0385F8 8005D1F8 8EA50000 */ lw $a1, ($s5) -/* 0385FC 8005D1FC 0C017127 */ jal func_8005C49C +/* 0385FC 8005D1FC 0C017127 */ jal test_down_ray_triangle /* 038600 8005D200 26310040 */ addiu $s1, $s1, 0x40 /* 038604 8005D204 54400001 */ bnezl $v0, .L8005D20C /* 038608 8005D208 0260B02D */ daddu $s6, $s3, $zero @@ -2475,6 +2476,7 @@ func_8005D124: /* 0386D4 8005D2D4 03E00008 */ jr $ra /* 0386D8 8005D2D8 27BD0038 */ addiu $sp, $sp, 0x38 +test_up_ray_collider: /* 0386DC 8005D2DC 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 0386E0 8005D2E0 F7B80040 */ sdc1 $f24, 0x40($sp) /* 0386E4 8005D2E4 4486C000 */ mtc1 $a2, $f24 @@ -2504,7 +2506,7 @@ func_8005D124: /* 038744 8005D344 AFBF0028 */ sw $ra, 0x28($sp) /* 038748 8005D348 AFB30024 */ sw $s3, 0x24($sp) /* 03874C 8005D34C AFB20020 */ sw $s2, 0x20($sp) -/* 038750 8005D350 0C00A82D */ jal func_8002A0B4 +/* 038750 8005D350 0C00A82D */ jal sin_cos_rad /* 038754 8005D354 46006303 */ div.s $f12, $f12, $f0 /* 038758 8005D358 3C13800B */ lui $s3, 0x800b /* 03875C 8005D35C 267342E0 */ addiu $s3, $s3, 0x42e0 @@ -2543,7 +2545,7 @@ func_8005D124: /* 0387E0 8005D3E0 0220202D */ daddu $a0, $s1, $zero .L8005D3E4: /* 0387E4 8005D3E4 8E650000 */ lw $a1, ($s3) -/* 0387E8 8005D3E8 0C0171E9 */ jal func_8005C7A4 +/* 0387E8 8005D3E8 0C0171E9 */ jal test_up_ray_triangle /* 0387EC 8005D3EC 26310040 */ addiu $s1, $s1, 0x40 /* 0387F0 8005D3F0 10400003 */ beqz $v0, .L8005D400 /* 0387F4 8005D3F4 00000000 */ nop @@ -2570,7 +2572,7 @@ func_8005D124: /* 038840 8005D440 03E00008 */ jr $ra /* 038844 8005D444 27BD0058 */ addiu $sp, $sp, 0x58 -func_8005D448: +test_ray_entities: /* 038848 8005D448 27BDFE60 */ addiu $sp, $sp, -0x1a0 /* 03884C 8005D44C 44800000 */ mtc1 $zero, $f0 /* 038850 8005D450 2409FFFF */ addiu $t1, $zero, -1 @@ -2641,7 +2643,7 @@ func_8005D51C: /* 038940 8005D540 3C01800A */ lui $at, 0x800a /* 038944 8005D544 E4204254 */ swc1 $f0, 0x4254($at) .L8005D548: -/* 038948 8005D548 0C04417A */ jal func_801105E8 +/* 038948 8005D548 0C04417A */ jal get_entity_by_index /* 03894C 8005D54C 03C0202D */ daddu $a0, $fp, $zero /* 038950 8005D550 0040882D */ daddu $s1, $v0, $zero /* 038954 8005D554 52200154 */ beql $s1, $zero, .L8005DAA8 @@ -2858,7 +2860,7 @@ func_8005D63C: /* 038C80 8005D880 E6400034 */ swc1 $f0, 0x34($s2) /* 038C84 8005D884 C6800008 */ lwc1 $f0, 8($s4) /* 038C88 8005D888 02E0282D */ daddu $a1, $s7, $zero -/* 038C8C 8005D88C 0C016FA1 */ jal func_8005BE84 +/* 038C8C 8005D88C 0C016FA1 */ jal test_ray_triangle_general /* 038C90 8005D890 E6400038 */ swc1 $f0, 0x38($s2) /* 038C94 8005D894 0040182D */ daddu $v1, $v0, $zero /* 038C98 8005D898 14600008 */ bnez $v1, .L8005D8BC @@ -3038,7 +3040,7 @@ func_8005D93C: /* 038F18 8005DB18 AFB00010 */ sw $s0, 0x10($sp) /* 038F1C 8005DB1C 8E420148 */ lw $v0, 0x148($s2) /* 038F20 8005DB20 84440008 */ lh $a0, 8($v0) -/* 038F24 8005DB24 0C00EABB */ jal func_8003AAEC +/* 038F24 8005DB24 0C00EABB */ jal get_npc_unsafe /* 038F28 8005DB28 00A0802D */ daddu $s0, $a1, $zero /* 038F2C 8005DB2C 3C138011 */ lui $s3, 0x8011 /* 038F30 8005DB30 2673EFC8 */ addiu $s3, $s3, -0x1038 @@ -3057,22 +3059,22 @@ func_8005D93C: .L8005DB5C: /* 038F5C 8005DB5C 0240202D */ daddu $a0, $s2, $zero /* 038F60 8005DB60 3C05FE36 */ lui $a1, 0xfe36 -/* 038F64 8005DB64 0C0B210B */ jal func_802C842C +/* 038F64 8005DB64 0C0B210B */ jal get_float_variable /* 038F68 8005DB68 34A53C80 */ ori $a1, $a1, 0x3c80 /* 038F6C 8005DB6C 0240202D */ daddu $a0, $s2, $zero /* 038F70 8005DB70 3C05FE36 */ lui $a1, 0xfe36 /* 038F74 8005DB74 34A53C81 */ ori $a1, $a1, 0x3c81 -/* 038F78 8005DB78 0C0B1EAF */ jal func_802C7ABC +/* 038F78 8005DB78 0C0B1EAF */ jal get_variable /* 038F7C 8005DB7C E6200010 */ swc1 $f0, 0x10($s1) /* 038F80 8005DB80 0240202D */ daddu $a0, $s2, $zero /* 038F84 8005DB84 3C05FE36 */ lui $a1, 0xfe36 /* 038F88 8005DB88 34A53C82 */ ori $a1, $a1, 0x3c82 -/* 038F8C 8005DB8C 0C0B1EAF */ jal func_802C7ABC +/* 038F8C 8005DB8C 0C0B1EAF */ jal get_variable /* 038F90 8005DB90 A622008E */ sh $v0, 0x8e($s1) /* 038F94 8005DB94 0240202D */ daddu $a0, $s2, $zero /* 038F98 8005DB98 3C05FE36 */ lui $a1, 0xfe36 /* 038F9C 8005DB9C 34A53C83 */ ori $a1, $a1, 0x3c83 -/* 038FA0 8005DBA0 0C0B1EAF */ jal func_802C7ABC +/* 038FA0 8005DBA0 0C0B1EAF */ jal get_variable /* 038FA4 8005DBA4 AE420074 */ sw $v0, 0x74($s2) /* 038FA8 8005DBA8 00021FC2 */ srl $v1, $v0, 0x1f /* 038FAC 8005DBAC 00621821 */ addu $v1, $v1, $v0 @@ -3134,7 +3136,7 @@ func_8005D93C: /* 039078 8005DC78 C62C0038 */ lwc1 $f12, 0x38($s1) /* 03907C 8005DC7C C62E0040 */ lwc1 $f14, 0x40($s1) /* 039080 8005DC80 8E660028 */ lw $a2, 0x28($s3) -/* 039084 8005DC84 0C00A720 */ jal func_80029C80 +/* 039084 8005DC84 0C00A720 */ jal atan2 /* 039088 8005DC88 8E670030 */ lw $a3, 0x30($s3) /* 03908C 8005DC8C 8E430074 */ lw $v1, 0x74($s2) /* 039090 8005DC90 2402FFFF */ addiu $v0, $zero, -1 @@ -3147,7 +3149,7 @@ func_8005D93C: /* 0390A4 8005DCA4 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0390A8 8005DCA8 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0390AC 8005DCAC 8E660028 */ lw $a2, 0x28($s3) -/* 0390B0 8005DCB0 0C00A7B5 */ jal func_80029ED4 +/* 0390B0 8005DCB0 0C00A7B5 */ jal dist2D /* 0390B4 8005DCB4 8E670030 */ lw $a3, 0x30($s3) /* 0390B8 8005DCB8 C6220010 */ lwc1 $f2, 0x10($s1) /* 0390BC 8005DCBC 4602003E */ c.le.s $f0, $f2 @@ -3157,7 +3159,7 @@ func_8005D93C: /* 0390CC 8005DCCC C62C0038 */ lwc1 $f12, 0x38($s1) /* 0390D0 8005DCD0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0390D4 8005DCD4 8E660028 */ lw $a2, 0x28($s3) -/* 0390D8 8005DCD8 0C00A720 */ jal func_80029C80 +/* 0390D8 8005DCD8 0C00A720 */ jal atan2 /* 0390DC 8005DCDC 8E670030 */ lw $a3, 0x30($s3) /* 0390E0 8005DCE0 8E430074 */ lw $v1, 0x74($s2) /* 0390E4 8005DCE4 2402FFFF */ addiu $v0, $zero, -1 @@ -3173,7 +3175,7 @@ func_8005DCF8: /* 0390FC 8005DCFC 00000000 */ nop /* 039100 8005DD00 46806320 */ cvt.s.w $f12, $f12 func_8005DD04: -/* 039104 8005DD04 0C00A70A */ jal func_80029C28 +/* 039104 8005DD04 0C00A70A */ jal get_clamped_angle_diff /* 039108 8005DD08 46000386 */ mov.s $f14, $f0 /* 03910C 8005DD0C C6420078 */ lwc1 $f2, 0x78($s2) /* 039110 8005DD10 468010A0 */ cvt.s.w $f2, $f2 @@ -3204,7 +3206,7 @@ func_8005DD38: /* 03915C 8005DD5C 0080802D */ daddu $s0, $a0, $zero /* 039160 8005DD60 AFBF0014 */ sw $ra, 0x14($sp) /* 039164 8005DD64 C60C0084 */ lwc1 $f12, 0x84($s0) -/* 039168 8005DD68 0C00A6C9 */ jal func_80029B24 +/* 039168 8005DD68 0C00A6C9 */ jal clamp_angle /* 03916C 8005DD6C 46806320 */ cvt.s.w $f12, $f12 /* 039170 8005DD70 3C014334 */ lui $at, 0x4334 /* 039174 8005DD74 44811000 */ mtc1 $at, $f2 diff --git a/papermario/asm/code_39210_len_aa0.s b/papermario/asm/code_39210_len_aa0.s index f3c5850ee8..1409f5dff6 100644 --- a/papermario/asm/code_39210_len_aa0.s +++ b/papermario/asm/code_39210_len_aa0.s @@ -1,7 +1,7 @@ .section .text8005DE10, "ax" -func_8005DE10: +get_npc_pos: /* 039210 8005DE10 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 039214 8005DE14 AFB00010 */ sw $s0, 0x10($sp) /* 039218 8005DE18 00A0802D */ daddu $s0, $a1, $zero @@ -31,7 +31,7 @@ func_8005DE10: /* 039278 8005DE78 30420006 */ andi $v0, $v0, 6 .L8005DE7C: -/* 03927C 8005DE7C 0C00EABB */ jal func_8003AAEC +/* 03927C 8005DE7C 0C00EABB */ jal get_npc_unsafe /* 039280 8005DE80 00000000 */ nop /* 039284 8005DE84 C4400038 */ lwc1 $f0, 0x38($v0) /* 039288 8005DE88 E6000000 */ swc1 $f0, ($s0) @@ -65,7 +65,7 @@ func_8005DEA4: /* 0392EC 8005DEEC 4487A000 */ mtc1 $a3, $f20 /* 0392F0 8005DEF0 240402A4 */ addiu $a0, $zero, 0x2a4 /* 0392F4 8005DEF4 AFBF0020 */ sw $ra, 0x20($sp) -/* 0392F8 8005DEF8 0C00AB39 */ jal func_8002ACE4 +/* 0392F8 8005DEF8 0C00AB39 */ jal heap_malloc /* 0392FC 8005DEFC AFB00010 */ sw $s0, 0x10($sp) /* 039300 8005DF00 0040202D */ daddu $a0, $v0, $zero /* 039304 8005DF04 3C108011 */ lui $s0, 0x8011 @@ -138,7 +138,7 @@ func_8005DF14: /* 0393FC 8005DFFC 27A20024 */ addiu $v0, $sp, 0x24 /* 039400 8005E000 AFA20010 */ sw $v0, 0x10($sp) /* 039404 8005E004 8E24028C */ lw $a0, 0x28c($s1) -/* 039408 8005E008 0C017784 */ jal func_8005DE10 +/* 039408 8005E008 0C017784 */ jal get_npc_pos /* 03940C 8005E00C 27A50018 */ addiu $a1, $sp, 0x18 /* 039410 8005E010 8E220280 */ lw $v0, 0x280($s1) /* 039414 8005E014 00021100 */ sll $v0, $v0, 4 @@ -155,7 +155,7 @@ func_8005DF14: /* 03943C 8005E03C 8FA60018 */ lw $a2, 0x18($sp) /* 039440 8005E040 8FA70020 */ lw $a3, 0x20($sp) /* 039444 8005E044 C64C0038 */ lwc1 $f12, 0x38($s2) -/* 039448 8005E048 0C00A7B5 */ jal func_80029ED4 +/* 039448 8005E048 0C00A7B5 */ jal dist2D /* 03944C 8005E04C C64E0040 */ lwc1 $f14, 0x40($s2) /* 039450 8005E050 C622029C */ lwc1 $f2, 0x29c($s1) /* 039454 8005E054 4602003E */ c.le.s $f0, $f2 @@ -233,7 +233,7 @@ func_8005DF14: /* 039560 8005E160 27A20024 */ addiu $v0, $sp, 0x24 /* 039564 8005E164 AFA20010 */ sw $v0, 0x10($sp) /* 039568 8005E168 8E24028C */ lw $a0, 0x28c($s1) -/* 03956C 8005E16C 0C017784 */ jal func_8005DE10 +/* 03956C 8005E16C 0C017784 */ jal get_npc_pos /* 039570 8005E170 27A70020 */ addiu $a3, $sp, 0x20 /* 039574 8005E174 8E230288 */ lw $v1, 0x288($s1) /* 039578 8005E178 24020001 */ addiu $v0, $zero, 1 @@ -287,7 +287,7 @@ func_8005DF14: /* 039618 8005E218 E7A00028 */ swc1 $f0, 0x28($sp) /* 03961C 8005E21C E7A2002C */ swc1 $f2, 0x2c($sp) /* 039620 8005E220 E7A40030 */ swc1 $f4, 0x30($sp) -/* 039624 8005E224 0C00A7B5 */ jal func_80029ED4 +/* 039624 8005E224 0C00A7B5 */ jal dist2D /* 039628 8005E228 E6460018 */ swc1 $f6, 0x18($s2) /* 03962C 8005E22C C62202A0 */ lwc1 $f2, 0x2a0($s1) /* 039630 8005E230 4600103E */ c.le.s $f2, $f0 @@ -311,13 +311,13 @@ func_8005DF14: /* 039670 8005E270 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 039674 8005E274 4406B000 */ mfc1 $a2, $f22 /* 039678 8005E278 4407A000 */ mfc1 $a3, $f20 -/* 03967C 8005E27C 0C00A7B5 */ jal func_80029ED4 +/* 03967C 8005E27C 0C00A7B5 */ jal dist2D /* 039680 8005E280 00000000 */ nop /* 039684 8005E284 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 039688 8005E288 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 03968C 8005E28C 4406B000 */ mfc1 $a2, $f22 /* 039690 8005E290 4407A000 */ mfc1 $a3, $f20 -/* 039694 8005E294 0C00A720 */ jal func_80029C80 +/* 039694 8005E294 0C00A720 */ jal atan2 /* 039698 8005E298 E7A00034 */ swc1 $f0, 0x34($sp) /* 03969C 8005E29C C6440018 */ lwc1 $f4, 0x18($s2) /* 0396A0 8005E2A0 C7A20034 */ lwc1 $f2, 0x34($sp) @@ -328,7 +328,7 @@ func_8005DF14: /* 0396B4 8005E2B4 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 0396B8 8005E2B8 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 0396BC 8005E2BC 8FA60018 */ lw $a2, 0x18($sp) -/* 0396C0 8005E2C0 0C00A7B5 */ jal func_80029ED4 +/* 0396C0 8005E2C0 0C00A7B5 */ jal dist2D /* 0396C4 8005E2C4 8FA70020 */ lw $a3, 0x20($sp) /* 0396C8 8005E2C8 E7A00034 */ swc1 $f0, 0x34($sp) /* 0396CC 8005E2CC C62202A0 */ lwc1 $f2, 0x2a0($s1) @@ -365,7 +365,7 @@ func_8005DF14: /* 039740 8005E340 C64C0038 */ lwc1 $f12, 0x38($s2) /* 039744 8005E344 C64E0040 */ lwc1 $f14, 0x40($s2) /* 039748 8005E348 8FA60018 */ lw $a2, 0x18($sp) -/* 03974C 8005E34C 0C00A7B5 */ jal func_80029ED4 +/* 03974C 8005E34C 0C00A7B5 */ jal dist2D /* 039750 8005E350 8FA70020 */ lw $a3, 0x20($sp) /* 039754 8005E354 C622029C */ lwc1 $f2, 0x29c($s1) /* 039758 8005E358 4602003E */ c.le.s $f0, $f2 @@ -410,7 +410,7 @@ func_8005E3B4: /* 0397E0 8005E3E0 8E450018 */ lw $a1, 0x18($s2) /* 0397E4 8005E3E4 4406C000 */ mfc1 $a2, $f24 /* 0397E8 8005E3E8 0240202D */ daddu $a0, $s2, $zero -/* 0397EC 8005E3EC 0C00EA95 */ jal func_8003AA54 +/* 0397EC 8005E3EC 0C00EA95 */ jal npc_move_heading /* 0397F0 8005E3F0 AE46000C */ sw $a2, 0xc($s2) /* 0397F4 8005E3F4 8E420000 */ lw $v0, ($s2) /* 0397F8 8005E3F8 24035000 */ addiu $v1, $zero, 0x5000 @@ -448,13 +448,13 @@ func_8005E3B4: /* 03986C 8005E46C C6200298 */ lwc1 $f0, 0x298($s1) /* 039870 8005E470 4406B000 */ mfc1 $a2, $f22 /* 039874 8005E474 4407A000 */ mfc1 $a3, $f20 -/* 039878 8005E478 0C00A7B5 */ jal func_80029ED4 +/* 039878 8005E478 0C00A7B5 */ jal dist2D /* 03987C 8005E47C E6400018 */ swc1 $f0, 0x18($s2) /* 039880 8005E480 C64C0038 */ lwc1 $f12, 0x38($s2) /* 039884 8005E484 C64E0040 */ lwc1 $f14, 0x40($s2) /* 039888 8005E488 8E460060 */ lw $a2, 0x60($s2) /* 03988C 8005E48C 8E470068 */ lw $a3, 0x68($s2) -/* 039890 8005E490 0C00A720 */ jal func_80029C80 +/* 039890 8005E490 0C00A720 */ jal atan2 /* 039894 8005E494 E6400010 */ swc1 $f0, 0x10($s2) /* 039898 8005E498 C6480010 */ lwc1 $f8, 0x10($s2) /* 03989C 8005E49C C6440064 */ lwc1 $f4, 0x64($s2) @@ -549,7 +549,7 @@ func_8005E3B4: .L8005E5E8: /* 0399E8 8005E5E8 8E450018 */ lw $a1, 0x18($s2) /* 0399EC 8005E5EC 8E46000C */ lw $a2, 0xc($s2) -/* 0399F0 8005E5F0 0C00EA95 */ jal func_8003AA54 +/* 0399F0 8005E5F0 0C00EA95 */ jal npc_move_heading /* 0399F4 8005E5F4 0240202D */ daddu $a0, $s2, $zero /* 0399F8 8005E5F8 C640001C */ lwc1 $f0, 0x1c($s2) /* 0399FC 8005E5FC 4616003E */ c.le.s $f0, $f22 @@ -603,7 +603,7 @@ func_8005E3B4: /* 039ABC 8005E6BC AE420000 */ sw $v0, ($s2) /* 039AC0 8005E6C0 AE430028 */ sw $v1, 0x28($s2) func_8005E6C4: -/* 039AC4 8005E6C4 0C00A720 */ jal func_80029C80 +/* 039AC4 8005E6C4 0C00A720 */ jal atan2 /* 039AC8 8005E6C8 00000000 */ nop /* 039ACC 8005E6CC E640000C */ swc1 $f0, 0xc($s2) /* 039AD0 8005E6D0 08017A20 */ j func_8005E880 @@ -624,7 +624,7 @@ func_8005E6C4: /* 039B04 8005E704 46007106 */ mov.s $f4, $f14 /* 039B08 8005E708 E7A00028 */ swc1 $f0, 0x28($sp) /* 039B0C 8005E70C E7A2002C */ swc1 $f2, 0x2c($sp) -/* 039B10 8005E710 0C00A7B5 */ jal func_80029ED4 +/* 039B10 8005E710 0C00A7B5 */ jal dist2D /* 039B14 8005E714 E7A40030 */ swc1 $f4, 0x30($sp) /* 039B18 8005E718 C622029C */ lwc1 $f2, 0x29c($s1) /* 039B1C 8005E71C 4602003E */ c.le.s $f0, $f2 @@ -641,16 +641,16 @@ func_8005E734: /* 039B44 8005E744 C64E0040 */ lwc1 $f14, 0x40($s2) /* 039B48 8005E748 4406B000 */ mfc1 $a2, $f22 /* 039B4C 8005E74C 4407A000 */ mfc1 $a3, $f20 -/* 039B50 8005E750 0C00A720 */ jal func_80029C80 +/* 039B50 8005E750 0C00A720 */ jal atan2 /* 039B54 8005E754 00000000 */ nop /* 039B58 8005E758 C64C0038 */ lwc1 $f12, 0x38($s2) /* 039B5C 8005E75C C64E0040 */ lwc1 $f14, 0x40($s2) /* 039B60 8005E760 8FA60018 */ lw $a2, 0x18($sp) /* 039B64 8005E764 8FA70020 */ lw $a3, 0x20($sp) -/* 039B68 8005E768 0C00A720 */ jal func_80029C80 +/* 039B68 8005E768 0C00A720 */ jal atan2 /* 039B6C 8005E76C 46000606 */ mov.s $f24, $f0 /* 039B70 8005E770 4600C306 */ mov.s $f12, $f24 -/* 039B74 8005E774 0C00A70A */ jal func_80029C28 +/* 039B74 8005E774 0C00A70A */ jal get_clamped_angle_diff /* 039B78 8005E778 46000386 */ mov.s $f14, $f0 /* 039B7C 8005E77C 46000005 */ abs.s $f0, $f0 /* 039B80 8005E780 461A003C */ c.lt.s $f0, $f26 @@ -691,16 +691,16 @@ func_8005E7E4: /* 039BF4 8005E7F4 C64E0040 */ lwc1 $f14, 0x40($s2) /* 039BF8 8005E7F8 4406B000 */ mfc1 $a2, $f22 /* 039BFC 8005E7FC 4407A000 */ mfc1 $a3, $f20 -/* 039C00 8005E800 0C00A720 */ jal func_80029C80 +/* 039C00 8005E800 0C00A720 */ jal atan2 /* 039C04 8005E804 00000000 */ nop /* 039C08 8005E808 C64C0038 */ lwc1 $f12, 0x38($s2) /* 039C0C 8005E80C C64E0040 */ lwc1 $f14, 0x40($s2) /* 039C10 8005E810 8FA60018 */ lw $a2, 0x18($sp) /* 039C14 8005E814 8FA70020 */ lw $a3, 0x20($sp) -/* 039C18 8005E818 0C00A720 */ jal func_80029C80 +/* 039C18 8005E818 0C00A720 */ jal atan2 /* 039C1C 8005E81C 46000606 */ mov.s $f24, $f0 /* 039C20 8005E820 4600C306 */ mov.s $f12, $f24 -/* 039C24 8005E824 0C00A70A */ jal func_80029C28 +/* 039C24 8005E824 0C00A70A */ jal get_clamped_angle_diff /* 039C28 8005E828 46000386 */ mov.s $f14, $f0 /* 039C2C 8005E82C 46000005 */ abs.s $f0, $f0 /* 039C30 8005E830 461A003C */ c.lt.s $f0, $f26 diff --git a/papermario/asm/code_39cb0_len_100.s b/papermario/asm/code_39cb0_len_100.s index fa74dcc995..4d142bd69b 100644 --- a/papermario/asm/code_39cb0_len_100.s +++ b/papermario/asm/code_39cb0_len_100.s @@ -1,6 +1,7 @@ .section .text8005E8B0, "ax" +nuBoot: /* 039CB0 8005E8B0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 039CB4 8005E8B4 AFBF001C */ sw $ra, 0x1c($sp) /* 039CB8 8005E8B8 0C01A9C2 */ jal osInitialize @@ -25,6 +26,7 @@ /* 039D04 8005E904 03E00008 */ jr $ra /* 039D08 8005E908 27BD0020 */ addiu $sp, $sp, 0x20 +boot_idle: /* 039D0C 8005E90C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 039D10 8005E910 AFBF001C */ sw $ra, 0x1c($sp) /* 039D14 8005E914 AFB00018 */ sw $s0, 0x18($sp) diff --git a/papermario/asm/code_3a850_le_a40.s b/papermario/asm/code_3a850_le_a40.s index 9aa6a82a6e..70f2a0587a 100644 --- a/papermario/asm/code_3a850_le_a40.s +++ b/papermario/asm/code_3a850_le_a40.s @@ -97,7 +97,7 @@ nuGfxInit: /* 03A9A4 8005F5A4 24423BA0 */ addiu $v0, $v0, 0x3ba0 /* 03A9A8 8005F5A8 3C01800A */ lui $at, 0x800a /* 03A9AC 8005F5AC AC22A610 */ sw $v0, -0x59f0($at) -/* 03A9B0 8005F5B0 0C00B2CE */ jal func_8002CB38 +/* 03A9B0 8005F5B0 0C00B2CE */ jal nuGfxTaskMgrInit /* 03A9B4 8005F5B4 00000000 */ nop /* 03A9B8 8005F5B8 27A40010 */ addiu $a0, $sp, 0x10 /* 03A9BC 8005F5BC 27A50028 */ addiu $a1, $sp, 0x28 @@ -114,7 +114,7 @@ nuGfxInit: /* 03A9E8 8005F5E8 00C0382D */ daddu $a3, $a2, $zero /* 03A9EC 8005F5EC AFA0001C */ sw $zero, 0x1c($sp) /* 03A9F0 8005F5F0 AFA20020 */ sw $v0, 0x20($sp) -/* 03A9F4 8005F5F4 0C00B331 */ jal func_8002CCC4 +/* 03A9F4 8005F5F4 0C00B331 */ jal nuGfxTaskStart /* 03A9F8 8005F5F8 AFA00024 */ sw $zero, 0x24($sp) /* 03A9FC 8005F5FC 0C017CB4 */ jal nuGfxTaskAllEndWait /* 03AA00 8005F600 00000000 */ nop @@ -125,7 +125,7 @@ nuGfxInit: nuContInit: /* 03AA10 8005F610 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 03AA14 8005F614 AFBF0014 */ sw $ra, 0x14($sp) -/* 03AA18 8005F618 0C00B38C */ jal func_8002CE30 +/* 03AA18 8005F618 0C00B38C */ jal nuSiMgrInit /* 03AA1C 8005F61C AFB00010 */ sw $s0, 0x10($sp) /* 03AA20 8005F620 0C018144 */ jal nuContMgrInit /* 03AA24 8005F624 0040802D */ daddu $s0, $v0, $zero diff --git a/papermario/asm/code_3b290_len_100.s b/papermario/asm/code_3b290_len_100.s index b04fded363..b2098059da 100644 --- a/papermario/asm/code_3b290_len_100.s +++ b/papermario/asm/code_3b290_len_100.s @@ -20,7 +20,7 @@ nuContRmbStart: /* 03B2CC 8005FECC A7A50010 */ sh $a1, 0x10($sp) /* 03B2D0 8005FED0 27A50020 */ addiu $a1, $sp, 0x20 /* 03B2D4 8005FED4 A7A60012 */ sh $a2, 0x12($sp) -/* 03B2D8 8005FED8 0C00B3CA */ jal func_8002CF28 +/* 03B2D8 8005FED8 0C00B3CA */ jal nuSiSendMesg /* 03B2DC 8005FEDC AFA20028 */ sw $v0, 0x28($sp) .L8005FEE0: /* 03B2E0 8005FEE0 8FBF0030 */ lw $ra, 0x30($sp) @@ -36,7 +36,7 @@ nuContRmbCheck: /* 03B300 8005FF00 27A50010 */ addiu $a1, $sp, 0x10 /* 03B304 8005FF04 AFBF0028 */ sw $ra, 0x28($sp) /* 03B308 8005FF08 AFB10024 */ sw $s1, 0x24($sp) -/* 03B30C 8005FF0C 0C00B3CA */ jal func_8002CF28 +/* 03B30C 8005FF0C 0C00B3CA */ jal nuSiSendMesg /* 03B310 8005FF10 A3B00010 */ sb $s0, 0x10($sp) /* 03B314 8005FF14 24040001 */ addiu $a0, $zero, 1 /* 03B318 8005FF18 0C018250 */ jal osSetIntMask diff --git a/papermario/asm/code_3b4a0_len_270.s b/papermario/asm/code_3b4a0_len_270.s index 7637f3e7a9..95251d668d 100644 --- a/papermario/asm/code_3b4a0_len_270.s +++ b/papermario/asm/code_3b4a0_len_270.s @@ -5,7 +5,7 @@ nuContRmbForceStop: /* 03B4A0 800600A0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 03B4A4 800600A4 24040304 */ addiu $a0, $zero, 0x304 /* 03B4A8 800600A8 AFBF0010 */ sw $ra, 0x10($sp) -/* 03B4AC 800600AC 0C00B3CA */ jal func_8002CF28 +/* 03B4AC 800600AC 0C00B3CA */ jal nuSiSendMesg /* 03B4B0 800600B0 0000282D */ daddu $a1, $zero, $zero /* 03B4B4 800600B4 8FBF0010 */ lw $ra, 0x10($sp) /* 03B4B8 800600B8 03E00008 */ jr $ra @@ -15,7 +15,7 @@ nuContRmbForceStopEnd: /* 03B4C0 800600C0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 03B4C4 800600C4 24040305 */ addiu $a0, $zero, 0x305 /* 03B4C8 800600C8 AFBF0010 */ sw $ra, 0x10($sp) -/* 03B4CC 800600CC 0C00B3CA */ jal func_8002CF28 +/* 03B4CC 800600CC 0C00B3CA */ jal nuSiSendMesg /* 03B4D0 800600D0 0000282D */ daddu $a1, $zero, $zero /* 03B4D4 800600D4 8FBF0010 */ lw $ra, 0x10($sp) /* 03B4D8 800600D8 03E00008 */ jr $ra diff --git a/papermario/asm/code_3bd20_len_c0.s b/papermario/asm/code_3bd20_len_c0.s index 957b027946..5213be2bd9 100644 --- a/papermario/asm/code_3bd20_len_c0.s +++ b/papermario/asm/code_3bd20_len_c0.s @@ -5,7 +5,7 @@ nuContQueryRead: /* 03BD20 80060920 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 03BD24 80060924 24040103 */ addiu $a0, $zero, 0x103 /* 03BD28 80060928 AFBF0010 */ sw $ra, 0x10($sp) -/* 03BD2C 8006092C 0C00B3CA */ jal func_8002CF28 +/* 03BD2C 8006092C 0C00B3CA */ jal nuSiSendMesg /* 03BD30 80060930 0000282D */ daddu $a1, $zero, $zero /* 03BD34 80060934 8FBF0010 */ lw $ra, 0x10($sp) /* 03BD38 80060938 03E00008 */ jr $ra diff --git a/papermario/asm/code_3bf0_len_6f0.s b/papermario/asm/code_3bf0_len_6f0.s index e8280446af..c401dfe122 100644 --- a/papermario/asm/code_3bf0_len_6f0.s +++ b/papermario/asm/code_3bf0_len_6f0.s @@ -38,7 +38,7 @@ func_80028838: /* 003C6C 8002886C 03E00008 */ jr $ra /* 003C70 80028870 27BD0018 */ addiu $sp, $sp, 0x18 -func_80028874: +update_input: /* 003C74 80028874 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 003C78 80028878 AFB20018 */ sw $s2, 0x18($sp) /* 003C7C 8002887C 3C128007 */ lui $s2, 0x8007 diff --git a/papermario/asm/code_3ed10_len_600.s b/papermario/asm/code_3ed10_len_600.s index 4054a9d104..62309a8efb 100644 --- a/papermario/asm/code_3ed10_len_600.s +++ b/papermario/asm/code_3ed10_len_600.s @@ -196,10 +196,10 @@ guPerspectiveF: /* 03EFEC 80063BEC 4481A000 */ mtc1 $at, $f20 /* 03EFF0 80063BF0 46200620 */ cvt.s.d $f24, $f0 /* 03EFF4 80063BF4 4614C503 */ div.s $f20, $f24, $f20 -/* 03EFF8 80063BF8 0C00A874 */ jal func_8002A1D0 +/* 03EFF8 80063BF8 0C00A874 */ jal cos_rad /* 03EFFC 80063BFC 4600A306 */ mov.s $f12, $f20 /* 03F000 80063C00 4600A306 */ mov.s $f12, $f20 -/* 03F004 80063C04 0C00A85B */ jal func_8002A16C +/* 03F004 80063C04 0C00A85B */ jal sin_rad /* 03F008 80063C08 46000506 */ mov.s $f20, $f0 /* 03F00C 80063C0C 4600A503 */ div.s $f20, $f20, $f0 /* 03F010 80063C10 461CD100 */ add.s $f4, $f26, $f28 @@ -315,10 +315,10 @@ guPerspective: /* 03F1A4 80063DA4 44810000 */ mtc1 $at, $f0 /* 03F1A8 80063DA8 4620A520 */ cvt.s.d $f20, $f20 /* 03F1AC 80063DAC 4600A503 */ div.s $f20, $f20, $f0 -/* 03F1B0 80063DB0 0C00A874 */ jal func_8002A1D0 +/* 03F1B0 80063DB0 0C00A874 */ jal cos_rad /* 03F1B4 80063DB4 4600A306 */ mov.s $f12, $f20 /* 03F1B8 80063DB8 4600A306 */ mov.s $f12, $f20 -/* 03F1BC 80063DBC 0C00A85B */ jal func_8002A16C +/* 03F1BC 80063DBC 0C00A85B */ jal sin_rad /* 03F1C0 80063DC0 46000506 */ mov.s $f20, $f0 /* 03F1C4 80063DC4 4600A503 */ div.s $f20, $f20, $f0 /* 03F1C8 80063DC8 461AC100 */ add.s $f4, $f24, $f26 diff --git a/papermario/asm/code_3f310_len_3c0.s b/papermario/asm/code_3f310_len_3c0.s index 86ff54dbc3..1545fd2e38 100644 --- a/papermario/asm/code_3f310_len_3c0.s +++ b/papermario/asm/code_3f310_len_3c0.s @@ -22,23 +22,23 @@ guPositionF: /* 03F354 80063F54 F7BA0038 */ sdc1 $f26, 0x38($sp) /* 03F358 80063F58 F7B80030 */ sdc1 $f24, 0x30($sp) /* 03F35C 80063F5C 46009602 */ mul.s $f24, $f18, $f0 -/* 03F360 80063F60 0C00A85B */ jal func_8002A16C +/* 03F360 80063F60 0C00A85B */ jal sin_rad /* 03F364 80063F64 4600A306 */ mov.s $f12, $f20 /* 03F368 80063F68 44110000 */ mfc1 $s1, $f0 /* 03F36C 80063F6C 00000000 */ nop -/* 03F370 80063F70 0C00A874 */ jal func_8002A1D0 +/* 03F370 80063F70 0C00A874 */ jal cos_rad /* 03F374 80063F74 4600A306 */ mov.s $f12, $f20 /* 03F378 80063F78 46000686 */ mov.s $f26, $f0 -/* 03F37C 80063F7C 0C00A85B */ jal func_8002A16C +/* 03F37C 80063F7C 0C00A85B */ jal sin_rad /* 03F380 80063F80 4600B306 */ mov.s $f12, $f22 /* 03F384 80063F84 4600B306 */ mov.s $f12, $f22 -/* 03F388 80063F88 0C00A874 */ jal func_8002A1D0 +/* 03F388 80063F88 0C00A874 */ jal cos_rad /* 03F38C 80063F8C 46000506 */ mov.s $f20, $f0 /* 03F390 80063F90 46000786 */ mov.s $f30, $f0 -/* 03F394 80063F94 0C00A85B */ jal func_8002A16C +/* 03F394 80063F94 0C00A85B */ jal sin_rad /* 03F398 80063F98 4600C306 */ mov.s $f12, $f24 /* 03F39C 80063F9C 4600C306 */ mov.s $f12, $f24 -/* 03F3A0 80063FA0 0C00A874 */ jal func_8002A1D0 +/* 03F3A0 80063FA0 0C00A874 */ jal cos_rad /* 03F3A4 80063FA4 46000586 */ mov.s $f22, $f0 /* 03F3A8 80063FA8 00000000 */ nop /* 03F3AC 80063FAC 4600F382 */ mul.s $f14, $f30, $f0 @@ -144,24 +144,24 @@ guPosition: /* 03F534 80064134 F7B60068 */ sdc1 $f22, 0x68($sp) /* 03F538 80064138 44109000 */ mfc1 $s0, $f18 /* 03F53C 8006413C 00000000 */ nop -/* 03F540 80064140 0C00A85B */ jal func_8002A16C +/* 03F540 80064140 0C00A85B */ jal sin_rad /* 03F544 80064144 4600A306 */ mov.s $f12, $f20 /* 03F548 80064148 4600A306 */ mov.s $f12, $f20 -/* 03F54C 8006414C 0C00A874 */ jal func_8002A1D0 +/* 03F54C 8006414C 0C00A874 */ jal cos_rad /* 03F550 80064150 46000786 */ mov.s $f30, $f0 /* 03F554 80064154 4600D306 */ mov.s $f12, $f26 -/* 03F558 80064158 0C00A85B */ jal func_8002A16C +/* 03F558 80064158 0C00A85B */ jal sin_rad /* 03F55C 8006415C 46000586 */ mov.s $f22, $f0 /* 03F560 80064160 4600D306 */ mov.s $f12, $f26 -/* 03F564 80064164 0C00A874 */ jal func_8002A1D0 +/* 03F564 80064164 0C00A874 */ jal cos_rad /* 03F568 80064168 46000506 */ mov.s $f20, $f0 /* 03F56C 8006416C 44906000 */ mtc1 $s0, $f12 /* 03F570 80064170 00000000 */ nop -/* 03F574 80064174 0C00A85B */ jal func_8002A16C +/* 03F574 80064174 0C00A85B */ jal sin_rad /* 03F578 80064178 46000706 */ mov.s $f28, $f0 /* 03F57C 8006417C 44906000 */ mtc1 $s0, $f12 /* 03F580 80064180 00000000 */ nop -/* 03F584 80064184 0C00A874 */ jal func_8002A1D0 +/* 03F584 80064184 0C00A874 */ jal cos_rad /* 03F588 80064188 46000686 */ mov.s $f26, $f0 /* 03F58C 8006418C 00000000 */ nop /* 03F590 80064190 4600E382 */ mul.s $f14, $f28, $f0 diff --git a/papermario/asm/code_3f6d0_len_320.s b/papermario/asm/code_3f6d0_len_320.s index be029a5569..c14a3b182b 100644 --- a/papermario/asm/code_3f6d0_len_320.s +++ b/papermario/asm/code_3f6d0_len_320.s @@ -21,23 +21,23 @@ guRotateAnglesF: /* 03F710 80064310 F7BA0040 */ sdc1 $f26, 0x40($sp) /* 03F714 80064314 F7B80038 */ sdc1 $f24, 0x38($sp) /* 03F718 80064318 46004602 */ mul.s $f24, $f8, $f0 -/* 03F71C 8006431C 0C00A85B */ jal func_8002A16C +/* 03F71C 8006431C 0C00A85B */ jal sin_rad /* 03F720 80064320 4600A306 */ mov.s $f12, $f20 /* 03F724 80064324 44110000 */ mfc1 $s1, $f0 /* 03F728 80064328 00000000 */ nop -/* 03F72C 8006432C 0C00A874 */ jal func_8002A1D0 +/* 03F72C 8006432C 0C00A874 */ jal cos_rad /* 03F730 80064330 4600A306 */ mov.s $f12, $f20 /* 03F734 80064334 46000786 */ mov.s $f30, $f0 -/* 03F738 80064338 0C00A85B */ jal func_8002A16C +/* 03F738 80064338 0C00A85B */ jal sin_rad /* 03F73C 8006433C 4600B306 */ mov.s $f12, $f22 /* 03F740 80064340 4600B306 */ mov.s $f12, $f22 -/* 03F744 80064344 0C00A874 */ jal func_8002A1D0 +/* 03F744 80064344 0C00A874 */ jal cos_rad /* 03F748 80064348 46000706 */ mov.s $f28, $f0 /* 03F74C 8006434C 46000686 */ mov.s $f26, $f0 -/* 03F750 80064350 0C00A85B */ jal func_8002A16C +/* 03F750 80064350 0C00A85B */ jal sin_rad /* 03F754 80064354 4600C306 */ mov.s $f12, $f24 /* 03F758 80064358 4600C306 */ mov.s $f12, $f24 -/* 03F75C 8006435C 0C00A874 */ jal func_8002A1D0 +/* 03F75C 8006435C 0C00A874 */ jal cos_rad /* 03F760 80064360 46000506 */ mov.s $f20, $f0 /* 03F764 80064364 46000586 */ mov.s $f22, $f0 /* 03F768 80064368 0C019D28 */ jal guMtxIdentF @@ -123,24 +123,24 @@ guRotateAngles: /* 03F8A0 800644A0 F7B80078 */ sdc1 $f24, 0x78($sp) /* 03F8A4 800644A4 44104000 */ mfc1 $s0, $f8 /* 03F8A8 800644A8 00000000 */ nop -/* 03F8AC 800644AC 0C00A85B */ jal func_8002A16C +/* 03F8AC 800644AC 0C00A85B */ jal sin_rad /* 03F8B0 800644B0 4600A306 */ mov.s $f12, $f20 /* 03F8B4 800644B4 4600A306 */ mov.s $f12, $f20 -/* 03F8B8 800644B8 0C00A874 */ jal func_8002A1D0 +/* 03F8B8 800644B8 0C00A874 */ jal cos_rad /* 03F8BC 800644BC 46000786 */ mov.s $f30, $f0 /* 03F8C0 800644C0 4600B306 */ mov.s $f12, $f22 -/* 03F8C4 800644C4 0C00A85B */ jal func_8002A16C +/* 03F8C4 800644C4 0C00A85B */ jal sin_rad /* 03F8C8 800644C8 46000706 */ mov.s $f28, $f0 /* 03F8CC 800644CC 4600B306 */ mov.s $f12, $f22 -/* 03F8D0 800644D0 0C00A874 */ jal func_8002A1D0 +/* 03F8D0 800644D0 0C00A874 */ jal cos_rad /* 03F8D4 800644D4 46000686 */ mov.s $f26, $f0 /* 03F8D8 800644D8 44906000 */ mtc1 $s0, $f12 /* 03F8DC 800644DC 00000000 */ nop -/* 03F8E0 800644E0 0C00A85B */ jal func_8002A16C +/* 03F8E0 800644E0 0C00A85B */ jal sin_rad /* 03F8E4 800644E4 46000606 */ mov.s $f24, $f0 /* 03F8E8 800644E8 44906000 */ mtc1 $s0, $f12 /* 03F8EC 800644EC 00000000 */ nop -/* 03F8F0 800644F0 0C00A874 */ jal func_8002A1D0 +/* 03F8F0 800644F0 0C00A874 */ jal cos_rad /* 03F8F4 800644F4 46000506 */ mov.s $f20, $f0 /* 03F8F8 800644F8 27B00010 */ addiu $s0, $sp, 0x10 /* 03F8FC 800644FC 02002021 */ addu $a0, $s0, $zero diff --git a/papermario/asm/code_42e0_len_1f60.s b/papermario/asm/code_42e0_len_1f60.s index f48a051ed6..d1f35c282b 100644 --- a/papermario/asm/code_42e0_len_1f60.s +++ b/papermario/asm/code_42e0_len_1f60.s @@ -1,7 +1,7 @@ .section .text80028EE0, "ax" -func_80028EE0: +poll_rumble: /* 0042E0 80028EE0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0042E4 80028EE4 AFBF0010 */ sw $ra, 0x10($sp) /* 0042E8 80028EE8 0C017FBC */ jal nuContRmbCheck @@ -13,7 +13,7 @@ func_80028EE0: /* 004300 80028F00 03E00008 */ jr $ra /* 004304 80028F04 27BD0018 */ addiu $sp, $sp, 0x18 -func_80028F08: +start_rumble: /* 004308 80028F08 3C028007 */ lui $v0, 0x8007 /* 00430C 80028F0C 8C42419C */ lw $v0, 0x419c($v0) /* 004310 80028F10 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -81,6 +81,7 @@ func_80028FE0: /* 0043E8 80028FE8 03E00008 */ jr $ra /* 0043EC 80028FEC A4224260 */ sh $v0, 0x4260($at) +length2D: /* 0043F0 80028FF0 460C6302 */ mul.s $f12, $f12, $f12 /* 0043F4 80028FF4 00000000 */ nop /* 0043F8 80028FF8 460E7382 */ mul.s $f14, $f14, $f14 @@ -99,7 +100,7 @@ func_80028FE0: /* 004428 80029028 03E00008 */ jr $ra /* 00442C 8002902C 27BD0018 */ addiu $sp, $sp, 0x18 -func_80029030: +_heap_create: /* 004430 80029030 2CA20020 */ sltiu $v0, $a1, 0x20 /* 004434 80029034 1440000B */ bnez $v0, .L80029064 /* 004438 80029038 2482000F */ addiu $v0, $a0, 0xf @@ -118,7 +119,7 @@ func_80029030: /* 004464 80029064 03E00008 */ jr $ra /* 004468 80029068 2402FFFF */ addiu $v0, $zero, -1 -func_8002906C: +_heap_malloc: /* 00446C 8002906C 24A5000F */ addiu $a1, $a1, 0xf /* 004470 80029070 2402FFF0 */ addiu $v0, $zero, -0x10 /* 004474 80029074 00A22824 */ and $a1, $a1, $v0 @@ -192,7 +193,7 @@ func_80029154: /* 00455C 8002915C 03E00008 */ jr $ra /* 004560 80029160 0000102D */ daddu $v0, $zero, $zero -func_80029164: +_heap_malloc_tail: /* 004564 80029164 24A5000F */ addiu $a1, $a1, 0xf /* 004568 80029168 2402FFF0 */ addiu $v0, $zero, -0x10 /* 00456C 8002916C 00A22824 */ and $a1, $a1, $v0 @@ -249,7 +250,7 @@ func_80029208: /* 004614 80029214 03E00008 */ jr $ra /* 004618 80029218 0000102D */ daddu $v0, $zero, $zero -func_8002921C: +_heap_free: /* 00461C 8002921C 14A00003 */ bnez $a1, .L8002922C /* 004620 80029220 00000000 */ nop .L80029224: @@ -302,7 +303,7 @@ func_8002926C: /* 0046BC 800292BC 03E00008 */ jr $ra /* 0046C0 800292C0 A4600008 */ sh $zero, 8($v1) -func_800292C4: +_heap_realloc: /* 0046C4 800292C4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0046C8 800292C8 AFB3001C */ sw $s3, 0x1c($sp) /* 0046CC 800292CC 0080982D */ daddu $s3, $a0, $zero @@ -334,7 +335,7 @@ func_800292C4: /* 004730 80029330 10400011 */ beqz $v0, .L80029378 /* 004734 80029334 0220182D */ daddu $v1, $s1, $zero /* 004738 80029338 0260202D */ daddu $a0, $s3, $zero -/* 00473C 8002933C 0C00A41B */ jal func_8002906C +/* 00473C 8002933C 0C00A41B */ jal _heap_malloc /* 004740 80029340 0200282D */ daddu $a1, $s0, $zero /* 004744 80029344 0040882D */ daddu $s1, $v0, $zero /* 004748 80029348 16200003 */ bnez $s1, .L80029358 @@ -348,7 +349,7 @@ func_800292C4: /* 00475C 8002935C 0C01929D */ jal memcpy /* 004760 80029360 0200302D */ daddu $a2, $s0, $zero /* 004764 80029364 0260202D */ daddu $a0, $s3, $zero -/* 004768 80029368 0C00A487 */ jal func_8002921C +/* 004768 80029368 0C00A487 */ jal _heap_free /* 00476C 8002936C 0240282D */ daddu $a1, $s2, $zero /* 004770 80029370 0800A4EE */ j func_800293B8 /* 004774 80029374 0220102D */ daddu $v0, $s1, $zero @@ -382,7 +383,7 @@ func_800293B8: /* 0047CC 800293CC 03E00008 */ jr $ra /* 0047D0 800293D0 27BD0028 */ addiu $sp, $sp, 0x28 -func_800293D4: +cosine: /* 0047D4 800293D4 3C06B60B */ lui $a2, 0xb60b /* 0047D8 800293D8 34C660B7 */ ori $a2, $a2, 0x60b7 /* 0047DC 800293DC 00042400 */ sll $a0, $a0, 0x10 @@ -443,6 +444,7 @@ func_800293D4: /* 0048A8 800294A8 03E00008 */ jr $ra /* 0048AC 800294AC 46000007 */ neg.s $f0, $f0 +sign: /* 0048B0 800294B0 04800002 */ bltz $a0, .L800294BC /* 0048B4 800294B4 2402FFFF */ addiu $v0, $zero, -1 /* 0048B8 800294B8 0004102A */ slt $v0, $zero, $a0 @@ -450,7 +452,7 @@ func_800293D4: /* 0048BC 800294BC 03E00008 */ jr $ra /* 0048C0 800294C0 00000000 */ nop -func_800294C4: +int_to_string: /* 0048C4 800294C4 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0048C8 800294C8 AFB7006C */ sw $s7, 0x6c($sp) /* 0048CC 800294CC 00C0B82D */ daddu $s7, $a2, $zero @@ -536,7 +538,7 @@ func_8002953C: /* 0049F8 800295F8 03E00008 */ jr $ra /* 0049FC 800295FC 27BD0078 */ addiu $sp, $sp, 0x78 -func_80029600: +mem_clear: /* 004A00 80029600 18A00005 */ blez $a1, .L80029618 /* 004A04 80029604 00000000 */ nop .L80029608: @@ -548,7 +550,7 @@ func_80029600: /* 004A18 80029618 03E00008 */ jr $ra /* 004A1C 8002961C 00000000 */ nop -func_80029620: +transform_point: /* 004A20 80029620 44853000 */ mtc1 $a1, $f6 /* 004A24 80029624 C4800000 */ lwc1 $f0, ($a0) /* 004A28 80029628 46060002 */ mul.s $f0, $f0, $f6 @@ -614,7 +616,7 @@ func_80029620: /* 004B18 80029718 03E00008 */ jr $ra /* 004B1C 8002971C E4C00000 */ swc1 $f0, ($a2) -func_80029720: +copy_matrix: /* 004B20 80029720 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 004B24 80029724 AFBF0010 */ sw $ra, 0x10($sp) /* 004B28 80029728 0C019194 */ jal bcopy @@ -623,7 +625,7 @@ func_80029720: /* 004B34 80029734 03E00008 */ jr $ra /* 004B38 80029738 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002973C: +dma_copy: /* 004B3C 8002973C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 004B40 80029740 AFB20018 */ sw $s2, 0x18($sp) /* 004B44 80029744 0080902D */ daddu $s2, $a0, $zero @@ -747,7 +749,7 @@ func_80029860: /* 004CF8 800298F8 03E00008 */ jr $ra /* 004CFC 800298FC 27BD0060 */ addiu $sp, $sp, 0x60 -func_80029900: +_advance_rng: /* 004D00 80029900 3C035D58 */ lui $v1, 0x5d58 /* 004D04 80029904 3C048007 */ lui $a0, 0x8007 /* 004D08 80029908 24844410 */ addiu $a0, $a0, 0x4410 @@ -765,7 +767,7 @@ func_80029900: func_80029934: /* 004D34 80029934 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 004D38 80029938 AFBF0010 */ sw $ra, 0x10($sp) -/* 004D3C 8002993C 0C00A640 */ jal func_80029900 +/* 004D3C 8002993C 0C00A640 */ jal _advance_rng /* 004D40 80029940 00000000 */ nop /* 004D44 80029944 30427FFF */ andi $v0, $v0, 0x7fff /* 004D48 80029948 44821000 */ mtc1 $v0, $f2 @@ -804,7 +806,7 @@ func_80029994: /* 004DBC 800299BC AFBF0018 */ sw $ra, 0x18($sp) /* 004DC0 800299C0 24100001 */ addiu $s0, $zero, 1 .L800299C4: -/* 004DC4 800299C4 0C00A640 */ jal func_80029900 +/* 004DC4 800299C4 0C00A640 */ jal _advance_rng /* 004DC8 800299C8 00000000 */ nop /* 004DCC 800299CC 16000002 */ bnez $s0, .L800299D8 /* 004DD0 800299D0 0050001B */ divu $zero, $v0, $s0 @@ -820,7 +822,7 @@ func_80029994: /* 004DF4 800299F4 03E00008 */ jr $ra /* 004DF8 800299F8 27BD0020 */ addiu $sp, $sp, 0x20 -func_800299FC: +rand_int: /* 004DFC 800299FC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 004E00 80029A00 AFBF0010 */ sw $ra, 0x10($sp) /* 004E04 80029A04 04820001 */ bltzl $a0, .L80029A0C @@ -861,6 +863,7 @@ func_80029A70: /* 004E74 80029A74 03E00008 */ jr $ra /* 004E78 80029A78 27BD0018 */ addiu $sp, $sp, 0x18 +signF: /* 004E7C 80029A7C 44801000 */ mtc1 $zero, $f2 /* 004E80 80029A80 00000000 */ nop /* 004E84 80029A84 460C103C */ c.lt.s $f2, $f12 @@ -883,7 +886,7 @@ func_80029A70: /* 004EBC 80029ABC 03E00008 */ jr $ra /* 004EC0 80029AC0 00000000 */ nop -func_80029AC4: +round: /* 004EC4 80029AC4 44800000 */ mtc1 $zero, $f0 /* 004EC8 80029AC8 00000000 */ nop /* 004ECC 80029ACC 460C003E */ c.le.s $f0, $f12 @@ -911,7 +914,7 @@ func_80029AC4: /* 004F1C 80029B1C 03E00008 */ jr $ra /* 004F20 80029B20 00021023 */ negu $v0, $v0 -func_80029B24: +clamp_angle: /* 004F24 80029B24 3C014561 */ lui $at, 0x4561 /* 004F28 80029B28 44811000 */ mtc1 $at, $f2 /* 004F2C 80029B2C 46006005 */ abs.s $f0, $f12 @@ -986,7 +989,7 @@ func_80029BC4: /* 005020 80029C20 03E00008 */ jr $ra /* 005024 80029C24 46006006 */ mov.s $f0, $f12 -func_80029C28: +get_clamped_angle_diff: /* 005028 80029C28 460C7001 */ sub.s $f0, $f14, $f12 /* 00502C 80029C2C 3C014334 */ lui $at, 0x4334 /* 005030 80029C30 44811000 */ mtc1 $at, $f2 @@ -1014,7 +1017,7 @@ func_80029C78: /* 005078 80029C78 03E00008 */ jr $ra /* 00507C 80029C7C 460C7001 */ sub.s $f0, $f14, $f12 -func_80029C80: +atan2: /* 005080 80029C80 44863000 */ mtc1 $a2, $f6 /* 005084 80029C84 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 005088 80029C88 F7BA0030 */ sdc1 $f26, 0x30($sp) @@ -1036,7 +1039,7 @@ func_80029C80: /* 0050C8 80029CC8 46040003 */ div.s $f0, $f0, $f4 /* 0050CC 80029CCC 46020502 */ mul.s $f20, $f0, $f2 /* 0050D0 80029CD0 00000000 */ nop -/* 0050D4 80029CD4 0C00A6B1 */ jal func_80029AC4 +/* 0050D4 80029CD4 0C00A6B1 */ jal round /* 0050D8 80029CD8 4614A300 */ add.s $f12, $f20, $f20 /* 0050DC 80029CDC 00021080 */ sll $v0, $v0, 2 /* 0050E0 80029CE0 3C018007 */ lui $at, 0x8007 @@ -1092,7 +1095,7 @@ func_80029C80: /* 005188 80029D88 00000000 */ nop /* 00518C 80029D8C 46020502 */ mul.s $f20, $f0, $f2 /* 005190 80029D90 00000000 */ nop -/* 005194 80029D94 0C00A6B1 */ jal func_80029AC4 +/* 005194 80029D94 0C00A6B1 */ jal round /* 005198 80029D98 4614A300 */ add.s $f12, $f20, $f20 /* 00519C 80029D9C 00021080 */ sll $v0, $v0, 2 /* 0051A0 80029DA0 3C018007 */ lui $at, 0x8007 @@ -1132,7 +1135,7 @@ func_80029E04: /* 005218 80029E18 03E00008 */ jr $ra /* 00521C 80029E1C 27BD0038 */ addiu $sp, $sp, 0x38 -func_80029E20: +get_player_normal_yaw: /* 005220 80029E20 44806000 */ mtc1 $zero, $f12 /* 005224 80029E24 3C028007 */ lui $v0, 0x8007 /* 005228 80029E28 8C42419C */ lw $v0, 0x419c($v0) @@ -1140,13 +1143,13 @@ func_80029E20: /* 005230 80029E30 AFBF0010 */ sw $ra, 0x10($sp) /* 005234 80029E34 8C460128 */ lw $a2, 0x128($v0) /* 005238 80029E38 8C470130 */ lw $a3, 0x130($v0) -/* 00523C 80029E3C 0C00A720 */ jal func_80029C80 +/* 00523C 80029E3C 0C00A720 */ jal atan2 /* 005240 80029E40 46006386 */ mov.s $f14, $f12 /* 005244 80029E44 8FBF0010 */ lw $ra, 0x10($sp) /* 005248 80029E48 03E00008 */ jr $ra /* 00524C 80029E4C 27BD0018 */ addiu $sp, $sp, 0x18 -func_80029E50: +get_player_normal_pitch: /* 005250 80029E50 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 005254 80029E54 AFB00010 */ sw $s0, 0x10($sp) /* 005258 80029E58 3C108007 */ lui $s0, 0x8007 @@ -1175,14 +1178,14 @@ func_80029E50: /* 0052B0 80029EB0 44062000 */ mfc1 $a2, $f4 /* 0052B4 80029EB4 46000007 */ neg.s $f0, $f0 /* 0052B8 80029EB8 44070000 */ mfc1 $a3, $f0 -/* 0052BC 80029EBC 0C00A720 */ jal func_80029C80 +/* 0052BC 80029EBC 0C00A720 */ jal atan2 /* 0052C0 80029EC0 46006386 */ mov.s $f14, $f12 /* 0052C4 80029EC4 8FBF0014 */ lw $ra, 0x14($sp) /* 0052C8 80029EC8 8FB00010 */ lw $s0, 0x10($sp) /* 0052CC 80029ECC 03E00008 */ jr $ra /* 0052D0 80029ED0 27BD0018 */ addiu $sp, $sp, 0x18 -func_80029ED4: +dist2D: /* 0052D4 80029ED4 44861000 */ mtc1 $a2, $f2 /* 0052D8 80029ED8 00000000 */ nop /* 0052DC 80029EDC 460C1301 */ sub.s $f12, $f2, $f12 @@ -1207,7 +1210,7 @@ func_80029ED4: /* 005324 80029F24 03E00008 */ jr $ra /* 005328 80029F28 27BD0018 */ addiu $sp, $sp, 0x18 -func_80029F2C: +dist3D: /* 00532C 80029F2C 44872000 */ mtc1 $a3, $f4 /* 005330 80029F30 00000000 */ nop /* 005334 80029F34 460C2301 */ sub.s $f12, $f4, $f12 @@ -1238,7 +1241,7 @@ func_80029F2C: /* 005394 80029F94 03E00008 */ jr $ra /* 005398 80029F98 27BD0018 */ addiu $sp, $sp, 0x18 -func_80029F9C: +add_vec2D_polar: /* 00539C 80029F9C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0053A0 80029FA0 AFB00018 */ sw $s0, 0x18($sp) /* 0053A4 80029FA4 0080802D */ daddu $s0, $a0, $zero @@ -1257,7 +1260,7 @@ func_80029F9C: /* 0053D8 80029FD8 44816000 */ mtc1 $at, $f12 /* 0053DC 80029FDC 27A60014 */ addiu $a2, $sp, 0x14 /* 0053E0 80029FE0 AFBF0020 */ sw $ra, 0x20($sp) -/* 0053E4 80029FE4 0C00A82D */ jal func_8002A0B4 +/* 0053E4 80029FE4 0C00A82D */ jal sin_cos_rad /* 0053E8 80029FE8 460C0303 */ div.s $f12, $f0, $f12 /* 0053EC 80029FEC C7A20010 */ lwc1 $f2, 0x10($sp) /* 0053F0 80029FF0 4602A082 */ mul.s $f2, $f20, $f2 @@ -1278,7 +1281,7 @@ func_80029F9C: /* 00542C 8002A02C 03E00008 */ jr $ra /* 005430 8002A030 27BD0030 */ addiu $sp, $sp, 0x30 -func_8002A034: +_wrap_trig_lookup_value: /* 005434 8002A034 3C014980 */ lui $at, 0x4980 /* 005438 8002A038 44812000 */ mtc1 $at, $f4 /* 00543C 8002A03C 00000000 */ nop @@ -1314,7 +1317,7 @@ func_8002A034: /* 0054AC 8002A0AC 03E00008 */ jr $ra /* 0054B0 8002A0B0 3042FFFF */ andi $v0, $v0, 0xffff -func_8002A0B4: +sin_cos_rad: /* 0054B4 8002A0B4 3C014622 */ lui $at, 0x4622 /* 0054B8 8002A0B8 3421F983 */ ori $at, $at, 0xf983 /* 0054BC 8002A0BC 44810000 */ mtc1 $at, $f0 @@ -1327,7 +1330,7 @@ func_8002A0B4: /* 0054D8 8002A0D8 AFBF001C */ sw $ra, 0x1c($sp) /* 0054DC 8002A0DC AFB00010 */ sw $s0, 0x10($sp) /* 0054E0 8002A0E0 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0054E4 8002A0E4 0C00A80D */ jal func_8002A034 +/* 0054E4 8002A0E4 0C00A80D */ jal _wrap_trig_lookup_value /* 0054E8 8002A0E8 00C0902D */ daddu $s2, $a2, $zero /* 0054EC 8002A0EC 3050FFFF */ andi $s0, $v0, 0xffff /* 0054F0 8002A0F0 0C01917C */ jal sins @@ -1362,7 +1365,7 @@ func_8002A0B4: /* 005564 8002A164 03E00008 */ jr $ra /* 005568 8002A168 27BD0028 */ addiu $sp, $sp, 0x28 -func_8002A16C: +sin_rad: /* 00556C 8002A16C 3C014622 */ lui $at, 0x4622 /* 005570 8002A170 3421F983 */ ori $at, $at, 0xf983 /* 005574 8002A174 44810000 */ mtc1 $at, $f0 @@ -1371,7 +1374,7 @@ func_8002A16C: /* 005580 8002A180 00000000 */ nop /* 005584 8002A184 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 005588 8002A188 AFBF0010 */ sw $ra, 0x10($sp) -/* 00558C 8002A18C 0C00A80D */ jal func_8002A034 +/* 00558C 8002A18C 0C00A80D */ jal _wrap_trig_lookup_value /* 005590 8002A190 00000000 */ nop /* 005594 8002A194 0C01917C */ jal sins /* 005598 8002A198 3044FFFF */ andi $a0, $v0, 0xffff @@ -1389,7 +1392,7 @@ func_8002A16C: /* 0055C8 8002A1C8 03E00008 */ jr $ra /* 0055CC 8002A1CC 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002A1D0: +cos_rad: /* 0055D0 8002A1D0 3C014622 */ lui $at, 0x4622 /* 0055D4 8002A1D4 3421F983 */ ori $at, $at, 0xf983 /* 0055D8 8002A1D8 44810000 */ mtc1 $at, $f0 @@ -1398,7 +1401,7 @@ func_8002A1D0: /* 0055E4 8002A1E4 00000000 */ nop /* 0055E8 8002A1E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0055EC 8002A1EC AFBF0010 */ sw $ra, 0x10($sp) -/* 0055F0 8002A1F0 0C00A80D */ jal func_8002A034 +/* 0055F0 8002A1F0 0C00A80D */ jal _wrap_trig_lookup_value /* 0055F4 8002A1F4 00000000 */ nop /* 0055F8 8002A1F8 0C0187C0 */ jal coss /* 0055FC 8002A1FC 3044FFFF */ andi $a0, $v0, 0xffff @@ -1416,7 +1419,7 @@ func_8002A1D0: /* 00562C 8002A22C 03E00008 */ jr $ra /* 005630 8002A230 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002A234: +sin_cos_deg: /* 005634 8002A234 3C014336 */ lui $at, 0x4336 /* 005638 8002A238 34210B61 */ ori $at, $at, 0xb61 /* 00563C 8002A23C 44810000 */ mtc1 $at, $f0 @@ -1429,7 +1432,7 @@ func_8002A234: /* 005658 8002A258 AFBF001C */ sw $ra, 0x1c($sp) /* 00565C 8002A25C AFB00010 */ sw $s0, 0x10($sp) /* 005660 8002A260 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 005664 8002A264 0C00A80D */ jal func_8002A034 +/* 005664 8002A264 0C00A80D */ jal _wrap_trig_lookup_value /* 005668 8002A268 00C0902D */ daddu $s2, $a2, $zero /* 00566C 8002A26C 3050FFFF */ andi $s0, $v0, 0xffff /* 005670 8002A270 0C01917C */ jal sins @@ -1464,7 +1467,7 @@ func_8002A234: /* 0056E4 8002A2E4 03E00008 */ jr $ra /* 0056E8 8002A2E8 27BD0028 */ addiu $sp, $sp, 0x28 -func_8002A2EC: +sin_deg: /* 0056EC 8002A2EC 3C014336 */ lui $at, 0x4336 /* 0056F0 8002A2F0 34210B61 */ ori $at, $at, 0xb61 /* 0056F4 8002A2F4 44810000 */ mtc1 $at, $f0 @@ -1473,7 +1476,7 @@ func_8002A2EC: /* 005700 8002A300 00000000 */ nop /* 005704 8002A304 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 005708 8002A308 AFBF0010 */ sw $ra, 0x10($sp) -/* 00570C 8002A30C 0C00A80D */ jal func_8002A034 +/* 00570C 8002A30C 0C00A80D */ jal _wrap_trig_lookup_value /* 005710 8002A310 00000000 */ nop /* 005714 8002A314 0C01917C */ jal sins /* 005718 8002A318 3044FFFF */ andi $a0, $v0, 0xffff @@ -1491,7 +1494,7 @@ func_8002A2EC: /* 005748 8002A348 03E00008 */ jr $ra /* 00574C 8002A34C 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002A350: +cos_deg: /* 005750 8002A350 3C014336 */ lui $at, 0x4336 /* 005754 8002A354 34210B61 */ ori $at, $at, 0xb61 /* 005758 8002A358 44810000 */ mtc1 $at, $f0 @@ -1500,7 +1503,7 @@ func_8002A350: /* 005764 8002A364 00000000 */ nop /* 005768 8002A368 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00576C 8002A36C AFBF0010 */ sw $ra, 0x10($sp) -/* 005770 8002A370 0C00A80D */ jal func_8002A034 +/* 005770 8002A370 0C00A80D */ jal _wrap_trig_lookup_value /* 005774 8002A374 00000000 */ nop /* 005778 8002A378 0C0187C0 */ jal coss /* 00577C 8002A37C 3044FFFF */ andi $a0, $v0, 0xffff @@ -1518,7 +1521,7 @@ func_8002A350: /* 0057AC 8002A3AC 03E00008 */ jr $ra /* 0057B0 8002A3B0 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002A3B4: +update_lerp: /* 0057B4 8002A3B4 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0057B8 8002A3B8 F7B60028 */ sdc1 $f22, 0x28($sp) /* 0057BC 8002A3BC 4485B000 */ mtc1 $a1, $f22 @@ -1651,7 +1654,7 @@ func_8002A4E0: /* 005990 8002A590 00000000 */ nop /* 005994 8002A594 46206303 */ div.d $f12, $f12, $f0 func_8002A598: -/* 005998 8002A598 0C00A874 */ jal func_8002A1D0 +/* 005998 8002A598 0C00A874 */ jal cos_rad /* 00599C 8002A59C 46206320 */ cvt.s.d $f12, $f12 /* 0059A0 8002A5A0 4614A502 */ mul.s $f20, $f20, $f20 /* 0059A4 8002A5A4 00000000 */ nop @@ -1762,7 +1765,7 @@ func_8002A6CC: /* 005B30 8002A730 44800000 */ mtc1 $zero, $f0 /* 005B34 8002A734 00000000 */ nop /* 005B38 8002A738 46206303 */ div.d $f12, $f12, $f0 -/* 005B3C 8002A73C 0C00A874 */ jal func_8002A1D0 +/* 005B3C 8002A73C 0C00A874 */ jal cos_rad /* 005B40 8002A740 46206320 */ cvt.s.d $f12, $f12 /* 005B44 8002A744 02111023 */ subu $v0, $s0, $s1 /* 005B48 8002A748 44821000 */ mtc1 $v0, $f2 @@ -1800,7 +1803,7 @@ func_8002A6CC: /* 005BC0 8002A7C0 46800020 */ cvt.s.w $f0, $f0 /* 005BC4 8002A7C4 46000021 */ cvt.d.s $f0, $f0 /* 005BC8 8002A7C8 46206303 */ div.d $f12, $f12, $f0 -/* 005BCC 8002A7CC 0C00A874 */ jal func_8002A1D0 +/* 005BCC 8002A7CC 0C00A874 */ jal cos_rad /* 005BD0 8002A7D0 46206320 */ cvt.s.d $f12, $f12 /* 005BD4 8002A7D4 4616C081 */ sub.s $f2, $f24, $f22 /* 005BD8 8002A7D8 3C013FF0 */ lui $at, 0x3ff0 @@ -1835,7 +1838,7 @@ func_8002A6CC: /* 005C48 8002A848 46800020 */ cvt.s.w $f0, $f0 /* 005C4C 8002A84C 46000021 */ cvt.d.s $f0, $f0 /* 005C50 8002A850 46206303 */ div.d $f12, $f12, $f0 -/* 005C54 8002A854 0C00A85B */ jal func_8002A16C +/* 005C54 8002A854 0C00A85B */ jal sin_rad /* 005C58 8002A858 46206320 */ cvt.s.d $f12, $f12 /* 005C5C 8002A85C 4616C081 */ sub.s $f2, $f24, $f22 /* 005C60 8002A860 46001082 */ mul.s $f2, $f2, $f0 @@ -1856,7 +1859,7 @@ func_8002A6CC: /* 005C98 8002A898 46800020 */ cvt.s.w $f0, $f0 /* 005C9C 8002A89C 46000021 */ cvt.d.s $f0, $f0 /* 005CA0 8002A8A0 46206303 */ div.d $f12, $f12, $f0 -/* 005CA4 8002A8A4 0C00A874 */ jal func_8002A1D0 +/* 005CA4 8002A8A4 0C00A874 */ jal cos_rad /* 005CA8 8002A8A8 46206320 */ cvt.s.d $f12, $f12 /* 005CAC 8002A8AC 4616C101 */ sub.s $f4, $f24, $f22 /* 005CB0 8002A8B0 3C013FF0 */ lui $at, 0x3ff0 @@ -2087,60 +2090,61 @@ func_8002AB5C: /* 005FF4 8002ABF4 00000000 */ nop /* 005FF8 8002ABF8 00000000 */ nop /* 005FFC 8002ABFC 00000000 */ nop -func_8002AC00: +general_heap_create: /* 006000 8002AC00 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006004 8002AC04 3C050005 */ lui $a1, 5 /* 006008 8002AC08 3C048030 */ lui $a0, 0x8030 /* 00600C 8002AC0C 2484B800 */ addiu $a0, $a0, -0x4800 /* 006010 8002AC10 AFBF0010 */ sw $ra, 0x10($sp) -/* 006014 8002AC14 0C00A40C */ jal func_80029030 +/* 006014 8002AC14 0C00A40C */ jal _heap_create /* 006018 8002AC18 34A54000 */ ori $a1, $a1, 0x4000 /* 00601C 8002AC1C 8FBF0010 */ lw $ra, 0x10($sp) /* 006020 8002AC20 03E00008 */ jr $ra /* 006024 8002AC24 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002AC28: +general_heap_malloc: /* 006028 8002AC28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00602C 8002AC2C 0080282D */ daddu $a1, $a0, $zero /* 006030 8002AC30 3C048030 */ lui $a0, 0x8030 /* 006034 8002AC34 2484B800 */ addiu $a0, $a0, -0x4800 /* 006038 8002AC38 AFBF0010 */ sw $ra, 0x10($sp) -/* 00603C 8002AC3C 0C00A41B */ jal func_8002906C +/* 00603C 8002AC3C 0C00A41B */ jal _heap_malloc /* 006040 8002AC40 00000000 */ nop /* 006044 8002AC44 8FBF0010 */ lw $ra, 0x10($sp) /* 006048 8002AC48 03E00008 */ jr $ra /* 00604C 8002AC4C 27BD0018 */ addiu $sp, $sp, 0x18 +general_heap_malloc_tail: /* 006050 8002AC50 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006054 8002AC54 0080282D */ daddu $a1, $a0, $zero /* 006058 8002AC58 3C048030 */ lui $a0, 0x8030 /* 00605C 8002AC5C 2484B800 */ addiu $a0, $a0, -0x4800 /* 006060 8002AC60 AFBF0010 */ sw $ra, 0x10($sp) -/* 006064 8002AC64 0C00A459 */ jal func_80029164 +/* 006064 8002AC64 0C00A459 */ jal _heap_malloc_tail /* 006068 8002AC68 00000000 */ nop /* 00606C 8002AC6C 8FBF0010 */ lw $ra, 0x10($sp) /* 006070 8002AC70 03E00008 */ jr $ra /* 006074 8002AC74 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002AC78: +general_heap_free: /* 006078 8002AC78 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00607C 8002AC7C 0080282D */ daddu $a1, $a0, $zero /* 006080 8002AC80 3C048030 */ lui $a0, 0x8030 /* 006084 8002AC84 2484B800 */ addiu $a0, $a0, -0x4800 /* 006088 8002AC88 AFBF0010 */ sw $ra, 0x10($sp) -/* 00608C 8002AC8C 0C00A487 */ jal func_8002921C +/* 00608C 8002AC8C 0C00A487 */ jal _heap_free /* 006090 8002AC90 00000000 */ nop /* 006094 8002AC94 8FBF0010 */ lw $ra, 0x10($sp) /* 006098 8002AC98 03E00008 */ jr $ra /* 00609C 8002AC9C 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002ACA0: +battle_heap_create: /* 0060A0 8002ACA0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0060A4 8002ACA4 AFBF0010 */ sw $ra, 0x10($sp) /* 0060A8 8002ACA8 3C050002 */ lui $a1, 2 /* 0060AC 8002ACAC 3C04803E */ lui $a0, 0x803e /* 0060B0 8002ACB0 2484A800 */ addiu $a0, $a0, -0x5800 -/* 0060B4 8002ACB4 0C00A40C */ jal func_80029030 +/* 0060B4 8002ACB4 0C00A40C */ jal _heap_create /* 0060B8 8002ACB8 34A55800 */ ori $a1, $a1, 0x5800 /* 0060BC 8002ACBC 0040202D */ daddu $a0, $v0, $zero /* 0060C0 8002ACC0 2402FFFF */ addiu $v0, $zero, -1 @@ -2156,7 +2160,7 @@ func_8002ACDC: /* 0060DC 8002ACDC 03E00008 */ jr $ra /* 0060E0 8002ACE0 0000102D */ daddu $v0, $zero, $zero -func_8002ACE4: +heap_malloc: /* 0060E4 8002ACE4 3C028007 */ lui $v0, 0x8007 /* 0060E8 8002ACE8 8C42419C */ lw $v0, 0x419c($v0) /* 0060EC 8002ACEC 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -2166,20 +2170,20 @@ func_8002ACE4: /* 0060FC 8002ACFC 0080282D */ daddu $a1, $a0, $zero /* 006100 8002AD00 3C04803E */ lui $a0, 0x803e /* 006104 8002AD04 2484A800 */ addiu $a0, $a0, -0x5800 -/* 006108 8002AD08 0C00A41B */ jal func_8002906C +/* 006108 8002AD08 0C00A41B */ jal _heap_malloc /* 00610C 8002AD0C 00000000 */ nop /* 006110 8002AD10 0800AB48 */ j func_8002AD20 /* 006114 8002AD14 00000000 */ nop .L8002AD18: -/* 006118 8002AD18 0C00AB0A */ jal func_8002AC28 +/* 006118 8002AD18 0C00AB0A */ jal general_heap_malloc /* 00611C 8002AD1C 00A0202D */ daddu $a0, $a1, $zero func_8002AD20: /* 006120 8002AD20 8FBF0010 */ lw $ra, 0x10($sp) /* 006124 8002AD24 03E00008 */ jr $ra /* 006128 8002AD28 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002AD2C: +heap_free: /* 00612C 8002AD2C 3C028007 */ lui $v0, 0x8007 /* 006130 8002AD30 8C42419C */ lw $v0, 0x419c($v0) /* 006134 8002AD34 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -2187,7 +2191,7 @@ func_8002AD2C: /* 00613C 8002AD3C 80420070 */ lb $v0, 0x70($v0) /* 006140 8002AD40 14400005 */ bnez $v0, .L8002AD58 /* 006144 8002AD44 0080282D */ daddu $a1, $a0, $zero -/* 006148 8002AD48 0C00AB1E */ jal func_8002AC78 +/* 006148 8002AD48 0C00AB1E */ jal general_heap_free /* 00614C 8002AD4C 00000000 */ nop /* 006150 8002AD50 0800AB5A */ j func_8002AD68 /* 006154 8002AD54 00000000 */ nop @@ -2195,20 +2199,20 @@ func_8002AD2C: .L8002AD58: /* 006158 8002AD58 3C04803E */ lui $a0, 0x803e /* 00615C 8002AD5C 2484A800 */ addiu $a0, $a0, -0x5800 -/* 006160 8002AD60 0C00A487 */ jal func_8002921C +/* 006160 8002AD60 0C00A487 */ jal _heap_free /* 006164 8002AD64 00000000 */ nop func_8002AD68: /* 006168 8002AD68 8FBF0010 */ lw $ra, 0x10($sp) /* 00616C 8002AD6C 03E00008 */ jr $ra /* 006170 8002AD70 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002AD74: +collision_heap_create: /* 006174 8002AD74 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006178 8002AD78 AFBF0010 */ sw $ra, 0x10($sp) /* 00617C 8002AD7C 3C050001 */ lui $a1, 1 /* 006180 8002AD80 3C048027 */ lui $a0, 0x8027 /* 006184 8002AD84 24848000 */ addiu $a0, $a0, -0x8000 -/* 006188 8002AD88 0C00A40C */ jal func_80029030 +/* 006188 8002AD88 0C00A40C */ jal _heap_create /* 00618C 8002AD8C 34A58000 */ ori $a1, $a1, 0x8000 /* 006190 8002AD90 0040202D */ daddu $a0, $v0, $zero /* 006194 8002AD94 2402FFFF */ addiu $v0, $zero, -1 @@ -2220,7 +2224,7 @@ func_8002AD74: /* 0061A8 8002ADA8 03E00008 */ jr $ra /* 0061AC 8002ADAC 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002ADB0: +collision_heap_malloc: /* 0061B0 8002ADB0 3C028007 */ lui $v0, 0x8007 /* 0061B4 8002ADB4 8C42419C */ lw $v0, 0x419c($v0) /* 0061B8 8002ADB8 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -2234,13 +2238,13 @@ func_8002ADB0: /* 0061D8 8002ADD8 3C04803E */ lui $a0, 0x803e /* 0061DC 8002ADDC 2484A800 */ addiu $a0, $a0, -0x5800 .L8002ADE0: -/* 0061E0 8002ADE0 0C00A41B */ jal func_8002906C +/* 0061E0 8002ADE0 0C00A41B */ jal _heap_malloc /* 0061E4 8002ADE4 00000000 */ nop /* 0061E8 8002ADE8 8FBF0010 */ lw $ra, 0x10($sp) /* 0061EC 8002ADEC 03E00008 */ jr $ra /* 0061F0 8002ADF0 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002ADF4: +collision_heap_free: /* 0061F4 8002ADF4 3C028007 */ lui $v0, 0x8007 /* 0061F8 8002ADF8 8C42419C */ lw $v0, 0x419c($v0) /* 0061FC 8002ADFC 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -2254,7 +2258,7 @@ func_8002ADF4: /* 00621C 8002AE1C 3C048027 */ lui $a0, 0x8027 /* 006220 8002AE20 24848000 */ addiu $a0, $a0, -0x8000 .L8002AE24: -/* 006224 8002AE24 0C00A487 */ jal func_8002921C +/* 006224 8002AE24 0C00A487 */ jal _heap_free /* 006228 8002AE28 00000000 */ nop /* 00622C 8002AE2C 8FBF0010 */ lw $ra, 0x10($sp) /* 006230 8002AE30 03E00008 */ jr $ra diff --git a/papermario/asm/code_42e70_len_390.s b/papermario/asm/code_42e70_len_390.s index 1133fae325..336865291e 100644 --- a/papermario/asm/code_42e70_len_390.s +++ b/papermario/asm/code_42e70_len_390.s @@ -68,10 +68,10 @@ guRotateF: /* 042F64 80067B64 3C018009 */ lui $at, 0x8009 /* 042F68 80067B68 C42058C0 */ lwc1 $f0, 0x58c0($at) /* 042F6C 80067B6C 4600A502 */ mul.s $f20, $f20, $f0 -/* 042F70 80067B70 0C00A85B */ jal func_8002A16C +/* 042F70 80067B70 0C00A85B */ jal sin_rad /* 042F74 80067B74 4600A306 */ mov.s $f12, $f20 /* 042F78 80067B78 4600A306 */ mov.s $f12, $f20 -/* 042F7C 80067B7C 0C00A874 */ jal func_8002A1D0 +/* 042F7C 80067B7C 0C00A874 */ jal cos_rad /* 042F80 80067B80 46000786 */ mov.s $f30, $f0 /* 042F84 80067B84 C7A20050 */ lwc1 $f2, 0x50($sp) /* 042F88 80067B88 C7B60054 */ lwc1 $f22, 0x54($sp) @@ -161,10 +161,10 @@ guRotate: /* 0430D0 80067CD0 3C018009 */ lui $at, 0x8009 /* 0430D4 80067CD4 C42058C0 */ lwc1 $f0, 0x58c0($at) /* 0430D8 80067CD8 4600A502 */ mul.s $f20, $f20, $f0 -/* 0430DC 80067CDC 0C00A85B */ jal func_8002A16C +/* 0430DC 80067CDC 0C00A85B */ jal sin_rad /* 0430E0 80067CE0 4600A306 */ mov.s $f12, $f20 /* 0430E4 80067CE4 4600A306 */ mov.s $f12, $f20 -/* 0430E8 80067CE8 0C00A874 */ jal func_8002A1D0 +/* 0430E8 80067CE8 0C00A874 */ jal cos_rad /* 0430EC 80067CEC 46000786 */ mov.s $f30, $f0 /* 0430F0 80067CF0 C7A20058 */ lwc1 $f2, 0x58($sp) /* 0430F4 80067CF4 C7B6005C */ lwc1 $f22, 0x5c($sp) diff --git a/papermario/asm/code_4ac90_len_3910.s b/papermario/asm/code_4ac90_len_3910.s index 0a52951f1e..b4d0ebd342 100644 --- a/papermario/asm/code_4ac90_len_3910.s +++ b/papermario/asm/code_4ac90_len_3910.s @@ -10,7 +10,7 @@ /* 04ACA8 8006F8A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04ACAC 8006F8AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04ACB0 8006F8B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04ACB4 8006F8B4 0C016959 */ jal func_8005A564 +/* 04ACB4 8006F8B4 0C016959 */ jal play_effect /* 04ACB8 8006F8B8 24040000 */ addiu $a0, $zero, 0 /* 04ACBC 8006F8BC 8FA40010 */ lw $a0, 0x10($sp) /* 04ACC0 8006F8C0 8FA50014 */ lw $a1, 0x14($sp) @@ -35,7 +35,7 @@ func_8006F8F0: /* 04AD08 8006F908 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AD0C 8006F90C E7B00028 */ swc1 $f16, 0x28($sp) /* 04AD10 8006F910 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AD14 8006F914 0C016959 */ jal func_8005A564 +/* 04AD14 8006F914 0C016959 */ jal play_effect /* 04AD18 8006F918 24040001 */ addiu $a0, $zero, 1 /* 04AD1C 8006F91C 8FA40010 */ lw $a0, 0x10($sp) /* 04AD20 8006F920 8FA50014 */ lw $a1, 0x14($sp) @@ -59,7 +59,7 @@ func_8006F8F0: /* 04AD68 8006F968 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AD6C 8006F96C E7B00028 */ swc1 $f16, 0x28($sp) /* 04AD70 8006F970 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AD74 8006F974 0C016959 */ jal func_8005A564 +/* 04AD74 8006F974 0C016959 */ jal play_effect /* 04AD78 8006F978 24040002 */ addiu $a0, $zero, 2 /* 04AD7C 8006F97C 8FA40010 */ lw $a0, 0x10($sp) /* 04AD80 8006F980 8FA50014 */ lw $a1, 0x14($sp) @@ -83,7 +83,7 @@ func_8006F8F0: /* 04ADC8 8006F9C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04ADCC 8006F9CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04ADD0 8006F9D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04ADD4 8006F9D4 0C016959 */ jal func_8005A564 +/* 04ADD4 8006F9D4 0C016959 */ jal play_effect /* 04ADD8 8006F9D8 24040003 */ addiu $a0, $zero, 3 /* 04ADDC 8006F9DC 8FA40010 */ lw $a0, 0x10($sp) /* 04ADE0 8006F9E0 8FA50014 */ lw $a1, 0x14($sp) @@ -107,7 +107,7 @@ func_8006F8F0: /* 04AE28 8006FA28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AE2C 8006FA2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04AE30 8006FA30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AE34 8006FA34 0C016959 */ jal func_8005A564 +/* 04AE34 8006FA34 0C016959 */ jal play_effect /* 04AE38 8006FA38 24040004 */ addiu $a0, $zero, 4 /* 04AE3C 8006FA3C 8FA40010 */ lw $a0, 0x10($sp) /* 04AE40 8006FA40 8FA50014 */ lw $a1, 0x14($sp) @@ -131,7 +131,7 @@ func_8006F8F0: /* 04AE88 8006FA88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AE8C 8006FA8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04AE90 8006FA90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AE94 8006FA94 0C016959 */ jal func_8005A564 +/* 04AE94 8006FA94 0C016959 */ jal play_effect /* 04AE98 8006FA98 24040005 */ addiu $a0, $zero, 5 /* 04AE9C 8006FA9C 8FA40010 */ lw $a0, 0x10($sp) /* 04AEA0 8006FAA0 8FA50014 */ lw $a1, 0x14($sp) @@ -146,7 +146,7 @@ func_8006F8F0: /* 04AEC4 8006FAC4 8C21F288 */ lw $at, -0xd78($at) /* 04AEC8 8006FAC8 00200008 */ jr $at /* 04AECC 8006FACC 00000000 */ nop -func_8006FAD0: +fx_walk_large: /* 04AED0 8006FAD0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 04AED4 8006FAD4 AFA40010 */ sw $a0, 0x10($sp) /* 04AED8 8006FAD8 AFA50014 */ sw $a1, 0x14($sp) @@ -156,7 +156,7 @@ func_8006FAD0: /* 04AEE8 8006FAE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AEEC 8006FAEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04AEF0 8006FAF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AEF4 8006FAF4 0C016959 */ jal func_8005A564 +/* 04AEF4 8006FAF4 0C016959 */ jal play_effect /* 04AEF8 8006FAF8 24040006 */ addiu $a0, $zero, 6 /* 04AEFC 8006FAFC 8FA40010 */ lw $a0, 0x10($sp) /* 04AF00 8006FB00 8FA50014 */ lw $a1, 0x14($sp) @@ -171,7 +171,7 @@ func_8006FAD0: /* 04AF24 8006FB24 8C21F2A0 */ lw $at, -0xd60($at) /* 04AF28 8006FB28 00200008 */ jr $at /* 04AF2C 8006FB2C 00000000 */ nop -func_8006FB30: +fx_walk_normal: /* 04AF30 8006FB30 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 04AF34 8006FB34 AFA40010 */ sw $a0, 0x10($sp) /* 04AF38 8006FB38 AFA50014 */ sw $a1, 0x14($sp) @@ -181,7 +181,7 @@ func_8006FB30: /* 04AF48 8006FB48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AF4C 8006FB4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04AF50 8006FB50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AF54 8006FB54 0C016959 */ jal func_8005A564 +/* 04AF54 8006FB54 0C016959 */ jal play_effect /* 04AF58 8006FB58 24040007 */ addiu $a0, $zero, 7 /* 04AF5C 8006FB5C 8FA40010 */ lw $a0, 0x10($sp) /* 04AF60 8006FB60 8FA50014 */ lw $a1, 0x14($sp) @@ -206,7 +206,7 @@ func_8006FB90: /* 04AFA8 8006FBA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04AFAC 8006FBAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04AFB0 8006FBB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AFB4 8006FBB4 0C016959 */ jal func_8005A564 +/* 04AFB4 8006FBB4 0C016959 */ jal play_effect /* 04AFB8 8006FBB8 24040008 */ addiu $a0, $zero, 8 /* 04AFBC 8006FBBC 8FA40010 */ lw $a0, 0x10($sp) /* 04AFC0 8006FBC0 8FA50014 */ lw $a1, 0x14($sp) @@ -231,7 +231,7 @@ func_8006FBF0: /* 04B008 8006FC08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B00C 8006FC0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B010 8006FC10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B014 8006FC14 0C016959 */ jal func_8005A564 +/* 04B014 8006FC14 0C016959 */ jal play_effect /* 04B018 8006FC18 24040009 */ addiu $a0, $zero, 9 /* 04B01C 8006FC1C 8FA40010 */ lw $a0, 0x10($sp) /* 04B020 8006FC20 8FA50014 */ lw $a1, 0x14($sp) @@ -256,7 +256,7 @@ func_8006FC50: /* 04B068 8006FC68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B06C 8006FC6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B070 8006FC70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B074 8006FC74 0C016959 */ jal func_8005A564 +/* 04B074 8006FC74 0C016959 */ jal play_effect /* 04B078 8006FC78 2404000A */ addiu $a0, $zero, 0xa /* 04B07C 8006FC7C 8FA40010 */ lw $a0, 0x10($sp) /* 04B080 8006FC80 8FA50014 */ lw $a1, 0x14($sp) @@ -281,7 +281,7 @@ func_8006FCB0: /* 04B0C8 8006FCC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B0CC 8006FCCC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B0D0 8006FCD0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B0D4 8006FCD4 0C016959 */ jal func_8005A564 +/* 04B0D4 8006FCD4 0C016959 */ jal play_effect /* 04B0D8 8006FCD8 2404000B */ addiu $a0, $zero, 0xb /* 04B0DC 8006FCDC 8FA40010 */ lw $a0, 0x10($sp) /* 04B0E0 8006FCE0 8FA50014 */ lw $a1, 0x14($sp) @@ -306,7 +306,7 @@ func_8006FD10: /* 04B128 8006FD28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B12C 8006FD2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B130 8006FD30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B134 8006FD34 0C016959 */ jal func_8005A564 +/* 04B134 8006FD34 0C016959 */ jal play_effect /* 04B138 8006FD38 2404000C */ addiu $a0, $zero, 0xc /* 04B13C 8006FD3C 8FA40010 */ lw $a0, 0x10($sp) /* 04B140 8006FD40 8FA50014 */ lw $a1, 0x14($sp) @@ -331,7 +331,7 @@ func_8006FD70: /* 04B188 8006FD88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B18C 8006FD8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B190 8006FD90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B194 8006FD94 0C016959 */ jal func_8005A564 +/* 04B194 8006FD94 0C016959 */ jal play_effect /* 04B198 8006FD98 2404000D */ addiu $a0, $zero, 0xd /* 04B19C 8006FD9C 8FA40010 */ lw $a0, 0x10($sp) /* 04B1A0 8006FDA0 8FA50014 */ lw $a1, 0x14($sp) @@ -356,7 +356,7 @@ func_8006FDD0: /* 04B1E8 8006FDE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B1EC 8006FDEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B1F0 8006FDF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B1F4 8006FDF4 0C016959 */ jal func_8005A564 +/* 04B1F4 8006FDF4 0C016959 */ jal play_effect /* 04B1F8 8006FDF8 2404000E */ addiu $a0, $zero, 0xe /* 04B1FC 8006FDFC 8FA40010 */ lw $a0, 0x10($sp) /* 04B200 8006FE00 8FA50014 */ lw $a1, 0x14($sp) @@ -381,7 +381,7 @@ func_8006FE30: /* 04B248 8006FE48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B24C 8006FE4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B250 8006FE50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B254 8006FE54 0C016959 */ jal func_8005A564 +/* 04B254 8006FE54 0C016959 */ jal play_effect /* 04B258 8006FE58 2404000F */ addiu $a0, $zero, 0xf /* 04B25C 8006FE5C 8FA40010 */ lw $a0, 0x10($sp) /* 04B260 8006FE60 8FA50014 */ lw $a1, 0x14($sp) @@ -396,7 +396,7 @@ func_8006FE30: /* 04B284 8006FE84 8C21F378 */ lw $at, -0xc88($at) /* 04B288 8006FE88 00200008 */ jr $at /* 04B28C 8006FE8C 00000000 */ nop -func_8006FE90: +fx_emote: /* 04B290 8006FE90 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 04B294 8006FE94 AFA40010 */ sw $a0, 0x10($sp) /* 04B298 8006FE98 AFA50014 */ sw $a1, 0x14($sp) @@ -406,7 +406,7 @@ func_8006FE90: /* 04B2A8 8006FEA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B2AC 8006FEAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B2B0 8006FEB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B2B4 8006FEB4 0C016959 */ jal func_8005A564 +/* 04B2B4 8006FEB4 0C016959 */ jal play_effect /* 04B2B8 8006FEB8 24040010 */ addiu $a0, $zero, 0x10 /* 04B2BC 8006FEBC 8FA40010 */ lw $a0, 0x10($sp) /* 04B2C0 8006FEC0 8FA50014 */ lw $a1, 0x14($sp) @@ -431,7 +431,7 @@ func_8006FEF0: /* 04B308 8006FF08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B30C 8006FF0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B310 8006FF10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B314 8006FF14 0C016959 */ jal func_8005A564 +/* 04B314 8006FF14 0C016959 */ jal play_effect /* 04B318 8006FF18 24040011 */ addiu $a0, $zero, 0x11 /* 04B31C 8006FF1C 8FA40010 */ lw $a0, 0x10($sp) /* 04B320 8006FF20 8FA50014 */ lw $a1, 0x14($sp) @@ -456,7 +456,7 @@ func_8006FF50: /* 04B368 8006FF68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B36C 8006FF6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B370 8006FF70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B374 8006FF74 0C016959 */ jal func_8005A564 +/* 04B374 8006FF74 0C016959 */ jal play_effect /* 04B378 8006FF78 24040012 */ addiu $a0, $zero, 0x12 /* 04B37C 8006FF7C 8FA40010 */ lw $a0, 0x10($sp) /* 04B380 8006FF80 8FA50014 */ lw $a1, 0x14($sp) @@ -481,7 +481,7 @@ func_8006FFB0: /* 04B3C8 8006FFC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B3CC 8006FFCC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B3D0 8006FFD0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B3D4 8006FFD4 0C016959 */ jal func_8005A564 +/* 04B3D4 8006FFD4 0C016959 */ jal play_effect /* 04B3D8 8006FFD8 24040013 */ addiu $a0, $zero, 0x13 /* 04B3DC 8006FFDC 8FA40010 */ lw $a0, 0x10($sp) /* 04B3E0 8006FFE0 8FA50014 */ lw $a1, 0x14($sp) @@ -506,7 +506,7 @@ func_80070010: /* 04B428 80070028 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B42C 8007002C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B430 80070030 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B434 80070034 0C016959 */ jal func_8005A564 +/* 04B434 80070034 0C016959 */ jal play_effect /* 04B438 80070038 24040014 */ addiu $a0, $zero, 0x14 /* 04B43C 8007003C 8FA40010 */ lw $a0, 0x10($sp) /* 04B440 80070040 8FA50014 */ lw $a1, 0x14($sp) @@ -531,7 +531,7 @@ func_80070070: /* 04B488 80070088 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B48C 8007008C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B490 80070090 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B494 80070094 0C016959 */ jal func_8005A564 +/* 04B494 80070094 0C016959 */ jal play_effect /* 04B498 80070098 24040015 */ addiu $a0, $zero, 0x15 /* 04B49C 8007009C 8FA40010 */ lw $a0, 0x10($sp) /* 04B4A0 800700A0 8FA50014 */ lw $a1, 0x14($sp) @@ -556,7 +556,7 @@ func_800700D0: /* 04B4E8 800700E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B4EC 800700EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B4F0 800700F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B4F4 800700F4 0C016959 */ jal func_8005A564 +/* 04B4F4 800700F4 0C016959 */ jal play_effect /* 04B4F8 800700F8 24040016 */ addiu $a0, $zero, 0x16 /* 04B4FC 800700FC 8FA40010 */ lw $a0, 0x10($sp) /* 04B500 80070100 8FA50014 */ lw $a1, 0x14($sp) @@ -581,7 +581,7 @@ func_80070130: /* 04B548 80070148 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B54C 8007014C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B550 80070150 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B554 80070154 0C016959 */ jal func_8005A564 +/* 04B554 80070154 0C016959 */ jal play_effect /* 04B558 80070158 24040017 */ addiu $a0, $zero, 0x17 /* 04B55C 8007015C 8FA40010 */ lw $a0, 0x10($sp) /* 04B560 80070160 8FA50014 */ lw $a1, 0x14($sp) @@ -606,7 +606,7 @@ func_80070190: /* 04B5A8 800701A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B5AC 800701AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B5B0 800701B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B5B4 800701B4 0C016959 */ jal func_8005A564 +/* 04B5B4 800701B4 0C016959 */ jal play_effect /* 04B5B8 800701B8 24040018 */ addiu $a0, $zero, 0x18 /* 04B5BC 800701BC 8FA40010 */ lw $a0, 0x10($sp) /* 04B5C0 800701C0 8FA50014 */ lw $a1, 0x14($sp) @@ -631,7 +631,7 @@ func_800701F0: /* 04B608 80070208 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B60C 8007020C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B610 80070210 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B614 80070214 0C016959 */ jal func_8005A564 +/* 04B614 80070214 0C016959 */ jal play_effect /* 04B618 80070218 24040019 */ addiu $a0, $zero, 0x19 /* 04B61C 8007021C 8FA40010 */ lw $a0, 0x10($sp) /* 04B620 80070220 8FA50014 */ lw $a1, 0x14($sp) @@ -656,7 +656,7 @@ func_80070250: /* 04B668 80070268 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B66C 8007026C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B670 80070270 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B674 80070274 0C016959 */ jal func_8005A564 +/* 04B674 80070274 0C016959 */ jal play_effect /* 04B678 80070278 2404001A */ addiu $a0, $zero, 0x1a /* 04B67C 8007027C 8FA40010 */ lw $a0, 0x10($sp) /* 04B680 80070280 8FA50014 */ lw $a1, 0x14($sp) @@ -681,7 +681,7 @@ func_800702B0: /* 04B6C8 800702C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B6CC 800702CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B6D0 800702D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B6D4 800702D4 0C016959 */ jal func_8005A564 +/* 04B6D4 800702D4 0C016959 */ jal play_effect /* 04B6D8 800702D8 2404001B */ addiu $a0, $zero, 0x1b /* 04B6DC 800702DC 8FA40010 */ lw $a0, 0x10($sp) /* 04B6E0 800702E0 8FA50014 */ lw $a1, 0x14($sp) @@ -706,7 +706,7 @@ func_80070310: /* 04B728 80070328 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B72C 8007032C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B730 80070330 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B734 80070334 0C016959 */ jal func_8005A564 +/* 04B734 80070334 0C016959 */ jal play_effect /* 04B738 80070338 2404001C */ addiu $a0, $zero, 0x1c /* 04B73C 8007033C 8FA40010 */ lw $a0, 0x10($sp) /* 04B740 80070340 8FA50014 */ lw $a1, 0x14($sp) @@ -731,7 +731,7 @@ func_80070370: /* 04B788 80070388 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B78C 8007038C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B790 80070390 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B794 80070394 0C016959 */ jal func_8005A564 +/* 04B794 80070394 0C016959 */ jal play_effect /* 04B798 80070398 2404001D */ addiu $a0, $zero, 0x1d /* 04B79C 8007039C 8FA40010 */ lw $a0, 0x10($sp) /* 04B7A0 800703A0 8FA50014 */ lw $a1, 0x14($sp) @@ -756,7 +756,7 @@ func_800703D0: /* 04B7E8 800703E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B7EC 800703EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B7F0 800703F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B7F4 800703F4 0C016959 */ jal func_8005A564 +/* 04B7F4 800703F4 0C016959 */ jal play_effect /* 04B7F8 800703F8 2404001E */ addiu $a0, $zero, 0x1e /* 04B7FC 800703FC 8FA40010 */ lw $a0, 0x10($sp) /* 04B800 80070400 8FA50014 */ lw $a1, 0x14($sp) @@ -781,7 +781,7 @@ func_80070430: /* 04B848 80070448 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B84C 8007044C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B850 80070450 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B854 80070454 0C016959 */ jal func_8005A564 +/* 04B854 80070454 0C016959 */ jal play_effect /* 04B858 80070458 2404001F */ addiu $a0, $zero, 0x1f /* 04B85C 8007045C 8FA40010 */ lw $a0, 0x10($sp) /* 04B860 80070460 8FA50014 */ lw $a1, 0x14($sp) @@ -806,7 +806,7 @@ func_80070490: /* 04B8A8 800704A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B8AC 800704AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B8B0 800704B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B8B4 800704B4 0C016959 */ jal func_8005A564 +/* 04B8B4 800704B4 0C016959 */ jal play_effect /* 04B8B8 800704B8 24040020 */ addiu $a0, $zero, 0x20 /* 04B8BC 800704BC 8FA40010 */ lw $a0, 0x10($sp) /* 04B8C0 800704C0 8FA50014 */ lw $a1, 0x14($sp) @@ -831,7 +831,7 @@ func_800704F0: /* 04B908 80070508 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B90C 8007050C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B910 80070510 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B914 80070514 0C016959 */ jal func_8005A564 +/* 04B914 80070514 0C016959 */ jal play_effect /* 04B918 80070518 24040021 */ addiu $a0, $zero, 0x21 /* 04B91C 8007051C 8FA40010 */ lw $a0, 0x10($sp) /* 04B920 80070520 8FA50014 */ lw $a1, 0x14($sp) @@ -856,7 +856,7 @@ func_80070550: /* 04B968 80070568 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B96C 8007056C E7B00028 */ swc1 $f16, 0x28($sp) /* 04B970 80070570 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B974 80070574 0C016959 */ jal func_8005A564 +/* 04B974 80070574 0C016959 */ jal play_effect /* 04B978 80070578 24040022 */ addiu $a0, $zero, 0x22 /* 04B97C 8007057C 8FA40010 */ lw $a0, 0x10($sp) /* 04B980 80070580 8FA50014 */ lw $a1, 0x14($sp) @@ -881,7 +881,7 @@ func_800705B0: /* 04B9C8 800705C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04B9CC 800705CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04B9D0 800705D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04B9D4 800705D4 0C016959 */ jal func_8005A564 +/* 04B9D4 800705D4 0C016959 */ jal play_effect /* 04B9D8 800705D8 24040023 */ addiu $a0, $zero, 0x23 /* 04B9DC 800705DC 8FA40010 */ lw $a0, 0x10($sp) /* 04B9E0 800705E0 8FA50014 */ lw $a1, 0x14($sp) @@ -906,7 +906,7 @@ func_80070610: /* 04BA28 80070628 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BA2C 8007062C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BA30 80070630 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BA34 80070634 0C016959 */ jal func_8005A564 +/* 04BA34 80070634 0C016959 */ jal play_effect /* 04BA38 80070638 24040024 */ addiu $a0, $zero, 0x24 /* 04BA3C 8007063C 8FA40010 */ lw $a0, 0x10($sp) /* 04BA40 80070640 8FA50014 */ lw $a1, 0x14($sp) @@ -931,7 +931,7 @@ func_80070670: /* 04BA88 80070688 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BA8C 8007068C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BA90 80070690 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BA94 80070694 0C016959 */ jal func_8005A564 +/* 04BA94 80070694 0C016959 */ jal play_effect /* 04BA98 80070698 24040025 */ addiu $a0, $zero, 0x25 /* 04BA9C 8007069C 8FA40010 */ lw $a0, 0x10($sp) /* 04BAA0 800706A0 8FA50014 */ lw $a1, 0x14($sp) @@ -956,7 +956,7 @@ func_800706D0: /* 04BAE8 800706E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BAEC 800706EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BAF0 800706F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BAF4 800706F4 0C016959 */ jal func_8005A564 +/* 04BAF4 800706F4 0C016959 */ jal play_effect /* 04BAF8 800706F8 24040026 */ addiu $a0, $zero, 0x26 /* 04BAFC 800706FC 8FA40010 */ lw $a0, 0x10($sp) /* 04BB00 80070700 8FA50014 */ lw $a1, 0x14($sp) @@ -981,7 +981,7 @@ func_80070730: /* 04BB48 80070748 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BB4C 8007074C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BB50 80070750 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BB54 80070754 0C016959 */ jal func_8005A564 +/* 04BB54 80070754 0C016959 */ jal play_effect /* 04BB58 80070758 24040027 */ addiu $a0, $zero, 0x27 /* 04BB5C 8007075C 8FA40010 */ lw $a0, 0x10($sp) /* 04BB60 80070760 8FA50014 */ lw $a1, 0x14($sp) @@ -996,7 +996,7 @@ func_80070730: /* 04BB84 80070784 8C21F5B8 */ lw $at, -0xa48($at) /* 04BB88 80070788 00200008 */ jr $at /* 04BB8C 8007078C 00000000 */ nop -func_80070790: +fx_sweat: /* 04BB90 80070790 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 04BB94 80070794 AFA40010 */ sw $a0, 0x10($sp) /* 04BB98 80070798 AFA50014 */ sw $a1, 0x14($sp) @@ -1006,7 +1006,7 @@ func_80070790: /* 04BBA8 800707A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BBAC 800707AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BBB0 800707B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BBB4 800707B4 0C016959 */ jal func_8005A564 +/* 04BBB4 800707B4 0C016959 */ jal play_effect /* 04BBB8 800707B8 24040028 */ addiu $a0, $zero, 0x28 /* 04BBBC 800707BC 8FA40010 */ lw $a0, 0x10($sp) /* 04BBC0 800707C0 8FA50014 */ lw $a1, 0x14($sp) @@ -1021,7 +1021,7 @@ func_80070790: /* 04BBE4 800707E4 8C21F5D0 */ lw $at, -0xa30($at) /* 04BBE8 800707E8 00200008 */ jr $at /* 04BBEC 800707EC 00000000 */ nop -func_800707F0: +fx_sleep_bubble: /* 04BBF0 800707F0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 04BBF4 800707F4 AFA40010 */ sw $a0, 0x10($sp) /* 04BBF8 800707F8 AFA50014 */ sw $a1, 0x14($sp) @@ -1031,7 +1031,7 @@ func_800707F0: /* 04BC08 80070808 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BC0C 8007080C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BC10 80070810 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BC14 80070814 0C016959 */ jal func_8005A564 +/* 04BC14 80070814 0C016959 */ jal play_effect /* 04BC18 80070818 24040029 */ addiu $a0, $zero, 0x29 /* 04BC1C 8007081C 8FA40010 */ lw $a0, 0x10($sp) /* 04BC20 80070820 8FA50014 */ lw $a1, 0x14($sp) @@ -1055,7 +1055,7 @@ func_800707F0: /* 04BC68 80070868 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BC6C 8007086C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BC70 80070870 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BC74 80070874 0C016959 */ jal func_8005A564 +/* 04BC74 80070874 0C016959 */ jal play_effect /* 04BC78 80070878 2404002A */ addiu $a0, $zero, 0x2a /* 04BC7C 8007087C 8FA40010 */ lw $a0, 0x10($sp) /* 04BC80 80070880 8FA50014 */ lw $a1, 0x14($sp) @@ -1080,7 +1080,7 @@ func_800708B0: /* 04BCC8 800708C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BCCC 800708CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BCD0 800708D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BCD4 800708D4 0C016959 */ jal func_8005A564 +/* 04BCD4 800708D4 0C016959 */ jal play_effect /* 04BCD8 800708D8 2404002B */ addiu $a0, $zero, 0x2b /* 04BCDC 800708DC 8FA40010 */ lw $a0, 0x10($sp) /* 04BCE0 800708E0 8FA50014 */ lw $a1, 0x14($sp) @@ -1105,7 +1105,7 @@ func_80070910: /* 04BD28 80070928 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BD2C 8007092C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BD30 80070930 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BD34 80070934 0C016959 */ jal func_8005A564 +/* 04BD34 80070934 0C016959 */ jal play_effect /* 04BD38 80070938 2404002C */ addiu $a0, $zero, 0x2c /* 04BD3C 8007093C 8FA40010 */ lw $a0, 0x10($sp) /* 04BD40 80070940 8FA50014 */ lw $a1, 0x14($sp) @@ -1130,7 +1130,7 @@ func_80070970: /* 04BD88 80070988 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BD8C 8007098C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BD90 80070990 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BD94 80070994 0C016959 */ jal func_8005A564 +/* 04BD94 80070994 0C016959 */ jal play_effect /* 04BD98 80070998 2404002D */ addiu $a0, $zero, 0x2d /* 04BD9C 8007099C 8FA40010 */ lw $a0, 0x10($sp) /* 04BDA0 800709A0 8FA50014 */ lw $a1, 0x14($sp) @@ -1155,7 +1155,7 @@ func_800709D0: /* 04BDE8 800709E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BDEC 800709EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BDF0 800709F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BDF4 800709F4 0C016959 */ jal func_8005A564 +/* 04BDF4 800709F4 0C016959 */ jal play_effect /* 04BDF8 800709F8 2404002E */ addiu $a0, $zero, 0x2e /* 04BDFC 800709FC 8FA40010 */ lw $a0, 0x10($sp) /* 04BE00 80070A00 8FA50014 */ lw $a1, 0x14($sp) @@ -1180,7 +1180,7 @@ func_80070A30: /* 04BE48 80070A48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BE4C 80070A4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BE50 80070A50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BE54 80070A54 0C016959 */ jal func_8005A564 +/* 04BE54 80070A54 0C016959 */ jal play_effect /* 04BE58 80070A58 2404002F */ addiu $a0, $zero, 0x2f /* 04BE5C 80070A5C 8FA40010 */ lw $a0, 0x10($sp) /* 04BE60 80070A60 8FA50014 */ lw $a1, 0x14($sp) @@ -1205,7 +1205,7 @@ func_80070A90: /* 04BEA8 80070AA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BEAC 80070AAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BEB0 80070AB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BEB4 80070AB4 0C016959 */ jal func_8005A564 +/* 04BEB4 80070AB4 0C016959 */ jal play_effect /* 04BEB8 80070AB8 24040030 */ addiu $a0, $zero, 0x30 /* 04BEBC 80070ABC 8FA40010 */ lw $a0, 0x10($sp) /* 04BEC0 80070AC0 8FA50014 */ lw $a1, 0x14($sp) @@ -1230,7 +1230,7 @@ func_80070AF0: /* 04BF08 80070B08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BF0C 80070B0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BF10 80070B10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BF14 80070B14 0C016959 */ jal func_8005A564 +/* 04BF14 80070B14 0C016959 */ jal play_effect /* 04BF18 80070B18 24040031 */ addiu $a0, $zero, 0x31 /* 04BF1C 80070B1C 8FA40010 */ lw $a0, 0x10($sp) /* 04BF20 80070B20 8FA50014 */ lw $a1, 0x14($sp) @@ -1255,7 +1255,7 @@ func_80070B50: /* 04BF68 80070B68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BF6C 80070B6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04BF70 80070B70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BF74 80070B74 0C016959 */ jal func_8005A564 +/* 04BF74 80070B74 0C016959 */ jal play_effect /* 04BF78 80070B78 24040032 */ addiu $a0, $zero, 0x32 /* 04BF7C 80070B7C 8FA40010 */ lw $a0, 0x10($sp) /* 04BF80 80070B80 8FA50014 */ lw $a1, 0x14($sp) @@ -1280,7 +1280,7 @@ func_80070BB0: /* 04BFC8 80070BC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04BFCC 80070BCC E7B00028 */ swc1 $f16, 0x28($sp) /* 04BFD0 80070BD0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04BFD4 80070BD4 0C016959 */ jal func_8005A564 +/* 04BFD4 80070BD4 0C016959 */ jal play_effect /* 04BFD8 80070BD8 24040033 */ addiu $a0, $zero, 0x33 /* 04BFDC 80070BDC 8FA40010 */ lw $a0, 0x10($sp) /* 04BFE0 80070BE0 8FA50014 */ lw $a1, 0x14($sp) @@ -1305,7 +1305,7 @@ func_80070C10: /* 04C028 80070C28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C02C 80070C2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C030 80070C30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C034 80070C34 0C016959 */ jal func_8005A564 +/* 04C034 80070C34 0C016959 */ jal play_effect /* 04C038 80070C38 24040034 */ addiu $a0, $zero, 0x34 /* 04C03C 80070C3C 8FA40010 */ lw $a0, 0x10($sp) /* 04C040 80070C40 8FA50014 */ lw $a1, 0x14($sp) @@ -1330,7 +1330,7 @@ func_80070C70: /* 04C088 80070C88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C08C 80070C8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C090 80070C90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C094 80070C94 0C016959 */ jal func_8005A564 +/* 04C094 80070C94 0C016959 */ jal play_effect /* 04C098 80070C98 24040035 */ addiu $a0, $zero, 0x35 /* 04C09C 80070C9C 8FA40010 */ lw $a0, 0x10($sp) /* 04C0A0 80070CA0 8FA50014 */ lw $a1, 0x14($sp) @@ -1355,7 +1355,7 @@ func_80070CD0: /* 04C0E8 80070CE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C0EC 80070CEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C0F0 80070CF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C0F4 80070CF4 0C016959 */ jal func_8005A564 +/* 04C0F4 80070CF4 0C016959 */ jal play_effect /* 04C0F8 80070CF8 24040036 */ addiu $a0, $zero, 0x36 /* 04C0FC 80070CFC 8FA40010 */ lw $a0, 0x10($sp) /* 04C100 80070D00 8FA50014 */ lw $a1, 0x14($sp) @@ -1380,7 +1380,7 @@ func_80070D30: /* 04C148 80070D48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C14C 80070D4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C150 80070D50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C154 80070D54 0C016959 */ jal func_8005A564 +/* 04C154 80070D54 0C016959 */ jal play_effect /* 04C158 80070D58 24040037 */ addiu $a0, $zero, 0x37 /* 04C15C 80070D5C 8FA40010 */ lw $a0, 0x10($sp) /* 04C160 80070D60 8FA50014 */ lw $a1, 0x14($sp) @@ -1405,7 +1405,7 @@ func_80070D90: /* 04C1A8 80070DA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C1AC 80070DAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C1B0 80070DB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C1B4 80070DB4 0C016959 */ jal func_8005A564 +/* 04C1B4 80070DB4 0C016959 */ jal play_effect /* 04C1B8 80070DB8 24040038 */ addiu $a0, $zero, 0x38 /* 04C1BC 80070DBC 8FA40010 */ lw $a0, 0x10($sp) /* 04C1C0 80070DC0 8FA50014 */ lw $a1, 0x14($sp) @@ -1430,7 +1430,7 @@ func_80070DF0: /* 04C208 80070E08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C20C 80070E0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C210 80070E10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C214 80070E14 0C016959 */ jal func_8005A564 +/* 04C214 80070E14 0C016959 */ jal play_effect /* 04C218 80070E18 24040039 */ addiu $a0, $zero, 0x39 /* 04C21C 80070E1C 8FA40010 */ lw $a0, 0x10($sp) /* 04C220 80070E20 8FA50014 */ lw $a1, 0x14($sp) @@ -1455,7 +1455,7 @@ func_80070E50: /* 04C268 80070E68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C26C 80070E6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C270 80070E70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C274 80070E74 0C016959 */ jal func_8005A564 +/* 04C274 80070E74 0C016959 */ jal play_effect /* 04C278 80070E78 2404003A */ addiu $a0, $zero, 0x3a /* 04C27C 80070E7C 8FA40010 */ lw $a0, 0x10($sp) /* 04C280 80070E80 8FA50014 */ lw $a1, 0x14($sp) @@ -1480,7 +1480,7 @@ func_80070EB0: /* 04C2C8 80070EC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C2CC 80070ECC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C2D0 80070ED0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C2D4 80070ED4 0C016959 */ jal func_8005A564 +/* 04C2D4 80070ED4 0C016959 */ jal play_effect /* 04C2D8 80070ED8 2404003B */ addiu $a0, $zero, 0x3b /* 04C2DC 80070EDC 8FA40010 */ lw $a0, 0x10($sp) /* 04C2E0 80070EE0 8FA50014 */ lw $a1, 0x14($sp) @@ -1505,7 +1505,7 @@ func_80070F10: /* 04C328 80070F28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C32C 80070F2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C330 80070F30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C334 80070F34 0C016959 */ jal func_8005A564 +/* 04C334 80070F34 0C016959 */ jal play_effect /* 04C338 80070F38 2404003C */ addiu $a0, $zero, 0x3c /* 04C33C 80070F3C 8FA40010 */ lw $a0, 0x10($sp) /* 04C340 80070F40 8FA50014 */ lw $a1, 0x14($sp) @@ -1530,7 +1530,7 @@ func_80070F70: /* 04C388 80070F88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C38C 80070F8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C390 80070F90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C394 80070F94 0C016959 */ jal func_8005A564 +/* 04C394 80070F94 0C016959 */ jal play_effect /* 04C398 80070F98 2404003D */ addiu $a0, $zero, 0x3d /* 04C39C 80070F9C 8FA40010 */ lw $a0, 0x10($sp) /* 04C3A0 80070FA0 8FA50014 */ lw $a1, 0x14($sp) @@ -1555,7 +1555,7 @@ func_80070FD0: /* 04C3E8 80070FE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C3EC 80070FEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C3F0 80070FF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C3F4 80070FF4 0C016959 */ jal func_8005A564 +/* 04C3F4 80070FF4 0C016959 */ jal play_effect /* 04C3F8 80070FF8 2404003E */ addiu $a0, $zero, 0x3e /* 04C3FC 80070FFC 8FA40010 */ lw $a0, 0x10($sp) /* 04C400 80071000 8FA50014 */ lw $a1, 0x14($sp) @@ -1580,7 +1580,7 @@ func_80071030: /* 04C448 80071048 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C44C 8007104C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C450 80071050 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C454 80071054 0C016959 */ jal func_8005A564 +/* 04C454 80071054 0C016959 */ jal play_effect /* 04C458 80071058 2404003F */ addiu $a0, $zero, 0x3f /* 04C45C 8007105C 8FA40010 */ lw $a0, 0x10($sp) /* 04C460 80071060 8FA50014 */ lw $a1, 0x14($sp) @@ -1605,7 +1605,7 @@ func_80071090: /* 04C4A8 800710A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C4AC 800710AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C4B0 800710B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C4B4 800710B4 0C016959 */ jal func_8005A564 +/* 04C4B4 800710B4 0C016959 */ jal play_effect /* 04C4B8 800710B8 24040040 */ addiu $a0, $zero, 0x40 /* 04C4BC 800710BC 8FA40010 */ lw $a0, 0x10($sp) /* 04C4C0 800710C0 8FA50014 */ lw $a1, 0x14($sp) @@ -1630,7 +1630,7 @@ func_800710F0: /* 04C508 80071108 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C50C 8007110C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C510 80071110 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C514 80071114 0C016959 */ jal func_8005A564 +/* 04C514 80071114 0C016959 */ jal play_effect /* 04C518 80071118 24040041 */ addiu $a0, $zero, 0x41 /* 04C51C 8007111C 8FA40010 */ lw $a0, 0x10($sp) /* 04C520 80071120 8FA50014 */ lw $a1, 0x14($sp) @@ -1655,7 +1655,7 @@ func_80071150: /* 04C568 80071168 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C56C 8007116C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C570 80071170 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C574 80071174 0C016959 */ jal func_8005A564 +/* 04C574 80071174 0C016959 */ jal play_effect /* 04C578 80071178 24040042 */ addiu $a0, $zero, 0x42 /* 04C57C 8007117C 8FA40010 */ lw $a0, 0x10($sp) /* 04C580 80071180 8FA50014 */ lw $a1, 0x14($sp) @@ -1680,7 +1680,7 @@ func_800711B0: /* 04C5C8 800711C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C5CC 800711CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C5D0 800711D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C5D4 800711D4 0C016959 */ jal func_8005A564 +/* 04C5D4 800711D4 0C016959 */ jal play_effect /* 04C5D8 800711D8 24040043 */ addiu $a0, $zero, 0x43 /* 04C5DC 800711DC 8FA40010 */ lw $a0, 0x10($sp) /* 04C5E0 800711E0 8FA50014 */ lw $a1, 0x14($sp) @@ -1705,7 +1705,7 @@ func_80071210: /* 04C628 80071228 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C62C 8007122C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C630 80071230 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C634 80071234 0C016959 */ jal func_8005A564 +/* 04C634 80071234 0C016959 */ jal play_effect /* 04C638 80071238 24040044 */ addiu $a0, $zero, 0x44 /* 04C63C 8007123C 8FA40010 */ lw $a0, 0x10($sp) /* 04C640 80071240 8FA50014 */ lw $a1, 0x14($sp) @@ -1730,7 +1730,7 @@ func_80071270: /* 04C688 80071288 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C68C 8007128C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C690 80071290 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C694 80071294 0C016959 */ jal func_8005A564 +/* 04C694 80071294 0C016959 */ jal play_effect /* 04C698 80071298 24040045 */ addiu $a0, $zero, 0x45 /* 04C69C 8007129C 8FA40010 */ lw $a0, 0x10($sp) /* 04C6A0 800712A0 8FA50014 */ lw $a1, 0x14($sp) @@ -1755,7 +1755,7 @@ func_800712D0: /* 04C6E8 800712E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C6EC 800712EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C6F0 800712F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C6F4 800712F4 0C016959 */ jal func_8005A564 +/* 04C6F4 800712F4 0C016959 */ jal play_effect /* 04C6F8 800712F8 24040046 */ addiu $a0, $zero, 0x46 /* 04C6FC 800712FC 8FA40010 */ lw $a0, 0x10($sp) /* 04C700 80071300 8FA50014 */ lw $a1, 0x14($sp) @@ -1780,7 +1780,7 @@ func_80071330: /* 04C748 80071348 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C74C 8007134C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C750 80071350 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C754 80071354 0C016959 */ jal func_8005A564 +/* 04C754 80071354 0C016959 */ jal play_effect /* 04C758 80071358 24040047 */ addiu $a0, $zero, 0x47 /* 04C75C 8007135C 8FA40010 */ lw $a0, 0x10($sp) /* 04C760 80071360 8FA50014 */ lw $a1, 0x14($sp) @@ -1805,7 +1805,7 @@ func_80071390: /* 04C7A8 800713A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C7AC 800713AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C7B0 800713B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C7B4 800713B4 0C016959 */ jal func_8005A564 +/* 04C7B4 800713B4 0C016959 */ jal play_effect /* 04C7B8 800713B8 24040048 */ addiu $a0, $zero, 0x48 /* 04C7BC 800713BC 8FA40010 */ lw $a0, 0x10($sp) /* 04C7C0 800713C0 8FA50014 */ lw $a1, 0x14($sp) @@ -1830,7 +1830,7 @@ func_800713F0: /* 04C808 80071408 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C80C 8007140C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C810 80071410 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C814 80071414 0C016959 */ jal func_8005A564 +/* 04C814 80071414 0C016959 */ jal play_effect /* 04C818 80071418 24040049 */ addiu $a0, $zero, 0x49 /* 04C81C 8007141C 8FA40010 */ lw $a0, 0x10($sp) /* 04C820 80071420 8FA50014 */ lw $a1, 0x14($sp) @@ -1855,7 +1855,7 @@ func_80071450: /* 04C868 80071468 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C86C 8007146C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C870 80071470 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C874 80071474 0C016959 */ jal func_8005A564 +/* 04C874 80071474 0C016959 */ jal play_effect /* 04C878 80071478 2404004A */ addiu $a0, $zero, 0x4a /* 04C87C 8007147C 8FA40010 */ lw $a0, 0x10($sp) /* 04C880 80071480 8FA50014 */ lw $a1, 0x14($sp) @@ -1880,7 +1880,7 @@ func_800714B0: /* 04C8C8 800714C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C8CC 800714CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C8D0 800714D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C8D4 800714D4 0C016959 */ jal func_8005A564 +/* 04C8D4 800714D4 0C016959 */ jal play_effect /* 04C8D8 800714D8 2404004B */ addiu $a0, $zero, 0x4b /* 04C8DC 800714DC 8FA40010 */ lw $a0, 0x10($sp) /* 04C8E0 800714E0 8FA50014 */ lw $a1, 0x14($sp) @@ -1905,7 +1905,7 @@ func_80071510: /* 04C928 80071528 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C92C 8007152C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C930 80071530 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C934 80071534 0C016959 */ jal func_8005A564 +/* 04C934 80071534 0C016959 */ jal play_effect /* 04C938 80071538 2404004C */ addiu $a0, $zero, 0x4c /* 04C93C 8007153C 8FA40010 */ lw $a0, 0x10($sp) /* 04C940 80071540 8FA50014 */ lw $a1, 0x14($sp) @@ -1930,7 +1930,7 @@ func_80071570: /* 04C988 80071588 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C98C 8007158C E7B00028 */ swc1 $f16, 0x28($sp) /* 04C990 80071590 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C994 80071594 0C016959 */ jal func_8005A564 +/* 04C994 80071594 0C016959 */ jal play_effect /* 04C998 80071598 2404004D */ addiu $a0, $zero, 0x4d /* 04C99C 8007159C 8FA40010 */ lw $a0, 0x10($sp) /* 04C9A0 800715A0 8FA50014 */ lw $a1, 0x14($sp) @@ -1955,7 +1955,7 @@ func_800715D0: /* 04C9E8 800715E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04C9EC 800715EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04C9F0 800715F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C9F4 800715F4 0C016959 */ jal func_8005A564 +/* 04C9F4 800715F4 0C016959 */ jal play_effect /* 04C9F8 800715F8 2404004E */ addiu $a0, $zero, 0x4e /* 04C9FC 800715FC 8FA40010 */ lw $a0, 0x10($sp) /* 04CA00 80071600 8FA50014 */ lw $a1, 0x14($sp) @@ -1980,7 +1980,7 @@ func_80071630: /* 04CA48 80071648 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CA4C 8007164C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CA50 80071650 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CA54 80071654 0C016959 */ jal func_8005A564 +/* 04CA54 80071654 0C016959 */ jal play_effect /* 04CA58 80071658 2404004F */ addiu $a0, $zero, 0x4f /* 04CA5C 8007165C 8FA40010 */ lw $a0, 0x10($sp) /* 04CA60 80071660 8FA50014 */ lw $a1, 0x14($sp) @@ -2004,7 +2004,7 @@ func_80071630: /* 04CAA8 800716A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CAAC 800716AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CAB0 800716B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CAB4 800716B4 0C016959 */ jal func_8005A564 +/* 04CAB4 800716B4 0C016959 */ jal play_effect /* 04CAB8 800716B8 24040050 */ addiu $a0, $zero, 0x50 /* 04CABC 800716BC 8FA40010 */ lw $a0, 0x10($sp) /* 04CAC0 800716C0 8FA50014 */ lw $a1, 0x14($sp) @@ -2029,7 +2029,7 @@ func_800716F0: /* 04CB08 80071708 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CB0C 8007170C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CB10 80071710 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CB14 80071714 0C016959 */ jal func_8005A564 +/* 04CB14 80071714 0C016959 */ jal play_effect /* 04CB18 80071718 24040051 */ addiu $a0, $zero, 0x51 /* 04CB1C 8007171C 8FA40010 */ lw $a0, 0x10($sp) /* 04CB20 80071720 8FA50014 */ lw $a1, 0x14($sp) @@ -2054,7 +2054,7 @@ func_80071750: /* 04CB68 80071768 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CB6C 8007176C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CB70 80071770 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CB74 80071774 0C016959 */ jal func_8005A564 +/* 04CB74 80071774 0C016959 */ jal play_effect /* 04CB78 80071778 24040052 */ addiu $a0, $zero, 0x52 /* 04CB7C 8007177C 8FA40010 */ lw $a0, 0x10($sp) /* 04CB80 80071780 8FA50014 */ lw $a1, 0x14($sp) @@ -2079,7 +2079,7 @@ func_800717B0: /* 04CBC8 800717C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CBCC 800717CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CBD0 800717D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CBD4 800717D4 0C016959 */ jal func_8005A564 +/* 04CBD4 800717D4 0C016959 */ jal play_effect /* 04CBD8 800717D8 24040053 */ addiu $a0, $zero, 0x53 /* 04CBDC 800717DC 8FA40010 */ lw $a0, 0x10($sp) /* 04CBE0 800717E0 8FA50014 */ lw $a1, 0x14($sp) @@ -2103,7 +2103,7 @@ func_800717B0: /* 04CC28 80071828 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CC2C 8007182C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CC30 80071830 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CC34 80071834 0C016959 */ jal func_8005A564 +/* 04CC34 80071834 0C016959 */ jal play_effect /* 04CC38 80071838 24040054 */ addiu $a0, $zero, 0x54 /* 04CC3C 8007183C 8FA40010 */ lw $a0, 0x10($sp) /* 04CC40 80071840 8FA50014 */ lw $a1, 0x14($sp) @@ -2128,7 +2128,7 @@ func_80071870: /* 04CC88 80071888 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CC8C 8007188C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CC90 80071890 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CC94 80071894 0C016959 */ jal func_8005A564 +/* 04CC94 80071894 0C016959 */ jal play_effect /* 04CC98 80071898 24040055 */ addiu $a0, $zero, 0x55 /* 04CC9C 8007189C 8FA40010 */ lw $a0, 0x10($sp) /* 04CCA0 800718A0 8FA50014 */ lw $a1, 0x14($sp) @@ -2153,7 +2153,7 @@ func_800718D0: /* 04CCE8 800718E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CCEC 800718EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CCF0 800718F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CCF4 800718F4 0C016959 */ jal func_8005A564 +/* 04CCF4 800718F4 0C016959 */ jal play_effect /* 04CCF8 800718F8 24040056 */ addiu $a0, $zero, 0x56 /* 04CCFC 800718FC 8FA40010 */ lw $a0, 0x10($sp) /* 04CD00 80071900 8FA50014 */ lw $a1, 0x14($sp) @@ -2178,7 +2178,7 @@ func_80071930: /* 04CD48 80071948 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CD4C 8007194C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CD50 80071950 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CD54 80071954 0C016959 */ jal func_8005A564 +/* 04CD54 80071954 0C016959 */ jal play_effect /* 04CD58 80071958 24040057 */ addiu $a0, $zero, 0x57 /* 04CD5C 8007195C 8FA40010 */ lw $a0, 0x10($sp) /* 04CD60 80071960 8FA50014 */ lw $a1, 0x14($sp) @@ -2203,7 +2203,7 @@ func_80071990: /* 04CDA8 800719A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CDAC 800719AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CDB0 800719B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CDB4 800719B4 0C016959 */ jal func_8005A564 +/* 04CDB4 800719B4 0C016959 */ jal play_effect /* 04CDB8 800719B8 24040058 */ addiu $a0, $zero, 0x58 /* 04CDBC 800719BC 8FA40010 */ lw $a0, 0x10($sp) /* 04CDC0 800719C0 8FA50014 */ lw $a1, 0x14($sp) @@ -2228,7 +2228,7 @@ func_800719F0: /* 04CE08 80071A08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CE0C 80071A0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CE10 80071A10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CE14 80071A14 0C016959 */ jal func_8005A564 +/* 04CE14 80071A14 0C016959 */ jal play_effect /* 04CE18 80071A18 24040059 */ addiu $a0, $zero, 0x59 /* 04CE1C 80071A1C 8FA40010 */ lw $a0, 0x10($sp) /* 04CE20 80071A20 8FA50014 */ lw $a1, 0x14($sp) @@ -2253,7 +2253,7 @@ func_80071A50: /* 04CE68 80071A68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CE6C 80071A6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CE70 80071A70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CE74 80071A74 0C016959 */ jal func_8005A564 +/* 04CE74 80071A74 0C016959 */ jal play_effect /* 04CE78 80071A78 2404005A */ addiu $a0, $zero, 0x5a /* 04CE7C 80071A7C 8FA40010 */ lw $a0, 0x10($sp) /* 04CE80 80071A80 8FA50014 */ lw $a1, 0x14($sp) @@ -2278,7 +2278,7 @@ func_80071AB0: /* 04CEC8 80071AC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CECC 80071ACC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CED0 80071AD0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CED4 80071AD4 0C016959 */ jal func_8005A564 +/* 04CED4 80071AD4 0C016959 */ jal play_effect /* 04CED8 80071AD8 2404005B */ addiu $a0, $zero, 0x5b /* 04CEDC 80071ADC 8FA40010 */ lw $a0, 0x10($sp) /* 04CEE0 80071AE0 8FA50014 */ lw $a1, 0x14($sp) @@ -2303,7 +2303,7 @@ func_80071B10: /* 04CF28 80071B28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CF2C 80071B2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CF30 80071B30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CF34 80071B34 0C016959 */ jal func_8005A564 +/* 04CF34 80071B34 0C016959 */ jal play_effect /* 04CF38 80071B38 2404005C */ addiu $a0, $zero, 0x5c /* 04CF3C 80071B3C 8FA40010 */ lw $a0, 0x10($sp) /* 04CF40 80071B40 8FA50014 */ lw $a1, 0x14($sp) @@ -2328,7 +2328,7 @@ func_80071B70: /* 04CF88 80071B88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CF8C 80071B8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04CF90 80071B90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CF94 80071B94 0C016959 */ jal func_8005A564 +/* 04CF94 80071B94 0C016959 */ jal play_effect /* 04CF98 80071B98 2404005D */ addiu $a0, $zero, 0x5d /* 04CF9C 80071B9C 8FA40010 */ lw $a0, 0x10($sp) /* 04CFA0 80071BA0 8FA50014 */ lw $a1, 0x14($sp) @@ -2353,7 +2353,7 @@ func_80071BD0: /* 04CFE8 80071BE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04CFEC 80071BEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04CFF0 80071BF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04CFF4 80071BF4 0C016959 */ jal func_8005A564 +/* 04CFF4 80071BF4 0C016959 */ jal play_effect /* 04CFF8 80071BF8 2404005E */ addiu $a0, $zero, 0x5e /* 04CFFC 80071BFC 8FA40010 */ lw $a0, 0x10($sp) /* 04D000 80071C00 8FA50014 */ lw $a1, 0x14($sp) @@ -2378,7 +2378,7 @@ func_80071C30: /* 04D048 80071C48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D04C 80071C4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D050 80071C50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D054 80071C54 0C016959 */ jal func_8005A564 +/* 04D054 80071C54 0C016959 */ jal play_effect /* 04D058 80071C58 2404005F */ addiu $a0, $zero, 0x5f /* 04D05C 80071C5C 8FA40010 */ lw $a0, 0x10($sp) /* 04D060 80071C60 8FA50014 */ lw $a1, 0x14($sp) @@ -2403,7 +2403,7 @@ func_80071C90: /* 04D0A8 80071CA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D0AC 80071CAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D0B0 80071CB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D0B4 80071CB4 0C016959 */ jal func_8005A564 +/* 04D0B4 80071CB4 0C016959 */ jal play_effect /* 04D0B8 80071CB8 24040060 */ addiu $a0, $zero, 0x60 /* 04D0BC 80071CBC 8FA40010 */ lw $a0, 0x10($sp) /* 04D0C0 80071CC0 8FA50014 */ lw $a1, 0x14($sp) @@ -2428,7 +2428,7 @@ func_80071CF0: /* 04D108 80071D08 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D10C 80071D0C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D110 80071D10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D114 80071D14 0C016959 */ jal func_8005A564 +/* 04D114 80071D14 0C016959 */ jal play_effect /* 04D118 80071D18 24040061 */ addiu $a0, $zero, 0x61 /* 04D11C 80071D1C 8FA40010 */ lw $a0, 0x10($sp) /* 04D120 80071D20 8FA50014 */ lw $a1, 0x14($sp) @@ -2453,7 +2453,7 @@ func_80071D50: /* 04D168 80071D68 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D16C 80071D6C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D170 80071D70 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D174 80071D74 0C016959 */ jal func_8005A564 +/* 04D174 80071D74 0C016959 */ jal play_effect /* 04D178 80071D78 24040062 */ addiu $a0, $zero, 0x62 /* 04D17C 80071D7C 8FA40010 */ lw $a0, 0x10($sp) /* 04D180 80071D80 8FA50014 */ lw $a1, 0x14($sp) @@ -2478,7 +2478,7 @@ func_80071DB0: /* 04D1C8 80071DC8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D1CC 80071DCC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D1D0 80071DD0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D1D4 80071DD4 0C016959 */ jal func_8005A564 +/* 04D1D4 80071DD4 0C016959 */ jal play_effect /* 04D1D8 80071DD8 24040063 */ addiu $a0, $zero, 0x63 /* 04D1DC 80071DDC 8FA40010 */ lw $a0, 0x10($sp) /* 04D1E0 80071DE0 8FA50014 */ lw $a1, 0x14($sp) @@ -2503,7 +2503,7 @@ func_80071E10: /* 04D228 80071E28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D22C 80071E2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D230 80071E30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D234 80071E34 0C016959 */ jal func_8005A564 +/* 04D234 80071E34 0C016959 */ jal play_effect /* 04D238 80071E38 24040064 */ addiu $a0, $zero, 0x64 /* 04D23C 80071E3C 8FA40010 */ lw $a0, 0x10($sp) /* 04D240 80071E40 8FA50014 */ lw $a1, 0x14($sp) @@ -2528,7 +2528,7 @@ func_80071E70: /* 04D288 80071E88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D28C 80071E8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D290 80071E90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D294 80071E94 0C016959 */ jal func_8005A564 +/* 04D294 80071E94 0C016959 */ jal play_effect /* 04D298 80071E98 24040065 */ addiu $a0, $zero, 0x65 /* 04D29C 80071E9C 8FA40010 */ lw $a0, 0x10($sp) /* 04D2A0 80071EA0 8FA50014 */ lw $a1, 0x14($sp) @@ -2553,7 +2553,7 @@ func_80071ED0: /* 04D2E8 80071EE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D2EC 80071EEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D2F0 80071EF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D2F4 80071EF4 0C016959 */ jal func_8005A564 +/* 04D2F4 80071EF4 0C016959 */ jal play_effect /* 04D2F8 80071EF8 24040066 */ addiu $a0, $zero, 0x66 /* 04D2FC 80071EFC 8FA40010 */ lw $a0, 0x10($sp) /* 04D300 80071F00 8FA50014 */ lw $a1, 0x14($sp) @@ -2578,7 +2578,7 @@ func_80071F30: /* 04D348 80071F48 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D34C 80071F4C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D350 80071F50 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D354 80071F54 0C016959 */ jal func_8005A564 +/* 04D354 80071F54 0C016959 */ jal play_effect /* 04D358 80071F58 24040067 */ addiu $a0, $zero, 0x67 /* 04D35C 80071F5C 8FA40010 */ lw $a0, 0x10($sp) /* 04D360 80071F60 8FA50014 */ lw $a1, 0x14($sp) @@ -2603,7 +2603,7 @@ func_80071F90: /* 04D3A8 80071FA8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D3AC 80071FAC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D3B0 80071FB0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D3B4 80071FB4 0C016959 */ jal func_8005A564 +/* 04D3B4 80071FB4 0C016959 */ jal play_effect /* 04D3B8 80071FB8 24040068 */ addiu $a0, $zero, 0x68 /* 04D3BC 80071FBC 8FA40010 */ lw $a0, 0x10($sp) /* 04D3C0 80071FC0 8FA50014 */ lw $a1, 0x14($sp) @@ -2628,7 +2628,7 @@ func_80071FF0: /* 04D408 80072008 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D40C 8007200C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D410 80072010 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D414 80072014 0C016959 */ jal func_8005A564 +/* 04D414 80072014 0C016959 */ jal play_effect /* 04D418 80072018 24040069 */ addiu $a0, $zero, 0x69 /* 04D41C 8007201C 8FA40010 */ lw $a0, 0x10($sp) /* 04D420 80072020 8FA50014 */ lw $a1, 0x14($sp) @@ -2652,7 +2652,7 @@ func_80071FF0: /* 04D468 80072068 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D46C 8007206C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D470 80072070 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D474 80072074 0C016959 */ jal func_8005A564 +/* 04D474 80072074 0C016959 */ jal play_effect /* 04D478 80072078 2404006A */ addiu $a0, $zero, 0x6a /* 04D47C 8007207C 8FA40010 */ lw $a0, 0x10($sp) /* 04D480 80072080 8FA50014 */ lw $a1, 0x14($sp) @@ -2677,7 +2677,7 @@ func_800720B0: /* 04D4C8 800720C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D4CC 800720CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D4D0 800720D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D4D4 800720D4 0C016959 */ jal func_8005A564 +/* 04D4D4 800720D4 0C016959 */ jal play_effect /* 04D4D8 800720D8 2404006B */ addiu $a0, $zero, 0x6b /* 04D4DC 800720DC 8FA40010 */ lw $a0, 0x10($sp) /* 04D4E0 800720E0 8FA50014 */ lw $a1, 0x14($sp) @@ -2702,7 +2702,7 @@ func_80072110: /* 04D528 80072128 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D52C 8007212C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D530 80072130 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D534 80072134 0C016959 */ jal func_8005A564 +/* 04D534 80072134 0C016959 */ jal play_effect /* 04D538 80072138 2404006C */ addiu $a0, $zero, 0x6c /* 04D53C 8007213C 8FA40010 */ lw $a0, 0x10($sp) /* 04D540 80072140 8FA50014 */ lw $a1, 0x14($sp) @@ -2727,7 +2727,7 @@ func_80072170: /* 04D588 80072188 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D58C 8007218C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D590 80072190 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D594 80072194 0C016959 */ jal func_8005A564 +/* 04D594 80072194 0C016959 */ jal play_effect /* 04D598 80072198 2404006D */ addiu $a0, $zero, 0x6d /* 04D59C 8007219C 8FA40010 */ lw $a0, 0x10($sp) /* 04D5A0 800721A0 8FA50014 */ lw $a1, 0x14($sp) @@ -2752,7 +2752,7 @@ func_800721D0: /* 04D5E8 800721E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D5EC 800721EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D5F0 800721F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D5F4 800721F4 0C016959 */ jal func_8005A564 +/* 04D5F4 800721F4 0C016959 */ jal play_effect /* 04D5F8 800721F8 2404006E */ addiu $a0, $zero, 0x6e /* 04D5FC 800721FC 8FA40010 */ lw $a0, 0x10($sp) /* 04D600 80072200 8FA50014 */ lw $a1, 0x14($sp) @@ -2777,7 +2777,7 @@ func_80072230: /* 04D648 80072248 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D64C 8007224C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D650 80072250 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D654 80072254 0C016959 */ jal func_8005A564 +/* 04D654 80072254 0C016959 */ jal play_effect /* 04D658 80072258 2404006F */ addiu $a0, $zero, 0x6f /* 04D65C 8007225C 8FA40010 */ lw $a0, 0x10($sp) /* 04D660 80072260 8FA50014 */ lw $a1, 0x14($sp) @@ -2802,7 +2802,7 @@ func_80072290: /* 04D6A8 800722A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D6AC 800722AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D6B0 800722B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D6B4 800722B4 0C016959 */ jal func_8005A564 +/* 04D6B4 800722B4 0C016959 */ jal play_effect /* 04D6B8 800722B8 24040070 */ addiu $a0, $zero, 0x70 /* 04D6BC 800722BC 8FA40010 */ lw $a0, 0x10($sp) /* 04D6C0 800722C0 8FA50014 */ lw $a1, 0x14($sp) @@ -2827,7 +2827,7 @@ func_800722F0: /* 04D708 80072308 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D70C 8007230C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D710 80072310 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D714 80072314 0C016959 */ jal func_8005A564 +/* 04D714 80072314 0C016959 */ jal play_effect /* 04D718 80072318 24040071 */ addiu $a0, $zero, 0x71 /* 04D71C 8007231C 8FA40010 */ lw $a0, 0x10($sp) /* 04D720 80072320 8FA50014 */ lw $a1, 0x14($sp) @@ -2852,7 +2852,7 @@ func_80072350: /* 04D768 80072368 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D76C 8007236C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D770 80072370 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D774 80072374 0C016959 */ jal func_8005A564 +/* 04D774 80072374 0C016959 */ jal play_effect /* 04D778 80072378 24040072 */ addiu $a0, $zero, 0x72 /* 04D77C 8007237C 8FA40010 */ lw $a0, 0x10($sp) /* 04D780 80072380 8FA50014 */ lw $a1, 0x14($sp) @@ -2877,7 +2877,7 @@ func_800723B0: /* 04D7C8 800723C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D7CC 800723CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D7D0 800723D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D7D4 800723D4 0C016959 */ jal func_8005A564 +/* 04D7D4 800723D4 0C016959 */ jal play_effect /* 04D7D8 800723D8 24040073 */ addiu $a0, $zero, 0x73 /* 04D7DC 800723DC 8FA40010 */ lw $a0, 0x10($sp) /* 04D7E0 800723E0 8FA50014 */ lw $a1, 0x14($sp) @@ -2902,7 +2902,7 @@ func_80072410: /* 04D828 80072428 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D82C 8007242C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D830 80072430 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D834 80072434 0C016959 */ jal func_8005A564 +/* 04D834 80072434 0C016959 */ jal play_effect /* 04D838 80072438 24040074 */ addiu $a0, $zero, 0x74 /* 04D83C 8007243C 8FA40010 */ lw $a0, 0x10($sp) /* 04D840 80072440 8FA50014 */ lw $a1, 0x14($sp) @@ -2927,7 +2927,7 @@ func_80072470: /* 04D888 80072488 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D88C 8007248C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D890 80072490 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D894 80072494 0C016959 */ jal func_8005A564 +/* 04D894 80072494 0C016959 */ jal play_effect /* 04D898 80072498 24040075 */ addiu $a0, $zero, 0x75 /* 04D89C 8007249C 8FA40010 */ lw $a0, 0x10($sp) /* 04D8A0 800724A0 8FA50014 */ lw $a1, 0x14($sp) @@ -2951,7 +2951,7 @@ func_80072470: /* 04D8E8 800724E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D8EC 800724EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D8F0 800724F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D8F4 800724F4 0C016959 */ jal func_8005A564 +/* 04D8F4 800724F4 0C016959 */ jal play_effect /* 04D8F8 800724F8 24040076 */ addiu $a0, $zero, 0x76 /* 04D8FC 800724FC 8FA40010 */ lw $a0, 0x10($sp) /* 04D900 80072500 8FA50014 */ lw $a1, 0x14($sp) @@ -2976,7 +2976,7 @@ func_80072530: /* 04D948 80072548 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D94C 8007254C E7B00028 */ swc1 $f16, 0x28($sp) /* 04D950 80072550 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D954 80072554 0C016959 */ jal func_8005A564 +/* 04D954 80072554 0C016959 */ jal play_effect /* 04D958 80072558 24040077 */ addiu $a0, $zero, 0x77 /* 04D95C 8007255C 8FA40010 */ lw $a0, 0x10($sp) /* 04D960 80072560 8FA50014 */ lw $a1, 0x14($sp) @@ -3001,7 +3001,7 @@ func_80072590: /* 04D9A8 800725A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04D9AC 800725AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04D9B0 800725B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04D9B4 800725B4 0C016959 */ jal func_8005A564 +/* 04D9B4 800725B4 0C016959 */ jal play_effect /* 04D9B8 800725B8 24040078 */ addiu $a0, $zero, 0x78 /* 04D9BC 800725BC 8FA40010 */ lw $a0, 0x10($sp) /* 04D9C0 800725C0 8FA50014 */ lw $a1, 0x14($sp) @@ -3026,7 +3026,7 @@ func_800725F0: /* 04DA08 80072608 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DA0C 8007260C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DA10 80072610 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DA14 80072614 0C016959 */ jal func_8005A564 +/* 04DA14 80072614 0C016959 */ jal play_effect /* 04DA18 80072618 24040079 */ addiu $a0, $zero, 0x79 /* 04DA1C 8007261C 8FA40010 */ lw $a0, 0x10($sp) /* 04DA20 80072620 8FA50014 */ lw $a1, 0x14($sp) @@ -3051,7 +3051,7 @@ func_80072650: /* 04DA68 80072668 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DA6C 8007266C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DA70 80072670 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DA74 80072674 0C016959 */ jal func_8005A564 +/* 04DA74 80072674 0C016959 */ jal play_effect /* 04DA78 80072678 2404007A */ addiu $a0, $zero, 0x7a /* 04DA7C 8007267C 8FA40010 */ lw $a0, 0x10($sp) /* 04DA80 80072680 8FA50014 */ lw $a1, 0x14($sp) @@ -3076,7 +3076,7 @@ func_800726B0: /* 04DAC8 800726C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DACC 800726CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04DAD0 800726D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DAD4 800726D4 0C016959 */ jal func_8005A564 +/* 04DAD4 800726D4 0C016959 */ jal play_effect /* 04DAD8 800726D8 2404007B */ addiu $a0, $zero, 0x7b /* 04DADC 800726DC 8FA40010 */ lw $a0, 0x10($sp) /* 04DAE0 800726E0 8FA50014 */ lw $a1, 0x14($sp) @@ -3101,7 +3101,7 @@ func_80072710: /* 04DB28 80072728 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DB2C 8007272C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DB30 80072730 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DB34 80072734 0C016959 */ jal func_8005A564 +/* 04DB34 80072734 0C016959 */ jal play_effect /* 04DB38 80072738 2404007C */ addiu $a0, $zero, 0x7c /* 04DB3C 8007273C 8FA40010 */ lw $a0, 0x10($sp) /* 04DB40 80072740 8FA50014 */ lw $a1, 0x14($sp) @@ -3126,7 +3126,7 @@ func_80072770: /* 04DB88 80072788 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DB8C 8007278C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DB90 80072790 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DB94 80072794 0C016959 */ jal func_8005A564 +/* 04DB94 80072794 0C016959 */ jal play_effect /* 04DB98 80072798 2404007D */ addiu $a0, $zero, 0x7d /* 04DB9C 8007279C 8FA40010 */ lw $a0, 0x10($sp) /* 04DBA0 800727A0 8FA50014 */ lw $a1, 0x14($sp) @@ -3151,7 +3151,7 @@ func_800727D0: /* 04DBE8 800727E8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DBEC 800727EC E7B00028 */ swc1 $f16, 0x28($sp) /* 04DBF0 800727F0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DBF4 800727F4 0C016959 */ jal func_8005A564 +/* 04DBF4 800727F4 0C016959 */ jal play_effect /* 04DBF8 800727F8 2404007E */ addiu $a0, $zero, 0x7e /* 04DBFC 800727FC 8FA40010 */ lw $a0, 0x10($sp) /* 04DC00 80072800 8FA50014 */ lw $a1, 0x14($sp) @@ -3176,7 +3176,7 @@ func_80072830: /* 04DC48 80072848 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DC4C 8007284C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DC50 80072850 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DC54 80072854 0C016959 */ jal func_8005A564 +/* 04DC54 80072854 0C016959 */ jal play_effect /* 04DC58 80072858 2404007F */ addiu $a0, $zero, 0x7f /* 04DC5C 8007285C 8FA40010 */ lw $a0, 0x10($sp) /* 04DC60 80072860 8FA50014 */ lw $a1, 0x14($sp) @@ -3201,7 +3201,7 @@ func_80072890: /* 04DCA8 800728A8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DCAC 800728AC E7B00028 */ swc1 $f16, 0x28($sp) /* 04DCB0 800728B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DCB4 800728B4 0C016959 */ jal func_8005A564 +/* 04DCB4 800728B4 0C016959 */ jal play_effect /* 04DCB8 800728B8 24040080 */ addiu $a0, $zero, 0x80 /* 04DCBC 800728BC 8FA40010 */ lw $a0, 0x10($sp) /* 04DCC0 800728C0 8FA50014 */ lw $a1, 0x14($sp) @@ -3226,7 +3226,7 @@ func_800728F0: /* 04DD08 80072908 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DD0C 8007290C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DD10 80072910 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DD14 80072914 0C016959 */ jal func_8005A564 +/* 04DD14 80072914 0C016959 */ jal play_effect /* 04DD18 80072918 24040081 */ addiu $a0, $zero, 0x81 /* 04DD1C 8007291C 8FA40010 */ lw $a0, 0x10($sp) /* 04DD20 80072920 8FA50014 */ lw $a1, 0x14($sp) @@ -3251,7 +3251,7 @@ func_80072950: /* 04DD68 80072968 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DD6C 8007296C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DD70 80072970 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DD74 80072974 0C016959 */ jal func_8005A564 +/* 04DD74 80072974 0C016959 */ jal play_effect /* 04DD78 80072978 24040082 */ addiu $a0, $zero, 0x82 /* 04DD7C 8007297C 8FA40010 */ lw $a0, 0x10($sp) /* 04DD80 80072980 8FA50014 */ lw $a1, 0x14($sp) @@ -3276,7 +3276,7 @@ func_800729B0: /* 04DDC8 800729C8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DDCC 800729CC E7B00028 */ swc1 $f16, 0x28($sp) /* 04DDD0 800729D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DDD4 800729D4 0C016959 */ jal func_8005A564 +/* 04DDD4 800729D4 0C016959 */ jal play_effect /* 04DDD8 800729D8 24040083 */ addiu $a0, $zero, 0x83 /* 04DDDC 800729DC 8FA40010 */ lw $a0, 0x10($sp) /* 04DDE0 800729E0 8FA50014 */ lw $a1, 0x14($sp) @@ -3301,7 +3301,7 @@ func_80072A10: /* 04DE28 80072A28 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DE2C 80072A2C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DE30 80072A30 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DE34 80072A34 0C016959 */ jal func_8005A564 +/* 04DE34 80072A34 0C016959 */ jal play_effect /* 04DE38 80072A38 24040084 */ addiu $a0, $zero, 0x84 /* 04DE3C 80072A3C 8FA40010 */ lw $a0, 0x10($sp) /* 04DE40 80072A40 8FA50014 */ lw $a1, 0x14($sp) @@ -3326,7 +3326,7 @@ func_80072A70: /* 04DE88 80072A88 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DE8C 80072A8C E7B00028 */ swc1 $f16, 0x28($sp) /* 04DE90 80072A90 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DE94 80072A94 0C016959 */ jal func_8005A564 +/* 04DE94 80072A94 0C016959 */ jal play_effect /* 04DE98 80072A98 24040085 */ addiu $a0, $zero, 0x85 /* 04DE9C 80072A9C 8FA40010 */ lw $a0, 0x10($sp) /* 04DEA0 80072AA0 8FA50014 */ lw $a1, 0x14($sp) @@ -3351,7 +3351,7 @@ func_80072AD0: /* 04DEE8 80072AE8 E7AE0024 */ swc1 $f14, 0x24($sp) /* 04DEEC 80072AEC E7B00028 */ swc1 $f16, 0x28($sp) /* 04DEF0 80072AF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 04DEF4 80072AF4 0C016959 */ jal func_8005A564 +/* 04DEF4 80072AF4 0C016959 */ jal play_effect /* 04DEF8 80072AF8 24040086 */ addiu $a0, $zero, 0x86 /* 04DEFC 80072AFC 8FA40010 */ lw $a0, 0x10($sp) /* 04DF00 80072B00 8FA50014 */ lw $a1, 0x14($sp) @@ -3430,7 +3430,7 @@ func_80072BDC: /* 04E00C 80072C0C 8E26000C */ lw $a2, 0xc($s1) /* 04E010 80072C10 3C10800E */ lui $s0, 0x800e /* 04E014 80072C14 9210C4EB */ lbu $s0, -0x3b15($s0) -/* 04E018 80072C18 0C00A5CF */ jal func_8002973C +/* 04E018 80072C18 0C00A5CF */ jal dma_copy /* 04E01C 80072C1C 00000000 */ nop /* 04E020 80072C20 00101880 */ sll $v1, $s0, 2 /* 04E024 80072C24 00701821 */ addu $v1, $v1, $s0 @@ -3464,12 +3464,12 @@ func_80072C6C: /* 04E088 80072C88 03E00008 */ jr $ra /* 04E08C 80072C8C 27BD0020 */ addiu $sp, $sp, 0x20 -func_80072C90: +load_battle: /* 04E090 80072C90 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 04E094 80072C94 3C01800E */ lui $at, 0x800e /* 04E098 80072C98 AC24C4E8 */ sw $a0, -0x3b18($at) /* 04E09C 80072C9C AFBF0010 */ sw $ra, 0x10($sp) -/* 04E0A0 80072CA0 0C00CD3C */ jal func_800334F0 +/* 04E0A0 80072CA0 0C00CD3C */ jal set_game_mode /* 04E0A4 80072CA4 24040008 */ addiu $a0, $zero, 8 /* 04E0A8 80072CA8 8FBF0010 */ lw $ra, 0x10($sp) /* 04E0AC 80072CAC 3C01800E */ lui $at, 0x800e @@ -3512,7 +3512,7 @@ func_80072CEC: /* 04E124 80072D24 03E00008 */ jr $ra /* 04E128 80072D28 27BD0018 */ addiu $sp, $sp, 0x18 -func_80072D2C: +setup_demo_player: /* 04E12C 80072D2C 24030001 */ addiu $v1, $zero, 1 /* 04E130 80072D30 0060382D */ daddu $a3, $v1, $zero /* 04E134 80072D34 24060002 */ addiu $a2, $zero, 2 @@ -3576,7 +3576,7 @@ func_80072D2C: /* 04E20C 80072E0C 03E00008 */ jr $ra /* 04E210 80072E10 A0A00292 */ sb $zero, 0x292($a1) -func_80072E14: +load_demo_battle: /* 04E214 80072E14 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 04E218 80072E18 3C038007 */ lui $v1, 0x8007 /* 04E21C 80072E1C 2463419C */ addiu $v1, $v1, 0x419c @@ -3589,13 +3589,13 @@ func_80072E14: /* 04E238 80072E38 0080882D */ daddu $s1, $a0, $zero /* 04E23C 80072E3C A4400086 */ sh $zero, 0x86($v0) /* 04E240 80072E40 A440008C */ sh $zero, 0x8c($v0) -/* 04E244 80072E44 0C00AB00 */ jal func_8002AC00 +/* 04E244 80072E44 0C00AB00 */ jal general_heap_create /* 04E248 80072E48 A0400070 */ sb $zero, 0x70($v0) /* 04E24C 80072E4C 0C048C2E */ jal func_801230B8 /* 04E250 80072E50 00000000 */ nop -/* 04E254 80072E54 0C0B0C77 */ jal func_802C31DC +/* 04E254 80072E54 0C0B0C77 */ jal clear_script_list /* 04E258 80072E58 00000000 */ nop -/* 04E25C 80072E5C 0C00B7BD */ jal func_8002DEF4 +/* 04E25C 80072E5C 0C00B7BD */ jal create_cameras_a /* 04E260 80072E60 00000000 */ nop /* 04E264 80072E64 0C0B763E */ jal func_802DD8F8 /* 04E268 80072E68 0000202D */ daddu $a0, $zero, $zero @@ -3607,9 +3607,9 @@ func_80072E14: /* 04E280 80072E80 00000000 */ nop /* 04E284 80072E84 0C050440 */ jal func_80141100 /* 04E288 80072E88 00000000 */ nop -/* 04E28C 80072E8C 0C0515A0 */ jal func_80145680 +/* 04E28C 80072E8C 0C0515A0 */ jal clear_trigger_data /* 04E290 80072E90 00000000 */ nop -/* 04E294 80072E94 0C045751 */ jal func_80115D44 +/* 04E294 80072E94 0C045751 */ jal clear_model_data /* 04E298 80072E98 00000000 */ nop /* 04E29C 80072E9C 0C052010 */ jal func_80148040 /* 04E2A0 80072EA0 00000000 */ nop @@ -3619,23 +3619,23 @@ func_80072E14: /* 04E2B0 80072EB0 00000000 */ nop /* 04E2B4 80072EB4 0C01CACC */ jal func_80072B30 /* 04E2B8 80072EB8 00000000 */ nop -/* 04E2BC 80072EBC 0C00F900 */ jal func_8003E400 +/* 04E2BC 80072EBC 0C00F900 */ jal clear_encounter_status /* 04E2C0 80072EC0 00000000 */ nop /* 04E2C4 80072EC4 0C04432E */ jal func_80110CB8 /* 04E2C8 80072EC8 24040001 */ addiu $a0, $zero, 1 /* 04E2CC 80072ECC 0C016727 */ jal func_80059C9C /* 04E2D0 80072ED0 00000000 */ nop -/* 04E2D4 80072ED4 0C037F14 */ jal func_800DFC50 +/* 04E2D4 80072ED4 0C037F14 */ jal clear_player_status /* 04E2D8 80072ED8 00000000 */ nop -/* 04E2DC 80072EDC 0C048D9D */ jal func_80123674 +/* 04E2DC 80072EDC 0C048D9D */ jal clear_printers /* 04E2E0 80072EE0 00000000 */ nop -/* 04E2E4 80072EE4 0C04C3FC */ jal func_80130FF0 +/* 04E2E4 80072EE4 0C04C3FC */ jal clear_item_entity_data /* 04E2E8 80072EE8 00000000 */ nop -/* 04E2EC 80072EEC 0C039CE8 */ jal func_800E73A0 +/* 04E2EC 80072EEC 0C039CE8 */ jal clear_player_data /* 04E2F0 80072EF0 00000000 */ nop -/* 04E2F4 80072EF4 0C039E4D */ jal func_800E7934 +/* 04E2F4 80072EF4 0C039E4D */ jal initialize_status_menu /* 04E2F8 80072EF8 00000000 */ nop -/* 04E2FC 80072EFC 0C04C3FC */ jal func_80130FF0 +/* 04E2FC 80072EFC 0C04C3FC */ jal clear_item_entity_data /* 04E300 80072F00 00000000 */ nop /* 04E304 80072F04 3C05437F */ lui $a1, 0x437f /* 04E308 80072F08 0C04DF62 */ jal func_80137D88 @@ -3650,20 +3650,20 @@ func_80072E14: /* 04E32C 80072F2C 8C22A578 */ lw $v0, -0x5a88($at) /* 04E330 80072F30 00400008 */ jr $v0 /* 04E334 80072F34 00000000 */ nop -/* 04E338 80072F38 0C01CB4B */ jal func_80072D2C +/* 04E338 80072F38 0C01CB4B */ jal setup_demo_player /* 04E33C 80072F3C 24112700 */ addiu $s1, $zero, 0x2700 /* 04E340 80072F40 0000202D */ daddu $a0, $zero, $zero /* 04E344 80072F44 0801CBF8 */ j func_80072FE0 /* 04E348 80072F48 A200000A */ sb $zero, 0xa($s0) -/* 04E34C 80072F4C 0C01CB4B */ jal func_80072D2C +/* 04E34C 80072F4C 0C01CB4B */ jal setup_demo_player /* 04E350 80072F50 24112701 */ addiu $s1, $zero, 0x2701 /* 04E354 80072F54 0000202D */ daddu $a0, $zero, $zero /* 04E358 80072F58 24020009 */ addiu $v0, $zero, 9 /* 04E35C 80072F5C 0801CBF8 */ j func_80072FE0 /* 04E360 80072F60 A2020012 */ sb $v0, 0x12($s0) -/* 04E364 80072F64 0C01CB4B */ jal func_80072D2C +/* 04E364 80072F64 0C01CB4B */ jal setup_demo_player /* 04E368 80072F68 24112702 */ addiu $s1, $zero, 0x2702 /* 04E36C 80072F6C 0000202D */ daddu $a0, $zero, $zero /* 04E370 80072F70 3C038007 */ lui $v1, 0x8007 @@ -3675,14 +3675,14 @@ func_80072E14: /* 04E388 80072F88 0801CBF8 */ j func_80072FE0 /* 04E38C 80072F8C A06200AA */ sb $v0, 0xaa($v1) -/* 04E390 80072F90 0C01CB4B */ jal func_80072D2C +/* 04E390 80072F90 0C01CB4B */ jal setup_demo_player /* 04E394 80072F94 24112703 */ addiu $s1, $zero, 0x2703 /* 04E398 80072F98 0000202D */ daddu $a0, $zero, $zero /* 04E39C 80072F9C 24020006 */ addiu $v0, $zero, 6 /* 04E3A0 80072FA0 0801CBF8 */ j func_80072FE0 /* 04E3A4 80072FA4 A2020012 */ sb $v0, 0x12($s0) -/* 04E3A8 80072FA8 0C01CB4B */ jal func_80072D2C +/* 04E3A8 80072FA8 0C01CB4B */ jal setup_demo_player /* 04E3AC 80072FAC 24112704 */ addiu $s1, $zero, 0x2704 /* 04E3B0 80072FB0 0000202D */ daddu $a0, $zero, $zero /* 04E3B4 80072FB4 3C038007 */ lui $v1, 0x8007 @@ -3695,7 +3695,7 @@ func_80072E14: /* 04E3D0 80072FD0 A06200AA */ sb $v0, 0xaa($v1) .L80072FD4: -/* 04E3D4 80072FD4 0C01CB4B */ jal func_80072D2C +/* 04E3D4 80072FD4 0C01CB4B */ jal setup_demo_player /* 04E3D8 80072FD8 24112700 */ addiu $s1, $zero, 0x2700 /* 04E3DC 80072FDC 24040002 */ addiu $a0, $zero, 2 func_80072FE0: @@ -3792,7 +3792,7 @@ func_80073128: /* 04E528 80073128 0000202D */ daddu $a0, $zero, $zero /* 04E52C 8007312C 3C05F840 */ lui $a1, 0xf840 /* 04E530 80073130 34A56299 */ ori $a1, $a1, 0x6299 -/* 04E534 80073134 0C0B2026 */ jal func_802C8098 +/* 04E534 80073134 0C0B2026 */ jal set_variable /* 04E538 80073138 24060001 */ addiu $a2, $zero, 1 /* 04E53C 8007313C 2404FFFF */ addiu $a0, $zero, -1 /* 04E540 80073140 3C02800B */ lui $v0, 0x800b @@ -3811,7 +3811,7 @@ func_80073128: /* 04E574 80073174 8CA20000 */ lw $v0, ($a1) /* 04E578 80073178 2403FFF7 */ addiu $v1, $zero, -9 /* 04E57C 8007317C 00431024 */ and $v0, $v0, $v1 -/* 04E580 80073180 0C01CB24 */ jal func_80072C90 +/* 04E580 80073180 0C01CB24 */ jal load_battle /* 04E584 80073184 ACA20000 */ sw $v0, ($a1) /* 04E588 80073188 8FBF0018 */ lw $ra, 0x18($sp) /* 04E58C 8007318C 8FB10014 */ lw $s1, 0x14($sp) diff --git a/papermario/asm/code_6240_len_c00.s b/papermario/asm/code_6240_len_c00.s index 2d6826fc63..f552fe57df 100644 --- a/papermario/asm/code_6240_len_c00.s +++ b/papermario/asm/code_6240_len_c00.s @@ -1,19 +1,19 @@ .section .text8002AE40, "ax" -func_8002AE40: +get_spirits_rescued: /* 006240 8002AE40 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 006244 8002AE44 0000202D */ daddu $a0, $zero, $zero /* 006248 8002AE48 3C05F5DE */ lui $a1, 0xf5de /* 00624C 8002AE4C 34A50180 */ ori $a1, $a1, 0x180 /* 006250 8002AE50 AFBF0018 */ sw $ra, 0x18($sp) /* 006254 8002AE54 AFB10014 */ sw $s1, 0x14($sp) -/* 006258 8002AE58 0C0B1EAF */ jal func_802C7ABC +/* 006258 8002AE58 0C0B1EAF */ jal get_variable /* 00625C 8002AE5C AFB00010 */ sw $s0, 0x10($sp) /* 006260 8002AE60 24110007 */ addiu $s1, $zero, 7 /* 006264 8002AE64 0000202D */ daddu $a0, $zero, $zero /* 006268 8002AE68 2405FFB3 */ addiu $a1, $zero, -0x4d -/* 00626C 8002AE6C 0C0B1EAF */ jal func_802C7ABC +/* 00626C 8002AE6C 0C0B1EAF */ jal get_variable /* 006270 8002AE70 0040802D */ daddu $s0, $v0, $zero /* 006274 8002AE74 0202102A */ slt $v0, $s0, $v0 /* 006278 8002AE78 10400003 */ beqz $v0, .L8002AE88 @@ -22,7 +22,7 @@ func_8002AE40: /* 006284 8002AE84 0000882D */ daddu $s1, $zero, $zero .L8002AE88: -/* 006288 8002AE88 0C0B1EAF */ jal func_802C7ABC +/* 006288 8002AE88 0C0B1EAF */ jal get_variable /* 00628C 8002AE8C 2405FFC9 */ addiu $a1, $zero, -0x37 /* 006290 8002AE90 0202102A */ slt $v0, $s0, $v0 /* 006294 8002AE94 10400003 */ beqz $v0, .L8002AEA4 @@ -31,7 +31,7 @@ func_8002AE40: /* 0062A0 8002AEA0 24110001 */ addiu $s1, $zero, 1 .L8002AEA4: -/* 0062A4 8002AEA4 0C0B1EAF */ jal func_802C7ABC +/* 0062A4 8002AEA4 0C0B1EAF */ jal get_variable /* 0062A8 8002AEA8 2405FFF1 */ addiu $a1, $zero, -0xf /* 0062AC 8002AEAC 0202102A */ slt $v0, $s0, $v0 /* 0062B0 8002AEB0 10400003 */ beqz $v0, .L8002AEC0 @@ -40,7 +40,7 @@ func_8002AE40: /* 0062BC 8002AEBC 24110002 */ addiu $s1, $zero, 2 .L8002AEC0: -/* 0062C0 8002AEC0 0C0B1EAF */ jal func_802C7ABC +/* 0062C0 8002AEC0 0C0B1EAF */ jal get_variable /* 0062C4 8002AEC4 24050005 */ addiu $a1, $zero, 5 /* 0062C8 8002AEC8 0202102A */ slt $v0, $s0, $v0 /* 0062CC 8002AECC 10400003 */ beqz $v0, .L8002AEDC @@ -49,7 +49,7 @@ func_8002AE40: /* 0062D8 8002AED8 24110003 */ addiu $s1, $zero, 3 .L8002AEDC: -/* 0062DC 8002AEDC 0C0B1EAF */ jal func_802C7ABC +/* 0062DC 8002AEDC 0C0B1EAF */ jal get_variable /* 0062E0 8002AEE0 24050025 */ addiu $a1, $zero, 0x25 /* 0062E4 8002AEE4 0202102A */ slt $v0, $s0, $v0 /* 0062E8 8002AEE8 10400003 */ beqz $v0, .L8002AEF8 @@ -58,7 +58,7 @@ func_8002AE40: /* 0062F4 8002AEF4 24110004 */ addiu $s1, $zero, 4 .L8002AEF8: -/* 0062F8 8002AEF8 0C0B1EAF */ jal func_802C7ABC +/* 0062F8 8002AEF8 0C0B1EAF */ jal get_variable /* 0062FC 8002AEFC 24050039 */ addiu $a1, $zero, 0x39 /* 006300 8002AF00 0202102A */ slt $v0, $s0, $v0 /* 006304 8002AF04 10400003 */ beqz $v0, .L8002AF14 @@ -67,7 +67,7 @@ func_8002AE40: /* 006310 8002AF10 24110005 */ addiu $s1, $zero, 5 .L8002AF14: -/* 006314 8002AF14 0C0B1EAF */ jal func_802C7ABC +/* 006314 8002AF14 0C0B1EAF */ jal get_variable /* 006318 8002AF18 24050057 */ addiu $a1, $zero, 0x57 /* 00631C 8002AF1C 0202102A */ slt $v0, $s0, $v0 /* 006320 8002AF20 54400001 */ bnezl $v0, .L8002AF28 @@ -81,7 +81,7 @@ func_8002AF28: /* 006338 8002AF38 03E00008 */ jr $ra /* 00633C 8002AF3C 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002AF40: +fio_calc_header_checksum: /* 006340 8002AF40 0000282D */ daddu $a1, $zero, $zero /* 006344 8002AF44 3C04800E */ lui $a0, 0x800e /* 006348 8002AF48 248495E8 */ addiu $a0, $a0, -0x6a18 @@ -96,7 +96,7 @@ func_8002AF40: /* 006368 8002AF68 03E00008 */ jr $ra /* 00636C 8002AF6C 00A0102D */ daddu $v0, $a1, $zero -func_8002AF70: +fio_validate_header_checksums: /* 006370 8002AF70 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006374 8002AF74 3C02800E */ lui $v0, 0x800e /* 006378 8002AF78 244295E8 */ addiu $v0, $v0, -0x6a18 @@ -114,7 +114,7 @@ func_8002AF70: /* 0063A8 8002AFA8 00021027 */ nor $v0, $zero, $v0 /* 0063AC 8002AFAC 54620006 */ bnel $v1, $v0, .L8002AFC8 /* 0063B0 8002AFB0 0000102D */ daddu $v0, $zero, $zero -/* 0063B4 8002AFB4 0C00ABD0 */ jal func_8002AF40 +/* 0063B4 8002AFB4 0C00ABD0 */ jal fio_calc_header_checksum /* 0063B8 8002AFB8 00000000 */ nop /* 0063BC 8002AFBC 8E030030 */ lw $v1, 0x30($s0) /* 0063C0 8002AFC0 00431026 */ xor $v0, $v0, $v1 @@ -125,7 +125,7 @@ func_8002AF70: /* 0063D0 8002AFD0 03E00008 */ jr $ra /* 0063D4 8002AFD4 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002AFD8: +fio_has_valid_backup: /* 0063D8 8002AFD8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0063DC 8002AFDC 24040006 */ addiu $a0, $zero, 6 /* 0063E0 8002AFE0 AFB00010 */ sw $s0, 0x10($sp) @@ -133,17 +133,17 @@ func_8002AFD8: /* 0063E8 8002AFE8 261095E8 */ addiu $s0, $s0, -0x6a18 /* 0063EC 8002AFEC 0200282D */ daddu $a1, $s0, $zero /* 0063F0 8002AFF0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0063F4 8002AFF4 0C00AE1A */ jal func_8002B868 +/* 0063F4 8002AFF4 0C00AE1A */ jal fio_read_flash /* 0063F8 8002AFF8 24060080 */ addiu $a2, $zero, 0x80 -/* 0063FC 8002AFFC 0C00ABDC */ jal func_8002AF70 +/* 0063FC 8002AFFC 0C00ABDC */ jal fio_validate_header_checksums /* 006400 8002B000 00000000 */ nop /* 006404 8002B004 1440000D */ bnez $v0, .L8002B03C /* 006408 8002B008 24020001 */ addiu $v0, $zero, 1 /* 00640C 8002B00C 24040007 */ addiu $a0, $zero, 7 /* 006410 8002B010 0200282D */ daddu $a1, $s0, $zero -/* 006414 8002B014 0C00AE1A */ jal func_8002B868 +/* 006414 8002B014 0C00AE1A */ jal fio_read_flash /* 006418 8002B018 24060080 */ addiu $a2, $zero, 0x80 -/* 00641C 8002B01C 0C00ABDC */ jal func_8002AF70 +/* 00641C 8002B01C 0C00ABDC */ jal fio_validate_header_checksums /* 006420 8002B020 00000000 */ nop /* 006424 8002B024 14400005 */ bnez $v0, .L8002B03C /* 006428 8002B028 24020001 */ addiu $v0, $zero, 1 @@ -157,7 +157,7 @@ func_8002AFD8: /* 006444 8002B044 03E00008 */ jr $ra /* 006448 8002B048 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002B04C: +fio_flush_backups: /* 00644C 8002B04C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006450 8002B050 AFB00010 */ sw $s0, 0x10($sp) /* 006454 8002B054 3C10800E */ lui $s0, 0x800e @@ -169,22 +169,22 @@ func_8002B04C: /* 00646C 8002B06C 0200202D */ daddu $a0, $s0, $zero /* 006470 8002B070 2402FFFF */ addiu $v0, $zero, -1 /* 006474 8002B074 AE000030 */ sw $zero, 0x30($s0) -/* 006478 8002B078 0C00ABD0 */ jal func_8002AF40 +/* 006478 8002B078 0C00ABD0 */ jal fio_calc_header_checksum /* 00647C 8002B07C AE020034 */ sw $v0, 0x34($s0) /* 006480 8002B080 24040006 */ addiu $a0, $zero, 6 /* 006484 8002B084 AE020030 */ sw $v0, 0x30($s0) /* 006488 8002B088 00021027 */ nor $v0, $zero, $v0 -/* 00648C 8002B08C 0C00AE87 */ jal func_8002BA1C +/* 00648C 8002B08C 0C00AE87 */ jal fio_erase_flash /* 006490 8002B090 AE020034 */ sw $v0, 0x34($s0) /* 006494 8002B094 24040006 */ addiu $a0, $zero, 6 /* 006498 8002B098 0200282D */ daddu $a1, $s0, $zero -/* 00649C 8002B09C 0C00AE52 */ jal func_8002B948 +/* 00649C 8002B09C 0C00AE52 */ jal fio_write_flash /* 0064A0 8002B0A0 24060080 */ addiu $a2, $zero, 0x80 -/* 0064A4 8002B0A4 0C00AE87 */ jal func_8002BA1C +/* 0064A4 8002B0A4 0C00AE87 */ jal fio_erase_flash /* 0064A8 8002B0A8 24040007 */ addiu $a0, $zero, 7 /* 0064AC 8002B0AC 24040007 */ addiu $a0, $zero, 7 /* 0064B0 8002B0B0 0200282D */ daddu $a1, $s0, $zero -/* 0064B4 8002B0B4 0C00AE52 */ jal func_8002B948 +/* 0064B4 8002B0B4 0C00AE52 */ jal fio_write_flash /* 0064B8 8002B0B8 24060080 */ addiu $a2, $zero, 0x80 /* 0064BC 8002B0BC 8FBF0014 */ lw $ra, 0x14($sp) /* 0064C0 8002B0C0 8FB00010 */ lw $s0, 0x10($sp) @@ -192,7 +192,7 @@ func_8002B04C: /* 0064C8 8002B0C8 03E00008 */ jr $ra /* 0064CC 8002B0CC 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002B0D0: +fio_calc_file_checksum: /* 0064D0 8002B0D0 0000282D */ daddu $a1, $zero, $zero /* 0064D4 8002B0D4 00A0182D */ daddu $v1, $a1, $zero .L8002B0D8: @@ -205,7 +205,7 @@ func_8002B0D0: /* 0064F0 8002B0F0 03E00008 */ jr $ra /* 0064F4 8002B0F4 00A0102D */ daddu $v0, $a1, $zero -func_8002B0F8: +fio_validate_file_checksum: /* 0064F8 8002B0F8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0064FC 8002B0FC AFB00010 */ sw $s0, 0x10($sp) /* 006500 8002B100 3C058007 */ lui $a1, 0x8007 @@ -220,7 +220,7 @@ func_8002B0F8: /* 006524 8002B124 00021027 */ nor $v0, $zero, $v0 /* 006528 8002B128 54620006 */ bnel $v1, $v0, .L8002B144 /* 00652C 8002B12C 0000102D */ daddu $v0, $zero, $zero -/* 006530 8002B130 0C00AC34 */ jal func_8002B0D0 +/* 006530 8002B130 0C00AC34 */ jal fio_calc_file_checksum /* 006534 8002B134 0200202D */ daddu $a0, $s0, $zero /* 006538 8002B138 8E030030 */ lw $v1, 0x30($s0) /* 00653C 8002B13C 00431026 */ xor $v0, $v0, $v1 @@ -231,7 +231,7 @@ func_8002B0F8: /* 00654C 8002B14C 03E00008 */ jr $ra /* 006550 8002B150 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002B154: +fio_fetch_saved_file_info: /* 006554 8002B154 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 006558 8002B158 AFB20018 */ sw $s2, 0x18($sp) /* 00655C 8002B15C 3C12800A */ lui $s2, 0x800a @@ -261,9 +261,9 @@ func_8002B154: .L8002B1B8: /* 0065B8 8002B1B8 0200202D */ daddu $a0, $s0, $zero /* 0065BC 8002B1BC 0280282D */ daddu $a1, $s4, $zero -/* 0065C0 8002B1C0 0C00AE1A */ jal func_8002B868 +/* 0065C0 8002B1C0 0C00AE1A */ jal fio_read_flash /* 0065C4 8002B1C4 24061380 */ addiu $a2, $zero, 0x1380 -/* 0065C8 8002B1C8 0C00AC3E */ jal func_8002B0F8 +/* 0065C8 8002B1C8 0C00AC3E */ jal fio_validate_file_checksum /* 0065CC 8002B1CC 0280202D */ daddu $a0, $s4, $zero /* 0065D0 8002B1D0 50400014 */ beql $v0, $zero, .L8002B224 /* 0065D4 8002B1D4 26100001 */ addiu $s0, $s0, 1 @@ -335,7 +335,7 @@ func_8002B154: /* 0066C8 8002B2C8 03E00008 */ jr $ra /* 0066CC 8002B2CC 27BD0028 */ addiu $sp, $sp, 0x28 -func_8002B2D0: +fio_load_game: /* 0066D0 8002B2D0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0066D4 8002B2D4 AFB20018 */ sw $s2, 0x18($sp) /* 0066D8 8002B2D8 3C128007 */ lui $s2, 0x8007 @@ -345,7 +345,7 @@ func_8002B2D0: /* 0066E8 8002B2E8 AFB00010 */ sw $s0, 0x10($sp) /* 0066EC 8002B2EC 8E420000 */ lw $v0, ($s2) /* 0066F0 8002B2F0 0080802D */ daddu $s0, $a0, $zero -/* 0066F4 8002B2F4 0C00AC55 */ jal func_8002B154 +/* 0066F4 8002B2F4 0C00AC55 */ jal fio_fetch_saved_file_info /* 0066F8 8002B2F8 A0500166 */ sb $s0, 0x166($v0) /* 0066FC 8002B2FC 3C11800E */ lui $s1, 0x800e /* 006700 8002B300 2631ACC0 */ addiu $s1, $s1, -0x5340 @@ -354,7 +354,7 @@ func_8002B2D0: /* 00670C 8002B30C 3C04800A */ lui $a0, 0x800a /* 006710 8002B310 00902021 */ addu $a0, $a0, $s0 /* 006714 8002B314 8C84BA30 */ lw $a0, -0x45d0($a0) -/* 006718 8002B318 0C00AE1A */ jal func_8002B868 +/* 006718 8002B318 0C00AE1A */ jal fio_read_flash /* 00671C 8002B31C 24061380 */ addiu $a2, $zero, 0x1380 /* 006720 8002B320 3C058007 */ lui $a1, 0x8007 /* 006724 8002B324 24A545D0 */ addiu $a1, $a1, 0x45d0 @@ -369,7 +369,7 @@ func_8002B2D0: /* 006748 8002B348 54400001 */ bnezl $v0, .L8002B350 /* 00674C 8002B34C AC640168 */ sw $a0, 0x168($v1) .L8002B350: -/* 006750 8002B350 0C00AD24 */ jal func_8002B490 +/* 006750 8002B350 0C00AD24 */ jal fio_deserialize_state /* 006754 8002B354 00000000 */ nop /* 006758 8002B358 24020001 */ addiu $v0, $zero, 1 .L8002B35C: @@ -380,18 +380,18 @@ func_8002B2D0: /* 00676C 8002B36C 03E00008 */ jr $ra /* 006770 8002B370 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002B374: +fio_save_game: /* 006774 8002B374 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 006778 8002B378 AFB20018 */ sw $s2, 0x18($sp) /* 00677C 8002B37C 0080902D */ daddu $s2, $a0, $zero /* 006780 8002B380 AFBF001C */ sw $ra, 0x1c($sp) /* 006784 8002B384 AFB10014 */ sw $s1, 0x14($sp) -/* 006788 8002B388 0C00AC55 */ jal func_8002B154 +/* 006788 8002B388 0C00AC55 */ jal fio_fetch_saved_file_info /* 00678C 8002B38C AFB00010 */ sw $s0, 0x10($sp) /* 006790 8002B390 3C118007 */ lui $s1, 0x8007 /* 006794 8002B394 2631419C */ addiu $s1, $s1, 0x419c /* 006798 8002B398 8E220000 */ lw $v0, ($s1) -/* 00679C 8002B39C 0C00AD8C */ jal func_8002B630 +/* 00679C 8002B39C 0C00AD8C */ jal fio_serialize_state /* 0067A0 8002B3A0 A0520166 */ sb $s2, 0x166($v0) /* 0067A4 8002B3A4 3C10800E */ lui $s0, 0x800e /* 0067A8 8002B3A8 2610ACC0 */ addiu $s0, $s0, -0x5340 @@ -408,18 +408,18 @@ func_8002B374: /* 0067D4 8002B3D4 AE02003C */ sw $v0, 0x3c($s0) /* 0067D8 8002B3D8 2402FFFF */ addiu $v0, $zero, -1 /* 0067DC 8002B3DC AE000030 */ sw $zero, 0x30($s0) -/* 0067E0 8002B3E0 0C00AC34 */ jal func_8002B0D0 +/* 0067E0 8002B3E0 0C00AC34 */ jal fio_calc_file_checksum /* 0067E4 8002B3E4 AE020034 */ sw $v0, 0x34($s0) /* 0067E8 8002B3E8 3C11800A */ lui $s1, 0x800a /* 0067EC 8002B3EC 2631BA80 */ addiu $s1, $s1, -0x4580 /* 0067F0 8002B3F0 8E240000 */ lw $a0, ($s1) /* 0067F4 8002B3F4 AE020030 */ sw $v0, 0x30($s0) /* 0067F8 8002B3F8 00021027 */ nor $v0, $zero, $v0 -/* 0067FC 8002B3FC 0C00AE87 */ jal func_8002BA1C +/* 0067FC 8002B3FC 0C00AE87 */ jal fio_erase_flash /* 006800 8002B400 AE020034 */ sw $v0, 0x34($s0) /* 006804 8002B404 0200282D */ daddu $a1, $s0, $zero /* 006808 8002B408 8E240000 */ lw $a0, ($s1) -/* 00680C 8002B40C 0C00AE52 */ jal func_8002B948 +/* 00680C 8002B40C 0C00AE52 */ jal fio_write_flash /* 006810 8002B410 24061380 */ addiu $a2, $zero, 0x1380 /* 006814 8002B414 8FBF001C */ lw $ra, 0x1c($sp) /* 006818 8002B418 8FB20018 */ lw $s2, 0x18($sp) @@ -428,13 +428,13 @@ func_8002B374: /* 006824 8002B424 03E00008 */ jr $ra /* 006828 8002B428 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002B42C: +fio_erase_game: /* 00682C 8002B42C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 006830 8002B430 AFB20018 */ sw $s2, 0x18($sp) /* 006834 8002B434 0080902D */ daddu $s2, $a0, $zero /* 006838 8002B438 AFBF001C */ sw $ra, 0x1c($sp) /* 00683C 8002B43C AFB10014 */ sw $s1, 0x14($sp) -/* 006840 8002B440 0C00AC55 */ jal func_8002B154 +/* 006840 8002B440 0C00AC55 */ jal fio_fetch_saved_file_info /* 006844 8002B444 AFB00010 */ sw $s0, 0x10($sp) /* 006848 8002B448 0000802D */ daddu $s0, $zero, $zero /* 00684C 8002B44C 3C11800A */ lui $s1, 0x800a @@ -443,7 +443,7 @@ func_8002B42C: /* 006854 8002B454 8E220000 */ lw $v0, ($s1) /* 006858 8002B458 54520004 */ bnel $v0, $s2, .L8002B46C /* 00685C 8002B45C 26100001 */ addiu $s0, $s0, 1 -/* 006860 8002B460 0C00AE87 */ jal func_8002BA1C +/* 006860 8002B460 0C00AE87 */ jal fio_erase_flash /* 006864 8002B464 0200202D */ daddu $a0, $s0, $zero /* 006868 8002B468 26100001 */ addiu $s0, $s0, 1 .L8002B46C: @@ -457,7 +457,7 @@ func_8002B42C: /* 006888 8002B488 03E00008 */ jr $ra /* 00688C 8002B48C 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002B490: +fio_deserialize_state: /* 006890 8002B490 3C038011 */ lui $v1, 0x8011 /* 006894 8002B494 2463F290 */ addiu $v1, $v1, -0xd70 /* 006898 8002B498 3C07800E */ lui $a3, 0x800e @@ -561,13 +561,13 @@ func_8002B490: /* 006A10 8002B610 8C63419C */ lw $v1, 0x419c($v1) /* 006A14 8002B614 2402000A */ addiu $v0, $zero, 0xa /* 006A18 8002B618 AFBF0010 */ sw $ra, 0x10($sp) -/* 006A1C 8002B61C 0C00AD8C */ jal func_8002B630 +/* 006A1C 8002B61C 0C00AD8C */ jal fio_serialize_state /* 006A20 8002B620 A462008E */ sh $v0, 0x8e($v1) /* 006A24 8002B624 8FBF0010 */ lw $ra, 0x10($sp) /* 006A28 8002B628 03E00008 */ jr $ra /* 006A2C 8002B62C 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002B630: +fio_serialize_state: /* 006A30 8002B630 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 006A34 8002B634 AFB20018 */ sw $s2, 0x18($sp) /* 006A38 8002B638 3C12800E */ lui $s2, 0x800e @@ -653,7 +653,7 @@ func_8002B630: /* 006B6C 8002B76C 3C018007 */ lui $at, 0x8007 /* 006B70 8002B770 00220821 */ addu $at, $at, $v0 /* 006B74 8002B774 A02379CA */ sb $v1, 0x79ca($at) -/* 006B78 8002B778 0C00AB90 */ jal func_8002AE40 +/* 006B78 8002B778 0C00AB90 */ jal get_spirits_rescued /* 006B7C 8002B77C 00000000 */ nop /* 006B80 8002B780 8E030000 */ lw $v1, ($s0) /* 006B84 8002B784 90640166 */ lbu $a0, 0x166($v1) @@ -707,7 +707,7 @@ func_8002B630: /* 006C44 8002B844 03E00008 */ jr $ra /* 006C48 8002B848 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002B84C: +fio_init_flash: /* 006C4C 8002B84C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006C50 8002B850 AFBF0010 */ sw $ra, 0x10($sp) /* 006C54 8002B854 0C01BBDA */ jal osFlashInit @@ -716,7 +716,7 @@ func_8002B84C: /* 006C60 8002B860 03E00008 */ jr $ra /* 006C64 8002B864 27BD0018 */ addiu $sp, $sp, 0x18 -func_8002B868: +fio_read_flash: /* 006C68 8002B868 27BDFF90 */ addiu $sp, $sp, -0x70 /* 006C6C 8002B86C AFB40060 */ sw $s4, 0x60($sp) /* 006C70 8002B870 0080A02D */ daddu $s4, $a0, $zero @@ -777,7 +777,7 @@ func_8002B868: /* 006D40 8002B940 03E00008 */ jr $ra /* 006D44 8002B944 27BD0070 */ addiu $sp, $sp, 0x70 -func_8002B948: +fio_write_flash: /* 006D48 8002B948 27BDFF98 */ addiu $sp, $sp, -0x68 /* 006D4C 8002B94C AFB5005C */ sw $s5, 0x5c($sp) /* 006D50 8002B950 0080A82D */ daddu $s5, $a0, $zero @@ -835,7 +835,7 @@ func_8002B948: /* 006E14 8002BA14 03E00008 */ jr $ra /* 006E18 8002BA18 27BD0068 */ addiu $sp, $sp, 0x68 -func_8002BA1C: +fio_erase_flash: /* 006E1C 8002BA1C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 006E20 8002BA20 AFBF0010 */ sw $ra, 0x10($sp) /* 006E24 8002BA24 0C01BD09 */ jal osFlashSectorErase diff --git a/papermario/asm/code_6e40_len_500.s b/papermario/asm/code_6e40_len_500.s index cdf21ce314..4f93da9a72 100644 --- a/papermario/asm/code_6e40_len_500.s +++ b/papermario/asm/code_6e40_len_500.s @@ -229,14 +229,14 @@ func_8002BA80: /* 00719C 8002BD9C 30420001 */ andi $v0, $v0, 1 /* 0071A0 8002BDA0 14400044 */ bnez $v0, .L8002BEB4 /* 0071A4 8002BDA4 00000000 */ nop -/* 0071A8 8002BDA8 0C00CD4A */ jal func_80033528 +/* 0071A8 8002BDA8 0C00CD4A */ jal get_game_mode /* 0071AC 8002BDAC 00000000 */ nop /* 0071B0 8002BDB0 00021400 */ sll $v0, $v0, 0x10 /* 0071B4 8002BDB4 00021403 */ sra $v0, $v0, 0x10 /* 0071B8 8002BDB8 24030010 */ addiu $v1, $zero, 0x10 /* 0071BC 8002BDBC 1043000C */ beq $v0, $v1, .L8002BDF0 /* 0071C0 8002BDC0 00000000 */ nop -/* 0071C4 8002BDC4 0C00CD4A */ jal func_80033528 +/* 0071C4 8002BDC4 0C00CD4A */ jal get_game_mode /* 0071C8 8002BDC8 00000000 */ nop /* 0071CC 8002BDCC 00021400 */ sll $v0, $v0, 0x10 /* 0071D0 8002BDD0 00021403 */ sra $v0, $v0, 0x10 diff --git a/papermario/asm/code_7340_len_b00.s b/papermario/asm/code_7340_len_b00.s index 0c06ead303..5e243ff034 100644 --- a/papermario/asm/code_7340_len_b00.s +++ b/papermario/asm/code_7340_len_b00.s @@ -1,7 +1,7 @@ .section .text8002BF40, "ax" -func_8002BF40: +crash_delay_msec: /* 007340 8002BF40 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 007344 8002BF44 3402B71B */ ori $v0, $zero, 0xb71b /* 007348 8002BF48 00820018 */ mult $a0, $v0 @@ -202,7 +202,7 @@ func_8002C054: /* 007600 8002C200 03E00008 */ jr $ra /* 007604 8002C204 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002C208: +crash_printf_string: /* 007608 8002C208 AFA60008 */ sw $a2, 8($sp) /* 00760C 8002C20C AFA7000C */ sw $a3, 0xc($sp) /* 007610 8002C210 27BDFED0 */ addiu $sp, $sp, -0x130 @@ -251,7 +251,7 @@ func_8002C208: /* 0076B0 8002C2B0 03E00008 */ jr $ra /* 0076B4 8002C2B4 27BD0130 */ addiu $sp, $sp, 0x130 -func_8002C2B8: +crash_print_fpr: /* 0076B8 8002C2B8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0076BC 8002C2BC AFBF0018 */ sw $ra, 0x18($sp) /* 0076C0 8002C2C0 8CE30000 */ lw $v1, ($a3) @@ -269,7 +269,7 @@ func_8002C2B8: /* 0076EC 8002C2EC C4E00000 */ lwc1 $f0, ($a3) /* 0076F0 8002C2F0 46000021 */ cvt.d.s $f0, $f0 /* 0076F4 8002C2F4 F7A00010 */ sdc1 $f0, 0x10($sp) -/* 0076F8 8002C2F8 0C00B082 */ jal func_8002C208 +/* 0076F8 8002C2F8 0C00B082 */ jal crash_printf_string /* 0076FC 8002C2FC 0100382D */ daddu $a3, $t0, $zero /* 007700 8002C300 0800B0C6 */ j func_8002C318 /* 007704 8002C304 00000000 */ nop @@ -277,7 +277,7 @@ func_8002C2B8: .L8002C308: /* 007708 8002C308 3C06800A */ lui $a2, 0x800a /* 00770C 8002C30C 24C68040 */ addiu $a2, $a2, -0x7fc0 -/* 007710 8002C310 0C00B082 */ jal func_8002C208 +/* 007710 8002C310 0C00B082 */ jal crash_printf_string /* 007714 8002C314 0100382D */ daddu $a3, $t0, $zero func_8002C318: /* 007718 8002C318 8FBF0018 */ lw $ra, 0x18($sp) @@ -295,7 +295,7 @@ func_8002C324: /* 007740 8002C340 3C06800A */ lui $a2, 0x800a /* 007744 8002C344 24C68050 */ addiu $a2, $a2, -0x7fb0 /* 007748 8002C348 AFBF0018 */ sw $ra, 0x18($sp) -/* 00774C 8002C34C 0C00B082 */ jal func_8002C208 +/* 00774C 8002C34C 0C00B082 */ jal crash_printf_string /* 007750 8002C350 0220382D */ daddu $a3, $s1, $zero /* 007754 8002C354 0000182D */ daddu $v1, $zero, $zero /* 007758 8002C358 3C078007 */ lui $a3, 0x8007 @@ -308,7 +308,7 @@ func_8002C324: /* 007770 8002C370 8CE70000 */ lw $a3, ($a3) /* 007774 8002C374 3C06800A */ lui $a2, 0x800a /* 007778 8002C378 24C6805C */ addiu $a2, $a2, -0x7fa4 -/* 00777C 8002C37C 0C00B082 */ jal func_8002C208 +/* 00777C 8002C37C 0C00B082 */ jal crash_printf_string /* 007780 8002C380 2405009B */ addiu $a1, $zero, 0x9b /* 007784 8002C384 0800B0E7 */ j func_8002C39C /* 007788 8002C388 00000000 */ nop @@ -325,7 +325,7 @@ func_8002C39C: /* 0077A8 8002C3A8 03E00008 */ jr $ra /* 0077AC 8002C3AC 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002C3B0: +crash_show_handler: /* 0077B0 8002C3B0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0077B4 8002C3B4 AFB1001C */ sw $s1, 0x1c($sp) /* 0077B8 8002C3B8 0080882D */ daddu $s1, $a0, $zero @@ -361,7 +361,7 @@ func_8002C3B0: /* 007828 8002C428 8E270014 */ lw $a3, 0x14($s1) /* 00782C 8002C42C 3C06800A */ lui $a2, 0x800a /* 007830 8002C430 24C68064 */ addiu $a2, $a2, -0x7f9c -/* 007834 8002C434 0C00B082 */ jal func_8002C208 +/* 007834 8002C434 0C00B082 */ jal crash_printf_string /* 007838 8002C438 24050019 */ addiu $a1, $zero, 0x19 /* 00783C 8002C43C 8E220118 */ lw $v0, 0x118($s1) /* 007840 8002C440 2404001E */ addiu $a0, $zero, 0x1e @@ -371,9 +371,9 @@ func_8002C3B0: /* 007850 8002C450 8E27011C */ lw $a3, 0x11c($s1) /* 007854 8002C454 3C06800A */ lui $a2, 0x800a /* 007858 8002C458 24C68074 */ addiu $a2, $a2, -0x7f8c -/* 00785C 8002C45C 0C00B082 */ jal func_8002C208 +/* 00785C 8002C45C 0C00B082 */ jal crash_printf_string /* 007860 8002C460 24050023 */ addiu $a1, $zero, 0x23 -/* 007864 8002C464 0C00AFD0 */ jal func_8002BF40 +/* 007864 8002C464 0C00AFD0 */ jal crash_delay_msec /* 007868 8002C468 240407D0 */ addiu $a0, $zero, 0x7d0 /* 00786C 8002C46C 0C019CE0 */ jal osViBlack /* 007870 8002C470 0000202D */ daddu $a0, $zero, $zero @@ -396,7 +396,7 @@ func_8002C3B0: /* 0078B4 8002C4B4 8E270024 */ lw $a3, 0x24($s1) /* 0078B8 8002C4B8 3C06800A */ lui $a2, 0x800a /* 0078BC 8002C4BC 24C68094 */ addiu $a2, $a2, -0x7f6c -/* 0078C0 8002C4C0 0C00B082 */ jal func_8002C208 +/* 0078C0 8002C4C0 0C00B082 */ jal crash_printf_string /* 0078C4 8002C4C4 24050032 */ addiu $a1, $zero, 0x32 /* 0078C8 8002C4C8 8E220044 */ lw $v0, 0x44($s1) /* 0078CC 8002C4CC 2404001E */ addiu $a0, $zero, 0x1e @@ -406,7 +406,7 @@ func_8002C3B0: /* 0078DC 8002C4DC 8E27003C */ lw $a3, 0x3c($s1) /* 0078E0 8002C4E0 3C06800A */ lui $a2, 0x800a /* 0078E4 8002C4E4 24C680B4 */ addiu $a2, $a2, -0x7f4c -/* 0078E8 8002C4E8 0C00B082 */ jal func_8002C208 +/* 0078E8 8002C4E8 0C00B082 */ jal crash_printf_string /* 0078EC 8002C4EC 2405003C */ addiu $a1, $zero, 0x3c /* 0078F0 8002C4F0 8E22005C */ lw $v0, 0x5c($s1) /* 0078F4 8002C4F4 2404001E */ addiu $a0, $zero, 0x1e @@ -416,7 +416,7 @@ func_8002C3B0: /* 007904 8002C504 8E270054 */ lw $a3, 0x54($s1) /* 007908 8002C508 3C06800A */ lui $a2, 0x800a /* 00790C 8002C50C 24C680D4 */ addiu $a2, $a2, -0x7f2c -/* 007910 8002C510 0C00B082 */ jal func_8002C208 +/* 007910 8002C510 0C00B082 */ jal crash_printf_string /* 007914 8002C514 24050046 */ addiu $a1, $zero, 0x46 /* 007918 8002C518 8E220074 */ lw $v0, 0x74($s1) /* 00791C 8002C51C 2404001E */ addiu $a0, $zero, 0x1e @@ -426,7 +426,7 @@ func_8002C3B0: /* 00792C 8002C52C 8E27006C */ lw $a3, 0x6c($s1) /* 007930 8002C530 3C06800A */ lui $a2, 0x800a /* 007934 8002C534 24C680F4 */ addiu $a2, $a2, -0x7f0c -/* 007938 8002C538 0C00B082 */ jal func_8002C208 +/* 007938 8002C538 0C00B082 */ jal crash_printf_string /* 00793C 8002C53C 24050050 */ addiu $a1, $zero, 0x50 /* 007940 8002C540 8E22008C */ lw $v0, 0x8c($s1) /* 007944 8002C544 2404001E */ addiu $a0, $zero, 0x1e @@ -436,7 +436,7 @@ func_8002C3B0: /* 007954 8002C554 8E270084 */ lw $a3, 0x84($s1) /* 007958 8002C558 3C06800A */ lui $a2, 0x800a /* 00795C 8002C55C 24C68114 */ addiu $a2, $a2, -0x7eec -/* 007960 8002C560 0C00B082 */ jal func_8002C208 +/* 007960 8002C560 0C00B082 */ jal crash_printf_string /* 007964 8002C564 2405005A */ addiu $a1, $zero, 0x5a /* 007968 8002C568 8E2200A4 */ lw $v0, 0xa4($s1) /* 00796C 8002C56C 2404001E */ addiu $a0, $zero, 0x1e @@ -446,7 +446,7 @@ func_8002C3B0: /* 00797C 8002C57C 8E27009C */ lw $a3, 0x9c($s1) /* 007980 8002C580 3C06800A */ lui $a2, 0x800a /* 007984 8002C584 24C68134 */ addiu $a2, $a2, -0x7ecc -/* 007988 8002C588 0C00B082 */ jal func_8002C208 +/* 007988 8002C588 0C00B082 */ jal crash_printf_string /* 00798C 8002C58C 24050064 */ addiu $a1, $zero, 0x64 /* 007990 8002C590 8E2200BC */ lw $v0, 0xbc($s1) /* 007994 8002C594 2404001E */ addiu $a0, $zero, 0x1e @@ -456,7 +456,7 @@ func_8002C3B0: /* 0079A4 8002C5A4 8E2700B4 */ lw $a3, 0xb4($s1) /* 0079A8 8002C5A8 3C06800A */ lui $a2, 0x800a /* 0079AC 8002C5AC 24C68154 */ addiu $a2, $a2, -0x7eac -/* 0079B0 8002C5B0 0C00B082 */ jal func_8002C208 +/* 0079B0 8002C5B0 0C00B082 */ jal crash_printf_string /* 0079B4 8002C5B4 2405006E */ addiu $a1, $zero, 0x6e /* 0079B8 8002C5B8 8E2200D4 */ lw $v0, 0xd4($s1) /* 0079BC 8002C5BC 2404001E */ addiu $a0, $zero, 0x1e @@ -466,7 +466,7 @@ func_8002C3B0: /* 0079CC 8002C5CC 8E2700CC */ lw $a3, 0xcc($s1) /* 0079D0 8002C5D0 3C06800A */ lui $a2, 0x800a /* 0079D4 8002C5D4 24C68174 */ addiu $a2, $a2, -0x7e8c -/* 0079D8 8002C5D8 0C00B082 */ jal func_8002C208 +/* 0079D8 8002C5D8 0C00B082 */ jal crash_printf_string /* 0079DC 8002C5DC 24050078 */ addiu $a1, $zero, 0x78 /* 0079E0 8002C5E0 8E2200EC */ lw $v0, 0xec($s1) /* 0079E4 8002C5E4 2404001E */ addiu $a0, $zero, 0x1e @@ -476,7 +476,7 @@ func_8002C3B0: /* 0079F4 8002C5F4 8E2700E4 */ lw $a3, 0xe4($s1) /* 0079F8 8002C5F8 3C06800A */ lui $a2, 0x800a /* 0079FC 8002C5FC 24C68194 */ addiu $a2, $a2, -0x7e6c -/* 007A00 8002C600 0C00B082 */ jal func_8002C208 +/* 007A00 8002C600 0C00B082 */ jal crash_printf_string /* 007A04 8002C604 24050082 */ addiu $a1, $zero, 0x82 /* 007A08 8002C608 2404001E */ addiu $a0, $zero, 0x1e /* 007A0C 8002C60C 8E220104 */ lw $v0, 0x104($s1) @@ -484,7 +484,7 @@ func_8002C3B0: /* 007A14 8002C614 8E2700FC */ lw $a3, 0xfc($s1) /* 007A18 8002C618 3C06800A */ lui $a2, 0x800a /* 007A1C 8002C61C 24C681B4 */ addiu $a2, $a2, -0x7e4c -/* 007A20 8002C620 0C00B082 */ jal func_8002C208 +/* 007A20 8002C620 0C00B082 */ jal crash_printf_string /* 007A24 8002C624 2405008C */ addiu $a1, $zero, 0x8c /* 007A28 8002C628 8E24012C */ lw $a0, 0x12c($s1) /* 007A2C 8002C62C 0C00B0C9 */ jal func_8002C324 @@ -492,91 +492,91 @@ func_8002C3B0: /* 007A34 8002C634 2404001E */ addiu $a0, $zero, 0x1e /* 007A38 8002C638 240500AA */ addiu $a1, $zero, 0xaa /* 007A3C 8002C63C 0000302D */ daddu $a2, $zero, $zero -/* 007A40 8002C640 0C00B0AE */ jal func_8002C2B8 +/* 007A40 8002C640 0C00B0AE */ jal crash_print_fpr /* 007A44 8002C644 26270134 */ addiu $a3, $s1, 0x134 /* 007A48 8002C648 24040078 */ addiu $a0, $zero, 0x78 /* 007A4C 8002C64C 240500AA */ addiu $a1, $zero, 0xaa /* 007A50 8002C650 24060002 */ addiu $a2, $zero, 2 -/* 007A54 8002C654 0C00B0AE */ jal func_8002C2B8 +/* 007A54 8002C654 0C00B0AE */ jal crash_print_fpr /* 007A58 8002C658 2627013C */ addiu $a3, $s1, 0x13c /* 007A5C 8002C65C 240400D2 */ addiu $a0, $zero, 0xd2 /* 007A60 8002C660 240500AA */ addiu $a1, $zero, 0xaa /* 007A64 8002C664 24060004 */ addiu $a2, $zero, 4 -/* 007A68 8002C668 0C00B0AE */ jal func_8002C2B8 +/* 007A68 8002C668 0C00B0AE */ jal crash_print_fpr /* 007A6C 8002C66C 26270144 */ addiu $a3, $s1, 0x144 /* 007A70 8002C670 2404001E */ addiu $a0, $zero, 0x1e /* 007A74 8002C674 240500B4 */ addiu $a1, $zero, 0xb4 /* 007A78 8002C678 24060006 */ addiu $a2, $zero, 6 -/* 007A7C 8002C67C 0C00B0AE */ jal func_8002C2B8 +/* 007A7C 8002C67C 0C00B0AE */ jal crash_print_fpr /* 007A80 8002C680 2627014C */ addiu $a3, $s1, 0x14c /* 007A84 8002C684 24040078 */ addiu $a0, $zero, 0x78 /* 007A88 8002C688 240500B4 */ addiu $a1, $zero, 0xb4 /* 007A8C 8002C68C 24060008 */ addiu $a2, $zero, 8 -/* 007A90 8002C690 0C00B0AE */ jal func_8002C2B8 +/* 007A90 8002C690 0C00B0AE */ jal crash_print_fpr /* 007A94 8002C694 26270154 */ addiu $a3, $s1, 0x154 /* 007A98 8002C698 240400D2 */ addiu $a0, $zero, 0xd2 /* 007A9C 8002C69C 240500B4 */ addiu $a1, $zero, 0xb4 /* 007AA0 8002C6A0 2406000A */ addiu $a2, $zero, 0xa -/* 007AA4 8002C6A4 0C00B0AE */ jal func_8002C2B8 +/* 007AA4 8002C6A4 0C00B0AE */ jal crash_print_fpr /* 007AA8 8002C6A8 2627015C */ addiu $a3, $s1, 0x15c /* 007AAC 8002C6AC 2404001E */ addiu $a0, $zero, 0x1e /* 007AB0 8002C6B0 240500BE */ addiu $a1, $zero, 0xbe /* 007AB4 8002C6B4 2406000C */ addiu $a2, $zero, 0xc -/* 007AB8 8002C6B8 0C00B0AE */ jal func_8002C2B8 +/* 007AB8 8002C6B8 0C00B0AE */ jal crash_print_fpr /* 007ABC 8002C6BC 26270164 */ addiu $a3, $s1, 0x164 /* 007AC0 8002C6C0 24040078 */ addiu $a0, $zero, 0x78 /* 007AC4 8002C6C4 240500BE */ addiu $a1, $zero, 0xbe /* 007AC8 8002C6C8 2406000E */ addiu $a2, $zero, 0xe -/* 007ACC 8002C6CC 0C00B0AE */ jal func_8002C2B8 +/* 007ACC 8002C6CC 0C00B0AE */ jal crash_print_fpr /* 007AD0 8002C6D0 2627016C */ addiu $a3, $s1, 0x16c /* 007AD4 8002C6D4 240400D2 */ addiu $a0, $zero, 0xd2 /* 007AD8 8002C6D8 240500BE */ addiu $a1, $zero, 0xbe /* 007ADC 8002C6DC 24060010 */ addiu $a2, $zero, 0x10 -/* 007AE0 8002C6E0 0C00B0AE */ jal func_8002C2B8 +/* 007AE0 8002C6E0 0C00B0AE */ jal crash_print_fpr /* 007AE4 8002C6E4 26270174 */ addiu $a3, $s1, 0x174 /* 007AE8 8002C6E8 2404001E */ addiu $a0, $zero, 0x1e /* 007AEC 8002C6EC 240500C8 */ addiu $a1, $zero, 0xc8 /* 007AF0 8002C6F0 24060012 */ addiu $a2, $zero, 0x12 -/* 007AF4 8002C6F4 0C00B0AE */ jal func_8002C2B8 +/* 007AF4 8002C6F4 0C00B0AE */ jal crash_print_fpr /* 007AF8 8002C6F8 2627017C */ addiu $a3, $s1, 0x17c /* 007AFC 8002C6FC 24040078 */ addiu $a0, $zero, 0x78 /* 007B00 8002C700 240500C8 */ addiu $a1, $zero, 0xc8 /* 007B04 8002C704 24060014 */ addiu $a2, $zero, 0x14 -/* 007B08 8002C708 0C00B0AE */ jal func_8002C2B8 +/* 007B08 8002C708 0C00B0AE */ jal crash_print_fpr /* 007B0C 8002C70C 26270184 */ addiu $a3, $s1, 0x184 /* 007B10 8002C710 240400D2 */ addiu $a0, $zero, 0xd2 /* 007B14 8002C714 240500C8 */ addiu $a1, $zero, 0xc8 /* 007B18 8002C718 24060016 */ addiu $a2, $zero, 0x16 -/* 007B1C 8002C71C 0C00B0AE */ jal func_8002C2B8 +/* 007B1C 8002C71C 0C00B0AE */ jal crash_print_fpr /* 007B20 8002C720 2627018C */ addiu $a3, $s1, 0x18c /* 007B24 8002C724 2404001E */ addiu $a0, $zero, 0x1e /* 007B28 8002C728 240500D2 */ addiu $a1, $zero, 0xd2 /* 007B2C 8002C72C 24060018 */ addiu $a2, $zero, 0x18 -/* 007B30 8002C730 0C00B0AE */ jal func_8002C2B8 +/* 007B30 8002C730 0C00B0AE */ jal crash_print_fpr /* 007B34 8002C734 26270194 */ addiu $a3, $s1, 0x194 /* 007B38 8002C738 24040078 */ addiu $a0, $zero, 0x78 /* 007B3C 8002C73C 240500D2 */ addiu $a1, $zero, 0xd2 /* 007B40 8002C740 2406001A */ addiu $a2, $zero, 0x1a -/* 007B44 8002C744 0C00B0AE */ jal func_8002C2B8 +/* 007B44 8002C744 0C00B0AE */ jal crash_print_fpr /* 007B48 8002C748 2627019C */ addiu $a3, $s1, 0x19c /* 007B4C 8002C74C 240400D2 */ addiu $a0, $zero, 0xd2 /* 007B50 8002C750 0080282D */ daddu $a1, $a0, $zero /* 007B54 8002C754 2406001C */ addiu $a2, $zero, 0x1c -/* 007B58 8002C758 0C00B0AE */ jal func_8002C2B8 +/* 007B58 8002C758 0C00B0AE */ jal crash_print_fpr /* 007B5C 8002C75C 262701A4 */ addiu $a3, $s1, 0x1a4 /* 007B60 8002C760 2404001E */ addiu $a0, $zero, 0x1e /* 007B64 8002C764 240500DC */ addiu $a1, $zero, 0xdc /* 007B68 8002C768 0080302D */ daddu $a2, $a0, $zero -/* 007B6C 8002C76C 0C00B0AE */ jal func_8002C2B8 +/* 007B6C 8002C76C 0C00B0AE */ jal crash_print_fpr /* 007B70 8002C770 262701AC */ addiu $a3, $s1, 0x1ac -/* 007B74 8002C774 0C00AFD0 */ jal func_8002BF40 +/* 007B74 8002C774 0C00AFD0 */ jal crash_delay_msec /* 007B78 8002C778 240401F4 */ addiu $a0, $zero, 0x1f4 /* 007B7C 8002C77C 240400D2 */ addiu $a0, $zero, 0xd2 /* 007B80 8002C780 8E4200FC */ lw $v0, 0xfc($s2) /* 007B84 8002C784 8C470000 */ lw $a3, ($v0) /* 007B88 8002C788 3C06800A */ lui $a2, 0x800a /* 007B8C 8002C78C 24C681C8 */ addiu $a2, $a2, -0x7e38 -/* 007B90 8002C790 0C00B082 */ jal func_8002C208 +/* 007B90 8002C790 0C00B082 */ jal crash_printf_string /* 007B94 8002C794 2405008C */ addiu $a1, $zero, 0x8c /* 007B98 8002C798 8FBF0024 */ lw $ra, 0x24($sp) /* 007B9C 8002C79C 8FB20020 */ lw $s2, 0x20($sp) @@ -617,6 +617,7 @@ func_8002C7B0: /* 007C14 8002C814 03E00008 */ jr $ra /* 007C18 8002C818 27BD0018 */ addiu $sp, $sp, 0x18 +crash_monitor_thread: /* 007C1C 8002C81C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 007C20 8002C820 2404000A */ addiu $a0, $zero, 0xa /* 007C24 8002C824 AFB00018 */ sw $s0, 0x18($sp) @@ -643,7 +644,7 @@ func_8002C7B0: /* 007C74 8002C874 00000000 */ nop /* 007C78 8002C878 0C019850 */ jal osStopThread /* 007C7C 8002C87C 0200202D */ daddu $a0, $s0, $zero -/* 007C80 8002C880 0C00B0EC */ jal func_8002C3B0 +/* 007C80 8002C880 0C00B0EC */ jal crash_show_handler /* 007C84 8002C884 0200202D */ daddu $a0, $s0, $zero func_8002C888: /* 007C88 8002C888 0800B222 */ j func_8002C888 @@ -659,7 +660,7 @@ func_8002C890: /* 007CA8 8002C8A8 03E00008 */ jr $ra /* 007CAC 8002C8AC A44609D2 */ sh $a2, 0x9d2($v0) -func_8002C8B0: +crash_create_monitor: /* 007CB0 8002C8B0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 007CB4 8002C8B4 3C07FFFD */ lui $a3, 0xfffd /* 007CB8 8002C8B8 34E7A800 */ ori $a3, $a3, 0xa800 diff --git a/papermario/asm/code_7e40_len_3f0.s b/papermario/asm/code_7e40_len_3f0.s index f9d1817a69..90d680f60a 100644 --- a/papermario/asm/code_7e40_len_3f0.s +++ b/papermario/asm/code_7e40_len_3f0.s @@ -1,6 +1,7 @@ .section .text8002CA40, "ax" +nuGfxTaskMgr: /* 007E40 8002CA40 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 007E44 8002CA44 3C04800E */ lui $a0, 0x800e /* 007E48 8002CA48 2484AC90 */ addiu $a0, $a0, -0x5370 @@ -72,7 +73,7 @@ func_8002CB14: /* 007F30 8002CB30 0800B2A2 */ j func_8002CA88 /* 007F34 8002CB34 00000000 */ nop -func_8002CB38: +nuGfxTaskMgrInit: /* 007F38 8002CB38 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 007F3C 8002CB3C 24020008 */ addiu $v0, $zero, 8 /* 007F40 8002CB40 3C01800A */ lui $at, 0x800a @@ -129,7 +130,7 @@ func_8002CB38: /* 008008 8002CC08 AE110000 */ sw $s1, ($s0) /* 00800C 8002CC0C AE170050 */ sw $s7, 0x50($s0) /* 008010 8002CC10 AE160010 */ sw $s6, 0x10($s0) -/* 008014 8002CC14 0C00A5CF */ jal func_8002973C +/* 008014 8002CC14 0C00A5CF */ jal dma_copy /* 008018 8002CC18 AE000014 */ sw $zero, 0x14($s0) /* 00801C 8002CC1C 24020800 */ addiu $v0, $zero, 0x800 /* 008020 8002CC20 AE02002C */ sw $v0, 0x2c($s0) @@ -174,7 +175,7 @@ func_8002CB38: /* 0080BC 8002CCBC 03E00008 */ jr $ra /* 0080C0 8002CCC0 27BD0040 */ addiu $sp, $sp, 0x40 -func_8002CCC4: +nuGfxTaskStart: /* 0080C4 8002CCC4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0080C8 8002CCC8 3C0A800A */ lui $t2, 0x800a /* 0080CC 8002CCCC 254AC510 */ addiu $t2, $t2, -0x3af0 diff --git a/papermario/asm/code_8230_len_1ae0.s b/papermario/asm/code_8230_len_1ae0.s index 8ad6dba041..cc3d11b53d 100644 --- a/papermario/asm/code_8230_len_1ae0.s +++ b/papermario/asm/code_8230_len_1ae0.s @@ -1,7 +1,7 @@ .section .text8002CE30, "ax" -func_8002CE30: +nuSiMgrInit: /* 008230 8002CE30 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 008234 8002CE34 AFB00030 */ sw $s0, 0x30($sp) /* 008238 8002CE38 3C10800E */ lui $s0, 0x800e @@ -67,7 +67,7 @@ func_8002CE30: /* 008320 8002CF20 03E00008 */ jr $ra /* 008324 8002CF24 27BD0038 */ addiu $sp, $sp, 0x38 -func_8002CF28: +nuSiSendMesg: /* 008328 8002CF28 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 00832C 8002CF2C AFB00040 */ sw $s0, 0x40($sp) /* 008330 8002CF30 27B00010 */ addiu $s0, $sp, 0x10 @@ -94,15 +94,17 @@ func_8002CF28: /* 008384 8002CF84 03E00008 */ jr $ra /* 008388 8002CF88 27BD0048 */ addiu $sp, $sp, 0x48 +nuSiMgrStop: /* 00838C 8002CF8C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 008390 8002CF90 24047F00 */ addiu $a0, $zero, 0x7f00 /* 008394 8002CF94 AFBF0010 */ sw $ra, 0x10($sp) -/* 008398 8002CF98 0C00B3CA */ jal func_8002CF28 +/* 008398 8002CF98 0C00B3CA */ jal nuSiSendMesg /* 00839C 8002CF9C 0000282D */ daddu $a1, $zero, $zero /* 0083A0 8002CFA0 8FBF0010 */ lw $ra, 0x10($sp) /* 0083A4 8002CFA4 03E00008 */ jr $ra /* 0083A8 8002CFA8 27BD0018 */ addiu $sp, $sp, 0x18 +nuSiMgrRestart: /* 0083AC 8002CFAC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0083B0 8002CFB0 3C04800A */ lui $a0, 0x800a /* 0083B4 8002CFB4 2484E710 */ addiu $a0, $a0, -0x18f0 @@ -113,6 +115,7 @@ func_8002CF28: /* 0083C8 8002CFC8 03E00008 */ jr $ra /* 0083CC 8002CFCC 27BD0018 */ addiu $sp, $sp, 0x18 +nuSiMgrThread: /* 0083D0 8002CFD0 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 0083D4 8002CFD4 AFB00048 */ sw $s0, 0x48($sp) /* 0083D8 8002CFD8 3C10800E */ lui $s0, 0x800e @@ -392,7 +395,7 @@ func_8002D160: /* 0087B8 8002D3B8 02A42021 */ addu $a0, $s5, $a0 /* 0087BC 8002D3BC 3C050031 */ lui $a1, 0x31 /* 0087C0 8002D3C0 24A57020 */ addiu $a1, $a1, 0x7020 -/* 0087C4 8002D3C4 0C00A5CF */ jal func_8002973C +/* 0087C4 8002D3C4 0C00A5CF */ jal dma_copy /* 0087C8 8002D3C8 02C0302D */ daddu $a2, $s6, $zero /* 0087CC 8002D3CC 8FBF003C */ lw $ra, 0x3c($sp) /* 0087D0 8002D3D0 8FBE0038 */ lw $fp, 0x38($sp) @@ -408,7 +411,7 @@ func_8002D160: /* 0087F8 8002D3F8 27BD0040 */ addiu $sp, $sp, 0x40 /* 0087FC 8002D3FC 00000000 */ nop -func_8002D400: +update_cameras: /* 008800 8002D400 27BDFF90 */ addiu $sp, $sp, -0x70 /* 008804 8002D404 F7B60068 */ sdc1 $f22, 0x68($sp) /* 008808 8002D408 3C013F80 */ lui $at, 0x3f80 @@ -448,38 +451,38 @@ func_8002D400: /* 00888C 8002D48C 8C2281E0 */ lw $v0, -0x7e20($at) /* 008890 8002D490 00400008 */ jr $v0 /* 008894 8002D494 00000000 */ nop -/* 008898 8002D498 0C00C525 */ jal func_80031494 +/* 008898 8002D498 0C00C525 */ jal do_camera_type_3 /* 00889C 8002D49C 0200202D */ daddu $a0, $s0, $zero /* 0088A0 8002D4A0 0800B540 */ j func_8002D500 /* 0088A4 8002D4A4 00000000 */ nop -/* 0088A8 8002D4A8 0C00BE14 */ jal func_8002F850 +/* 0088A8 8002D4A8 0C00BE14 */ jal do_camera_type_0 /* 0088AC 8002D4AC 0200202D */ daddu $a0, $s0, $zero /* 0088B0 8002D4B0 0800B540 */ j func_8002D500 /* 0088B4 8002D4B4 00000000 */ nop -/* 0088B8 8002D4B8 0C00BCA4 */ jal func_8002F290 +/* 0088B8 8002D4B8 0C00BCA4 */ jal do_camera_type_1 /* 0088BC 8002D4BC 0200202D */ daddu $a0, $s0, $zero /* 0088C0 8002D4C0 0800B540 */ j func_8002D500 /* 0088C4 8002D4C4 00000000 */ nop -/* 0088C8 8002D4C8 0C00BB3E */ jal func_8002ECF8 +/* 0088C8 8002D4C8 0C00BB3E */ jal do_camera_type_2 /* 0088CC 8002D4CC 0200202D */ daddu $a0, $s0, $zero /* 0088D0 8002D4D0 0800B540 */ j func_8002D500 /* 0088D4 8002D4D4 00000000 */ nop -/* 0088D8 8002D4D8 0C00BA44 */ jal func_8002E910 +/* 0088D8 8002D4D8 0C00BA44 */ jal do_camera_type_4 /* 0088DC 8002D4DC 0200202D */ daddu $a0, $s0, $zero /* 0088E0 8002D4E0 0800B540 */ j func_8002D500 /* 0088E4 8002D4E4 00000000 */ nop -/* 0088E8 8002D4E8 0C00C000 */ jal func_80030000 +/* 0088E8 8002D4E8 0C00C000 */ jal do_camera_type_5 /* 0088EC 8002D4EC 0200202D */ daddu $a0, $s0, $zero /* 0088F0 8002D4F0 0800B540 */ j func_8002D500 /* 0088F4 8002D4F4 00000000 */ nop .L8002D4F8: -/* 0088F8 8002D4F8 0C00BE64 */ jal func_8002F990 +/* 0088F8 8002D4F8 0C00BE64 */ jal do_camera_type_6 /* 0088FC 8002D4FC 0200202D */ daddu $a0, $s0, $zero func_8002D500: /* 008900 8002D500 C6000044 */ lwc1 $f0, 0x44($s0) @@ -605,7 +608,7 @@ func_8002D6C0: /* 008AC8 8002D6C8 8E050060 */ lw $a1, 0x60($s0) /* 008ACC 8002D6CC 8E060064 */ lw $a2, 0x64($s0) /* 008AD0 8002D6D0 8E070068 */ lw $a3, 0x68($s0) -/* 008AD4 8002D6D4 0C00B94E */ jal func_8002E538 +/* 008AD4 8002D6D4 0C00B94E */ jal get_screen_coords /* 008AD8 8002D6D8 0000202D */ daddu $a0, $zero, $zero /* 008ADC 8002D6DC 96C20002 */ lhu $v0, 2($s6) /* 008AE0 8002D6E0 A6020032 */ sh $v0, 0x32($s0) @@ -634,7 +637,7 @@ func_8002D6C0: /* 008B34 8002D734 03E00008 */ jr $ra /* 008B38 8002D738 27BD0070 */ addiu $sp, $sp, 0x70 -func_8002D73C: +render_frame: /* 008B3C 8002D73C 27BDFF90 */ addiu $sp, $sp, -0x70 /* 008B40 8002D740 AFBF0054 */ sw $ra, 0x54($sp) /* 008B44 8002D744 AFBE0050 */ sw $fp, 0x50($sp) @@ -1029,20 +1032,20 @@ func_8002DC4C: /* 009118 8002DD18 30420400 */ andi $v0, $v0, 0x400 /* 00911C 8002DD1C 14400003 */ bnez $v0, .L8002DD2C /* 009120 8002DD20 00000000 */ nop -/* 009124 8002DD24 0C045AE4 */ jal func_80116B90 +/* 009124 8002DD24 0C045AE4 */ jal render_models /* 009128 8002DD28 00000000 */ nop .L8002DD2C: -/* 00912C 8002DD2C 0C03844E */ jal func_800E1138 +/* 00912C 8002DD2C 0C03844E */ jal render_player /* 009130 8002DD30 00000000 */ nop -/* 009134 8002DD34 0C00E9FC */ jal func_8003A7F0 +/* 009134 8002DD34 0C00E9FC */ jal render_npcs /* 009138 8002DD38 00000000 */ nop /* 00913C 8002DD3C 0C048D1C */ jal func_80123470 /* 009140 8002DD40 00000000 */ nop -/* 009144 8002DD44 0C0167BD */ jal func_80059EF4 +/* 009144 8002DD44 0C0167BD */ jal render_effects /* 009148 8002DD48 00000000 */ nop /* 00914C 8002DD4C 0C04766E */ jal func_8011D9B8 /* 009150 8002DD50 00000000 */ nop -/* 009154 8002DD54 0C050DAD */ jal func_801436B4 +/* 009154 8002DD54 0C050DAD */ jal render_menu_icons /* 009158 8002DD58 00000000 */ nop /* 00915C 8002DD5C 0800B788 */ j func_8002DE20 /* 009160 8002DD60 00000000 */ nop @@ -1085,7 +1088,7 @@ func_8002DC4C: /* 0091EC 8002DDEC 24630030 */ addiu $v1, $v1, 0x30 /* 0091F0 8002DDF0 AC850000 */ sw $a1, ($a0) /* 0091F4 8002DDF4 00431021 */ addu $v0, $v0, $v1 -/* 0091F8 8002DDF8 0C050DAD */ jal func_801436B4 +/* 0091F8 8002DDF8 0C050DAD */ jal render_menu_icons /* 0091FC 8002DDFC AC820004 */ sw $v0, 4($a0) /* 009200 8002DE00 0C04CB95 */ jal func_80132E54 /* 009204 8002DE04 00000000 */ nop @@ -1155,7 +1158,7 @@ func_8002DE20: /* 0092EC 8002DEEC 03E00008 */ jr $ra /* 0092F0 8002DEF0 27BD0070 */ addiu $sp, $sp, 0x70 -func_8002DEF4: +create_cameras_a: /* 0092F4 8002DEF4 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0092F8 8002DEF8 AFB60040 */ sw $s6, 0x40($sp) /* 0092FC 8002DEFC 27B60010 */ addiu $s6, $sp, 0x10 @@ -1193,7 +1196,7 @@ func_8002DEF4: /* 009378 8002DF78 A6C0000A */ sh $zero, 0xa($s6) /* 00937C 8002DF7C A6D4000C */ sh $s4, 0xc($s6) /* 009380 8002DF80 A6D3000E */ sh $s3, 0xe($s6) -/* 009384 8002DF84 0C00B85B */ jal func_8002E16C +/* 009384 8002DF84 0C00B85B */ jal initialize_next_camera /* 009388 8002DF88 A6D20010 */ sh $s2, 0x10($s6) /* 00938C 8002DF8C 02C0202D */ daddu $a0, $s6, $zero /* 009390 8002DF90 A6D50000 */ sh $s5, ($s6) @@ -1204,7 +1207,7 @@ func_8002DEF4: /* 0093A4 8002DFA4 A6C0000A */ sh $zero, 0xa($s6) /* 0093A8 8002DFA8 A6D4000C */ sh $s4, 0xc($s6) /* 0093AC 8002DFAC A6D3000E */ sh $s3, 0xe($s6) -/* 0093B0 8002DFB0 0C00B85B */ jal func_8002E16C +/* 0093B0 8002DFB0 0C00B85B */ jal initialize_next_camera /* 0093B4 8002DFB4 A6D20010 */ sh $s2, 0x10($s6) /* 0093B8 8002DFB8 02C0202D */ daddu $a0, $s6, $zero /* 0093BC 8002DFBC A6D50000 */ sh $s5, ($s6) @@ -1215,7 +1218,7 @@ func_8002DEF4: /* 0093D0 8002DFD0 A6D0000A */ sh $s0, 0xa($s6) /* 0093D4 8002DFD4 A6D4000C */ sh $s4, 0xc($s6) /* 0093D8 8002DFD8 A6D3000E */ sh $s3, 0xe($s6) -/* 0093DC 8002DFDC 0C00B85B */ jal func_8002E16C +/* 0093DC 8002DFDC 0C00B85B */ jal initialize_next_camera /* 0093E0 8002DFE0 A6D20010 */ sh $s2, 0x10($s6) /* 0093E4 8002DFE4 02C0202D */ daddu $a0, $s6, $zero /* 0093E8 8002DFE8 A4950000 */ sh $s5, ($a0) @@ -1226,7 +1229,7 @@ func_8002DEF4: /* 0093FC 8002DFFC A490000A */ sh $s0, 0xa($a0) /* 009400 8002E000 A494000C */ sh $s4, 0xc($a0) /* 009404 8002E004 A493000E */ sh $s3, 0xe($a0) -/* 009408 8002E008 0C00B85B */ jal func_8002E16C +/* 009408 8002E008 0C00B85B */ jal initialize_next_camera /* 00940C 8002E00C A4920010 */ sh $s2, 0x10($a0) /* 009410 8002E010 8FBF0044 */ lw $ra, 0x44($sp) /* 009414 8002E014 8FB60040 */ lw $s6, 0x40($sp) @@ -1239,6 +1242,7 @@ func_8002DEF4: /* 009430 8002E030 03E00008 */ jr $ra /* 009434 8002E034 27BD0048 */ addiu $sp, $sp, 0x48 +create_cameras_b: /* 009438 8002E038 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 00943C 8002E03C AFB60040 */ sw $s6, 0x40($sp) /* 009440 8002E040 27B60010 */ addiu $s6, $sp, 0x10 @@ -1272,7 +1276,7 @@ func_8002DEF4: /* 0094AC 8002E0AC A6C0000A */ sh $zero, 0xa($s6) /* 0094B0 8002E0B0 A6D4000C */ sh $s4, 0xc($s6) /* 0094B4 8002E0B4 A6D3000E */ sh $s3, 0xe($s6) -/* 0094B8 8002E0B8 0C00B85B */ jal func_8002E16C +/* 0094B8 8002E0B8 0C00B85B */ jal initialize_next_camera /* 0094BC 8002E0BC A6D20010 */ sh $s2, 0x10($s6) /* 0094C0 8002E0C0 02C0202D */ daddu $a0, $s6, $zero /* 0094C4 8002E0C4 A6D50000 */ sh $s5, ($s6) @@ -1283,7 +1287,7 @@ func_8002DEF4: /* 0094D8 8002E0D8 A6C0000A */ sh $zero, 0xa($s6) /* 0094DC 8002E0DC A6D4000C */ sh $s4, 0xc($s6) /* 0094E0 8002E0E0 A6D3000E */ sh $s3, 0xe($s6) -/* 0094E4 8002E0E4 0C00B85B */ jal func_8002E16C +/* 0094E4 8002E0E4 0C00B85B */ jal initialize_next_camera /* 0094E8 8002E0E8 A6D20010 */ sh $s2, 0x10($s6) /* 0094EC 8002E0EC 02C0202D */ daddu $a0, $s6, $zero /* 0094F0 8002E0F0 A6D50000 */ sh $s5, ($s6) @@ -1294,7 +1298,7 @@ func_8002DEF4: /* 009504 8002E104 A6D0000A */ sh $s0, 0xa($s6) /* 009508 8002E108 A6D4000C */ sh $s4, 0xc($s6) /* 00950C 8002E10C A6D3000E */ sh $s3, 0xe($s6) -/* 009510 8002E110 0C00B85B */ jal func_8002E16C +/* 009510 8002E110 0C00B85B */ jal initialize_next_camera /* 009514 8002E114 A6D20010 */ sh $s2, 0x10($s6) /* 009518 8002E118 02C0202D */ daddu $a0, $s6, $zero /* 00951C 8002E11C A4950000 */ sh $s5, ($a0) @@ -1305,7 +1309,7 @@ func_8002DEF4: /* 009530 8002E130 A490000A */ sh $s0, 0xa($a0) /* 009534 8002E134 A494000C */ sh $s4, 0xc($a0) /* 009538 8002E138 A493000E */ sh $s3, 0xe($a0) -/* 00953C 8002E13C 0C00B85B */ jal func_8002E16C +/* 00953C 8002E13C 0C00B85B */ jal initialize_next_camera /* 009540 8002E140 A4920010 */ sh $s2, 0x10($a0) /* 009544 8002E144 8FBF0044 */ lw $ra, 0x44($sp) /* 009548 8002E148 8FB60040 */ lw $s6, 0x40($sp) @@ -1318,7 +1322,7 @@ func_8002DEF4: /* 009564 8002E164 03E00008 */ jr $ra /* 009568 8002E168 27BD0048 */ addiu $sp, $sp, 0x48 -func_8002E16C: +initialize_next_camera: /* 00956C 8002E16C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 009570 8002E170 0080382D */ daddu $a3, $a0, $zero /* 009574 8002E174 0000202D */ daddu $a0, $zero, $zero @@ -1384,7 +1388,7 @@ func_8002E1B4: /* 009650 8002E250 84E6000A */ lh $a2, 0xa($a3) /* 009654 8002E254 84E70004 */ lh $a3, 4($a3) /* 009658 8002E258 00042403 */ sra $a0, $a0, 0x10 -/* 00965C 8002E25C 0C00B8C5 */ jal func_8002E314 +/* 00965C 8002E25C 0C00B8C5 */ jal set_cam_viewport /* 009660 8002E260 AFA20010 */ sw $v0, 0x10($sp) /* 009664 8002E264 3C01447A */ lui $at, 0x447a /* 009668 8002E268 44810000 */ mtc1 $at, $f0 @@ -1431,7 +1435,7 @@ func_8002E1B4: /* 00970C 8002E30C 03E00008 */ jr $ra /* 009710 8002E310 27BD0020 */ addiu $sp, $sp, 0x20 -func_8002E314: +set_cam_viewport: /* 009714 8002E314 3C08800B */ lui $t0, 0x800b /* 009718 8002E318 25081D80 */ addiu $t0, $t0, 0x1d80 /* 00971C 8002E31C 00042400 */ sll $a0, $a0, 0x10 @@ -1550,6 +1554,7 @@ func_8002E314: /* 0098E0 8002E4E0 03E00008 */ jr $ra /* 0098E4 8002E4E4 A46000BE */ sh $zero, 0xbe($v1) +get_cam_viewport: /* 0098E8 8002E4E8 3C08800B */ lui $t0, 0x800b /* 0098EC 8002E4EC 25081D80 */ addiu $t0, $t0, 0x1d80 /* 0098F0 8002E4F0 00041080 */ sll $v0, $a0, 2 @@ -1571,7 +1576,7 @@ func_8002E314: /* 009930 8002E530 03E00008 */ jr $ra /* 009934 8002E534 A4C20000 */ sh $v0, ($a2) -func_8002E538: +get_screen_coords: /* 009938 8002E538 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 00993C 8002E53C AFB20040 */ sw $s2, 0x40($sp) /* 009940 8002E540 8FB20060 */ lw $s2, 0x60($sp) @@ -1602,7 +1607,7 @@ func_8002E538: /* 0099A4 8002E5A4 44810000 */ mtc1 $at, $f0 /* 0099A8 8002E5A8 260400D4 */ addiu $a0, $s0, 0xd4 /* 0099AC 8002E5AC AFBF0048 */ sw $ra, 0x48($sp) -/* 0099B0 8002E5B0 0C00A588 */ jal func_80029620 +/* 0099B0 8002E5B0 0C00A588 */ jal transform_point /* 0099B4 8002E5B4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0099B8 8002E5B8 C7A00030 */ lwc1 $f0, 0x30($sp) /* 0099BC 8002E5BC 3C01459C */ lui $at, 0x459c diff --git a/papermario/asm/code_9d10_len_1080.s b/papermario/asm/code_9d10_len_1080.s index a125330a53..6fa7cf28ed 100644 --- a/papermario/asm/code_9d10_len_1080.s +++ b/papermario/asm/code_9d10_len_1080.s @@ -1,7 +1,7 @@ .section .text8002E910, "ax" -func_8002E910: +do_camera_type_4: /* 009D10 8002E910 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 009D14 8002E914 AFB00010 */ sw $s0, 0x10($sp) /* 009D18 8002E918 0080802D */ daddu $s0, $a0, $zero @@ -89,10 +89,10 @@ func_8002E910: /* 009E50 8002EA50 E6060050 */ swc1 $f6, 0x50($s0) /* 009E54 8002EA54 E600004C */ swc1 $f0, 0x4c($s0) /* 009E58 8002EA58 46141683 */ div.s $f26, $f2, $f20 -/* 009E5C 8002EA5C 0C00A85B */ jal func_8002A16C +/* 009E5C 8002EA5C 0C00A85B */ jal sin_rad /* 009E60 8002EA60 4600D306 */ mov.s $f12, $f26 /* 009E64 8002EA64 46000706 */ mov.s $f28, $f0 -/* 009E68 8002EA68 0C00A874 */ jal func_8002A1D0 +/* 009E68 8002EA68 0C00A874 */ jal cos_rad /* 009E6C 8002EA6C 4600D306 */ mov.s $f12, $f26 /* 009E70 8002EA70 46000286 */ mov.s $f10, $f0 /* 009E74 8002EA74 461E5202 */ mul.s $f8, $f10, $f30 @@ -113,10 +113,10 @@ func_8002E910: /* 009EB0 8002EAB0 46044780 */ add.s $f30, $f8, $f4 /* 009EB4 8002EAB4 46140683 */ div.s $f26, $f0, $f20 /* 009EB8 8002EAB8 4600D306 */ mov.s $f12, $f26 -/* 009EBC 8002EABC 0C00A85B */ jal func_8002A16C +/* 009EBC 8002EABC 0C00A85B */ jal sin_rad /* 009EC0 8002EAC0 46061600 */ add.s $f24, $f2, $f6 /* 009EC4 8002EAC4 46000706 */ mov.s $f28, $f0 -/* 009EC8 8002EAC8 0C00A874 */ jal func_8002A1D0 +/* 009EC8 8002EAC8 0C00A874 */ jal cos_rad /* 009ECC 8002EACC 4600D306 */ mov.s $f12, $f26 /* 009ED0 8002EAD0 46000286 */ mov.s $f10, $f0 /* 009ED4 8002EAD4 46165182 */ mul.s $f6, $f10, $f22 @@ -157,10 +157,10 @@ func_8002E910: /* 009F5C 8002EB5C E6060050 */ swc1 $f6, 0x50($s0) /* 009F60 8002EB60 E600004C */ swc1 $f0, 0x4c($s0) /* 009F64 8002EB64 46141683 */ div.s $f26, $f2, $f20 -/* 009F68 8002EB68 0C00A85B */ jal func_8002A16C +/* 009F68 8002EB68 0C00A85B */ jal sin_rad /* 009F6C 8002EB6C 4600D306 */ mov.s $f12, $f26 /* 009F70 8002EB70 46000706 */ mov.s $f28, $f0 -/* 009F74 8002EB74 0C00A874 */ jal func_8002A1D0 +/* 009F74 8002EB74 0C00A874 */ jal cos_rad /* 009F78 8002EB78 4600D306 */ mov.s $f12, $f26 /* 009F7C 8002EB7C 46000286 */ mov.s $f10, $f0 /* 009F80 8002EB80 461E5202 */ mul.s $f8, $f10, $f30 @@ -181,10 +181,10 @@ func_8002E910: /* 009FBC 8002EBBC 46044780 */ add.s $f30, $f8, $f4 /* 009FC0 8002EBC0 46140683 */ div.s $f26, $f0, $f20 /* 009FC4 8002EBC4 4600D306 */ mov.s $f12, $f26 -/* 009FC8 8002EBC8 0C00A85B */ jal func_8002A16C +/* 009FC8 8002EBC8 0C00A85B */ jal sin_rad /* 009FCC 8002EBCC 46061600 */ add.s $f24, $f2, $f6 /* 009FD0 8002EBD0 46000706 */ mov.s $f28, $f0 -/* 009FD4 8002EBD4 0C00A874 */ jal func_8002A1D0 +/* 009FD4 8002EBD4 0C00A874 */ jal cos_rad /* 009FD8 8002EBD8 4600D306 */ mov.s $f12, $f26 /* 009FDC 8002EBDC 46000286 */ mov.s $f10, $f0 /* 009FE0 8002EBE0 46165102 */ mul.s $f4, $f10, $f22 @@ -208,7 +208,7 @@ func_8002E910: /* 00A028 8002EC28 E6020040 */ swc1 $f2, 0x40($s0) /* 00A02C 8002EC2C E600003C */ swc1 $f0, 0x3c($s0) /* 00A030 8002EC30 46000306 */ mov.s $f12, $f0 -/* 00A034 8002EC34 0C00A720 */ jal func_80029C80 +/* 00A034 8002EC34 0C00A720 */ jal atan2 /* 00A038 8002EC38 E60E0044 */ swc1 $f14, 0x44($s0) /* 00A03C 8002EC3C 4600B506 */ mov.s $f20, $f22 /* 00A040 8002EC40 C6040048 */ lwc1 $f4, 0x48($s0) @@ -224,7 +224,7 @@ func_8002E910: /* 00A068 8002EC68 4406B000 */ mfc1 $a2, $f22 /* 00A06C 8002EC6C 4407C000 */ mfc1 $a3, $f24 /* 00A070 8002EC70 46022781 */ sub.s $f30, $f4, $f2 -/* 00A074 8002EC74 0C00A720 */ jal func_80029C80 +/* 00A074 8002EC74 0C00A720 */ jal atan2 /* 00A078 8002EC78 E600006C */ swc1 $f0, 0x6c($s0) /* 00A07C 8002EC7C 4616B102 */ mul.s $f4, $f22, $f22 /* 00A080 8002EC80 00000000 */ nop @@ -245,7 +245,7 @@ func_8002E910: /* 00A0B8 8002ECB8 46000007 */ neg.s $f0, $f0 /* 00A0BC 8002ECBC 4406F000 */ mfc1 $a2, $f30 /* 00A0C0 8002ECC0 44070000 */ mfc1 $a3, $f0 -/* 00A0C4 8002ECC4 0C00A720 */ jal func_80029C80 +/* 00A0C4 8002ECC4 0C00A720 */ jal atan2 /* 00A0C8 8002ECC8 46006386 */ mov.s $f14, $f12 /* 00A0CC 8002ECCC E6000094 */ swc1 $f0, 0x94($s0) /* 00A0D0 8002ECD0 8FBF0014 */ lw $ra, 0x14($sp) @@ -259,7 +259,7 @@ func_8002E910: /* 00A0F0 8002ECF0 03E00008 */ jr $ra /* 00A0F4 8002ECF4 27BD0048 */ addiu $sp, $sp, 0x48 -func_8002ECF8: +do_camera_type_2: /* 00A0F8 8002ECF8 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 00A0FC 8002ECFC AFB00010 */ sw $s0, 0x10($sp) /* 00A100 8002ED00 0080802D */ daddu $s0, $a0, $zero @@ -321,10 +321,10 @@ func_8002ECF8: /* 00A1E0 8002EDE0 E6060050 */ swc1 $f6, 0x50($s0) /* 00A1E4 8002EDE4 E600004C */ swc1 $f0, 0x4c($s0) /* 00A1E8 8002EDE8 46141683 */ div.s $f26, $f2, $f20 -/* 00A1EC 8002EDEC 0C00A85B */ jal func_8002A16C +/* 00A1EC 8002EDEC 0C00A85B */ jal sin_rad /* 00A1F0 8002EDF0 4600D306 */ mov.s $f12, $f26 /* 00A1F4 8002EDF4 46000786 */ mov.s $f30, $f0 -/* 00A1F8 8002EDF8 0C00A874 */ jal func_8002A1D0 +/* 00A1F8 8002EDF8 0C00A874 */ jal cos_rad /* 00A1FC 8002EDFC 4600D306 */ mov.s $f12, $f26 /* 00A200 8002EE00 46000306 */ mov.s $f12, $f0 /* 00A204 8002EE04 46186202 */ mul.s $f8, $f12, $f24 @@ -345,10 +345,10 @@ func_8002ECF8: /* 00A240 8002EE40 46044600 */ add.s $f24, $f8, $f4 /* 00A244 8002EE44 46140683 */ div.s $f26, $f0, $f20 /* 00A248 8002EE48 4600D306 */ mov.s $f12, $f26 -/* 00A24C 8002EE4C 0C00A85B */ jal func_8002A16C +/* 00A24C 8002EE4C 0C00A85B */ jal sin_rad /* 00A250 8002EE50 46061700 */ add.s $f28, $f2, $f6 /* 00A254 8002EE54 46000786 */ mov.s $f30, $f0 -/* 00A258 8002EE58 0C00A874 */ jal func_8002A1D0 +/* 00A258 8002EE58 0C00A874 */ jal cos_rad /* 00A25C 8002EE5C 4600D306 */ mov.s $f12, $f26 /* 00A260 8002EE60 46000306 */ mov.s $f12, $f0 /* 00A264 8002EE64 46166202 */ mul.s $f8, $f12, $f22 @@ -460,10 +460,10 @@ func_8002ECF8: /* 00A3F8 8002EFF8 46080000 */ add.s $f0, $f0, $f8 /* 00A3FC 8002EFFC E6040048 */ swc1 $f4, 0x48($s0) /* 00A400 8002F000 E602004C */ swc1 $f2, 0x4c($s0) -/* 00A404 8002F004 0C00A85B */ jal func_8002A16C +/* 00A404 8002F004 0C00A85B */ jal sin_rad /* 00A408 8002F008 E6000050 */ swc1 $f0, 0x50($s0) /* 00A40C 8002F00C 46000786 */ mov.s $f30, $f0 -/* 00A410 8002F010 0C00A874 */ jal func_8002A1D0 +/* 00A410 8002F010 0C00A874 */ jal cos_rad /* 00A414 8002F014 4600D306 */ mov.s $f12, $f26 /* 00A418 8002F018 46000306 */ mov.s $f12, $f0 /* 00A41C 8002F01C 46186202 */ mul.s $f8, $f12, $f24 @@ -486,10 +486,10 @@ func_8002ECF8: /* 00A460 8002F060 46044600 */ add.s $f24, $f8, $f4 /* 00A464 8002F064 46120683 */ div.s $f26, $f0, $f18 /* 00A468 8002F068 4600D306 */ mov.s $f12, $f26 -/* 00A46C 8002F06C 0C00A85B */ jal func_8002A16C +/* 00A46C 8002F06C 0C00A85B */ jal sin_rad /* 00A470 8002F070 46061700 */ add.s $f28, $f2, $f6 /* 00A474 8002F074 46000786 */ mov.s $f30, $f0 -/* 00A478 8002F078 0C00A874 */ jal func_8002A1D0 +/* 00A478 8002F078 0C00A874 */ jal cos_rad /* 00A47C 8002F07C 4600D306 */ mov.s $f12, $f26 /* 00A480 8002F080 46000306 */ mov.s $f12, $f0 /* 00A484 8002F084 461EE002 */ mul.s $f0, $f28, $f30 @@ -578,7 +578,7 @@ func_8002ECF8: /* 00A5C0 8002F1C0 E600003C */ swc1 $f0, 0x3c($s0) /* 00A5C4 8002F1C4 46000306 */ mov.s $f12, $f0 /* 00A5C8 8002F1C8 E6020040 */ swc1 $f2, 0x40($s0) -/* 00A5CC 8002F1CC 0C00A720 */ jal func_80029C80 +/* 00A5CC 8002F1CC 0C00A720 */ jal atan2 /* 00A5D0 8002F1D0 E60E0044 */ swc1 $f14, 0x44($s0) /* 00A5D4 8002F1D4 C6040048 */ lwc1 $f4, 0x48($s0) /* 00A5D8 8002F1D8 4480A000 */ mtc1 $zero, $f20 @@ -594,7 +594,7 @@ func_8002ECF8: /* 00A600 8002F200 4406B000 */ mfc1 $a2, $f22 /* 00A604 8002F204 46022601 */ sub.s $f24, $f4, $f2 /* 00A608 8002F208 4407E000 */ mfc1 $a3, $f28 -/* 00A60C 8002F20C 0C00A720 */ jal func_80029C80 +/* 00A60C 8002F20C 0C00A720 */ jal atan2 /* 00A610 8002F210 4600A386 */ mov.s $f14, $f20 /* 00A614 8002F214 4616B102 */ mul.s $f4, $f22, $f22 /* 00A618 8002F218 00000000 */ nop @@ -615,7 +615,7 @@ func_8002ECF8: /* 00A650 8002F250 46000007 */ neg.s $f0, $f0 /* 00A654 8002F254 4406C000 */ mfc1 $a2, $f24 /* 00A658 8002F258 44070000 */ mfc1 $a3, $f0 -/* 00A65C 8002F25C 0C00A720 */ jal func_80029C80 +/* 00A65C 8002F25C 0C00A720 */ jal atan2 /* 00A660 8002F260 46006386 */ mov.s $f14, $f12 /* 00A664 8002F264 E6000094 */ swc1 $f0, 0x94($s0) /* 00A668 8002F268 8FBF0014 */ lw $ra, 0x14($sp) @@ -629,7 +629,7 @@ func_8002ECF8: /* 00A688 8002F288 03E00008 */ jr $ra /* 00A68C 8002F28C 27BD0048 */ addiu $sp, $sp, 0x48 -func_8002F290: +do_camera_type_1: /* 00A690 8002F290 27BDFF90 */ addiu $sp, $sp, -0x70 /* 00A694 8002F294 AFB10034 */ sw $s1, 0x34($sp) /* 00A698 8002F298 0080882D */ daddu $s1, $a0, $zero @@ -680,13 +680,13 @@ func_8002F290: /* 00A74C 8002F34C 00000000 */ nop /* 00A750 8002F350 46800020 */ cvt.s.w $f0, $f0 /* 00A754 8002F354 46020003 */ div.s $f0, $f0, $f2 -/* 00A758 8002F358 0C00A720 */ jal func_80029C80 +/* 00A758 8002F358 0C00A720 */ jal atan2 /* 00A75C 8002F35C E620007C */ swc1 $f0, 0x7c($s1) /* 00A760 8002F360 46000506 */ mov.s $f20, $f0 /* 00A764 8002F364 4600F306 */ mov.s $f12, $f30 /* 00A768 8002F368 4406C000 */ mfc1 $a2, $f24 /* 00A76C 8002F36C 4407B000 */ mfc1 $a3, $f22 -/* 00A770 8002F370 0C00A7B5 */ jal func_80029ED4 +/* 00A770 8002F370 0C00A7B5 */ jal dist2D /* 00A774 8002F374 4600E386 */ mov.s $f14, $f28 /* 00A778 8002F378 8623001E */ lh $v1, 0x1e($s1) /* 00A77C 8002F37C C6040000 */ lwc1 $f4, ($s0) @@ -728,10 +728,10 @@ func_8002F3C4: /* 00A800 8002F400 E6260050 */ swc1 $f6, 0x50($s1) /* 00A804 8002F404 E620004C */ swc1 $f0, 0x4c($s1) /* 00A808 8002F408 46161603 */ div.s $f24, $f2, $f22 -/* 00A80C 8002F40C 0C00A85B */ jal func_8002A16C +/* 00A80C 8002F40C 0C00A85B */ jal sin_rad /* 00A810 8002F410 4600C306 */ mov.s $f12, $f24 /* 00A814 8002F414 46000686 */ mov.s $f26, $f0 -/* 00A818 8002F418 0C00A874 */ jal func_8002A1D0 +/* 00A818 8002F418 0C00A874 */ jal cos_rad /* 00A81C 8002F41C 4600C306 */ mov.s $f12, $f24 /* 00A820 8002F420 C7B00010 */ lwc1 $f16, 0x10($sp) /* 00A824 8002F424 46000206 */ mov.s $f8, $f0 @@ -757,10 +757,10 @@ func_8002F3C4: /* 00A874 8002F474 46165603 */ div.s $f24, $f10, $f22 /* 00A878 8002F478 4600C306 */ mov.s $f12, $f24 /* 00A87C 8002F47C 46040700 */ add.s $f28, $f0, $f4 -/* 00A880 8002F480 0C00A85B */ jal func_8002A16C +/* 00A880 8002F480 0C00A85B */ jal sin_rad /* 00A884 8002F484 E7A60010 */ swc1 $f6, 0x10($sp) /* 00A888 8002F488 46000686 */ mov.s $f26, $f0 -/* 00A88C 8002F48C 0C00A874 */ jal func_8002A1D0 +/* 00A88C 8002F48C 0C00A874 */ jal cos_rad /* 00A890 8002F490 4600C306 */ mov.s $f12, $f24 /* 00A894 8002F494 46000206 */ mov.s $f8, $f0 /* 00A898 8002F498 461E4182 */ mul.s $f6, $f8, $f30 @@ -850,13 +850,13 @@ func_8002F3C4: /* 00A9E4 8002F5E4 46121080 */ add.s $f2, $f2, $f18 /* 00A9E8 8002F5E8 E620004C */ swc1 $f0, 0x4c($s1) /* 00A9EC 8002F5EC E6280048 */ swc1 $f8, 0x48($s1) -/* 00A9F0 8002F5F0 0C00A720 */ jal func_80029C80 +/* 00A9F0 8002F5F0 0C00A720 */ jal atan2 /* 00A9F4 8002F5F4 E6220050 */ swc1 $f2, 0x50($s1) /* 00A9F8 8002F5F8 46000506 */ mov.s $f20, $f0 /* 00A9FC 8002F5FC 4600F306 */ mov.s $f12, $f30 /* 00AA00 8002F600 4406C000 */ mfc1 $a2, $f24 /* 00AA04 8002F604 4407B000 */ mfc1 $a3, $f22 -/* 00AA08 8002F608 0C00A7B5 */ jal func_80029ED4 +/* 00AA08 8002F608 0C00A7B5 */ jal dist2D /* 00AA0C 8002F60C 4600E386 */ mov.s $f14, $f28 /* 00AA10 8002F610 8623001E */ lh $v1, 0x1e($s1) /* 00AA14 8002F614 C6040000 */ lwc1 $f4, ($s0) @@ -876,7 +876,7 @@ func_8002F3C4: /* 00AA4C 8002F64C C6340084 */ lwc1 $f20, 0x84($s1) .L8002F650: /* 00AA50 8002F650 C62E0088 */ lwc1 $f14, 0x88($s1) -/* 00AA54 8002F654 0C00A70A */ jal func_80029C28 +/* 00AA54 8002F654 0C00A70A */ jal get_clamped_angle_diff /* 00AA58 8002F658 4600A306 */ mov.s $f12, $f20 /* 00AA5C 8002F65C C6240074 */ lwc1 $f4, 0x74($s1) /* 00AA60 8002F660 3C0140C9 */ lui $at, 0x40c9 @@ -895,10 +895,10 @@ func_8002F3C4: /* 00AA94 8002F694 46001506 */ mov.s $f20, $f2 /* 00AA98 8002F698 E6340088 */ swc1 $f20, 0x88($s1) /* 00AA9C 8002F69C 46162603 */ div.s $f24, $f4, $f22 -/* 00AAA0 8002F6A0 0C00A85B */ jal func_8002A16C +/* 00AAA0 8002F6A0 0C00A85B */ jal sin_rad /* 00AAA4 8002F6A4 4600C306 */ mov.s $f12, $f24 /* 00AAA8 8002F6A8 46000686 */ mov.s $f26, $f0 -/* 00AAAC 8002F6AC 0C00A874 */ jal func_8002A1D0 +/* 00AAAC 8002F6AC 0C00A874 */ jal cos_rad /* 00AAB0 8002F6B0 4600C306 */ mov.s $f12, $f24 /* 00AAB4 8002F6B4 C7B00010 */ lwc1 $f16, 0x10($sp) /* 00AAB8 8002F6B8 46000206 */ mov.s $f8, $f0 @@ -924,10 +924,10 @@ func_8002F3C4: /* 00AB08 8002F708 46165603 */ div.s $f24, $f10, $f22 /* 00AB0C 8002F70C 4600C306 */ mov.s $f12, $f24 /* 00AB10 8002F710 46040700 */ add.s $f28, $f0, $f4 -/* 00AB14 8002F714 0C00A85B */ jal func_8002A16C +/* 00AB14 8002F714 0C00A85B */ jal sin_rad /* 00AB18 8002F718 E7A60010 */ swc1 $f6, 0x10($sp) /* 00AB1C 8002F71C 46000686 */ mov.s $f26, $f0 -/* 00AB20 8002F720 0C00A874 */ jal func_8002A1D0 +/* 00AB20 8002F720 0C00A874 */ jal cos_rad /* 00AB24 8002F724 4600C306 */ mov.s $f12, $f24 /* 00AB28 8002F728 46000206 */ mov.s $f8, $f0 /* 00AB2C 8002F72C 461E4102 */ mul.s $f4, $f8, $f30 @@ -952,7 +952,7 @@ func_8002F3C4: /* 00AB78 8002F778 E6220040 */ swc1 $f2, 0x40($s1) /* 00AB7C 8002F77C E620003C */ swc1 $f0, 0x3c($s1) /* 00AB80 8002F780 46000306 */ mov.s $f12, $f0 -/* 00AB84 8002F784 0C00A720 */ jal func_80029C80 +/* 00AB84 8002F784 0C00A720 */ jal atan2 /* 00AB88 8002F788 E62E0044 */ swc1 $f14, 0x44($s1) /* 00AB8C 8002F78C C6240048 */ lwc1 $f4, 0x48($s1) /* 00AB90 8002F790 C622003C */ lwc1 $f2, 0x3c($s1) @@ -969,7 +969,7 @@ func_8002F3C4: /* 00ABBC 8002F7BC 4407E000 */ mfc1 $a3, $f28 /* 00ABC0 8002F7C0 4600A386 */ mov.s $f14, $f20 /* 00ABC4 8002F7C4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 00ABC8 8002F7C8 0C00A720 */ jal func_80029C80 +/* 00ABC8 8002F7C8 0C00A720 */ jal atan2 /* 00ABCC 8002F7CC E620006C */ swc1 $f0, 0x6c($s1) /* 00ABD0 8002F7D0 461EF102 */ mul.s $f4, $f30, $f30 /* 00ABD4 8002F7D4 00000000 */ nop @@ -990,7 +990,7 @@ func_8002F3C4: /* 00AC0C 8002F80C 46000007 */ neg.s $f0, $f0 /* 00AC10 8002F810 8FA60010 */ lw $a2, 0x10($sp) /* 00AC14 8002F814 44070000 */ mfc1 $a3, $f0 -/* 00AC18 8002F818 0C00A720 */ jal func_80029C80 +/* 00AC18 8002F818 0C00A720 */ jal atan2 /* 00AC1C 8002F81C 46006386 */ mov.s $f14, $f12 /* 00AC20 8002F820 E6200094 */ swc1 $f0, 0x94($s1) /* 00AC24 8002F824 8FBF0038 */ lw $ra, 0x38($sp) @@ -1005,7 +1005,7 @@ func_8002F3C4: /* 00AC48 8002F848 03E00008 */ jr $ra /* 00AC4C 8002F84C 27BD0070 */ addiu $sp, $sp, 0x70 -func_8002F850: +do_camera_type_0: /* 00AC50 8002F850 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 00AC54 8002F854 AFB00010 */ sw $s0, 0x10($sp) /* 00AC58 8002F858 0080802D */ daddu $s0, $a0, $zero @@ -1039,7 +1039,7 @@ func_8002F850: /* 00ACC4 8002F8C4 8E060048 */ lw $a2, 0x48($s0) /* 00ACC8 8002F8C8 8E070050 */ lw $a3, 0x50($s0) /* 00ACCC 8002F8CC 4480C000 */ mtc1 $zero, $f24 -/* 00ACD0 8002F8D0 0C00A720 */ jal func_80029C80 +/* 00ACD0 8002F8D0 0C00A720 */ jal atan2 /* 00ACD4 8002F8D4 00000000 */ nop /* 00ACD8 8002F8D8 4600C306 */ mov.s $f12, $f24 /* 00ACDC 8002F8DC 4600C386 */ mov.s $f14, $f24 @@ -1054,7 +1054,7 @@ func_8002F850: /* 00AD00 8002F900 4406B000 */ mfc1 $a2, $f22 /* 00AD04 8002F904 4407A000 */ mfc1 $a3, $f20 /* 00AD08 8002F908 46022681 */ sub.s $f26, $f4, $f2 -/* 00AD0C 8002F90C 0C00A720 */ jal func_80029C80 +/* 00AD0C 8002F90C 0C00A720 */ jal atan2 /* 00AD10 8002F910 E600006C */ swc1 $f0, 0x6c($s0) /* 00AD14 8002F914 4616B082 */ mul.s $f2, $f22, $f22 /* 00AD18 8002F918 00000000 */ nop @@ -1075,7 +1075,7 @@ func_8002F850: /* 00AD50 8002F950 46000007 */ neg.s $f0, $f0 /* 00AD54 8002F954 4406D000 */ mfc1 $a2, $f26 /* 00AD58 8002F958 44070000 */ mfc1 $a3, $f0 -/* 00AD5C 8002F95C 0C00A720 */ jal func_80029C80 +/* 00AD5C 8002F95C 0C00A720 */ jal atan2 /* 00AD60 8002F960 46006386 */ mov.s $f14, $f12 /* 00AD64 8002F964 E6000094 */ swc1 $f0, 0x94($s0) /* 00AD68 8002F968 8FBF0014 */ lw $ra, 0x14($sp) diff --git a/papermario/asm/code_a5dd0_len_114e0.s b/papermario/asm/code_a5dd0_len_114e0.s index 7ad23ae8bc..56e19e909c 100644 --- a/papermario/asm/code_a5dd0_len_114e0.s +++ b/papermario/asm/code_a5dd0_len_114e0.s @@ -1,7 +1,7 @@ .section .text8010F6D0, "ax" -func_8010F6D0: +update_entities: /* 0A5DD0 8010F6D0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0A5DD4 8010F6D4 AFB10014 */ sw $s1, 0x14($sp) /* 0A5DD8 8010F6D8 0000882D */ daddu $s1, $zero, $zero @@ -22,7 +22,7 @@ func_8010F6D0: /* 0A5E14 8010F714 24420001 */ addiu $v0, $v0, 1 /* 0A5E18 8010F718 AC620000 */ sw $v0, ($v1) .L8010F71C: -/* 0A5E1C 8010F71C 0C04417A */ jal func_801105E8 +/* 0A5E1C 8010F71C 0C04417A */ jal get_entity_by_index /* 0A5E20 8010F720 0220202D */ daddu $a0, $s1, $zero /* 0A5E24 8010F724 0040802D */ daddu $s0, $v0, $zero /* 0A5E28 8010F728 520000CD */ beql $s0, $zero, .L8010FA60 @@ -51,7 +51,7 @@ func_8010F6D0: .L8010F784: /* 0A5E84 8010F784 2405000A */ addiu $a1, $zero, 0xa /* 0A5E88 8010F788 8E040028 */ lw $a0, 0x28($s0) -/* 0A5E8C 8010F78C 0C0B0CF8 */ jal func_802C33E0 +/* 0A5E8C 8010F78C 0C0B0CF8 */ jal start_script /* 0A5E90 8010F790 24060020 */ addiu $a2, $zero, 0x20 /* 0A5E94 8010F794 AE020024 */ sw $v0, 0x24($s0) .L8010F798: @@ -60,7 +60,7 @@ func_8010F6D0: /* 0A5EA0 8010F7A0 1040002D */ beqz $v0, .L8010F858 /* 0A5EA4 8010F7A4 00000000 */ nop /* 0A5EA8 8010F7A8 8E020024 */ lw $v0, 0x24($s0) -/* 0A5EAC 8010F7AC 0C0B1059 */ jal func_802C4164 +/* 0A5EAC 8010F7AC 0C0B1059 */ jal does_script_exist /* 0A5EB0 8010F7B0 8C440144 */ lw $a0, 0x144($v0) /* 0A5EB4 8010F7B4 10400024 */ beqz $v0, .L8010F848 /* 0A5EB8 8010F7B8 3C03FDFF */ lui $v1, 0xfdff @@ -264,7 +264,7 @@ func_8010FA60: /* 0A6160 8010FA60 2A22001E */ slti $v0, $s1, 0x1e /* 0A6164 8010FA64 1440FF2D */ bnez $v0, .L8010F71C /* 0A6168 8010FA68 00000000 */ nop -/* 0A616C 8010FA6C 0C043EA6 */ jal func_8010FA98 +/* 0A616C 8010FA6C 0C043EA6 */ jal update_shadows /* 0A6170 8010FA70 00000000 */ nop /* 0A6174 8010FA74 8FBF0020 */ lw $ra, 0x20($sp) /* 0A6178 8010FA78 8FB3001C */ lw $s3, 0x1c($sp) @@ -276,7 +276,7 @@ func_8010FA60: /* 0A6190 8010FA90 03E00008 */ jr $ra /* 0A6194 8010FA94 27BD0028 */ addiu $sp, $sp, 0x28 -func_8010FA98: +update_shadows: /* 0A6198 8010FA98 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0A619C 8010FA9C 3C028015 */ lui $v0, 0x8015 /* 0A61A0 8010FAA0 24421324 */ addiu $v0, $v0, 0x1324 @@ -293,7 +293,7 @@ func_8010FA98: /* 0A61CC 8010FACC AFB00010 */ sw $s0, 0x10($sp) /* 0A61D0 8010FAD0 AC400000 */ sw $zero, ($v0) .L8010FAD4: -/* 0A61D4 8010FAD4 0C044181 */ jal func_80110604 +/* 0A61D4 8010FAD4 0C044181 */ jal get_shadow_by_index /* 0A61D8 8010FAD8 0220202D */ daddu $a0, $s1, $zero /* 0A61DC 8010FADC 0040802D */ daddu $s0, $v0, $zero /* 0A61E0 8010FAE0 5200002C */ beql $s0, $zero, .L8010FB94 @@ -462,7 +462,7 @@ func_8010FBD8: /* 0A6428 8010FD28 AE220000 */ sw $v0, ($s1) /* 0A642C 8010FD2C 8E040000 */ lw $a0, ($s0) -/* 0A6430 8010FD30 0C05272D */ jal func_80149CB4 +/* 0A6430 8010FD30 0C05272D */ jal play_sound /* 0A6434 8010FD34 26100004 */ addiu $s0, $s0, 4 /* 0A6438 8010FD38 24040001 */ addiu $a0, $zero, 1 /* 0A643C 8010FD3C 08043F54 */ j func_8010FD50 @@ -583,7 +583,7 @@ func_8010FEB4: /* 0A65C8 8010FEC8 AFBF001C */ sw $ra, 0x1c($sp) /* 0A65CC 8010FECC AFB00010 */ sw $s0, 0x10($sp) .L8010FED0: -/* 0A65D0 8010FED0 0C04417A */ jal func_801105E8 +/* 0A65D0 8010FED0 0C04417A */ jal get_entity_by_index /* 0A65D4 8010FED4 0220202D */ daddu $a0, $s1, $zero /* 0A65D8 8010FED8 0040802D */ daddu $s0, $v0, $zero /* 0A65DC 8010FEDC 52000070 */ beql $s0, $zero, .L801100A0 @@ -606,7 +606,7 @@ func_8010FEB4: /* 0A6620 8010FF20 8C427B30 */ lw $v0, 0x7b30($v0) /* 0A6624 8010FF24 8E070050 */ lw $a3, 0x50($s0) /* 0A6628 8010FF28 C44C0028 */ lwc1 $f12, 0x28($v0) -/* 0A662C 8010FF2C 0C00A7B5 */ jal func_80029ED4 +/* 0A662C 8010FF2C 0C00A7B5 */ jal dist2D /* 0A6630 8010FF30 C44E0030 */ lwc1 $f14, 0x30($v0) /* 0A6634 8010FF34 3C014348 */ lui $at, 0x4348 /* 0A6638 8010FF38 44811000 */ mtc1 $at, $f2 @@ -745,7 +745,7 @@ func_801100CC: /* 0A67E8 801100E8 AFBF0020 */ sw $ra, 0x20($sp) /* 0A67EC 801100EC AFB00010 */ sw $s0, 0x10($sp) .L801100F0: -/* 0A67F0 801100F0 0C044181 */ jal func_80110604 +/* 0A67F0 801100F0 0C044181 */ jal get_shadow_by_index /* 0A67F4 801100F4 0220202D */ daddu $a0, $s1, $zero /* 0A67F8 801100F8 0040802D */ daddu $s0, $v0, $zero /* 0A67FC 801100FC 52000041 */ beql $s0, $zero, .L80110204 @@ -1086,7 +1086,7 @@ func_801104A4: /* 0A6CE0 801105E0 03E00008 */ jr $ra /* 0A6CE4 801105E4 27BD00B8 */ addiu $sp, $sp, 0xb8 -func_801105E8: +get_entity_by_index: /* 0A6CE8 801105E8 30840FFF */ andi $a0, $a0, 0xfff /* 0A6CEC 801105EC 3C028015 */ lui $v0, 0x8015 /* 0A6CF0 801105F0 8C421470 */ lw $v0, 0x1470($v0) @@ -1095,7 +1095,7 @@ func_801105E8: /* 0A6CFC 801105FC 03E00008 */ jr $ra /* 0A6D00 80110600 8C820000 */ lw $v0, ($a0) -func_80110604: +get_shadow_by_index: /* 0A6D04 80110604 30840FFF */ andi $a0, $a0, 0xfff /* 0A6D08 80110608 3C028015 */ lui $v0, 0x8015 /* 0A6D0C 8011060C 8C421658 */ lw $v0, 0x1658($v0) @@ -1104,7 +1104,7 @@ func_80110604: /* 0A6D18 80110618 03E00008 */ jr $ra /* 0A6D1C 8011061C 8C820000 */ lw $v0, ($a0) -func_80110620: +get_entity_list: /* 0A6D20 80110620 3C028007 */ lui $v0, 0x8007 /* 0A6D24 80110624 8C42419C */ lw $v0, 0x419c($v0) /* 0A6D28 80110628 80420070 */ lb $v0, 0x70($v0) @@ -1118,7 +1118,7 @@ func_80110620: /* 0A6D44 80110644 03E00008 */ jr $ra /* 0A6D48 80110648 0060102D */ daddu $v0, $v1, $zero -func_8011064C: +get_shadow_list: /* 0A6D4C 8011064C 3C028007 */ lui $v0, 0x8007 /* 0A6D50 80110650 8C42419C */ lw $v0, 0x419c($v0) /* 0A6D54 80110654 80420070 */ lb $v0, 0x70($v0) @@ -1150,7 +1150,7 @@ func_80110678: func_801106A4: /* 0A6DA4 801106A4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0A6DA8 801106A8 AFBF0010 */ sw $ra, 0x10($sp) -/* 0A6DAC 801106AC 0C04417A */ jal func_801105E8 +/* 0A6DAC 801106AC 0C04417A */ jal get_entity_by_index /* 0A6DB0 801106B0 00000000 */ nop /* 0A6DB4 801106B4 50400003 */ beql $v0, $zero, .L801106C4 /* 0A6DB8 801106B8 2402FFFF */ addiu $v0, $zero, -1 @@ -1166,13 +1166,13 @@ func_801106D0: /* 0A6DD4 801106D4 AFB00010 */ sw $s0, 0x10($sp) /* 0A6DD8 801106D8 0080802D */ daddu $s0, $a0, $zero /* 0A6DDC 801106DC AFBF0018 */ sw $ra, 0x18($sp) -/* 0A6DE0 801106E0 0C04417A */ jal func_801105E8 +/* 0A6DE0 801106E0 0C04417A */ jal get_entity_by_index /* 0A6DE4 801106E4 AFB10014 */ sw $s1, 0x14($sp) /* 0A6DE8 801106E8 0040882D */ daddu $s1, $v0, $zero /* 0A6DEC 801106EC 8E240040 */ lw $a0, 0x40($s1) /* 0A6DF0 801106F0 10800003 */ beqz $a0, .L80110700 /* 0A6DF4 801106F4 00000000 */ nop -/* 0A6DF8 801106F8 0C00AB4B */ jal func_8002AD2C +/* 0A6DF8 801106F8 0C00AB4B */ jal heap_free /* 0A6DFC 801106FC 00000000 */ nop .L80110700: /* 0A6E00 80110700 8E220000 */ lw $v0, ($s1) @@ -1193,7 +1193,7 @@ func_80110730: /* 0A6E30 80110730 86240016 */ lh $a0, 0x16($s1) /* 0A6E34 80110734 04800007 */ bltz $a0, .L80110754 /* 0A6E38 80110738 00000000 */ nop -/* 0A6E3C 8011073C 0C044181 */ jal func_80110604 +/* 0A6E3C 8011073C 0C044181 */ jal get_shadow_by_index /* 0A6E40 80110740 00000000 */ nop /* 0A6E44 80110744 8C430000 */ lw $v1, ($v0) /* 0A6E48 80110748 3C041000 */ lui $a0, 0x1000 @@ -1205,7 +1205,7 @@ func_80110730: /* 0A6E5C 8011075C 8E220000 */ lw $v0, ($s1) /* 0A6E60 80110760 00108080 */ sll $s0, $s0, 2 /* 0A6E64 80110764 02021021 */ addu $v0, $s0, $v0 -/* 0A6E68 80110768 0C00AB4B */ jal func_8002AD2C +/* 0A6E68 80110768 0C00AB4B */ jal heap_free /* 0A6E6C 8011076C 8C440000 */ lw $a0, ($v0) /* 0A6E70 80110770 8E220000 */ lw $v0, ($s1) /* 0A6E74 80110774 02028021 */ addu $s0, $s0, $v0 @@ -1221,13 +1221,13 @@ func_80110790: /* 0A6E94 80110794 AFB00010 */ sw $s0, 0x10($sp) /* 0A6E98 80110798 0080802D */ daddu $s0, $a0, $zero /* 0A6E9C 8011079C AFBF0018 */ sw $ra, 0x18($sp) -/* 0A6EA0 801107A0 0C04417A */ jal func_801105E8 +/* 0A6EA0 801107A0 0C04417A */ jal get_entity_by_index /* 0A6EA4 801107A4 AFB10014 */ sw $s1, 0x14($sp) /* 0A6EA8 801107A8 0040882D */ daddu $s1, $v0, $zero /* 0A6EAC 801107AC 8E240040 */ lw $a0, 0x40($s1) /* 0A6EB0 801107B0 10800003 */ beqz $a0, .L801107C0 /* 0A6EB4 801107B4 00000000 */ nop -/* 0A6EB8 801107B8 0C00AB4B */ jal func_8002AD2C +/* 0A6EB8 801107B8 0C00AB4B */ jal heap_free /* 0A6EBC 801107BC 00000000 */ nop .L801107C0: /* 0A6EC0 801107C0 8E220000 */ lw $v0, ($s1) @@ -1251,7 +1251,7 @@ func_801107F0: /* 0A6EFC 801107FC 86240016 */ lh $a0, 0x16($s1) /* 0A6F00 80110800 04800007 */ bltz $a0, .L80110820 /* 0A6F04 80110804 00000000 */ nop -/* 0A6F08 80110808 0C044181 */ jal func_80110604 +/* 0A6F08 80110808 0C044181 */ jal get_shadow_by_index /* 0A6F0C 8011080C 00000000 */ nop /* 0A6F10 80110810 8C430000 */ lw $v1, ($v0) /* 0A6F14 80110814 3C041000 */ lui $a0, 0x1000 @@ -1263,7 +1263,7 @@ func_801107F0: /* 0A6F28 80110828 8E220000 */ lw $v0, ($s1) /* 0A6F2C 8011082C 00108080 */ sll $s0, $s0, 2 /* 0A6F30 80110830 02021021 */ addu $v0, $s0, $v0 -/* 0A6F34 80110834 0C00AB4B */ jal func_8002AD2C +/* 0A6F34 80110834 0C00AB4B */ jal heap_free /* 0A6F38 80110838 8C440000 */ lw $a0, ($v0) /* 0A6F3C 8011083C 8E220000 */ lw $v0, ($s1) /* 0A6F40 80110840 02028021 */ addu $s0, $s0, $v0 @@ -1279,7 +1279,7 @@ func_8011085C: /* 0A6F60 80110860 AFB00010 */ sw $s0, 0x10($sp) /* 0A6F64 80110864 0080802D */ daddu $s0, $a0, $zero /* 0A6F68 80110868 AFBF0018 */ sw $ra, 0x18($sp) -/* 0A6F6C 8011086C 0C044181 */ jal func_80110604 +/* 0A6F6C 8011086C 0C044181 */ jal get_shadow_by_index /* 0A6F70 80110870 AFB10014 */ sw $s1, 0x14($sp) /* 0A6F74 80110874 84440008 */ lh $a0, 8($v0) /* 0A6F78 80110878 0C048B7F */ jal func_80122DFC @@ -1288,7 +1288,7 @@ func_8011085C: /* 0A6F84 80110884 26311658 */ addiu $s1, $s1, 0x1658 /* 0A6F88 80110888 8E220000 */ lw $v0, ($s1) /* 0A6F8C 8011088C 02021021 */ addu $v0, $s0, $v0 -/* 0A6F90 80110890 0C00AB4B */ jal func_8002AD2C +/* 0A6F90 80110890 0C00AB4B */ jal heap_free /* 0A6F94 80110894 8C440000 */ lw $a0, ($v0) /* 0A6F98 80110898 8E220000 */ lw $v0, ($s1) /* 0A6F9C 8011089C 02028021 */ addu $s0, $s0, $v0 @@ -1421,7 +1421,7 @@ func_801108B8: /* 0A7168 80110A68 080442A5 */ j func_80110A94 /* 0A716C 80110A6C 0000102D */ daddu $v0, $zero, $zero -/* 0A7170 80110A70 0C04417A */ jal func_801105E8 +/* 0A7170 80110A70 0C04417A */ jal get_entity_by_index /* 0A7174 80110A74 0240202D */ daddu $a0, $s2, $zero /* 0A7178 80110A78 0040202D */ daddu $a0, $v0, $zero /* 0A717C 80110A7C 24100001 */ addiu $s0, $zero, 1 @@ -1439,6 +1439,7 @@ func_80110A94: /* 0A71A4 80110AA4 03E00008 */ jr $ra /* 0A71A8 80110AA8 27BD0020 */ addiu $sp, $sp, 0x20 +test_player_entity_aabb: /* 0A71AC 80110AAC 3C058011 */ lui $a1, 0x8011 /* 0A71B0 80110AB0 24A5EFC8 */ addiu $a1, $a1, -0x1038 /* 0A71B4 80110AB4 84A300B0 */ lh $v1, 0xb0($a1) @@ -1508,6 +1509,7 @@ func_80110A94: /* 0A72A8 80110BA8 03E00008 */ jr $ra /* 0A72AC 80110BAC 00000000 */ nop +is_player_action_state: /* 0A72B0 80110BB0 00041600 */ sll $v0, $a0, 0x18 /* 0A72B4 80110BB4 3C038011 */ lui $v1, 0x8011 /* 0A72B8 80110BB8 8063F07C */ lb $v1, -0xf84($v1) @@ -1538,7 +1540,7 @@ func_80110BCC: /* 0A730C 80110C0C 03E00008 */ jr $ra /* 0A7310 80110C10 AC820000 */ sw $v0, ($a0) -func_80110C14: +load_entity_data: /* 0A7314 80110C14 3C028015 */ lui $v0, 0x8015 /* 0A7318 80110C18 8C42132C */ lw $v0, 0x132c($v0) /* 0A731C 80110C1C 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -1579,7 +1581,7 @@ func_80110C14: /* 0A7390 80110C90 3C0500E3 */ lui $a1, 0xe3 /* 0A7394 80110C94 24A5D730 */ addiu $a1, $a1, -0x28d0 func_80110C98: -/* 0A7398 80110C98 0C00A5CF */ jal func_8002973C +/* 0A7398 80110C98 0C00A5CF */ jal dma_copy /* 0A739C 80110C9C 34C6AE00 */ ori $a2, $a2, 0xae00 /* 0A73A0 80110CA0 24020001 */ addiu $v0, $zero, 1 /* 0A73A4 80110CA4 3C018015 */ lui $at, 0x8015 @@ -1677,11 +1679,11 @@ func_80110D9C: /* 0A74E4 80110DE4 3C018015 */ lui $at, 0x8015 /* 0A74E8 80110DE8 AC2212C4 */ sw $v0, 0x12c4($at) func_80110DEC: -/* 0A74EC 80110DEC 0C044188 */ jal func_80110620 +/* 0A74EC 80110DEC 0C044188 */ jal get_entity_list /* 0A74F0 80110DF0 00000000 */ nop /* 0A74F4 80110DF4 3C108015 */ lui $s0, 0x8015 /* 0A74F8 80110DF8 26101470 */ addiu $s0, $s0, 0x1470 -/* 0A74FC 80110DFC 0C044193 */ jal func_8011064C +/* 0A74FC 80110DFC 0C044193 */ jal get_shadow_list /* 0A7500 80110E00 AE020000 */ sw $v0, ($s0) /* 0A7504 80110E04 8E030000 */ lw $v1, ($s0) /* 0A7508 80110E08 2404001D */ addiu $a0, $zero, 0x1d @@ -1743,11 +1745,11 @@ func_80110E58: /* 0A75CC 80110ECC 3C018015 */ lui $at, 0x8015 /* 0A75D0 80110ED0 AC2212C4 */ sw $v0, 0x12c4($at) func_80110ED4: -/* 0A75D4 80110ED4 0C044188 */ jal func_80110620 +/* 0A75D4 80110ED4 0C044188 */ jal get_entity_list /* 0A75D8 80110ED8 00000000 */ nop /* 0A75DC 80110EDC 3C018015 */ lui $at, 0x8015 /* 0A75E0 80110EE0 AC221470 */ sw $v0, 0x1470($at) -/* 0A75E4 80110EE4 0C044193 */ jal func_8011064C +/* 0A75E4 80110EE4 0C044193 */ jal get_shadow_list /* 0A75E8 80110EE8 00000000 */ nop /* 0A75EC 80110EEC 8FBF0010 */ lw $ra, 0x10($sp) /* 0A75F0 80110EF0 3C018015 */ lui $at, 0x8015 @@ -1795,7 +1797,7 @@ func_80110F10: /* 0A768C 80110F8C 00131080 */ sll $v0, $s3, 2 /* 0A7690 80110F90 00621823 */ subu $v1, $v1, $v0 /* 0A7694 80110F94 00063080 */ sll $a2, $a2, 2 -/* 0A7698 80110F98 0C00A5CF */ jal func_8002973C +/* 0A7698 80110F98 0C00A5CF */ jal dma_copy /* 0A769C 80110F9C 00663023 */ subu $a2, $v1, $a2 /* 0A76A0 80110FA0 00021082 */ srl $v0, $v0, 2 /* 0A76A4 80110FA4 0804441E */ j func_80111078 @@ -1808,14 +1810,14 @@ func_80110F10: /* 0A76B8 80110FB8 8ED20000 */ lw $s2, ($s6) /* 0A76BC 80110FBC 8E040000 */ lw $a0, ($s0) /* 0A76C0 80110FC0 8E050004 */ lw $a1, 4($s0) -/* 0A76C4 80110FC4 0C00A5CF */ jal func_8002973C +/* 0A76C4 80110FC4 0C00A5CF */ jal dma_copy /* 0A76C8 80110FC8 0240302D */ daddu $a2, $s2, $zero /* 0A76CC 80110FCC 8E040008 */ lw $a0, 8($s0) /* 0A76D0 80110FD0 8E05000C */ lw $a1, 0xc($s0) /* 0A76D4 80110FD4 00028082 */ srl $s0, $v0, 2 /* 0A76D8 80110FD8 8EC60000 */ lw $a2, ($s6) /* 0A76DC 80110FDC 00108080 */ sll $s0, $s0, 2 -/* 0A76E0 80110FE0 0C00A5CF */ jal func_8002973C +/* 0A76E0 80110FE0 0C00A5CF */ jal dma_copy /* 0A76E4 80110FE4 00D03021 */ addu $a2, $a2, $s0 /* 0A76E8 80110FE8 0220202D */ daddu $a0, $s1, $zero /* 0A76EC 80110FEC 8EC50000 */ lw $a1, ($s6) @@ -1833,7 +1835,7 @@ func_80110F10: /* 0A7714 80111014 00621823 */ subu $v1, $v1, $v0 /* 0A7718 80111018 00061080 */ sll $v0, $a2, 2 /* 0A771C 8011101C 00629023 */ subu $s2, $v1, $v0 -/* 0A7720 80111020 0C00A5CF */ jal func_8002973C +/* 0A7720 80111020 0C00A5CF */ jal dma_copy /* 0A7724 80111024 0240302D */ daddu $a2, $s2, $zero /* 0A7728 80111028 00021082 */ srl $v0, $v0, 2 /* 0A772C 8011102C 02629821 */ addu $s3, $s3, $v0 @@ -1846,7 +1848,7 @@ func_80110F10: /* 0A7748 80111048 00621823 */ subu $v1, $v1, $v0 /* 0A774C 8011104C 00061080 */ sll $v0, $a2, 2 /* 0A7750 80111050 00628023 */ subu $s0, $v1, $v0 -/* 0A7754 80111054 0C00A5CF */ jal func_8002973C +/* 0A7754 80111054 0C00A5CF */ jal dma_copy /* 0A7758 80111058 0200302D */ daddu $a2, $s0, $zero /* 0A775C 8011105C 00021082 */ srl $v0, $v0, 2 /* 0A7760 80111060 02629821 */ addu $s3, $s3, $v0 @@ -2089,7 +2091,7 @@ func_8011133C: /* 0A7A64 80111364 00C23023 */ subu $a2, $a2, $v0 /* 0A7A68 80111368 AE460044 */ sw $a2, 0x44($s2) /* 0A7A6C 8011136C 8E240018 */ lw $a0, 0x18($s1) -/* 0A7A70 80111370 0C00A5CF */ jal func_8002973C +/* 0A7A70 80111370 0C00A5CF */ jal dma_copy /* 0A7A74 80111374 8E25001C */ lw $a1, 0x1c($s1) /* 0A7A78 80111378 00021082 */ srl $v0, $v0, 2 /* 0A7A7C 8011137C 92440004 */ lbu $a0, 4($s2) @@ -2190,7 +2192,7 @@ func_8011148C: /* 0A7BC4 801114C4 8E640000 */ lw $a0, ($s3) /* 0A7BC8 801114C8 8E260000 */ lw $a2, ($s1) /* 0A7BCC 801114CC 8E650004 */ lw $a1, 4($s3) -/* 0A7BD0 801114D0 0C00A5CF */ jal func_8002973C +/* 0A7BD0 801114D0 0C00A5CF */ jal dma_copy /* 0A7BD4 801114D4 00D23021 */ addu $a2, $a2, $s2 /* 0A7BD8 801114D8 00028082 */ srl $s0, $v0, 2 /* 0A7BDC 801114DC 8E260000 */ lw $a2, ($s1) @@ -2199,7 +2201,7 @@ func_8011148C: /* 0A7BE8 801114E8 AE860044 */ sw $a2, 0x44($s4) /* 0A7BEC 801114EC 8E640008 */ lw $a0, 8($s3) /* 0A7BF0 801114F0 8E65000C */ lw $a1, 0xc($s3) -/* 0A7BF4 801114F4 0C00A5CF */ jal func_8002973C +/* 0A7BF4 801114F4 0C00A5CF */ jal dma_copy /* 0A7BF8 801114F8 00D03021 */ addu $a2, $a2, $s0 /* 0A7BFC 801114FC 8E220000 */ lw $v0, ($s1) /* 0A7C00 80111500 24150001 */ addiu $s5, $zero, 1 @@ -2269,7 +2271,7 @@ func_801115B4: /* 0A7CD4 801115D4 00C53023 */ subu $a2, $a2, $a1 /* 0A7CD8 801115D8 00063083 */ sra $a2, $a2, 2 /* 0A7CDC 801115DC 00063080 */ sll $a2, $a2, 2 -/* 0A7CE0 801115E0 0C00A5CF */ jal func_8002973C +/* 0A7CE0 801115E0 0C00A5CF */ jal dma_copy /* 0A7CE4 801115E4 00863021 */ addu $a2, $a0, $a2 /* 0A7CE8 801115E8 00021082 */ srl $v0, $v0, 2 /* 0A7CEC 801115EC 02429021 */ addu $s2, $s2, $v0 @@ -2285,7 +2287,7 @@ func_801115B4: /* 0A7D14 80111614 00C53023 */ subu $a2, $a2, $a1 /* 0A7D18 80111618 00063083 */ sra $a2, $a2, 2 /* 0A7D1C 8011161C 00063080 */ sll $a2, $a2, 2 -/* 0A7D20 80111620 0C00A5CF */ jal func_8002973C +/* 0A7D20 80111620 0C00A5CF */ jal dma_copy /* 0A7D24 80111624 00863021 */ addu $a2, $a0, $a2 /* 0A7D28 80111628 00021082 */ srl $v0, $v0, 2 /* 0A7D2C 8011162C 02429021 */ addu $s2, $s2, $v0 @@ -2479,7 +2481,7 @@ func_80111888: /* 0A7FBC 801118BC 03E00008 */ jr $ra /* 0A7FC0 801118C0 27BD0020 */ addiu $sp, $sp, 0x20 -func_801118C4: +create_entity: /* 0A7FC4 801118C4 AFA40000 */ sw $a0, ($sp) /* 0A7FC8 801118C8 AFA50004 */ sw $a1, 4($sp) /* 0A7FCC 801118CC AFA60008 */ sw $a2, 8($sp) @@ -2493,7 +2495,7 @@ func_801118C4: /* 0A7FEC 801118EC F7B80030 */ sdc1 $f24, 0x30($sp) /* 0A7FF0 801118F0 F7B60028 */ sdc1 $f22, 0x28($sp) /* 0A7FF4 801118F4 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0A7FF8 801118F8 0C044305 */ jal func_80110C14 +/* 0A7FF8 801118F8 0C044305 */ jal load_entity_data /* 0A7FFC 801118FC AFA40040 */ sw $a0, 0x40($sp) /* 0A8000 80111900 27A40054 */ addiu $a0, $sp, 0x54 /* 0A8004 80111904 3C038016 */ lui $v1, 0x8016 @@ -2538,7 +2540,7 @@ func_801118C4: .L80111994: /* 0A8094 80111994 10400086 */ beqz $v0, .L80111BB0 /* 0A8098 80111998 2402FFFF */ addiu $v0, $zero, -1 -/* 0A809C 8011199C 0C00AB39 */ jal func_8002ACE4 +/* 0A809C 8011199C 0C00AB39 */ jal heap_malloc /* 0A80A0 801119A0 240400F8 */ addiu $a0, $zero, 0xf8 /* 0A80A4 801119A4 0040802D */ daddu $s0, $v0, $zero /* 0A80A8 801119A8 0200202D */ daddu $a0, $s0, $zero @@ -2546,19 +2548,19 @@ func_801118C4: /* 0A80B0 801119B0 8E420000 */ lw $v0, ($s2) /* 0A80B4 801119B4 00111880 */ sll $v1, $s1, 2 /* 0A80B8 801119B8 00621821 */ addu $v1, $v1, $v0 -/* 0A80BC 801119BC 0C00A580 */ jal func_80029600 +/* 0A80BC 801119BC 0C00A580 */ jal mem_clear /* 0A80C0 801119C0 AC700000 */ sw $s0, ($v1) /* 0A80C4 801119C4 8FA30040 */ lw $v1, 0x40($sp) /* 0A80C8 801119C8 AE000040 */ sw $zero, 0x40($s0) /* 0A80CC 801119CC 94620002 */ lhu $v0, 2($v1) /* 0A80D0 801119D0 10400008 */ beqz $v0, .L801119F4 /* 0A80D4 801119D4 00000000 */ nop -/* 0A80D8 801119D8 0C00AB39 */ jal func_8002ACE4 +/* 0A80D8 801119D8 0C00AB39 */ jal heap_malloc /* 0A80DC 801119DC 0040202D */ daddu $a0, $v0, $zero /* 0A80E0 801119E0 8FA30040 */ lw $v1, 0x40($sp) /* 0A80E4 801119E4 AE020040 */ sw $v0, 0x40($s0) /* 0A80E8 801119E8 94650002 */ lhu $a1, 2($v1) -/* 0A80EC 801119EC 0C00A580 */ jal func_80029600 +/* 0A80EC 801119EC 0C00A580 */ jal mem_clear /* 0A80F0 801119F0 0040202D */ daddu $a0, $v0, $zero .L801119F4: /* 0A80F4 801119F4 8FA20040 */ lw $v0, 0x40($sp) @@ -2652,7 +2654,7 @@ func_80111B1C: /* 0A8240 80111B40 4405B000 */ mfc1 $a1, $f22 /* 0A8244 80111B44 4406C000 */ mfc1 $a2, $f24 /* 0A8248 80111B48 4407D000 */ mfc1 $a3, $f26 -/* 0A824C 80111B4C 0C044873 */ jal func_801121CC +/* 0A824C 80111B4C 0C044873 */ jal create_entity_shadow /* 0A8250 80111B50 0200202D */ daddu $a0, $s0, $zero .L80111B54: /* 0A8254 80111B54 8FA20040 */ lw $v0, 0x40($sp) @@ -2692,7 +2694,7 @@ func_80111B1C: /* 0A82D0 80111BD0 03E00008 */ jr $ra /* 0A82D4 80111BD4 27BD0040 */ addiu $sp, $sp, 0x40 -func_80111BD8: +create_shadow_from_data: /* 0A82D8 80111BD8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0A82DC 80111BDC F7B40020 */ sdc1 $f20, 0x20($sp) /* 0A82E0 80111BE0 4485A000 */ mtc1 $a1, $f20 @@ -2725,7 +2727,7 @@ func_80111C3C: /* 0A8340 80111C40 00000000 */ nop .L80111C44: -/* 0A8344 80111C44 0C00AB39 */ jal func_8002ACE4 +/* 0A8344 80111C44 0C00AB39 */ jal heap_malloc /* 0A8348 80111C48 24040078 */ addiu $a0, $zero, 0x78 /* 0A834C 80111C4C 0040802D */ daddu $s0, $v0, $zero /* 0A8350 80111C50 0200202D */ daddu $a0, $s0, $zero @@ -2734,7 +2736,7 @@ func_80111C3C: /* 0A835C 80111C5C 8C631658 */ lw $v1, 0x1658($v1) /* 0A8360 80111C60 00111080 */ sll $v0, $s1, 2 /* 0A8364 80111C64 00431021 */ addu $v0, $v0, $v1 -/* 0A8368 80111C68 0C00A580 */ jal func_80029600 +/* 0A8368 80111C68 0C00A580 */ jal mem_clear /* 0A836C 80111C6C AC500000 */ sw $s0, ($v0) /* 0A8370 80111C70 A2110004 */ sb $s1, 4($s0) /* 0A8374 80111C74 96430000 */ lhu $v1, ($s2) @@ -2791,6 +2793,7 @@ func_80111CF4: /* 0A8430 80111D30 03E00008 */ jr $ra /* 0A8434 80111D34 27BD0038 */ addiu $sp, $sp, 0x38 +MakeEntity: /* 0A8438 80111D38 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0A843C 80111D3C AFB20030 */ sw $s2, 0x30($sp) /* 0A8440 80111D40 0080902D */ daddu $s2, $a0, $zero @@ -2812,27 +2815,27 @@ func_80111CF4: /* 0A8480 80111D80 0240202D */ daddu $a0, $s2, $zero /* 0A8484 80111D84 3C118016 */ lui $s1, 0x8016 /* 0A8488 80111D88 2631C7D8 */ addiu $s1, $s1, -0x3828 -/* 0A848C 80111D8C 0C0B1EAF */ jal func_802C7ABC +/* 0A848C 80111D8C 0C0B1EAF */ jal get_variable /* 0A8490 80111D90 3C148000 */ lui $s4, 0x8000 /* 0A8494 80111D94 8E050000 */ lw $a1, ($s0) /* 0A8498 80111D98 26100004 */ addiu $s0, $s0, 4 /* 0A849C 80111D9C 0240202D */ daddu $a0, $s2, $zero -/* 0A84A0 80111DA0 0C0B1EAF */ jal func_802C7ABC +/* 0A84A0 80111DA0 0C0B1EAF */ jal get_variable /* 0A84A4 80111DA4 0040F02D */ daddu $fp, $v0, $zero /* 0A84A8 80111DA8 8E050000 */ lw $a1, ($s0) /* 0A84AC 80111DAC 26100004 */ addiu $s0, $s0, 4 /* 0A84B0 80111DB0 0240202D */ daddu $a0, $s2, $zero -/* 0A84B4 80111DB4 0C0B1EAF */ jal func_802C7ABC +/* 0A84B4 80111DB4 0C0B1EAF */ jal get_variable /* 0A84B8 80111DB8 0040B02D */ daddu $s6, $v0, $zero /* 0A84BC 80111DBC 8E050000 */ lw $a1, ($s0) /* 0A84C0 80111DC0 26100004 */ addiu $s0, $s0, 4 /* 0A84C4 80111DC4 0240202D */ daddu $a0, $s2, $zero -/* 0A84C8 80111DC8 0C0B1EAF */ jal func_802C7ABC +/* 0A84C8 80111DC8 0C0B1EAF */ jal get_variable /* 0A84CC 80111DCC 0040B82D */ daddu $s7, $v0, $zero /* 0A84D0 80111DD0 8E050000 */ lw $a1, ($s0) /* 0A84D4 80111DD4 26100004 */ addiu $s0, $s0, 4 /* 0A84D8 80111DD8 0240202D */ daddu $a0, $s2, $zero -/* 0A84DC 80111DDC 0C0B1EAF */ jal func_802C7ABC +/* 0A84DC 80111DDC 0C0B1EAF */ jal get_variable /* 0A84E0 80111DE0 0040A82D */ daddu $s5, $v0, $zero /* 0A84E4 80111DE4 0040982D */ daddu $s3, $v0, $zero /* 0A84E8 80111DE8 AE200000 */ sw $zero, ($s1) @@ -2843,7 +2846,7 @@ func_80111CF4: func_80111DFC: /* 0A84FC 80111DFC 8E050000 */ lw $a1, ($s0) /* 0A8500 80111E00 26100004 */ addiu $s0, $s0, 4 -/* 0A8504 80111E04 0C0B1EAF */ jal func_802C7ABC +/* 0A8504 80111E04 0C0B1EAF */ jal get_variable /* 0A8508 80111E08 0240202D */ daddu $a0, $s2, $zero /* 0A850C 80111E0C 10540004 */ beq $v0, $s4, .L80111E20 /* 0A8510 80111E10 03C0202D */ daddu $a0, $fp, $zero @@ -2864,7 +2867,7 @@ func_80111DFC: /* 0A8544 80111E44 AFA60018 */ sw $a2, 0x18($sp) /* 0A8548 80111E48 02E0302D */ daddu $a2, $s7, $zero /* 0A854C 80111E4C AFA30014 */ sw $v1, 0x14($sp) -/* 0A8550 80111E50 0C044631 */ jal func_801118C4 +/* 0A8550 80111E50 0C044631 */ jal create_entity /* 0A8554 80111E54 AFA2001C */ sw $v0, 0x1c($sp) /* 0A8558 80111E58 0040182D */ daddu $v1, $v0, $zero /* 0A855C 80111E5C 24020002 */ addiu $v0, $zero, 2 @@ -2891,12 +2894,12 @@ func_80111DFC: /* 0A85A8 80111EA8 3C048015 */ lui $a0, 0x8015 /* 0A85AC 80111EAC 8C8412EC */ lw $a0, 0x12ec($a0) /* 0A85B0 80111EB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A85B4 80111EB4 0C04417A */ jal func_801105E8 +/* 0A85B4 80111EB4 0C04417A */ jal get_entity_by_index /* 0A85B8 80111EB8 00000000 */ nop /* 0A85BC 80111EBC 8E03000C */ lw $v1, 0xc($s0) /* 0A85C0 80111EC0 0200202D */ daddu $a0, $s0, $zero /* 0A85C4 80111EC4 8C650000 */ lw $a1, ($v1) -/* 0A85C8 80111EC8 0C0B1EAF */ jal func_802C7ABC +/* 0A85C8 80111EC8 0C0B1EAF */ jal get_variable /* 0A85CC 80111ECC 0040802D */ daddu $s0, $v0, $zero /* 0A85D0 80111ED0 0040182D */ daddu $v1, $v0, $zero /* 0A85D4 80111ED4 54600004 */ bnezl $v1, .L80111EE8 @@ -2935,19 +2938,19 @@ func_80111F14: /* 0A8638 80111F38 3C048015 */ lui $a0, 0x8015 /* 0A863C 80111F3C 8C8412EC */ lw $a0, 0x12ec($a0) /* 0A8640 80111F40 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A8644 80111F44 0C04417A */ jal func_801105E8 +/* 0A8644 80111F44 0C04417A */ jal get_entity_by_index /* 0A8648 80111F48 00000000 */ nop /* 0A864C 80111F4C 8E03000C */ lw $v1, 0xc($s0) /* 0A8650 80111F50 0200202D */ daddu $a0, $s0, $zero /* 0A8654 80111F54 8C650000 */ lw $a1, ($v1) -/* 0A8658 80111F58 0C0B1EAF */ jal func_802C7ABC +/* 0A8658 80111F58 0C0B1EAF */ jal get_variable /* 0A865C 80111F5C 0040802D */ daddu $s0, $v0, $zero /* 0A8660 80111F60 1040000B */ beqz $v0, .L80111F90 /* 0A8664 80111F64 2403FFFB */ addiu $v1, $zero, -5 /* 0A8668 80111F68 8E020000 */ lw $v0, ($s0) /* 0A866C 80111F6C 86040016 */ lh $a0, 0x16($s0) /* 0A8670 80111F70 34420004 */ ori $v0, $v0, 4 -/* 0A8674 80111F74 0C044181 */ jal func_80110604 +/* 0A8674 80111F74 0C044181 */ jal get_shadow_by_index /* 0A8678 80111F78 AE020000 */ sw $v0, ($s0) /* 0A867C 80111F7C 8C430000 */ lw $v1, ($v0) /* 0A8680 80111F80 3C040040 */ lui $a0, 0x40 @@ -2966,17 +2969,18 @@ func_80111F9C: /* 0A86A8 80111FA8 03E00008 */ jr $ra /* 0A86AC 80111FAC 27BD0018 */ addiu $sp, $sp, 0x18 +AssignScript: /* 0A86B0 80111FB0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0A86B4 80111FB4 24020001 */ addiu $v0, $zero, 1 /* 0A86B8 80111FB8 AFBF0014 */ sw $ra, 0x14($sp) /* 0A86BC 80111FBC AFB00010 */ sw $s0, 0x10($sp) /* 0A86C0 80111FC0 14A20009 */ bne $a1, $v0, .L80111FE8 /* 0A86C4 80111FC4 8C83000C */ lw $v1, 0xc($a0) -/* 0A86C8 80111FC8 0C0B1EAF */ jal func_802C7ABC +/* 0A86C8 80111FC8 0C0B1EAF */ jal get_variable /* 0A86CC 80111FCC 8C650000 */ lw $a1, ($v1) /* 0A86D0 80111FD0 3C048015 */ lui $a0, 0x8015 /* 0A86D4 80111FD4 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A86D8 80111FD8 0C04417A */ jal func_801105E8 +/* 0A86D8 80111FD8 0C04417A */ jal get_entity_by_index /* 0A86DC 80111FDC 0040802D */ daddu $s0, $v0, $zero /* 0A86E0 80111FE0 AC500028 */ sw $s0, 0x28($v0) /* 0A86E4 80111FE4 24020002 */ addiu $v0, $zero, 2 @@ -2986,6 +2990,7 @@ func_80111F9C: /* 0A86F0 80111FF0 03E00008 */ jr $ra /* 0A86F4 80111FF4 27BD0018 */ addiu $sp, $sp, 0x18 +AssignAreaFlag: /* 0A86F8 80111FF8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A86FC 80111FFC 24020001 */ addiu $v0, $zero, 1 /* 0A8700 80112000 AFBF0018 */ sw $ra, 0x18($sp) @@ -2993,16 +2998,16 @@ func_80111F9C: /* 0A8708 80112008 AFB00010 */ sw $s0, 0x10($sp) /* 0A870C 8011200C 14A20012 */ bne $a1, $v0, .L80112058 /* 0A8710 80112010 8C83000C */ lw $v1, 0xc($a0) -/* 0A8714 80112014 0C0B1EAF */ jal func_802C7ABC +/* 0A8714 80112014 0C0B1EAF */ jal get_variable /* 0A8718 80112018 8C650000 */ lw $a1, ($v1) /* 0A871C 8011201C 3C048015 */ lui $a0, 0x8015 /* 0A8720 80112020 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A8724 80112024 0C04417A */ jal func_801105E8 +/* 0A8724 80112024 0C04417A */ jal get_entity_by_index /* 0A8728 80112028 0040802D */ daddu $s0, $v0, $zero /* 0A872C 8011202C 0040882D */ daddu $s1, $v0, $zero /* 0A8730 80112030 8E220040 */ lw $v0, 0x40($s1) /* 0A8734 80112034 0200202D */ daddu $a0, $s0, $zero -/* 0A8738 80112038 0C05157C */ jal func_801455F0 +/* 0A8738 80112038 0C05157C */ jal get_area_flag /* 0A873C 8011203C A4440020 */ sh $a0, 0x20($v0) /* 0A8740 80112040 10400004 */ beqz $v0, .L80112054 /* 0A8744 80112044 3C032000 */ lui $v1, 0x2000 @@ -3018,17 +3023,18 @@ func_80111F9C: /* 0A8764 80112064 03E00008 */ jr $ra /* 0A8768 80112068 27BD0020 */ addiu $sp, $sp, 0x20 +AssignBlockFlag: /* 0A876C 8011206C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0A8770 80112070 24020001 */ addiu $v0, $zero, 1 /* 0A8774 80112074 AFBF0014 */ sw $ra, 0x14($sp) /* 0A8778 80112078 AFB00010 */ sw $s0, 0x10($sp) /* 0A877C 8011207C 14A2000A */ bne $a1, $v0, .L801120A8 /* 0A8780 80112080 8C83000C */ lw $v1, 0xc($a0) -/* 0A8784 80112084 0C0B1F6A */ jal func_802C7DA8 +/* 0A8784 80112084 0C0B1F6A */ jal get_variable_index /* 0A8788 80112088 8C650000 */ lw $a1, ($v1) /* 0A878C 8011208C 3C048015 */ lui $a0, 0x8015 /* 0A8790 80112090 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A8794 80112094 0C04417A */ jal func_801105E8 +/* 0A8794 80112094 0C04417A */ jal get_entity_by_index /* 0A8798 80112098 0040802D */ daddu $s0, $v0, $zero /* 0A879C 8011209C 8C430040 */ lw $v1, 0x40($v0) /* 0A87A0 801120A0 24020002 */ addiu $v0, $zero, 2 @@ -3039,6 +3045,7 @@ func_80111F9C: /* 0A87B0 801120B0 03E00008 */ jr $ra /* 0A87B4 801120B4 27BD0018 */ addiu $sp, $sp, 0x18 +AssignFlag: /* 0A87B8 801120B8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A87BC 801120BC AFB10014 */ sw $s1, 0x14($sp) /* 0A87C0 801120C0 0080882D */ daddu $s1, $a0, $zero @@ -3049,11 +3056,11 @@ func_80111F9C: /* 0A87D4 801120D4 8E30000C */ lw $s0, 0xc($s1) /* 0A87D8 801120D8 3C048015 */ lui $a0, 0x8015 /* 0A87DC 801120DC 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A87E0 801120E0 0C04417A */ jal func_801105E8 +/* 0A87E0 801120E0 0C04417A */ jal get_entity_by_index /* 0A87E4 801120E4 00000000 */ nop /* 0A87E8 801120E8 8E050000 */ lw $a1, ($s0) /* 0A87EC 801120EC 8C500040 */ lw $s0, 0x40($v0) -/* 0A87F0 801120F0 0C0B1F6A */ jal func_802C7DA8 +/* 0A87F0 801120F0 0C0B1F6A */ jal get_variable_index /* 0A87F4 801120F4 0220202D */ daddu $a0, $s1, $zero /* 0A87F8 801120F8 A6020000 */ sh $v0, ($s0) /* 0A87FC 801120FC 24020002 */ addiu $v0, $zero, 2 @@ -3064,6 +3071,7 @@ func_80111F9C: /* 0A880C 8011210C 03E00008 */ jr $ra /* 0A8810 80112110 27BD0020 */ addiu $sp, $sp, 0x20 +AssignPanelFlag: /* 0A8814 80112114 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A8818 80112118 AFB10014 */ sw $s1, 0x14($sp) /* 0A881C 8011211C 0080882D */ daddu $s1, $a0, $zero @@ -3074,11 +3082,11 @@ func_80111F9C: /* 0A8830 80112130 8E30000C */ lw $s0, 0xc($s1) /* 0A8834 80112134 3C048015 */ lui $a0, 0x8015 /* 0A8838 80112138 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A883C 8011213C 0C04417A */ jal func_801105E8 +/* 0A883C 8011213C 0C04417A */ jal get_entity_by_index /* 0A8840 80112140 00000000 */ nop /* 0A8844 80112144 8E050000 */ lw $a1, ($s0) /* 0A8848 80112148 8C500040 */ lw $s0, 0x40($v0) -/* 0A884C 8011214C 0C0B1F6A */ jal func_802C7DA8 +/* 0A884C 8011214C 0C0B1F6A */ jal get_variable_index /* 0A8850 80112150 0220202D */ daddu $a0, $s1, $zero /* 0A8854 80112154 A6020006 */ sh $v0, 6($s0) /* 0A8858 80112158 24020002 */ addiu $v0, $zero, 2 @@ -3089,6 +3097,7 @@ func_80111F9C: /* 0A8868 80112168 03E00008 */ jr $ra /* 0A886C 8011216C 27BD0020 */ addiu $sp, $sp, 0x20 +AssignCrateFlag: /* 0A8870 80112170 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A8874 80112174 AFB10014 */ sw $s1, 0x14($sp) /* 0A8878 80112178 0080882D */ daddu $s1, $a0, $zero @@ -3099,11 +3108,11 @@ func_80111F9C: /* 0A888C 8011218C 8E30000C */ lw $s0, 0xc($s1) /* 0A8890 80112190 3C048015 */ lui $a0, 0x8015 /* 0A8894 80112194 8C8412EC */ lw $a0, 0x12ec($a0) -/* 0A8898 80112198 0C04417A */ jal func_801105E8 +/* 0A8898 80112198 0C04417A */ jal get_entity_by_index /* 0A889C 8011219C 00000000 */ nop /* 0A88A0 801121A0 8E050000 */ lw $a1, ($s0) /* 0A88A4 801121A4 8C500040 */ lw $s0, 0x40($v0) -/* 0A88A8 801121A8 0C0B1F6A */ jal func_802C7DA8 +/* 0A88A8 801121A8 0C0B1F6A */ jal get_variable_index /* 0A88AC 801121AC 0220202D */ daddu $a0, $s1, $zero /* 0A88B0 801121B0 A6020004 */ sh $v0, 4($s0) /* 0A88B4 801121B4 24020002 */ addiu $v0, $zero, 2 @@ -3114,7 +3123,7 @@ func_80111F9C: /* 0A88C4 801121C4 03E00008 */ jr $ra /* 0A88C8 801121C8 27BD0020 */ addiu $sp, $sp, 0x20 -func_801121CC: +create_entity_shadow: /* 0A88CC 801121CC 44850000 */ mtc1 $a1, $f0 /* 0A88D0 801121D0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0A88D4 801121D4 AFB00010 */ sw $s0, 0x10($sp) @@ -3141,11 +3150,11 @@ func_80112218: /* 0A8918 80112218 44050000 */ mfc1 $a1, $f0 /* 0A891C 8011221C 44061000 */ mfc1 $a2, $f2 /* 0A8920 80112220 44072000 */ mfc1 $a3, $f4 -/* 0A8924 80112224 0C044898 */ jal func_80112260 +/* 0A8924 80112224 0C044898 */ jal create_shadow_type /* 0A8928 80112228 00000000 */ nop /* 0A892C 8011222C 00022400 */ sll $a0, $v0, 0x10 /* 0A8930 80112230 00042403 */ sra $a0, $a0, 0x10 -/* 0A8934 80112234 0C044181 */ jal func_80110604 +/* 0A8934 80112234 0C044181 */ jal get_shadow_by_index /* 0A8938 80112238 A6020016 */ sh $v0, 0x16($s0) /* 0A893C 8011223C 8C430000 */ lw $v1, ($v0) /* 0A8940 80112240 3C0400C0 */ lui $a0, 0xc0 @@ -3157,7 +3166,7 @@ func_80112218: /* 0A8958 80112258 03E00008 */ jr $ra /* 0A895C 8011225C 27BD0018 */ addiu $sp, $sp, 0x18 -func_80112260: +create_shadow_type: /* 0A8960 80112260 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A8964 80112264 0080182D */ daddu $v1, $a0, $zero /* 0A8968 80112268 AFB00010 */ sw $s0, 0x10($sp) @@ -3197,11 +3206,11 @@ func_801122E0: /* 0A89E0 801122E0 44050000 */ mfc1 $a1, $f0 /* 0A89E4 801122E4 44061000 */ mfc1 $a2, $f2 /* 0A89E8 801122E8 44072000 */ mfc1 $a3, $f4 -/* 0A89EC 801122EC 0C0446F6 */ jal func_80111BD8 +/* 0A89EC 801122EC 0C0446F6 */ jal create_shadow_from_data /* 0A89F0 801122F0 00000000 */ nop /* 0A89F4 801122F4 12000006 */ beqz $s0, .L80112310 /* 0A89F8 801122F8 0040882D */ daddu $s1, $v0, $zero -/* 0A89FC 801122FC 0C044181 */ jal func_80110604 +/* 0A89FC 801122FC 0C044181 */ jal get_shadow_by_index /* 0A8A00 80112300 0220202D */ daddu $a0, $s1, $zero /* 0A8A04 80112304 8C430000 */ lw $v1, ($v0) /* 0A8A08 80112308 34630200 */ ori $v1, $v1, 0x200 @@ -3229,7 +3238,7 @@ func_80112344: /* 0A8A4C 8011234C 0080882D */ daddu $s1, $a0, $zero /* 0A8A50 80112350 AFBF0038 */ sw $ra, 0x38($sp) /* 0A8A54 80112354 AFB00030 */ sw $s0, 0x30($sp) -/* 0A8A58 80112358 0C044181 */ jal func_80110604 +/* 0A8A58 80112358 0C044181 */ jal get_shadow_by_index /* 0A8A5C 8011235C 86240016 */ lh $a0, 0x16($s1) /* 0A8A60 80112360 0040802D */ daddu $s0, $v0, $zero /* 0A8A64 80112364 5200009B */ beql $s0, $zero, .L801125D4 @@ -3456,7 +3465,7 @@ func_801125E8: /* 0A8D9C 8011269C C66E0000 */ lwc1 $f14, ($s3) /* 0A8DA0 801126A0 8E860000 */ lw $a2, ($s4) /* 0A8DA4 801126A4 4407A000 */ mfc1 $a3, $f20 -/* 0A8DA8 801126A8 0C017512 */ jal func_8005D448 +/* 0A8DA8 801126A8 0C017512 */ jal test_ray_entities /* 0A8DAC 801126AC 0000902D */ daddu $s2, $zero, $zero /* 0A8DB0 801126B0 0040802D */ daddu $s0, $v0, $zero /* 0A8DB4 801126B4 06000019 */ bltz $s0, .L8011271C @@ -3508,7 +3517,7 @@ func_801125E8: /* 0A8E68 80112768 8E660000 */ lw $a2, ($s3) /* 0A8E6C 8011276C 8E870000 */ lw $a3, ($s4) /* 0A8E70 80112770 8EA50000 */ lw $a1, ($s5) -/* 0A8E74 80112774 0C017334 */ jal func_8005CCD0 +/* 0A8E74 80112774 0C017334 */ jal test_ray_colliders /* 0A8E78 80112778 3C040001 */ lui $a0, 1 /* 0A8E7C 8011277C 04430001 */ bgezl $v0, .L80112784 /* 0A8E80 80112780 0040882D */ daddu $s1, $v0, $zero @@ -3532,7 +3541,7 @@ func_801125E8: /* 0A8EC4 801127C4 00000000 */ nop /* 0A8EC8 801127C8 4600B306 */ mov.s $f12, $f22 /* 0A8ECC 801127CC 44070000 */ mfc1 $a3, $f0 -/* 0A8ED0 801127D0 0C00A720 */ jal func_80029C80 +/* 0A8ED0 801127D0 0C00A720 */ jal atan2 /* 0A8ED4 801127D4 4600B386 */ mov.s $f14, $f22 /* 0A8ED8 801127D8 46000007 */ neg.s $f0, $f0 /* 0A8EDC 801127DC E6E00000 */ swc1 $f0, ($s7) @@ -3546,7 +3555,7 @@ func_801125E8: /* 0A8EFC 801127FC 24120001 */ addiu $s2, $zero, 1 /* 0A8F00 80112800 4600B306 */ mov.s $f12, $f22 /* 0A8F04 80112804 44070000 */ mfc1 $a3, $f0 -/* 0A8F08 80112808 0C00A720 */ jal func_80029C80 +/* 0A8F08 80112808 0C00A720 */ jal atan2 /* 0A8F0C 8011280C 46006386 */ mov.s $f14, $f12 /* 0A8F10 80112810 46000007 */ neg.s $f0, $f0 /* 0A8F14 80112814 08044A08 */ j func_80112820 @@ -3571,7 +3580,7 @@ func_80112820: /* 0A8F54 80112854 03E00008 */ jr $ra /* 0A8F58 80112858 27BD0090 */ addiu $sp, $sp, 0x90 -func_8011285C: +set_standard_shadow_scale: /* 0A8F5C 8011285C 3C028007 */ lui $v0, 0x8007 /* 0A8F60 80112860 8C42419C */ lw $v0, 0x419c($v0) /* 0A8F64 80112864 80420070 */ lb $v0, 0x70($v0) @@ -3679,7 +3688,7 @@ func_8011295C: /* 0A90CC 801129CC 03E00008 */ jr $ra /* 0A90D0 801129D0 E4800024 */ swc1 $f0, 0x24($a0) -func_801129D4: +set_shadow_scale_peach: /* 0A90D4 801129D4 3C028007 */ lui $v0, 0x8007 /* 0A90D8 801129D8 8C42419C */ lw $v0, 0x419c($v0) /* 0A90DC 801129DC 44852000 */ mtc1 $a1, $f4 @@ -4021,7 +4030,7 @@ func_80112DA4: /* 0A9570 80112E70 03E00008 */ jr $ra /* 0A9574 80112E74 A4620000 */ sh $v0, ($v1) -func_80112E78: +step_current_game_mode: /* 0A9578 80112E78 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A957C 80112E7C AFB00010 */ sw $s0, 0x10($sp) /* 0A9580 80112E80 3C108015 */ lui $s0, 0x8015 @@ -4084,7 +4093,7 @@ func_80112E78: /* 0A9650 80112F50 03E00008 */ jr $ra /* 0A9654 80112F54 27BD0020 */ addiu $sp, $sp, 0x20 -func_80112F58: +render_ui: /* 0A9658 80112F58 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0A965C 80112F5C AFB00010 */ sw $s0, 0x10($sp) /* 0A9660 80112F60 3C108015 */ lui $s0, 0x8015 @@ -4800,7 +4809,7 @@ func_801139C4: /* 0AA0D8 801139D8 14400020 */ bnez $v0, .L80113A5C /* 0AA0DC 801139DC 2405005F */ addiu $a1, $zero, 0x5f /* 0AA0E0 801139E0 8FA40028 */ lw $a0, 0x28($sp) -/* 0AA0E4 801139E4 0C0456C3 */ jal func_80115B0C +/* 0AA0E4 801139E4 0C0456C3 */ jal get_model_property /* 0AA0E8 801139E8 AFB80040 */ sw $t8, 0x40($sp) /* 0AA0EC 801139EC 8FB80040 */ lw $t8, 0x40($sp) /* 0AA0F0 801139F0 1040001A */ beqz $v0, .L80113A5C @@ -6105,7 +6114,7 @@ func_80114BBC: /* 0AB2C4 80114BC4 26103368 */ addiu $s0, $s0, 0x3368 /* 0AB2C8 80114BC8 02342821 */ addu $a1, $s1, $s4 /* 0AB2CC 80114BCC 8E060000 */ lw $a2, ($s0) -/* 0AB2D0 80114BD0 0C00A5CF */ jal func_8002973C +/* 0AB2D0 80114BD0 0C00A5CF */ jal dma_copy /* 0AB2D4 80114BD4 00B32821 */ addu $a1, $a1, $s3 /* 0AB2D8 80114BD8 02931021 */ addu $v0, $s4, $s3 /* 0AB2DC 80114BDC 8E030000 */ lw $v1, ($s0) @@ -6127,7 +6136,7 @@ func_80114C08: /* 0AB310 80114C10 26103368 */ addiu $s0, $s0, 0x3368 /* 0AB314 80114C14 00952821 */ addu $a1, $a0, $s5 /* 0AB318 80114C18 8E060000 */ lw $a2, ($s0) -/* 0AB31C 80114C1C 0C00A5CF */ jal func_8002973C +/* 0AB31C 80114C1C 0C00A5CF */ jal dma_copy /* 0AB320 80114C20 00B62821 */ addu $a1, $a1, $s6 /* 0AB324 80114C24 8E020000 */ lw $v0, ($s0) /* 0AB328 80114C28 02B61821 */ addu $v1, $s5, $s6 @@ -6220,7 +6229,7 @@ func_80114CE8: /* 0AB464 80114D64 03E00008 */ jr $ra /* 0AB468 80114D68 27BD0050 */ addiu $sp, $sp, 0x50 -func_80114D6C: +load_tile_header: /* 0AB46C 80114D6C 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0AB470 80114D70 AFB40038 */ sw $s4, 0x38($sp) /* 0AB474 80114D74 00A0A02D */ daddu $s4, $a1, $zero @@ -6249,7 +6258,7 @@ func_80114D6C: .L80114DD0: /* 0AB4D0 80114DD0 3C068015 */ lui $a2, 0x8015 /* 0AB4D4 80114DD4 24C61740 */ addiu $a2, $a2, 0x1740 -/* 0AB4D8 80114DD8 0C00A5CF */ jal func_8002973C +/* 0AB4D8 80114DD8 0C00A5CF */ jal dma_copy /* 0AB4DC 80114DDC 26850030 */ addiu $a1, $s4, 0x30 /* 0AB4E0 80114DE0 96430022 */ lhu $v1, 0x22($s2) /* 0AB4E4 80114DE4 96460026 */ lhu $a2, 0x26($s2) @@ -6779,7 +6788,7 @@ func_80115498: /* 0ABBF8 801154F8 02A0202D */ daddu $a0, $s5, $zero .L801154FC: /* 0ABBFC 801154FC 26A50030 */ addiu $a1, $s5, 0x30 -/* 0ABC00 80115500 0C00A5CF */ jal func_8002973C +/* 0ABC00 80115500 0C00A5CF */ jal dma_copy /* 0ABC04 80115504 27A60020 */ addiu $a2, $sp, 0x20 /* 0ABC08 80115508 93A20048 */ lbu $v0, 0x48($sp) /* 0ABC0C 8011550C 10400173 */ beqz $v0, .L80115ADC @@ -7231,7 +7240,7 @@ func_80115A84: /* 0AC204 80115B04 03E00008 */ jr $ra /* 0AC208 80115B08 27BD0078 */ addiu $sp, $sp, 0x78 -func_80115B0C: +get_model_property: /* 0AC20C 80115B0C 8C870008 */ lw $a3, 8($a0) /* 0AC210 80115B10 8C83000C */ lw $v1, 0xc($a0) /* 0AC214 80115B14 18E00009 */ blez $a3, .L80115B3C @@ -7251,7 +7260,7 @@ func_80115B0C: /* 0AC23C 80115B3C 03E00008 */ jr $ra /* 0AC240 80115B40 0000102D */ daddu $v0, $zero, $zero -func_80115B44: +_load_model_textures: /* 0AC244 80115B44 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0AC248 80115B48 AFB20018 */ sw $s2, 0x18($sp) /* 0AC24C 80115B4C 0080902D */ daddu $s2, $a0, $zero @@ -7281,7 +7290,7 @@ func_80115B44: /* 0AC2A8 80115BA8 00101080 */ sll $v0, $s0, 2 /* 0AC2AC 80115BAC 00431021 */ addu $v0, $v0, $v1 /* 0AC2B0 80115BB0 8C440000 */ lw $a0, ($v0) -/* 0AC2B4 80115BB4 0C0456D1 */ jal func_80115B44 +/* 0AC2B4 80115BB4 0C0456D1 */ jal _load_model_textures /* 0AC2B8 80115BB8 26100001 */ addiu $s0, $s0, 1 /* 0AC2BC 80115BBC 0211102A */ slt $v0, $s0, $s1 /* 0AC2C0 80115BC0 1440FFF6 */ bnez $v0, .L80115B9C @@ -7291,12 +7300,12 @@ func_80115B44: .L80115BD0: /* 0AC2D0 80115BD0 0240202D */ daddu $a0, $s2, $zero -/* 0AC2D4 80115BD4 0C0456C3 */ jal func_80115B0C +/* 0AC2D4 80115BD4 0C0456C3 */ jal get_model_property /* 0AC2D8 80115BD8 2405005E */ addiu $a1, $zero, 0x5e /* 0AC2DC 80115BDC 10400004 */ beqz $v0, .L80115BF0 /* 0AC2E0 80115BE0 0040202D */ daddu $a0, $v0, $zero /* 0AC2E4 80115BE4 0260282D */ daddu $a1, $s3, $zero -/* 0AC2E8 80115BE8 0C04535B */ jal func_80114D6C +/* 0AC2E8 80115BE8 0C04535B */ jal load_tile_header /* 0AC2EC 80115BEC 0280302D */ daddu $a2, $s4, $zero func_80115BF0: .L80115BF0: @@ -7314,7 +7323,7 @@ func_80115BF0: /* 0AC31C 80115C1C 03E00008 */ jr $ra /* 0AC320 80115C20 27BD0028 */ addiu $sp, $sp, 0x28 -func_80115C24: +load_model_textures: /* 0AC324 80115C24 3C028007 */ lui $v0, 0x8007 /* 0AC328 80115C28 8C42419C */ lw $v0, 0x419c($v0) /* 0AC32C 80115C2C 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -7344,7 +7353,7 @@ func_80115C24: /* 0AC388 80115C88 AC203224 */ sw $zero, 0x3224($at) /* 0AC38C 80115C8C 10800003 */ beqz $a0, .L80115C9C /* 0AC390 80115C90 00000000 */ nop -/* 0AC394 80115C94 0C0456D1 */ jal func_80115B44 +/* 0AC394 80115C94 0C0456D1 */ jal _load_model_textures /* 0AC398 80115C98 00000000 */ nop .L80115C9C: /* 0AC39C 80115C9C 8FBF0010 */ lw $ra, 0x10($sp) @@ -7395,7 +7404,7 @@ func_80115CA8: /* 0AC43C 80115D3C 03E00008 */ jr $ra /* 0AC440 80115D40 27BD0028 */ addiu $sp, $sp, 0x28 -func_80115D44: +clear_model_data: /* 0AC444 80115D44 3C028007 */ lui $v0, 0x8007 /* 0AC448 80115D48 8C42419C */ lw $v0, 0x419c($v0) /* 0AC44C 80115D4C 80420070 */ lb $v0, 0x70($v0) @@ -7574,7 +7583,7 @@ func_80115E8C: /* 0AC6E0 80115FE0 03E00008 */ jr $ra /* 0AC6E4 80115FE4 00000000 */ nop -func_80115FE8: +init_model_data: /* 0AC6E8 80115FE8 3C028007 */ lui $v0, 0x8007 /* 0AC6EC 80115FEC 8C42419C */ lw $v0, 0x419c($v0) /* 0AC6F0 80115FF0 80420070 */ lb $v0, 0x70($v0) @@ -7659,7 +7668,7 @@ func_80115FE8: /* 0AC824 80116124 03E00008 */ jr $ra /* 0AC828 80116128 00000000 */ nop -func_8011612C: +calculate_model_sizes: /* 0AC82C 8011612C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0AC830 80116130 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0AC834 80116134 3C013FE0 */ lui $at, 0x3fe0 @@ -7678,7 +7687,7 @@ func_8011612C: /* 0AC864 80116164 52000020 */ beql $s0, $zero, .L801161E8 /* 0AC868 80116168 26310001 */ addiu $s1, $s1, 1 /* 0AC86C 8011616C 8E040008 */ lw $a0, 8($s0) -/* 0AC870 80116170 0C0456C3 */ jal func_80115B0C +/* 0AC870 80116170 0C0456C3 */ jal get_model_property /* 0AC874 80116174 24050061 */ addiu $a1, $zero, 0x61 /* 0AC878 80116178 C444002C */ lwc1 $f4, 0x2c($v0) /* 0AC87C 8011617C C4400008 */ lwc1 $f0, 8($v0) @@ -7730,7 +7739,7 @@ func_8011620C: /* 0AC928 80116228 AFB00030 */ sw $s0, 0x30($sp) /* 0AC92C 8011622C 8E920004 */ lw $s2, 4($s4) /* 0AC930 80116230 2405005F */ addiu $a1, $zero, 0x5f -/* 0AC934 80116234 0C0456C3 */ jal func_80115B0C +/* 0AC934 80116234 0C0456C3 */ jal get_model_property /* 0AC938 80116238 0240202D */ daddu $a0, $s2, $zero /* 0AC93C 8011623C 0040802D */ daddu $s0, $v0, $zero /* 0AC940 80116240 12000023 */ beqz $s0, .L801162D0 @@ -7739,7 +7748,7 @@ func_8011620C: /* 0AC94C 8011624C 00028902 */ srl $s1, $v0, 4 /* 0AC950 80116250 1220001F */ beqz $s1, .L801162D0 /* 0AC954 80116254 0240202D */ daddu $a0, $s2, $zero -/* 0AC958 80116258 0C0456C3 */ jal func_80115B0C +/* 0AC958 80116258 0C0456C3 */ jal get_model_property /* 0AC95C 8011625C 24050061 */ addiu $a1, $zero, 0x61 /* 0AC960 80116260 0040802D */ daddu $s0, $v0, $zero /* 0AC964 80116264 12000019 */ beqz $s0, .L801162CC @@ -7784,7 +7793,7 @@ func_8011620C: /* 0AC9F0 801162F0 1440FFFA */ bnez $v0, .L801162DC /* 0AC9F4 801162F4 24630004 */ addiu $v1, $v1, 4 .L801162F8: -/* 0AC9F8 801162F8 0C00AB39 */ jal func_8002ACE4 +/* 0AC9F8 801162F8 0C00AB39 */ jal heap_malloc /* 0AC9FC 801162FC 240400B0 */ addiu $a0, $zero, 0xb0 /* 0ACA00 80116300 00131880 */ sll $v1, $s3, 2 /* 0ACA04 80116304 8E040000 */ lw $a0, ($s0) @@ -7804,7 +7813,7 @@ func_8011620C: /* 0ACA3C 8011633C 8E820008 */ lw $v0, 8($s4) /* 0ACA40 80116340 0240202D */ daddu $a0, $s2, $zero /* 0ACA44 80116344 A22000A7 */ sb $zero, 0xa7($s1) -/* 0ACA48 80116348 0C0456C3 */ jal func_80115B0C +/* 0ACA48 80116348 0C0456C3 */ jal get_model_property /* 0ACA4C 8011634C AE22000C */ sw $v0, 0xc($s1) /* 0ACA50 80116350 0040802D */ daddu $s0, $v0, $zero /* 0ACA54 80116354 52000004 */ beql $s0, $zero, .L80116368 @@ -7818,13 +7827,13 @@ func_8011620C: /* 0ACA70 80116370 24020005 */ addiu $v0, $zero, 5 /* 0ACA74 80116374 10620005 */ beq $v1, $v0, .L8011638C /* 0ACA78 80116378 0240202D */ daddu $a0, $s2, $zero -/* 0ACA7C 8011637C 0C0456C3 */ jal func_80115B0C +/* 0ACA7C 8011637C 0C0456C3 */ jal get_model_property /* 0ACA80 80116380 2405005C */ addiu $a1, $zero, 0x5c /* 0ACA84 80116384 080458E8 */ j func_801163A0 /* 0ACA88 80116388 0040802D */ daddu $s0, $v0, $zero .L8011638C: -/* 0ACA8C 8011638C 0C0456C3 */ jal func_80115B0C +/* 0ACA8C 8011638C 0C0456C3 */ jal get_model_property /* 0ACA90 80116390 24050060 */ addiu $a1, $zero, 0x60 /* 0ACA94 80116394 0040802D */ daddu $s0, $v0, $zero /* 0ACA98 80116398 12000006 */ beqz $s0, .L801163B4 @@ -7854,7 +7863,7 @@ func_801163BC: /* 0ACAE4 801163E4 8E84000C */ lw $a0, 0xc($s4) /* 0ACAE8 801163E8 14400021 */ bnez $v0, .L80116470 /* 0ACAEC 801163EC 26240018 */ addiu $a0, $s1, 0x18 -/* 0ACAF0 801163F0 0C00AB39 */ jal func_8002ACE4 +/* 0ACAF0 801163F0 0C00AB39 */ jal heap_malloc /* 0ACAF4 801163F4 24040040 */ addiu $a0, $zero, 0x40 /* 0ACAF8 801163F8 AE220004 */ sw $v0, 4($s1) /* 0ACAFC 801163FC 8E84000C */ lw $a0, 0xc($s4) @@ -7900,7 +7909,7 @@ func_80116484: /* 0ACB88 80116488 26240058 */ addiu $a0, $s1, 0x58 /* 0ACB8C 8011648C AE200010 */ sw $zero, 0x10($s1) /* 0ACB90 80116490 0240202D */ daddu $a0, $s2, $zero -/* 0ACB94 80116494 0C0456C3 */ jal func_80115B0C +/* 0ACB94 80116494 0C0456C3 */ jal get_model_property /* 0ACB98 80116498 24050061 */ addiu $a1, $zero, 0x61 /* 0ACB9C 8011649C 0040802D */ daddu $s0, $v0, $zero /* 0ACBA0 801164A0 12000017 */ beqz $s0, .L80116500 @@ -8168,7 +8177,7 @@ func_80116850: /* 0ACF5C 8011685C 96020000 */ lhu $v0, ($s0) /* 0ACF60 80116860 8E040008 */ lw $a0, 8($s0) /* 0ACF64 80116864 3042DFFF */ andi $v0, $v0, 0xdfff -/* 0ACF68 80116868 0C0456C3 */ jal func_80115B0C +/* 0ACF68 80116868 0C0456C3 */ jal get_model_property /* 0ACF6C 8011686C A6020000 */ sh $v0, ($s0) /* 0ACF70 80116870 C4460008 */ lwc1 $f6, 8($v0) /* 0ACF74 80116874 C440002C */ lwc1 $f0, 0x2c($v0) @@ -8330,7 +8339,7 @@ func_80116AA0: /* 0AD1AC 80116AAC 96020000 */ lhu $v0, ($s0) /* 0AD1B0 80116AB0 8E040008 */ lw $a0, 8($s0) /* 0AD1B4 80116AB4 3042DFFF */ andi $v0, $v0, 0xdfff -/* 0AD1B8 80116AB8 0C0456C3 */ jal func_80115B0C +/* 0AD1B8 80116AB8 0C0456C3 */ jal get_model_property /* 0AD1BC 80116ABC A6020000 */ sh $v0, ($s0) /* 0AD1C0 80116AC0 C4460008 */ lwc1 $f6, 8($v0) /* 0AD1C4 80116AC4 C440002C */ lwc1 $f0, 0x2c($v0) @@ -8388,7 +8397,7 @@ func_80116B54: /* 0AD288 80116B88 03E00008 */ jr $ra /* 0AD28C 80116B8C 27BD00E0 */ addiu $sp, $sp, 0xe0 -func_80116B90: +render_models: /* 0AD290 80116B90 27BDFF10 */ addiu $sp, $sp, -0xf0 /* 0AD294 80116B94 F7BE00E8 */ sdc1 $f30, 0xe8($sp) /* 0AD298 80116B98 3C013F80 */ lui $at, 0x3f80 @@ -9369,7 +9378,7 @@ func_80116B90: /* 0AE1A4 80117AA4 AFA2001C */ sw $v0, 0x1c($sp) /* 0AE1A8 80117AA8 27A20044 */ addiu $v0, $sp, 0x44 /* 0AE1AC 80117AAC E7BE0010 */ swc1 $f30, 0x10($sp) -/* 0AE1B0 80117AB0 0C00A588 */ jal func_80029620 +/* 0AE1B0 80117AB0 0C00A588 */ jal transform_point /* 0AE1B4 80117AB4 AFA20020 */ sw $v0, 0x20($sp) /* 0AE1B8 80117AB8 C7A00040 */ lwc1 $f0, 0x40($sp) /* 0AE1BC 80117ABC 3C01459C */ lui $at, 0x459c @@ -9410,7 +9419,7 @@ func_80117B28: /* 0AE22C 80117B2C AE220004 */ sw $v0, 4($s1) /* 0AE230 80117B30 820200A6 */ lb $v0, 0xa6($s0) /* 0AE234 80117B34 0220202D */ daddu $a0, $s1, $zero -/* 0AE238 80117B38 0C047644 */ jal func_8011D910 +/* 0AE238 80117B38 0C047644 */ jal queue_render_task /* 0AE23C 80117B3C AE220000 */ sw $v0, ($s1) /* 0AE240 80117B40 26730001 */ addiu $s3, $s3, 1 .L80117B44: @@ -9448,7 +9457,7 @@ func_80117B28: /* 0AE2BC 80117BBC 27A20044 */ addiu $v0, $sp, 0x44 /* 0AE2C0 80117BC0 E7B60010 */ swc1 $f22, 0x10($sp) /* 0AE2C4 80117BC4 AFB40014 */ sw $s4, 0x14($sp) -/* 0AE2C8 80117BC8 0C00A588 */ jal func_80029620 +/* 0AE2C8 80117BC8 0C00A588 */ jal transform_point /* 0AE2CC 80117BCC AFA20020 */ sw $v0, 0x20($sp) /* 0AE2D0 80117BD0 C7A20044 */ lwc1 $f2, 0x44($sp) /* 0AE2D4 80117BD4 44800000 */ mtc1 $zero, $f0 @@ -9480,7 +9489,7 @@ func_80117B28: /* 0AE338 80117C38 AE220004 */ sw $v0, 4($s1) /* 0AE33C 80117C3C 9202009E */ lbu $v0, 0x9e($s0) /* 0AE340 80117C40 0220202D */ daddu $a0, $s1, $zero -/* 0AE344 80117C44 0C047644 */ jal func_8011D910 +/* 0AE344 80117C44 0C047644 */ jal queue_render_task /* 0AE348 80117C48 AE220000 */ sw $v0, ($s1) /* 0AE34C 80117C4C 26730001 */ addiu $s3, $s3, 1 .L80117C50: @@ -9593,7 +9602,7 @@ func_80117D00: /* 0AE4D4 80117DD4 8C820000 */ lw $v0, ($a0) /* 0AE4D8 80117DD8 14560003 */ bne $v0, $s6, .L80117DE8 /* 0AE4DC 80117DDC 0000102D */ daddu $v0, $zero, $zero -/* 0AE4E0 80117DE0 0C0456C3 */ jal func_80115B0C +/* 0AE4E0 80117DE0 0C0456C3 */ jal get_model_property /* 0AE4E4 80117DE4 2405005C */ addiu $a1, $zero, 0x5c .L80117DE8: /* 0AE4E8 80117DE8 50400003 */ beql $v0, $zero, .L80117DF8 @@ -9652,7 +9661,7 @@ func_80117E74: /* 0AE5A0 80117EA0 24020005 */ addiu $v0, $zero, 5 /* 0AE5A4 80117EA4 14620017 */ bne $v1, $v0, .L80117F04 /* 0AE5A8 80117EA8 24020002 */ addiu $v0, $zero, 2 -/* 0AE5AC 80117EAC 0C0456C3 */ jal func_80115B0C +/* 0AE5AC 80117EAC 0C0456C3 */ jal get_model_property /* 0AE5B0 80117EB0 24050060 */ addiu $a1, $zero, 0x60 /* 0AE5B4 80117EB4 10400011 */ beqz $v0, .L80117EFC /* 0AE5B8 80117EB8 00000000 */ nop @@ -9661,7 +9670,7 @@ func_80117E74: /* 0AE5C4 80117EC4 00000000 */ nop /* 0AE5C8 80117EC8 3C108015 */ lui $s0, 0x8015 /* 0AE5CC 80117ECC 2610336C */ addiu $s0, $s0, 0x336c -/* 0AE5D0 80117ED0 0C046B4C */ jal func_8011AD30 +/* 0AE5D0 80117ED0 0C046B4C */ jal get_model_from_list_index /* 0AE5D4 80117ED4 96040000 */ lhu $a0, ($s0) /* 0AE5D8 80117ED8 0040202D */ daddu $a0, $v0, $zero /* 0AE5DC 80117EDC 94820000 */ lhu $v0, ($a0) @@ -9729,7 +9738,7 @@ func_80117E74: .L80117FB8: /* 0AE6B8 80117FB8 3C108015 */ lui $s0, 0x8015 /* 0AE6BC 80117FBC 2610336C */ addiu $s0, $s0, 0x336c -/* 0AE6C0 80117FC0 0C046B4C */ jal func_8011AD30 +/* 0AE6C0 80117FC0 0C046B4C */ jal get_model_from_list_index /* 0AE6C4 80117FC4 96040000 */ lhu $a0, ($s0) /* 0AE6C8 80117FC8 0040202D */ daddu $a0, $v0, $zero /* 0AE6CC 80117FCC 94820000 */ lhu $v0, ($a0) @@ -12871,7 +12880,7 @@ func_8011ACC8: /* 0B1428 8011AD28 03E00008 */ jr $ra /* 0B142C 8011AD2C 27BD0078 */ addiu $sp, $sp, 0x78 -func_8011AD30: +get_model_from_list_index: /* 0B1430 8011AD30 3C028015 */ lui $v0, 0x8015 /* 0B1434 8011AD34 8C4212CC */ lw $v0, 0x12cc($v0) /* 0B1438 8011AD38 00042080 */ sll $a0, $a0, 2 @@ -12879,7 +12888,7 @@ func_8011AD30: /* 0B1440 8011AD40 03E00008 */ jr $ra /* 0B1444 8011AD44 8C820000 */ lw $v0, ($a0) -func_8011AD48: +load_data_for_models: /* 0B1448 8011AD48 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 0B144C 8011AD4C AFB00050 */ sw $s0, 0x50($sp) /* 0B1450 8011AD50 0080802D */ daddu $s0, $a0, $zero @@ -12893,7 +12902,7 @@ func_8011AD48: /* 0B1470 8011AD70 12200004 */ beqz $s1, .L8011AD84 /* 0B1474 8011AD74 0200202D */ daddu $a0, $s0, $zero /* 0B1478 8011AD78 0220282D */ daddu $a1, $s1, $zero -/* 0B147C 8011AD7C 0C045709 */ jal func_80115C24 +/* 0B147C 8011AD7C 0C045709 */ jal load_model_textures /* 0B1480 8011AD80 0240302D */ daddu $a2, $s2, $zero .L8011AD84: /* 0B1484 8011AD84 3C028015 */ lui $v0, 0x8015 @@ -12905,7 +12914,7 @@ func_8011AD48: /* 0B149C 8011AD9C 0200202D */ daddu $a0, $s0, $zero /* 0B14A0 8011ADA0 0000282D */ daddu $a1, $zero, $zero /* 0B14A4 8011ADA4 27A60010 */ addiu $a2, $sp, 0x10 -/* 0B14A8 8011ADA8 0C046B72 */ jal func_8011ADC8 +/* 0B14A8 8011ADA8 0C046B72 */ jal load_model_transforms /* 0B14AC 8011ADAC 00A0382D */ daddu $a3, $a1, $zero .L8011ADB0: /* 0B14B0 8011ADB0 8FBF005C */ lw $ra, 0x5c($sp) @@ -12915,7 +12924,7 @@ func_8011AD48: /* 0B14C0 8011ADC0 03E00008 */ jr $ra /* 0B14C4 8011ADC4 27BD0060 */ addiu $sp, $sp, 0x60 -func_8011ADC8: +load_model_transforms: /* 0B14C8 8011ADC8 27BDFF00 */ addiu $sp, $sp, -0x100 /* 0B14CC 8011ADCC AFB100E4 */ sw $s1, 0xe4($sp) /* 0B14D0 8011ADD0 0080882D */ daddu $s1, $a0, $zero @@ -12945,7 +12954,7 @@ func_8011ADC8: /* 0B1530 8011AE30 27A60010 */ addiu $a2, $sp, 0x10 .L8011AE34: /* 0B1534 8011AE34 0220202D */ daddu $a0, $s1, $zero -/* 0B1538 8011AE38 0C0456C3 */ jal func_80115B0C +/* 0B1538 8011AE38 0C0456C3 */ jal get_model_property /* 0B153C 8011AE3C 24050060 */ addiu $a1, $zero, 0x60 /* 0B1540 8011AE40 10400002 */ beqz $v0, .L8011AE4C /* 0B1544 8011AE44 0000202D */ daddu $a0, $zero, $zero @@ -12973,7 +12982,7 @@ func_8011ADC8: .L8011AE90: /* 0B1590 8011AE90 0220282D */ daddu $a1, $s1, $zero /* 0B1594 8011AE94 8C440000 */ lw $a0, ($v0) -/* 0B1598 8011AE98 0C046B72 */ jal func_8011ADC8 +/* 0B1598 8011AE98 0C046B72 */ jal load_model_transforms /* 0B159C 8011AE9C 26870001 */ addiu $a3, $s4, 1 /* 0B15A0 8011AEA0 8E240010 */ lw $a0, 0x10($s1) /* 0B15A4 8011AEA4 8C82000C */ lw $v0, 0xc($a0) @@ -13076,7 +13085,7 @@ func_8011AFEC: /* 0B1708 8011B008 03E00008 */ jr $ra /* 0B170C 8011B00C 27BD0100 */ addiu $sp, $sp, 0x100 -func_8011B010: +get_model_list_index_from_tree_index: /* 0B1710 8011B010 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0B1714 8011B014 AFB10014 */ sw $s1, 0x14($sp) /* 0B1718 8011B018 0080882D */ daddu $s1, $a0, $zero @@ -13095,7 +13104,7 @@ func_8011B010: .L8011B04C: /* 0B174C 8011B04C 0000802D */ daddu $s0, $zero, $zero .L8011B050: -/* 0B1750 8011B050 0C046B4C */ jal func_8011AD30 +/* 0B1750 8011B050 0C046B4C */ jal get_model_from_list_index /* 0B1754 8011B054 0200202D */ daddu $a0, $s0, $zero /* 0B1758 8011B058 50400005 */ beql $v0, $zero, .L8011B070 /* 0B175C 8011B05C 26100001 */ addiu $s0, $s0, 1 @@ -13143,7 +13152,7 @@ func_8011B0D8: /* 0B17E4 8011B0E4 03E00008 */ jr $ra /* 0B17E8 8011B0E8 27BD0020 */ addiu $sp, $sp, 0x20 -func_8011B0EC: +get_model_center_and_size: /* 0B17EC 8011B0EC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0B17F0 8011B0F0 AFB3001C */ sw $s3, 0x1c($sp) /* 0B17F4 8011B0F4 8FB30040 */ lw $s3, 0x40($sp) @@ -13158,9 +13167,9 @@ func_8011B0EC: /* 0B1818 8011B118 AFB50024 */ sw $s5, 0x24($sp) /* 0B181C 8011B11C 8FB50048 */ lw $s5, 0x48($sp) /* 0B1820 8011B120 AFBF0028 */ sw $ra, 0x28($sp) -/* 0B1824 8011B124 0C046C04 */ jal func_8011B010 +/* 0B1824 8011B124 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B1828 8011B128 3084FFFF */ andi $a0, $a0, 0xffff -/* 0B182C 8011B12C 0C046B4C */ jal func_8011AD30 +/* 0B182C 8011B12C 0C046B4C */ jal get_model_from_list_index /* 0B1830 8011B130 0040202D */ daddu $a0, $v0, $zero /* 0B1834 8011B134 C4400098 */ lwc1 $f0, 0x98($v0) /* 0B1838 8011B138 8C440008 */ lw $a0, 8($v0) @@ -13169,7 +13178,7 @@ func_8011B0EC: /* 0B1844 8011B144 E6200000 */ swc1 $f0, ($s1) /* 0B1848 8011B148 C44000A0 */ lwc1 $f0, 0xa0($v0) /* 0B184C 8011B14C 24050061 */ addiu $a1, $zero, 0x61 -/* 0B1850 8011B150 0C0456C3 */ jal func_80115B0C +/* 0B1850 8011B150 0C0456C3 */ jal get_model_property /* 0B1854 8011B154 E6400000 */ swc1 $f0, ($s2) /* 0B1858 8011B158 1040000B */ beqz $v0, .L8011B188 /* 0B185C 8011B15C 00000000 */ nop @@ -13235,7 +13244,7 @@ func_8011B1D8: .L8011B22C: /* 0B192C 8011B22C 14620019 */ bne $v1, $v0, .L8011B294 /* 0B1930 8011B230 02A0202D */ daddu $a0, $s5, $zero -/* 0B1934 8011B234 0C0456C3 */ jal func_80115B0C +/* 0B1934 8011B234 0C0456C3 */ jal get_model_property /* 0B1938 8011B238 24050060 */ addiu $a1, $zero, 0x60 /* 0B193C 8011B23C 10400015 */ beqz $v0, .L8011B294 /* 0B1940 8011B240 00000000 */ nop @@ -13286,7 +13295,7 @@ func_8011B1D8: /* 0B19E0 8011B2E0 96920002 */ lhu $s2, 2($s4) /* 0B19E4 8011B2E4 1457000B */ bne $v0, $s7, .L8011B314 /* 0B19E8 8011B2E8 0200202D */ daddu $a0, $s0, $zero -/* 0B19EC 8011B2EC 0C0456C3 */ jal func_80115B0C +/* 0B19EC 8011B2EC 0C0456C3 */ jal get_model_property /* 0B19F0 8011B2F0 24050060 */ addiu $a1, $zero, 0x60 /* 0B19F4 8011B2F4 10400007 */ beqz $v0, .L8011B314 /* 0B19F8 8011B2F8 00000000 */ nop @@ -13364,7 +13373,7 @@ func_8011B37C: /* 0B1B00 8011B400 1440FFFA */ bnez $v0, .L8011B3EC /* 0B1B04 8011B404 24630004 */ addiu $v1, $v1, 4 .L8011B408: -/* 0B1B08 8011B408 0C00AB39 */ jal func_8002ACE4 +/* 0B1B08 8011B408 0C00AB39 */ jal heap_malloc /* 0B1B0C 8011B40C 240400A0 */ addiu $a0, $zero, 0xa0 /* 0B1B10 8011B410 00101880 */ sll $v1, $s0, 2 /* 0B1B14 8011B414 0040802D */ daddu $s0, $v0, $zero @@ -13375,12 +13384,12 @@ func_8011B37C: /* 0B1B28 8011B428 00651821 */ addu $v1, $v1, $a1 /* 0B1B2C 8011B42C AC700000 */ sw $s0, ($v1) /* 0B1B30 8011B430 A6020000 */ sh $v0, ($s0) -/* 0B1B34 8011B434 0C046C04 */ jal func_8011B010 +/* 0B1B34 8011B434 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B1B38 8011B438 A6120002 */ sh $s2, 2($s0) /* 0B1B3C 8011B43C A202009C */ sb $v0, 0x9c($s0) /* 0B1B40 8011B440 3C048015 */ lui $a0, 0x8015 /* 0B1B44 8011B444 94843376 */ lhu $a0, 0x3376($a0) -/* 0B1B48 8011B448 0C046C04 */ jal func_8011B010 +/* 0B1B48 8011B448 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B1B4C 8011B44C 00000000 */ nop /* 0B1B50 8011B450 A202009D */ sb $v0, 0x9d($s0) /* 0B1B54 8011B454 A200009F */ sb $zero, 0x9f($s0) @@ -13400,13 +13409,13 @@ func_8011B37C: /* 0B1B8C 8011B48C 24020005 */ addiu $v0, $zero, 5 /* 0B1B90 8011B490 10620005 */ beq $v1, $v0, .L8011B4A8 /* 0B1B94 8011B494 0220202D */ daddu $a0, $s1, $zero -/* 0B1B98 8011B498 0C0456C3 */ jal func_80115B0C +/* 0B1B98 8011B498 0C0456C3 */ jal get_model_property /* 0B1B9C 8011B49C 2405005C */ addiu $a1, $zero, 0x5c /* 0B1BA0 8011B4A0 08046D2E */ j func_8011B4B8 /* 0B1BA4 8011B4A4 00000000 */ nop .L8011B4A8: -/* 0B1BA8 8011B4A8 0C0456C3 */ jal func_80115B0C +/* 0B1BA8 8011B4A8 0C0456C3 */ jal get_model_property /* 0B1BAC 8011B4AC 24050060 */ addiu $a1, $zero, 0x60 /* 0B1BB0 8011B4B0 10400006 */ beqz $v0, .L8011B4CC /* 0B1BB4 8011B4B4 2442000C */ addiu $v0, $v0, 0xc @@ -13423,7 +13432,7 @@ func_8011B4B8: /* 0B1BD0 8011B4D0 A202009E */ sb $v0, 0x9e($s0) func_8011B4D4: /* 0B1BD4 8011B4D4 0220202D */ daddu $a0, $s1, $zero -/* 0B1BD8 8011B4D8 0C0456C3 */ jal func_80115B0C +/* 0B1BD8 8011B4D8 0C0456C3 */ jal get_model_property /* 0B1BDC 8011B4DC 24050061 */ addiu $a1, $zero, 0x61 /* 0B1BE0 8011B4E0 10400017 */ beqz $v0, .L8011B540 /* 0B1BE4 8011B4E4 00000000 */ nop @@ -13509,7 +13518,7 @@ func_8011B5D0: /* 0B1D08 8011B608 14600010 */ bnez $v1, .L8011B64C /* 0B1D0C 8011B60C A6220000 */ sh $v0, ($s1) .L8011B610: -/* 0B1D10 8011B610 0C046B4C */ jal func_8011AD30 +/* 0B1D10 8011B610 0C046B4C */ jal get_model_from_list_index /* 0B1D14 8011B614 0200202D */ daddu $a0, $s0, $zero /* 0B1D18 8011B618 0040202D */ daddu $a0, $v0, $zero /* 0B1D1C 8011B61C 94850000 */ lhu $a1, ($a0) @@ -13550,7 +13559,7 @@ func_8011B660: /* 0B1D98 8011B698 14600010 */ bnez $v1, .L8011B6DC /* 0B1D9C 8011B69C A6220000 */ sh $v0, ($s1) .L8011B6A0: -/* 0B1DA0 8011B6A0 0C046B4C */ jal func_8011AD30 +/* 0B1DA0 8011B6A0 0C046B4C */ jal get_model_from_list_index /* 0B1DA4 8011B6A4 0200202D */ daddu $a0, $s0, $zero /* 0B1DA8 8011B6A8 0040202D */ daddu $a0, $v0, $zero /* 0B1DAC 8011B6AC 94820000 */ lhu $v0, ($a0) @@ -13573,7 +13582,7 @@ func_8011B660: /* 0B1DE8 8011B6E8 03E00008 */ jr $ra /* 0B1DEC 8011B6EC 27BD0020 */ addiu $sp, $sp, 0x20 -func_8011B6F0: +clone_model: /* 0B1DF0 8011B6F0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0B1DF4 8011B6F4 AFB3001C */ sw $s3, 0x1c($sp) /* 0B1DF8 8011B6F8 00A0982D */ daddu $s3, $a1, $zero @@ -13581,9 +13590,9 @@ func_8011B6F0: /* 0B1E00 8011B700 AFBF0020 */ sw $ra, 0x20($sp) /* 0B1E04 8011B704 AFB20018 */ sw $s2, 0x18($sp) /* 0B1E08 8011B708 AFB10014 */ sw $s1, 0x14($sp) -/* 0B1E0C 8011B70C 0C046C04 */ jal func_8011B010 +/* 0B1E0C 8011B70C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B1E10 8011B710 AFB00010 */ sw $s0, 0x10($sp) -/* 0B1E14 8011B714 0C046B4C */ jal func_8011AD30 +/* 0B1E14 8011B714 0C046B4C */ jal get_model_from_list_index /* 0B1E18 8011B718 0040202D */ daddu $a0, $v0, $zero /* 0B1E1C 8011B71C 0040882D */ daddu $s1, $v0, $zero /* 0B1E20 8011B720 0000802D */ daddu $s0, $zero, $zero @@ -13599,7 +13608,7 @@ func_8011B6F0: /* 0B1E44 8011B744 1440FFFA */ bnez $v0, .L8011B730 /* 0B1E48 8011B748 24630004 */ addiu $v1, $v1, 4 .L8011B74C: -/* 0B1E4C 8011B74C 0C00AB39 */ jal func_8002ACE4 +/* 0B1E4C 8011B74C 0C00AB39 */ jal heap_malloc /* 0B1E50 8011B750 240400B0 */ addiu $a0, $zero, 0xb0 /* 0B1E54 8011B754 0040302D */ daddu $a2, $v0, $zero /* 0B1E58 8011B758 00C0282D */ daddu $a1, $a2, $zero @@ -13928,6 +13937,7 @@ func_8011BAE8: /* 0B2280 8011BB80 03E00008 */ jr $ra /* 0B2284 8011BB84 AC450018 */ sw $a1, 0x18($v0) +set_fog_color: /* 0B2288 8011BB88 3C028015 */ lui $v0, 0x8015 /* 0B228C 8011BB8C 8C423264 */ lw $v0, 0x3264($v0) /* 0B2290 8011BB90 AC440004 */ sw $a0, 4($v0) @@ -13952,7 +13962,7 @@ func_8011BBA4: /* 0B22D0 8011BBD0 03E00008 */ jr $ra /* 0B22D4 8011BBD4 ACA20000 */ sw $v0, ($a1) -func_8011BBD8: +get_fog_color: /* 0B22D8 8011BBD8 3C038015 */ lui $v1, 0x8015 /* 0B22DC 8011BBDC 24633264 */ addiu $v1, $v1, 0x3264 /* 0B22E0 8011BBE0 8C620000 */ lw $v0, ($v1) @@ -13969,11 +13979,11 @@ func_8011BBD8: /* 0B230C 8011BC0C 03E00008 */ jr $ra /* 0B2310 8011BC10 ACE20000 */ sw $v0, ($a3) -func_8011BC14: +set_tex_panner: /* 0B2314 8011BC14 03E00008 */ jr $ra /* 0B2318 8011BC18 A08500A4 */ sb $a1, 0xa4($a0) -func_8011BC1C: +set_main_pan_u: /* 0B231C 8011BC1C 00042080 */ sll $a0, $a0, 2 /* 0B2320 8011BC20 3C018015 */ lui $at, 0x8015 /* 0B2324 8011BC24 00240821 */ addu $at, $at, $a0 @@ -13981,7 +13991,7 @@ func_8011BC1C: /* 0B232C 8011BC2C 03E00008 */ jr $ra /* 0B2330 8011BC30 00000000 */ nop -func_8011BC34: +set_main_pan_v: /* 0B2334 8011BC34 00042080 */ sll $a0, $a0, 2 /* 0B2338 8011BC38 3C018015 */ lui $at, 0x8015 /* 0B233C 8011BC3C 00240821 */ addu $at, $at, $a0 @@ -13989,7 +13999,7 @@ func_8011BC34: /* 0B2344 8011BC44 03E00008 */ jr $ra /* 0B2348 8011BC48 00000000 */ nop -func_8011BC4C: +set_aux_pan_u: /* 0B234C 8011BC4C 00042080 */ sll $a0, $a0, 2 /* 0B2350 8011BC50 3C018015 */ lui $at, 0x8015 /* 0B2354 8011BC54 00240821 */ addu $at, $at, $a0 @@ -13997,7 +14007,7 @@ func_8011BC4C: /* 0B235C 8011BC5C 03E00008 */ jr $ra /* 0B2360 8011BC60 00000000 */ nop -func_8011BC64: +set_aux_pan_v: /* 0B2364 8011BC64 00042080 */ sll $a0, $a0, 2 /* 0B2368 8011BC68 3C018015 */ lui $at, 0x8015 /* 0B236C 8011BC6C 00240821 */ addu $at, $at, $a0 @@ -14376,9 +14386,9 @@ func_8011C164: /* 0B287C 8011C17C AFBF003C */ sw $ra, 0x3c($sp) /* 0B2880 8011C180 AFB40038 */ sw $s4, 0x38($sp) /* 0B2884 8011C184 AFB30034 */ sw $s3, 0x34($sp) -/* 0B2888 8011C188 0C046C04 */ jal func_8011B010 +/* 0B2888 8011C188 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B288C 8011C18C AFB20030 */ sw $s2, 0x30($sp) -/* 0B2890 8011C190 0C046B4C */ jal func_8011AD30 +/* 0B2890 8011C190 0C046B4C */ jal get_model_from_list_index /* 0B2894 8011C194 0040202D */ daddu $a0, $v0, $zero /* 0B2898 8011C198 0040A02D */ daddu $s4, $v0, $zero /* 0B289C 8011C19C 8E820008 */ lw $v0, 8($s4) @@ -14390,7 +14400,7 @@ func_8011C164: /* 0B28B4 8011C1B4 AFA00010 */ sw $zero, 0x10($sp) /* 0B28B8 8011C1B8 0C04700A */ jal func_8011C028 /* 0B28BC 8011C1BC 0260202D */ daddu $a0, $s3, $zero -/* 0B28C0 8011C1C0 0C00AB39 */ jal func_8002ACE4 +/* 0B28C0 8011C1C0 0C00AB39 */ jal heap_malloc /* 0B28C4 8011C1C4 2404001C */ addiu $a0, $zero, 0x1c /* 0B28C8 8011C1C8 00108080 */ sll $s0, $s0, 2 /* 0B28CC 8011C1CC 3C038015 */ lui $v1, 0x8015 @@ -14403,12 +14413,12 @@ func_8011C164: /* 0B28E8 8011C1E8 0240802D */ daddu $s0, $s2, $zero .L8011C1EC: /* 0B28EC 8011C1EC 8FA40020 */ lw $a0, 0x20($sp) -/* 0B28F0 8011C1F0 0C00AB39 */ jal func_8002ACE4 +/* 0B28F0 8011C1F0 0C00AB39 */ jal heap_malloc /* 0B28F4 8011C1F4 000420C0 */ sll $a0, $a0, 3 /* 0B28F8 8011C1F8 8FA40018 */ lw $a0, 0x18($sp) /* 0B28FC 8011C1FC 26310001 */ addiu $s1, $s1, 1 /* 0B2900 8011C200 AE020008 */ sw $v0, 8($s0) -/* 0B2904 8011C204 0C00AB39 */ jal func_8002ACE4 +/* 0B2904 8011C204 0C00AB39 */ jal heap_malloc /* 0B2908 8011C208 00042100 */ sll $a0, $a0, 4 /* 0B290C 8011C20C 0260202D */ daddu $a0, $s3, $zero /* 0B2910 8011C210 8FA5001C */ lw $a1, 0x1c($sp) @@ -14508,9 +14518,9 @@ func_8011C32C: /* 0B2A64 8011C364 F7B80078 */ sdc1 $f24, 0x78($sp) /* 0B2A68 8011C368 F7B60070 */ sdc1 $f22, 0x70($sp) /* 0B2A6C 8011C36C F7B40068 */ sdc1 $f20, 0x68($sp) -/* 0B2A70 8011C370 0C046C04 */ jal func_8011B010 +/* 0B2A70 8011C370 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B2A74 8011C374 3084FFFF */ andi $a0, $a0, 0xffff -/* 0B2A78 8011C378 0C046B4C */ jal func_8011AD30 +/* 0B2A78 8011C378 0C046B4C */ jal get_model_from_list_index /* 0B2A7C 8011C37C 0040202D */ daddu $a0, $v0, $zero /* 0B2A80 8011C380 8C420008 */ lw $v0, 8($v0) /* 0B2A84 8011C384 240600DF */ addiu $a2, $zero, 0xdf @@ -14850,9 +14860,9 @@ func_8011C778: /* 0B2F70 8011C870 000218C0 */ sll $v1, $v0, 3 /* 0B2F74 8011C874 00431021 */ addu $v0, $v0, $v1 /* 0B2F78 8011C878 000210C0 */ sll $v0, $v0, 3 -/* 0B2F7C 8011C87C 0C046C04 */ jal func_8011B010 +/* 0B2F7C 8011C87C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B2F80 8011C880 0045F021 */ addu $fp, $v0, $a1 -/* 0B2F84 8011C884 0C046B4C */ jal func_8011AD30 +/* 0B2F84 8011C884 0C046B4C */ jal get_model_from_list_index /* 0B2F88 8011C888 0040202D */ daddu $a0, $v0, $zero /* 0B2F8C 8011C88C 8FA8007C */ lw $t0, 0x7c($sp) /* 0B2F90 8011C890 0040182D */ daddu $v1, $v0, $zero @@ -14872,7 +14882,7 @@ func_8011C778: /* 0B2FC8 8011C8C8 8C650098 */ lw $a1, 0x98($v1) /* 0B2FCC 8011C8CC 8C66009C */ lw $a2, 0x9c($v1) /* 0B2FD0 8011C8D0 8C6700A0 */ lw $a3, 0xa0($v1) -/* 0B2FD4 8011C8D4 0C00A588 */ jal func_80029620 +/* 0B2FD4 8011C8D4 0C00A588 */ jal transform_point /* 0B2FD8 8011C8D8 27C400D4 */ addiu $a0, $fp, 0xd4 /* 0B2FDC 8011C8DC C7A00034 */ lwc1 $f0, 0x34($sp) /* 0B2FE0 8011C8E0 44809000 */ mtc1 $zero, $f18 @@ -15368,7 +15378,7 @@ func_8011CF84: /* 0B3764 8011D064 AFA2001C */ sw $v0, 0x1c($sp) /* 0B3768 8011D068 27A20034 */ addiu $v0, $sp, 0x34 /* 0B376C 8011D06C AFA20020 */ sw $v0, 0x20($sp) -/* 0B3770 8011D070 0C00A588 */ jal func_80029620 +/* 0B3770 8011D070 0C00A588 */ jal transform_point /* 0B3774 8011D074 E7B40010 */ swc1 $f20, 0x10($sp) /* 0B3778 8011D078 C7A00034 */ lwc1 $f0, 0x34($sp) /* 0B377C 8011D07C 44809000 */ mtc1 $zero, $f18 @@ -15817,9 +15827,9 @@ func_8011D72C: /* 0B3E3C 8011D73C AFBF00D0 */ sw $ra, 0xd0($sp) /* 0B3E40 8011D740 AFB300CC */ sw $s3, 0xcc($sp) /* 0B3E44 8011D744 AFB100C4 */ sw $s1, 0xc4($sp) -/* 0B3E48 8011D748 0C046C04 */ jal func_8011B010 +/* 0B3E48 8011D748 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B3E4C 8011D74C AFB000C0 */ sw $s0, 0xc0($sp) -/* 0B3E50 8011D750 0C046B4C */ jal func_8011AD30 +/* 0B3E50 8011D750 0C046B4C */ jal get_model_from_list_index /* 0B3E54 8011D754 0040202D */ daddu $a0, $v0, $zero /* 0B3E58 8011D758 27A30010 */ addiu $v1, $sp, 0x10 /* 0B3E5C 8011D75C 244400B0 */ addiu $a0, $v0, 0xb0 @@ -15948,7 +15958,7 @@ func_8011D890: /* 0B4008 8011D908 03E00008 */ jr $ra /* 0B400C 8011D90C 00000000 */ nop -func_8011D910: +queue_render_task: /* 0B4010 8011D910 3C028015 */ lui $v0, 0x8015 /* 0B4014 8011D914 8C4233AC */ lw $v0, 0x33ac($v0) /* 0B4018 8011D918 3C038015 */ lui $v1, 0x8015 @@ -16369,7 +16379,7 @@ func_8011DEE8: .L8011DEF0: /* 0B45F0 8011DEF0 8FA40038 */ lw $a0, 0x38($sp) /* 0B45F4 8011DEF4 02442021 */ addu $a0, $s2, $a0 -/* 0B45F8 8011DEF8 0C00AB0A */ jal func_8002AC28 +/* 0B45F8 8011DEF8 0C00AB0A */ jal general_heap_malloc /* 0B45FC 8011DEFC 00042100 */ sll $a0, $a0, 4 /* 0B4600 8011DF00 0040382D */ daddu $a3, $v0, $zero /* 0B4604 8011DF04 14E00003 */ bnez $a3, .L8011DF14 @@ -16598,7 +16608,7 @@ func_8011E1C4: /* 0B48F8 8011E1F8 2A220020 */ slti $v0, $s1, 0x20 /* 0B48FC 8011E1FC 1440FFF9 */ bnez $v0, .L8011E1E4 /* 0B4900 8011E200 26100004 */ addiu $s0, $s0, 4 -/* 0B4904 8011E204 0C00AB4B */ jal func_8002AD2C +/* 0B4904 8011E204 0C00AB4B */ jal heap_free /* 0B4908 8011E208 0240202D */ daddu $a0, $s2, $zero /* 0B490C 8011E20C 8FBF001C */ lw $ra, 0x1c($sp) /* 0B4910 8011E210 8FB20018 */ lw $s2, 0x18($sp) @@ -16734,7 +16744,7 @@ func_8011E398: /* 0B4AD4 8011E3D4 2A220020 */ slti $v0, $s1, 0x20 /* 0B4AD8 8011E3D8 1440FFF8 */ bnez $v0, .L8011E3BC /* 0B4ADC 8011E3DC 26100004 */ addiu $s0, $s0, 4 -/* 0B4AE0 8011E3E0 0C00AB4B */ jal func_8002AD2C +/* 0B4AE0 8011E3E0 0C00AB4B */ jal heap_free /* 0B4AE4 8011E3E4 0240202D */ daddu $a0, $s2, $zero /* 0B4AE8 8011E3E8 8FBF001C */ lw $ra, 0x1c($sp) /* 0B4AEC 8011E3EC 8FB20018 */ lw $s2, 0x18($sp) @@ -16786,7 +16796,7 @@ func_8011E438: /* 0B4B84 8011E484 1440FFF9 */ bnez $v0, .L8011E46C /* 0B4B88 8011E488 24630004 */ addiu $v1, $v1, 4 func_8011E48C: -/* 0B4B8C 8011E48C 0C00AB4B */ jal func_8002AD2C +/* 0B4B8C 8011E48C 0C00AB4B */ jal heap_free /* 0B4B90 8011E490 0200202D */ daddu $a0, $s0, $zero /* 0B4B94 8011E494 3C038015 */ lui $v1, 0x8015 /* 0B4B98 8011E498 246312D4 */ addiu $v1, $v1, 0x12d4 @@ -16825,7 +16835,7 @@ func_8011E500: /* 0B4C04 8011E504 00000000 */ nop .L8011E508: -/* 0B4C08 8011E508 0C00AB39 */ jal func_8002ACE4 +/* 0B4C08 8011E508 0C00AB39 */ jal heap_malloc /* 0B4C0C 8011E50C 240402E0 */ addiu $a0, $zero, 0x2e0 /* 0B4C10 8011E510 00102080 */ sll $a0, $s0, 2 /* 0B4C14 8011E514 3C038015 */ lui $v1, 0x8015 @@ -16914,7 +16924,7 @@ func_8011E630: /* 0B4D34 8011E634 00000000 */ nop .L8011E638: -/* 0B4D38 8011E638 0C00AB39 */ jal func_8002ACE4 +/* 0B4D38 8011E638 0C00AB39 */ jal heap_malloc /* 0B4D3C 8011E63C 240402E0 */ addiu $a0, $zero, 0x2e0 /* 0B4D40 8011E640 00102080 */ sll $a0, $s0, 2 /* 0B4D44 8011E644 3C038015 */ lui $v1, 0x8015 @@ -16986,7 +16996,7 @@ func_8011E718: /* 0B4E30 8011E730 00C0882D */ daddu $s1, $a2, $zero /* 0B4E34 8011E734 24040100 */ addiu $a0, $zero, 0x100 /* 0B4E38 8011E738 AFBF0020 */ sw $ra, 0x20($sp) -/* 0B4E3C 8011E73C 0C00AB39 */ jal func_8002ACE4 +/* 0B4E3C 8011E73C 0C00AB39 */ jal heap_malloc /* 0B4E40 8011E740 AFB00010 */ sw $s0, 0x10($sp) /* 0B4E44 8011E744 0040802D */ daddu $s0, $v0, $zero /* 0B4E48 8011E748 16000003 */ bnez $s0, .L8011E758 @@ -17188,7 +17198,7 @@ func_8011E9A4: /* 0B50D4 8011E9D4 14400004 */ bnez $v0, .L8011E9E8 /* 0B50D8 8011E9D8 AE020000 */ sw $v0, ($s0) /* 0B50DC 8011E9DC 8E040004 */ lw $a0, 4($s0) -/* 0B50E0 8011E9E0 0C00AB1E */ jal func_8002AC78 +/* 0B50E0 8011E9E0 0C00AB1E */ jal general_heap_free /* 0B50E4 8011E9E4 AE120000 */ sw $s2, ($s0) .L8011E9E8: /* 0B50E8 8011E9E8 26310001 */ addiu $s1, $s1, 1 @@ -17208,7 +17218,7 @@ func_8011E9A4: /* 0B5118 8011EA18 14400004 */ bnez $v0, .L8011EA2C /* 0B511C 8011EA1C AE020000 */ sw $v0, ($s0) /* 0B5120 8011EA20 8E040004 */ lw $a0, 4($s0) -/* 0B5124 8011EA24 0C00AB1E */ jal func_8002AC78 +/* 0B5124 8011EA24 0C00AB1E */ jal general_heap_free /* 0B5128 8011EA28 AE120000 */ sw $s2, ($s0) .L8011EA2C: /* 0B512C 8011EA2C 26310001 */ addiu $s1, $s1, 1 @@ -17307,7 +17317,7 @@ func_8011EB40: /* 0B5270 8011EB70 14400004 */ bnez $v0, .L8011EB84 /* 0B5274 8011EB74 AE020000 */ sw $v0, ($s0) /* 0B5278 8011EB78 8E040004 */ lw $a0, 4($s0) -/* 0B527C 8011EB7C 0C00AB1E */ jal func_8002AC78 +/* 0B527C 8011EB7C 0C00AB1E */ jal general_heap_free /* 0B5280 8011EB80 AE120000 */ sw $s2, ($s0) .L8011EB84: /* 0B5284 8011EB84 26310001 */ addiu $s1, $s1, 1 @@ -17327,7 +17337,7 @@ func_8011EB40: /* 0B52B4 8011EBB4 14400004 */ bnez $v0, .L8011EBC8 /* 0B52B8 8011EBB8 AE020000 */ sw $v0, ($s0) /* 0B52BC 8011EBBC 8E040004 */ lw $a0, 4($s0) -/* 0B52C0 8011EBC0 0C00AB1E */ jal func_8002AC78 +/* 0B52C0 8011EBC0 0C00AB1E */ jal general_heap_free /* 0B52C4 8011EBC4 AE120000 */ sw $s2, ($s0) .L8011EBC8: /* 0B52C8 8011EBC8 26310001 */ addiu $s1, $s1, 1 @@ -17735,13 +17745,13 @@ func_8011F118: /* 0B5848 8011F148 F7B60078 */ sdc1 $f22, 0x78($sp) /* 0B584C 8011F14C F7B40070 */ sdc1 $f20, 0x70($sp) /* 0B5850 8011F150 C66C009C */ lwc1 $f12, 0x9c($s3) -/* 0B5854 8011F154 0C00A6C9 */ jal func_80029B24 +/* 0B5854 8011F154 0C00A6C9 */ jal clamp_angle /* 0B5858 8011F158 00E0A82D */ daddu $s5, $a3, $zero /* 0B585C 8011F15C C66C00A0 */ lwc1 $f12, 0xa0($s3) -/* 0B5860 8011F160 0C00A6C9 */ jal func_80029B24 +/* 0B5860 8011F160 0C00A6C9 */ jal clamp_angle /* 0B5864 8011F164 46000586 */ mov.s $f22, $f0 /* 0B5868 8011F168 C66C00A4 */ lwc1 $f12, 0xa4($s3) -/* 0B586C 8011F16C 0C00A6C9 */ jal func_80029B24 +/* 0B586C 8011F16C 0C00A6C9 */ jal clamp_angle /* 0B5870 8011F170 46000506 */ mov.s $f20, $f0 /* 0B5874 8011F174 3C128015 */ lui $s2, 0x8015 /* 0B5878 8011F178 26523A68 */ addiu $s2, $s2, 0x3a68 @@ -17793,21 +17803,21 @@ func_8011F118: /* 0B5930 8011F230 0080302D */ daddu $a2, $a0, $zero /* 0B5934 8011F234 27A40010 */ addiu $a0, $sp, 0x10 .L8011F238: -/* 0B5938 8011F238 0C00A5C8 */ jal func_80029720 +/* 0B5938 8011F238 0C00A5C8 */ jal copy_matrix /* 0B593C 8011F23C 266500B4 */ addiu $a1, $s3, 0xb4 /* 0B5940 8011F240 966200F4 */ lhu $v0, 0xf4($s3) /* 0B5944 8011F244 30421000 */ andi $v0, $v0, 0x1000 /* 0B5948 8011F248 10400016 */ beqz $v0, .L8011F2A4 /* 0B594C 8011F24C 0000882D */ daddu $s1, $zero, $zero /* 0B5950 8011F250 8E6400FC */ lw $a0, 0xfc($s3) -/* 0B5954 8011F254 0C046C04 */ jal func_8011B010 +/* 0B5954 8011F254 0C046C04 */ jal get_model_list_index_from_tree_index /* 0B5958 8011F258 00000000 */ nop -/* 0B595C 8011F25C 0C046B4C */ jal func_8011AD30 +/* 0B595C 8011F25C 0C046B4C */ jal get_model_from_list_index /* 0B5960 8011F260 0040202D */ daddu $a0, $v0, $zero /* 0B5964 8011F264 27A40010 */ addiu $a0, $sp, 0x10 /* 0B5968 8011F268 0040802D */ daddu $s0, $v0, $zero /* 0B596C 8011F26C 26110058 */ addiu $s1, $s0, 0x58 -/* 0B5970 8011F270 0C00A5C8 */ jal func_80029720 +/* 0B5970 8011F270 0C00A5C8 */ jal copy_matrix /* 0B5974 8011F274 0220282D */ daddu $a1, $s1, $zero /* 0B5978 8011F278 27A40010 */ addiu $a0, $sp, 0x10 /* 0B597C 8011F27C 0C019D60 */ jal guMtxL2F @@ -17903,7 +17913,7 @@ func_8011F304: /* 0B5AC8 8011F3C8 AD000004 */ sw $zero, 4($t0) /* 0B5ACC 8011F3CC 80E20004 */ lb $v0, 4($a3) /* 0B5AD0 8011F3D0 0100202D */ daddu $a0, $t0, $zero -/* 0B5AD4 8011F3D4 0C047644 */ jal func_8011D910 +/* 0B5AD4 8011F3D4 0C047644 */ jal queue_render_task /* 0B5AD8 8011F3D8 AD020000 */ sw $v0, ($t0) .L8011F3DC: /* 0B5ADC 8011F3DC 8FBF0020 */ lw $ra, 0x20($sp) @@ -17967,7 +17977,7 @@ func_8011F3E8: /* 0B5BB4 8011F4B4 AD400004 */ sw $zero, 4($t2) /* 0B5BB8 8011F4B8 81220004 */ lb $v0, 4($t1) /* 0B5BBC 8011F4BC 0140202D */ daddu $a0, $t2, $zero -/* 0B5BC0 8011F4C0 0C047644 */ jal func_8011D910 +/* 0B5BC0 8011F4C0 0C047644 */ jal queue_render_task /* 0B5BC4 8011F4C4 AD420000 */ sw $v0, ($t2) .L8011F4C8: /* 0B5BC8 8011F4C8 8FBF0020 */ lw $ra, 0x20($sp) @@ -18570,7 +18580,7 @@ func_8011FD60: /* 0B6464 8011FD64 00000000 */ nop .L8011FD68: -/* 0B6468 8011FD68 0C00AB0A */ jal func_8002AC28 +/* 0B6468 8011FD68 0C00AB0A */ jal general_heap_malloc /* 0B646C 8011FD6C 000420C0 */ sll $a0, $a0, 3 /* 0B6470 8011FD70 0040982D */ daddu $s3, $v0, $zero /* 0B6474 8011FD74 16600003 */ bnez $s3, .L8011FD84 @@ -18856,7 +18866,7 @@ func_80120000: /* 0B6840 80120140 03E00008 */ jr $ra /* 0B6844 80120144 AC620000 */ sw $v0, ($v1) -func_80120148: +play_model_animation: /* 0B6848 80120148 2402F7FF */ addiu $v0, $zero, -0x801 /* 0B684C 8012014C 00822024 */ and $a0, $a0, $v0 /* 0B6850 80120150 3C028015 */ lui $v0, 0x8015 diff --git a/papermario/asm/code_ad90_len_2880.s b/papermario/asm/code_ad90_len_2880.s index f638f736e5..01ad6f6dfb 100644 --- a/papermario/asm/code_ad90_len_2880.s +++ b/papermario/asm/code_ad90_len_2880.s @@ -1,7 +1,7 @@ .section .text8002F990, "ax" -func_8002F990: +do_camera_type_6: /* 00AD90 8002F990 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 00AD94 8002F994 AFB00010 */ sw $s0, 0x10($sp) /* 00AD98 8002F998 0080802D */ daddu $s0, $a0, $zero @@ -111,10 +111,10 @@ func_8002F990: /* 00AF24 8002FB24 46800020 */ cvt.s.w $f0, $f0 /* 00AF28 8002FB28 E6000018 */ swc1 $f0, 0x18($s0) /* 00AF2C 8002FB2C 46161683 */ div.s $f26, $f2, $f22 -/* 00AF30 8002FB30 0C00A85B */ jal func_8002A16C +/* 00AF30 8002FB30 0C00A85B */ jal sin_rad /* 00AF34 8002FB34 4600D306 */ mov.s $f12, $f26 /* 00AF38 8002FB38 46000706 */ mov.s $f28, $f0 -/* 00AF3C 8002FB3C 0C00A874 */ jal func_8002A1D0 +/* 00AF3C 8002FB3C 0C00A874 */ jal cos_rad /* 00AF40 8002FB40 4600D306 */ mov.s $f12, $f26 /* 00AF44 8002FB44 461E0202 */ mul.s $f8, $f0, $f30 /* 00AF48 8002FB48 00000000 */ nop @@ -134,10 +134,10 @@ func_8002F990: /* 00AF80 8002FB80 46044780 */ add.s $f30, $f8, $f4 /* 00AF84 8002FB84 46061600 */ add.s $f24, $f2, $f6 /* 00AF88 8002FB88 46160683 */ div.s $f26, $f0, $f22 -/* 00AF8C 8002FB8C 0C00A85B */ jal func_8002A16C +/* 00AF8C 8002FB8C 0C00A85B */ jal sin_rad /* 00AF90 8002FB90 4600D306 */ mov.s $f12, $f26 /* 00AF94 8002FB94 46000706 */ mov.s $f28, $f0 -/* 00AF98 8002FB98 0C00A874 */ jal func_8002A1D0 +/* 00AF98 8002FB98 0C00A874 */ jal cos_rad /* 00AF9C 8002FB9C 4600D306 */ mov.s $f12, $f26 /* 00AFA0 8002FBA0 46140182 */ mul.s $f6, $f0, $f20 /* 00AFA4 8002FBA4 00000000 */ nop @@ -162,7 +162,7 @@ func_8002F990: /* 00AFEC 8002FBEC C60C003C */ lwc1 $f12, 0x3c($s0) /* 00AFF0 8002FBF0 C60E0044 */ lwc1 $f14, 0x44($s0) /* 00AFF4 8002FBF4 8E060048 */ lw $a2, 0x48($s0) -/* 00AFF8 8002FBF8 0C00A720 */ jal func_80029C80 +/* 00AFF8 8002FBF8 0C00A720 */ jal atan2 /* 00AFFC 8002FBFC 8E070050 */ lw $a3, 0x50($s0) /* 00B000 8002FC00 C6040048 */ lwc1 $f4, 0x48($s0) /* 00B004 8002FC04 4480B000 */ mtc1 $zero, $f22 @@ -178,7 +178,7 @@ func_8002F990: /* 00B02C 8002FC2C 4406A000 */ mfc1 $a2, $f20 /* 00B030 8002FC30 46022781 */ sub.s $f30, $f4, $f2 /* 00B034 8002FC34 4407C000 */ mfc1 $a3, $f24 -/* 00B038 8002FC38 0C00A720 */ jal func_80029C80 +/* 00B038 8002FC38 0C00A720 */ jal atan2 /* 00B03C 8002FC3C 4600B386 */ mov.s $f14, $f22 /* 00B040 8002FC40 4614A102 */ mul.s $f4, $f20, $f20 /* 00B044 8002FC44 00000000 */ nop @@ -199,7 +199,7 @@ func_8002F990: /* 00B07C 8002FC7C 46000007 */ neg.s $f0, $f0 /* 00B080 8002FC80 4406F000 */ mfc1 $a2, $f30 /* 00B084 8002FC84 44070000 */ mfc1 $a3, $f0 -/* 00B088 8002FC88 0C00A720 */ jal func_80029C80 +/* 00B088 8002FC88 0C00A720 */ jal atan2 /* 00B08C 8002FC8C 46006386 */ mov.s $f14, $f12 /* 00B090 8002FC90 E6000094 */ swc1 $f0, 0x94($s0) /* 00B094 8002FC94 C6000048 */ lwc1 $f0, 0x48($s0) @@ -222,6 +222,7 @@ func_8002F990: /* 00B0D8 8002FCD8 27BD0048 */ addiu $sp, $sp, 0x48 /* 00B0DC 8002FCDC 00000000 */ nop +do_camera_type_unused: /* 00B0E0 8002FCE0 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 00B0E4 8002FCE4 AFB00010 */ sw $s0, 0x10($sp) /* 00B0E8 8002FCE8 0080802D */ daddu $s0, $a0, $zero @@ -329,10 +330,10 @@ func_8002F990: /* 00B268 8002FE68 46800020 */ cvt.s.w $f0, $f0 /* 00B26C 8002FE6C E6000018 */ swc1 $f0, 0x18($s0) /* 00B270 8002FE70 46161683 */ div.s $f26, $f2, $f22 -/* 00B274 8002FE74 0C00A85B */ jal func_8002A16C +/* 00B274 8002FE74 0C00A85B */ jal sin_rad /* 00B278 8002FE78 4600D306 */ mov.s $f12, $f26 /* 00B27C 8002FE7C 46000706 */ mov.s $f28, $f0 -/* 00B280 8002FE80 0C00A874 */ jal func_8002A1D0 +/* 00B280 8002FE80 0C00A874 */ jal cos_rad /* 00B284 8002FE84 4600D306 */ mov.s $f12, $f26 /* 00B288 8002FE88 461E0202 */ mul.s $f8, $f0, $f30 /* 00B28C 8002FE8C 00000000 */ nop @@ -352,10 +353,10 @@ func_8002F990: /* 00B2C4 8002FEC4 46044780 */ add.s $f30, $f8, $f4 /* 00B2C8 8002FEC8 46061600 */ add.s $f24, $f2, $f6 /* 00B2CC 8002FECC 46160683 */ div.s $f26, $f0, $f22 -/* 00B2D0 8002FED0 0C00A85B */ jal func_8002A16C +/* 00B2D0 8002FED0 0C00A85B */ jal sin_rad /* 00B2D4 8002FED4 4600D306 */ mov.s $f12, $f26 /* 00B2D8 8002FED8 46000706 */ mov.s $f28, $f0 -/* 00B2DC 8002FEDC 0C00A874 */ jal func_8002A1D0 +/* 00B2DC 8002FEDC 0C00A874 */ jal cos_rad /* 00B2E0 8002FEE0 4600D306 */ mov.s $f12, $f26 /* 00B2E4 8002FEE4 46140182 */ mul.s $f6, $f0, $f20 /* 00B2E8 8002FEE8 00000000 */ nop @@ -380,7 +381,7 @@ func_8002F990: /* 00B330 8002FF30 C60C003C */ lwc1 $f12, 0x3c($s0) /* 00B334 8002FF34 C60E0044 */ lwc1 $f14, 0x44($s0) /* 00B338 8002FF38 8E060048 */ lw $a2, 0x48($s0) -/* 00B33C 8002FF3C 0C00A720 */ jal func_80029C80 +/* 00B33C 8002FF3C 0C00A720 */ jal atan2 /* 00B340 8002FF40 8E070050 */ lw $a3, 0x50($s0) /* 00B344 8002FF44 C6040048 */ lwc1 $f4, 0x48($s0) /* 00B348 8002FF48 4480B000 */ mtc1 $zero, $f22 @@ -396,7 +397,7 @@ func_8002F990: /* 00B370 8002FF70 4406A000 */ mfc1 $a2, $f20 /* 00B374 8002FF74 46022781 */ sub.s $f30, $f4, $f2 /* 00B378 8002FF78 4407C000 */ mfc1 $a3, $f24 -/* 00B37C 8002FF7C 0C00A720 */ jal func_80029C80 +/* 00B37C 8002FF7C 0C00A720 */ jal atan2 /* 00B380 8002FF80 4600B386 */ mov.s $f14, $f22 /* 00B384 8002FF84 4614A102 */ mul.s $f4, $f20, $f20 /* 00B388 8002FF88 00000000 */ nop @@ -417,7 +418,7 @@ func_8002F990: /* 00B3C0 8002FFC0 46000007 */ neg.s $f0, $f0 /* 00B3C4 8002FFC4 4406F000 */ mfc1 $a2, $f30 /* 00B3C8 8002FFC8 44070000 */ mfc1 $a3, $f0 -/* 00B3CC 8002FFCC 0C00A720 */ jal func_80029C80 +/* 00B3CC 8002FFCC 0C00A720 */ jal atan2 /* 00B3D0 8002FFD0 46006386 */ mov.s $f14, $f12 /* 00B3D4 8002FFD4 E6000094 */ swc1 $f0, 0x94($s0) /* 00B3D8 8002FFD8 8FBF0014 */ lw $ra, 0x14($sp) @@ -431,7 +432,7 @@ func_8002F990: /* 00B3F8 8002FFF8 03E00008 */ jr $ra /* 00B3FC 8002FFFC 27BD0048 */ addiu $sp, $sp, 0x48 -func_80030000: +do_camera_type_5: /* 00B400 80030000 3C014190 */ lui $at, 0x4190 /* 00B404 80030004 44810000 */ mtc1 $at, $f0 /* 00B408 80030008 3C01442C */ lui $at, 0x442c @@ -523,7 +524,7 @@ func_8003013C: /* 00B54C 8003014C 8E060048 */ lw $a2, 0x48($s0) /* 00B550 80030150 8E070050 */ lw $a3, 0x50($s0) /* 00B554 80030154 4480C000 */ mtc1 $zero, $f24 -/* 00B558 80030158 0C00A720 */ jal func_80029C80 +/* 00B558 80030158 0C00A720 */ jal atan2 /* 00B55C 8003015C 00000000 */ nop /* 00B560 80030160 4600C306 */ mov.s $f12, $f24 /* 00B564 80030164 4600C386 */ mov.s $f14, $f24 @@ -538,7 +539,7 @@ func_8003013C: /* 00B588 80030188 4406B000 */ mfc1 $a2, $f22 /* 00B58C 8003018C 4407A000 */ mfc1 $a3, $f20 /* 00B590 80030190 46022681 */ sub.s $f26, $f4, $f2 -/* 00B594 80030194 0C00A720 */ jal func_80029C80 +/* 00B594 80030194 0C00A720 */ jal atan2 /* 00B598 80030198 E600006C */ swc1 $f0, 0x6c($s0) /* 00B59C 8003019C 4616B082 */ mul.s $f2, $f22, $f22 /* 00B5A0 800301A0 00000000 */ nop @@ -559,7 +560,7 @@ func_8003013C: /* 00B5D8 800301D8 46000007 */ neg.s $f0, $f0 /* 00B5DC 800301DC 4406D000 */ mfc1 $a2, $f26 /* 00B5E0 800301E0 44070000 */ mfc1 $a3, $f0 -/* 00B5E4 800301E4 0C00A720 */ jal func_80029C80 +/* 00B5E4 800301E4 0C00A720 */ jal atan2 /* 00B5E8 800301E8 46006386 */ mov.s $f14, $f12 /* 00B5EC 800301EC E6000094 */ swc1 $f0, 0x94($s0) /* 00B5F0 800301F0 8FBF0014 */ lw $ra, 0x14($sp) @@ -613,7 +614,7 @@ func_80030210: /* 00B6A0 800302A0 E604003C */ swc1 $f4, 0x3c($s0) /* 00B6A4 800302A4 E6040048 */ swc1 $f4, 0x48($s0) /* 00B6A8 800302A8 46001503 */ div.s $f20, $f2, $f0 -/* 00B6AC 800302AC 0C00A874 */ jal func_8002A1D0 +/* 00B6AC 800302AC 0C00A874 */ jal cos_rad /* 00B6B0 800302B0 4600A306 */ mov.s $f12, $f20 /* 00B6B4 800302B4 C6020078 */ lwc1 $f2, 0x78($s0) /* 00B6B8 800302B8 46001082 */ mul.s $f2, $f2, $f0 @@ -629,7 +630,7 @@ func_80030210: /* 00B6E0 800302E0 E6060050 */ swc1 $f6, 0x50($s0) /* 00B6E4 800302E4 14400012 */ bnez $v0, .L80030330 /* 00B6E8 800302E8 E6020044 */ swc1 $f2, 0x44($s0) -/* 00B6EC 800302EC 0C00A85B */ jal func_8002A16C +/* 00B6EC 800302EC 0C00A85B */ jal sin_rad /* 00B6F0 800302F0 4600A306 */ mov.s $f12, $f20 /* 00B6F4 800302F4 C6040058 */ lwc1 $f4, 0x58($s0) /* 00B6F8 800302F8 C606004C */ lwc1 $f6, 0x4c($s0) @@ -667,7 +668,7 @@ func_8003034C: /* 00B76C 8003036C C44C0084 */ lwc1 $f12, 0x84($v0) /* 00B770 80030370 3C0142B4 */ lui $at, 0x42b4 /* 00B774 80030374 44817000 */ mtc1 $at, $f14 -/* 00B778 80030378 0C00A70A */ jal func_80029C28 +/* 00B778 80030378 0C00A70A */ jal get_clamped_angle_diff /* 00B77C 8003037C 0040882D */ daddu $s1, $v0, $zero /* 00B780 80030380 3C014234 */ lui $at, 0x4234 /* 00B784 80030384 4481A000 */ mtc1 $at, $f20 @@ -697,7 +698,7 @@ func_8003034C: /* 00B7D4 800303D4 C62C0084 */ lwc1 $f12, 0x84($s1) /* 00B7D8 800303D8 3C014387 */ lui $at, 0x4387 /* 00B7DC 800303DC 44817000 */ mtc1 $at, $f14 -/* 00B7E0 800303E0 0C00A70A */ jal func_80029C28 +/* 00B7E0 800303E0 0C00A70A */ jal get_clamped_angle_diff /* 00B7E4 800303E4 00000000 */ nop /* 00B7E8 800303E8 46000005 */ abs.s $f0, $f0 /* 00B7EC 800303EC 4614003C */ c.lt.s $f0, $f20 @@ -736,7 +737,7 @@ func_80030450: /* 00B850 80030450 03E00008 */ jr $ra /* 00B854 80030454 00000000 */ nop -func_80030458: +test_ray_zone_aabb: /* 00B858 80030458 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 00B85C 8003045C 3C0146FF */ lui $at, 0x46ff /* 00B860 80030460 3421FE00 */ ori $at, $at, 0xfe00 @@ -762,7 +763,7 @@ func_80030458: /* 00B8B0 800304B0 27A20050 */ addiu $v0, $sp, 0x50 /* 00B8B4 800304B4 E7A00010 */ swc1 $f0, 0x10($sp) /* 00B8B8 800304B8 E7A40014 */ swc1 $f4, 0x14($sp) -/* 00B8BC 800304BC 0C017449 */ jal func_8005D124 +/* 00B8BC 800304BC 0C017449 */ jal test_ray_zones /* 00B8C0 800304C0 AFA20030 */ sw $v0, 0x30($sp) /* 00B8C4 800304C4 0040182D */ daddu $v1, $v0, $zero /* 00B8C8 800304C8 04600008 */ bltz $v1, .L800304EC @@ -1056,7 +1057,7 @@ func_80030880: /* 00BCEC 800308EC 46001081 */ sub.s $f2, $f2, $f0 /* 00BCF0 800308F0 4600A306 */ mov.s $f12, $f20 /* 00BCF4 800308F4 44071000 */ mfc1 $a3, $f2 -/* 00BCF8 800308F8 0C00A720 */ jal func_80029C80 +/* 00BCF8 800308F8 0C00A720 */ jal atan2 /* 00BCFC 800308FC 4600A386 */ mov.s $f14, $f20 /* 00BD00 80030900 E6200000 */ swc1 $f0, ($s1) /* 00BD04 80030904 C6000004 */ lwc1 $f0, 4($s0) @@ -1123,7 +1124,7 @@ func_80030880: /* 00BDE8 800309E8 4600B587 */ neg.s $f22, $f22 /* 00BDEC 800309EC 4407B000 */ mfc1 $a3, $f22 /* 00BDF0 800309F0 44061000 */ mfc1 $a2, $f2 -/* 00BDF4 800309F4 0C00A720 */ jal func_80029C80 +/* 00BDF4 800309F4 0C00A720 */ jal atan2 /* 00BDF8 800309F8 46006386 */ mov.s $f14, $f12 /* 00BDFC 800309FC E6200000 */ swc1 $f0, ($s1) /* 00BE00 80030A00 C6000004 */ lwc1 $f0, 4($s0) @@ -1286,7 +1287,7 @@ func_80030C48: /* 00C048 80030C48 4406B000 */ mfc1 $a2, $f22 /* 00C04C 80030C4C 44806000 */ mtc1 $zero, $f12 /* 00C050 80030C50 4407A000 */ mfc1 $a3, $f20 -/* 00C054 80030C54 0C00A720 */ jal func_80029C80 +/* 00C054 80030C54 0C00A720 */ jal atan2 /* 00C058 80030C58 46006386 */ mov.s $f14, $f12 /* 00C05C 80030C5C E6200000 */ swc1 $f0, ($s1) /* 00C060 80030C60 C6000008 */ lwc1 $f0, 8($s0) @@ -1506,7 +1507,7 @@ func_80030F60: /* 00C38C 80030F8C 46001081 */ sub.s $f2, $f2, $f0 /* 00C390 80030F90 4600A306 */ mov.s $f12, $f20 /* 00C394 80030F94 44071000 */ mfc1 $a3, $f2 -/* 00C398 80030F98 0C00A720 */ jal func_80029C80 +/* 00C398 80030F98 0C00A720 */ jal atan2 /* 00C39C 80030F9C 4600A386 */ mov.s $f14, $f20 /* 00C3A0 80030FA0 E6200000 */ swc1 $f0, ($s1) /* 00C3A4 80030FA4 C6000004 */ lwc1 $f0, 4($s0) @@ -1535,7 +1536,7 @@ func_80030F60: /* 00C3F4 80030FF4 46001081 */ sub.s $f2, $f2, $f0 /* 00C3F8 80030FF8 4600A306 */ mov.s $f12, $f20 /* 00C3FC 80030FFC 44071000 */ mfc1 $a3, $f2 -/* 00C400 80031000 0C00A720 */ jal func_80029C80 +/* 00C400 80031000 0C00A720 */ jal atan2 /* 00C404 80031004 4600A386 */ mov.s $f14, $f20 /* 00C408 80031008 E6200000 */ swc1 $f0, ($s1) /* 00C40C 8003100C C6000004 */ lwc1 $f0, 4($s0) @@ -1624,7 +1625,7 @@ func_80031130: /* 00C530 80031130 4406B000 */ mfc1 $a2, $f22 /* 00C534 80031134 44806000 */ mtc1 $zero, $f12 /* 00C538 80031138 4407A000 */ mfc1 $a3, $f20 -/* 00C53C 8003113C 0C00A720 */ jal func_80029C80 +/* 00C53C 8003113C 0C00A720 */ jal atan2 /* 00C540 80031140 46006386 */ mov.s $f14, $f12 /* 00C544 80031144 E6200000 */ swc1 $f0, ($s1) /* 00C548 80031148 C6000008 */ lwc1 $f0, 8($s0) @@ -1665,7 +1666,7 @@ func_800311C0: /* 00C5C0 800311C0 4406B000 */ mfc1 $a2, $f22 /* 00C5C4 800311C4 44806000 */ mtc1 $zero, $f12 /* 00C5C8 800311C8 4407A000 */ mfc1 $a3, $f20 -/* 00C5CC 800311CC 0C00A720 */ jal func_80029C80 +/* 00C5CC 800311CC 0C00A720 */ jal atan2 /* 00C5D0 800311D0 46006386 */ mov.s $f14, $f12 /* 00C5D4 800311D4 E6200000 */ swc1 $f0, ($s1) /* 00C5D8 800311D8 C6000008 */ lwc1 $f0, 8($s0) @@ -1703,7 +1704,7 @@ func_80031208: /* 00C63C 8003123C 46001081 */ sub.s $f2, $f2, $f0 /* 00C640 80031240 4600A306 */ mov.s $f12, $f20 /* 00C644 80031244 44071000 */ mfc1 $a3, $f2 -/* 00C648 80031248 0C00A720 */ jal func_80029C80 +/* 00C648 80031248 0C00A720 */ jal atan2 /* 00C64C 8003124C 4600A386 */ mov.s $f14, $f20 /* 00C650 80031250 E6200000 */ swc1 $f0, ($s1) /* 00C654 80031254 C6000004 */ lwc1 $f0, 4($s0) @@ -1860,7 +1861,7 @@ func_800313C0: /* 00C88C 8003148C 03E00008 */ jr $ra /* 00C890 80031490 27BD0080 */ addiu $sp, $sp, 0x80 -func_80031494: +do_camera_type_3: /* 00C894 80031494 27BDFF80 */ addiu $sp, $sp, -0x80 /* 00C898 80031498 AFB10044 */ sw $s1, 0x44($sp) /* 00C89C 8003149C 0080882D */ daddu $s1, $a0, $zero @@ -2019,7 +2020,7 @@ func_80031494: /* 00CAE0 800316E0 44817000 */ mtc1 $at, $f14 /* 00CAE4 800316E4 8FA6003C */ lw $a2, 0x3c($sp) /* 00CAE8 800316E8 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 00CAEC 800316EC 0C00C116 */ jal func_80030458 +/* 00CAEC 800316EC 0C00C116 */ jal test_ray_zone_aabb /* 00CAF0 800316F0 460EF380 */ add.s $f14, $f30, $f14 /* 00CAF4 800316F4 0040202D */ daddu $a0, $v0, $zero .L800316F8: @@ -2496,7 +2497,7 @@ func_80031A30: /* 00D1A0 80031DA0 4638B582 */ mul.d $f22, $f22, $f24 /* 00D1A4 80031DA4 00000000 */ nop /* 00D1A8 80031DA8 4620B5A0 */ cvt.s.d $f22, $f22 -/* 00D1AC 80031DAC 0C00A874 */ jal func_8002A1D0 +/* 00D1AC 80031DAC 0C00A874 */ jal cos_rad /* 00D1B0 80031DB0 4600B306 */ mov.s $f12, $f22 /* 00D1B4 80031DB4 C62C0488 */ lwc1 $f12, 0x488($s1) /* 00D1B8 80031DB8 46006321 */ cvt.d.s $f12, $f12 @@ -2515,10 +2516,10 @@ func_80031A30: /* 00D1EC 80031DEC 4481A000 */ mtc1 $at, $f20 /* 00D1F0 80031DF0 46226300 */ add.d $f12, $f12, $f2 /* 00D1F4 80031DF4 4618A603 */ div.s $f24, $f20, $f24 -/* 00D1F8 80031DF8 0C00A874 */ jal func_8002A1D0 +/* 00D1F8 80031DF8 0C00A874 */ jal cos_rad /* 00D1FC 80031DFC 46206320 */ cvt.s.d $f12, $f12 /* 00D200 80031E00 4600B306 */ mov.s $f12, $f22 -/* 00D204 80031E04 0C00A874 */ jal func_8002A1D0 +/* 00D204 80031E04 0C00A874 */ jal cos_rad /* 00D208 80031E08 460005A1 */ cvt.d.s $f22, $f0 /* 00D20C 80031E0C 46000021 */ cvt.d.s $f0, $f0 /* 00D210 80031E10 4620E001 */ sub.d $f0, $f28, $f0 @@ -2638,22 +2639,22 @@ func_80031A30: /* 00D3D0 80031FD0 3C01800A */ lui $at, 0x800a /* 00D3D4 80031FD4 C42008E0 */ lwc1 $f0, 0x8e0($at) /* 00D3D8 80031FD8 4600A500 */ add.s $f20, $f20, $f0 -/* 00D3DC 80031FDC 0C00A8BB */ jal func_8002A2EC +/* 00D3DC 80031FDC 0C00A8BB */ jal sin_deg /* 00D3E0 80031FE0 4600A306 */ mov.s $f12, $f20 /* 00D3E4 80031FE4 4600A306 */ mov.s $f12, $f20 -/* 00D3E8 80031FE8 0C00A8D4 */ jal func_8002A350 +/* 00D3E8 80031FE8 0C00A8D4 */ jal cos_deg /* 00D3EC 80031FEC 46000686 */ mov.s $f26, $f0 /* 00D3F0 80031FF0 3C10800A */ lui $s0, 0x800a /* 00D3F4 80031FF4 261008DC */ addiu $s0, $s0, 0x8dc /* 00D3F8 80031FF8 C6420008 */ lwc1 $f2, 8($s2) /* 00D3FC 80031FFC C60C0000 */ lwc1 $f12, ($s0) /* 00D400 80032000 460C1300 */ add.s $f12, $f2, $f12 -/* 00D404 80032004 0C00A8D4 */ jal func_8002A350 +/* 00D404 80032004 0C00A8D4 */ jal cos_deg /* 00D408 80032008 46000607 */ neg.s $f24, $f0 /* 00D40C 8003200C C6420008 */ lwc1 $f2, 8($s2) /* 00D410 80032010 C60C0000 */ lwc1 $f12, ($s0) /* 00D414 80032014 460C1300 */ add.s $f12, $f2, $f12 -/* 00D418 80032018 0C00A8BB */ jal func_8002A2EC +/* 00D418 80032018 0C00A8BB */ jal sin_deg /* 00D41C 8003201C 46000586 */ mov.s $f22, $f0 /* 00D420 80032020 96220002 */ lhu $v0, 2($s1) /* 00D424 80032024 30420002 */ andi $v0, $v0, 2 @@ -2683,11 +2684,11 @@ func_80031A30: /* 00D480 80032080 46020001 */ sub.s $f0, $f0, $f2 /* 00D484 80032084 E6200044 */ swc1 $f0, 0x44($s1) /* 00D488 80032088 C64C000C */ lwc1 $f12, 0xc($s2) -/* 00D48C 8003208C 0C00A8D4 */ jal func_8002A350 +/* 00D48C 8003208C 0C00A8D4 */ jal cos_deg /* 00D490 80032090 46006307 */ neg.s $f12, $f12 /* 00D494 80032094 C64C000C */ lwc1 $f12, 0xc($s2) /* 00D498 80032098 46000586 */ mov.s $f22, $f0 -/* 00D49C 8003209C 0C00A8BB */ jal func_8002A2EC +/* 00D49C 8003209C 0C00A8BB */ jal sin_deg /* 00D4A0 800320A0 46006307 */ neg.s $f12, $f12 /* 00D4A4 800320A4 C624003C */ lwc1 $f4, 0x3c($s1) /* 00D4A8 800320A8 C6420010 */ lwc1 $f2, 0x10($s2) @@ -2711,7 +2712,7 @@ func_80031A30: /* 00D4E8 800320E8 C62C003C */ lwc1 $f12, 0x3c($s1) /* 00D4EC 800320EC C62E0044 */ lwc1 $f14, 0x44($s1) /* 00D4F0 800320F0 8C460010 */ lw $a2, 0x10($v0) -/* 00D4F4 800320F4 0C00A7B5 */ jal func_80029ED4 +/* 00D4F4 800320F4 0C00A7B5 */ jal dist2D /* 00D4F8 800320F8 8C470018 */ lw $a3, 0x18($v0) /* 00D4FC 800320FC 46000106 */ mov.s $f4, $f0 func_80032100: diff --git a/papermario/asm/code_b72b0_len_15ed0.s b/papermario/asm/code_b72b0_len_15ed0.s index 1c3b823d7c..163a907e95 100644 --- a/papermario/asm/code_b72b0_len_15ed0.s +++ b/papermario/asm/code_b72b0_len_15ed0.s @@ -114,7 +114,7 @@ func_80120D28: /* 0B742C 80120D2C 00000000 */ nop .L80120D30: -/* 0B7430 80120D30 0C00AB39 */ jal func_8002ACE4 +/* 0B7430 80120D30 0C00AB39 */ jal heap_malloc /* 0B7434 80120D34 24040068 */ addiu $a0, $zero, 0x68 /* 0B7438 80120D38 00102080 */ sll $a0, $s0, 2 /* 0B743C 80120D3C 3C038015 */ lui $v1, 0x8015 @@ -192,7 +192,7 @@ func_80120E30: /* 0B7534 80120E34 00000000 */ nop .L80120E38: -/* 0B7538 80120E38 0C00AB39 */ jal func_8002ACE4 +/* 0B7538 80120E38 0C00AB39 */ jal heap_malloc /* 0B753C 80120E3C 24040068 */ addiu $a0, $zero, 0x68 /* 0B7540 80120E40 00112080 */ sll $a0, $s1, 2 /* 0B7544 80120E44 3C038015 */ lui $v1, 0x8015 @@ -211,7 +211,7 @@ func_80120E70: /* 0B7574 80120E74 00000000 */ nop .L80120E78: -/* 0B7578 80120E78 0C00AB39 */ jal func_8002ACE4 +/* 0B7578 80120E78 0C00AB39 */ jal heap_malloc /* 0B757C 80120E7C 24040010 */ addiu $a0, $zero, 0x10 /* 0B7580 80120E80 14400003 */ bnez $v0, .L80120E90 /* 0B7584 80120E84 AE020014 */ sw $v0, 0x14($s0) @@ -1295,7 +1295,7 @@ func_80121CE8: /* 0B8524 80121E24 4407A000 */ mfc1 $a3, $f20 /* 0B8528 80121E28 27A20084 */ addiu $v0, $sp, 0x84 /* 0B852C 80121E2C AFA20020 */ sw $v0, 0x20($sp) -/* 0B8530 80121E30 0C00A588 */ jal func_80029620 +/* 0B8530 80121E30 0C00A588 */ jal transform_point /* 0B8534 80121E34 E7A00010 */ swc1 $f0, 0x10($sp) /* 0B8538 80121E38 82030004 */ lb $v1, 4($s0) /* 0B853C 80121E3C 3C028012 */ lui $v0, 0x8012 @@ -1321,7 +1321,7 @@ func_80121CE8: /* 0B8588 80121E88 46140000 */ add.s $f0, $f0, $f20 /* 0B858C 80121E8C 0220202D */ daddu $a0, $s1, $zero /* 0B8590 80121E90 4600010D */ trunc.w.s $f4, $f0 -/* 0B8594 80121E94 0C047644 */ jal func_8011D910 +/* 0B8594 80121E94 0C047644 */ jal queue_render_task /* 0B8598 80121E98 E4840004 */ swc1 $f4, 4($a0) .L80121E9C: /* 0B859C 80121E9C 8FBF0094 */ lw $ra, 0x94($sp) @@ -1417,7 +1417,7 @@ func_80121EB8: /* 0B86F4 80121FF4 4407A000 */ mfc1 $a3, $f20 /* 0B86F8 80121FF8 27A20084 */ addiu $v0, $sp, 0x84 /* 0B86FC 80121FFC AFA20020 */ sw $v0, 0x20($sp) -/* 0B8700 80122000 0C00A588 */ jal func_80029620 +/* 0B8700 80122000 0C00A588 */ jal transform_point /* 0B8704 80122004 E7A00010 */ swc1 $f0, 0x10($sp) /* 0B8708 80122008 82030004 */ lb $v1, 4($s0) /* 0B870C 8012200C 3C028012 */ lui $v0, 0x8012 @@ -1443,7 +1443,7 @@ func_80121EB8: /* 0B8758 80122058 46140000 */ add.s $f0, $f0, $f20 /* 0B875C 8012205C 0220202D */ daddu $a0, $s1, $zero /* 0B8760 80122060 4600010D */ trunc.w.s $f4, $f0 -/* 0B8764 80122064 0C047644 */ jal func_8011D910 +/* 0B8764 80122064 0C047644 */ jal queue_render_task /* 0B8768 80122068 E4840004 */ swc1 $f4, 4($a0) .L8012206C: /* 0B876C 8012206C 8FBF0094 */ lw $ra, 0x94($sp) @@ -1515,7 +1515,7 @@ func_80121EB8: /* 0B8868 80122168 0100202D */ daddu $a0, $t0, $zero /* 0B886C 8012216C 3042F000 */ andi $v0, $v0, 0xf000 /* 0B8870 80122170 00021202 */ srl $v0, $v0, 8 -/* 0B8874 80122174 0C047644 */ jal func_8011D910 +/* 0B8874 80122174 0C047644 */ jal queue_render_task /* 0B8878 80122178 AD020004 */ sw $v0, 4($t0) .L8012217C: /* 0B887C 8012217C 8FBF0020 */ lw $ra, 0x20($sp) @@ -1583,7 +1583,7 @@ func_80121EB8: /* 0B8968 80122268 0140202D */ daddu $a0, $t2, $zero /* 0B896C 8012226C 3042F000 */ andi $v0, $v0, 0xf000 /* 0B8970 80122270 00021202 */ srl $v0, $v0, 8 -/* 0B8974 80122274 0C047644 */ jal func_8011D910 +/* 0B8974 80122274 0C047644 */ jal queue_render_task /* 0B8978 80122278 AD420004 */ sw $v0, 4($t2) .L8012227C: /* 0B897C 8012227C 8FBF0020 */ lw $ra, 0x20($sp) @@ -2397,12 +2397,12 @@ func_80122DFC: /* 0B953C 80122E3C 30420400 */ andi $v0, $v0, 0x400 /* 0B9540 80122E40 10400003 */ beqz $v0, .L80122E50 /* 0B9544 80122E44 00000000 */ nop -/* 0B9548 80122E48 0C00AB4B */ jal func_8002AD2C +/* 0B9548 80122E48 0C00AB4B */ jal heap_free /* 0B954C 80122E4C 8C640014 */ lw $a0, 0x14($v1) .L80122E50: /* 0B9550 80122E50 8E220000 */ lw $v0, ($s1) /* 0B9554 80122E54 02021021 */ addu $v0, $s0, $v0 -/* 0B9558 80122E58 0C00AB4B */ jal func_8002AD2C +/* 0B9558 80122E58 0C00AB4B */ jal heap_free /* 0B955C 80122E5C 8C440000 */ lw $a0, ($v0) /* 0B9560 80122E60 3C048015 */ lui $a0, 0x8015 /* 0B9564 80122E64 24841318 */ addiu $a0, $a0, 0x1318 @@ -2576,6 +2576,7 @@ func_80122F64: /* 0B97A8 801230A8 03E00008 */ jr $ra /* 0B97AC 801230AC ACE20000 */ sw $v0, ($a3) +stub_item_entity_nodraw: /* 0B97B0 801230B0 03E00008 */ jr $ra /* 0B97B4 801230B4 00000000 */ nop @@ -2657,7 +2658,7 @@ func_801231A8: /* 0B98AC 801231AC 00000000 */ nop .L801231B0: -/* 0B98B0 801231B0 0C00AB39 */ jal func_8002ACE4 +/* 0B98B0 801231B0 0C00AB39 */ jal heap_malloc /* 0B98B4 801231B4 2404000C */ addiu $a0, $zero, 0xc /* 0B98B8 801231B8 3C048015 */ lui $a0, 0x8015 /* 0B98BC 801231BC 8C844420 */ lw $a0, 0x4420($a0) @@ -2727,7 +2728,7 @@ func_8012328C: /* 0B9990 80123290 00000000 */ nop .L80123294: -/* 0B9994 80123294 0C00AB39 */ jal func_8002ACE4 +/* 0B9994 80123294 0C00AB39 */ jal heap_malloc /* 0B9998 80123298 2404000C */ addiu $a0, $zero, 0xc /* 0B999C 8012329C 3C048015 */ lui $a0, 0x8015 /* 0B99A0 801232A0 8C844420 */ lw $a0, 0x4420($a0) @@ -2797,7 +2798,7 @@ func_80123370: /* 0B9A74 80123374 00000000 */ nop .L80123378: -/* 0B9A78 80123378 0C00AB39 */ jal func_8002ACE4 +/* 0B9A78 80123378 0C00AB39 */ jal heap_malloc /* 0B9A7C 8012337C 2404000C */ addiu $a0, $zero, 0xc /* 0B9A80 80123380 3C048015 */ lui $a0, 0x8015 /* 0B9A84 80123384 8C844420 */ lw $a0, 0x4420($a0) @@ -2989,7 +2990,7 @@ func_801235C0: /* 0B9D08 80123608 8C440000 */ lw $a0, ($v0) /* 0B9D0C 8012360C 10800006 */ beqz $a0, .L80123628 /* 0B9D10 80123610 00000000 */ nop -/* 0B9D14 80123614 0C00AB4B */ jal func_8002AD2C +/* 0B9D14 80123614 0C00AB4B */ jal heap_free /* 0B9D18 80123618 00000000 */ nop /* 0B9D1C 8012361C 8E220000 */ lw $v0, ($s1) /* 0B9D20 80123620 02021021 */ addu $v0, $s0, $v0 @@ -3012,14 +3013,14 @@ func_8012363C: /* 0B9D58 80123658 8C820000 */ lw $v0, ($a0) /* 0B9D5C 8012365C 00000000 */ nop -func_80123660: +clear_character_set: /* 0B9D60 80123660 2402FFFF */ addiu $v0, $zero, -1 /* 0B9D64 80123664 3C018015 */ lui $at, 0x8015 /* 0B9D68 80123668 A4225C98 */ sh $v0, 0x5c98($at) /* 0B9D6C 8012366C 03E00008 */ jr $ra /* 0B9D70 80123670 00000000 */ nop -func_80123674: +clear_printers: /* 0B9D74 80123674 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0B9D78 80123678 AFB00010 */ sw $s0, 0x10($sp) /* 0B9D7C 8012367C 0000802D */ daddu $s0, $zero, $zero @@ -3030,7 +3031,7 @@ func_80123674: .L80123690: /* 0B9D90 80123690 0220202D */ daddu $a0, $s1, $zero /* 0B9D94 80123694 0000282D */ daddu $a1, $zero, $zero -/* 0B9D98 80123698 0C0495A9 */ jal func_801256A4 +/* 0B9D98 80123698 0C0495A9 */ jal initialize_printer /* 0B9D9C 8012369C 00A0302D */ daddu $a2, $a1, $zero /* 0B9DA0 801236A0 26100001 */ addiu $s0, $s0, 1 /* 0B9DA4 801236A4 2A020003 */ slti $v0, $s0, 3 @@ -3052,7 +3053,7 @@ func_80123674: /* 0B9DE0 801236E0 AC201338 */ sw $zero, 0x1338($at) /* 0B9DE4 801236E4 3C018015 */ lui $at, 0x8015 /* 0B9DE8 801236E8 A42012E4 */ sh $zero, 0x12e4($at) -/* 0B9DEC 801236EC 0C048DCD */ jal func_80123734 +/* 0B9DEC 801236EC 0C048DCD */ jal load_font /* 0B9DF0 801236F0 0000202D */ daddu $a0, $zero, $zero /* 0B9DF4 801236F4 8FBF0018 */ lw $ra, 0x18($sp) /* 0B9DF8 801236F8 8FB10014 */ lw $s1, 0x14($sp) @@ -3060,20 +3061,20 @@ func_80123674: /* 0B9E00 80123700 03E00008 */ jr $ra /* 0B9E04 80123704 27BD0020 */ addiu $sp, $sp, 0x20 -func_80123708: +load_font_data: /* 0B9E08 80123708 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0B9E0C 8012370C 3C020011 */ lui $v0, 0x11 /* 0B9E10 80123710 2442F1B0 */ addiu $v0, $v0, -0xe50 /* 0B9E14 80123714 00822021 */ addu $a0, $a0, $v0 /* 0B9E18 80123718 30A5FFFF */ andi $a1, $a1, 0xffff /* 0B9E1C 8012371C AFBF0010 */ sw $ra, 0x10($sp) -/* 0B9E20 80123720 0C00A5CF */ jal func_8002973C +/* 0B9E20 80123720 0C00A5CF */ jal dma_copy /* 0B9E24 80123724 00852821 */ addu $a1, $a0, $a1 /* 0B9E28 80123728 8FBF0010 */ lw $ra, 0x10($sp) /* 0B9E2C 8012372C 03E00008 */ jr $ra /* 0B9E30 80123730 27BD0018 */ addiu $sp, $sp, 0x18 -func_80123734: +load_font: /* 0B9E34 80123734 3C028015 */ lui $v0, 0x8015 /* 0B9E38 80123738 84425C98 */ lh $v0, 0x5c98($v0) /* 0B9E3C 8012373C 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -3085,7 +3086,7 @@ func_80123734: /* 0B9E54 80123754 24840000 */ addiu $a0, $a0, 0 /* 0B9E58 80123758 3C06802F */ lui $a2, 0x802f /* 0B9E5C 8012375C 24C6E8D0 */ addiu $a2, $a2, -0x1730 -/* 0B9E60 80123760 0C048DC2 */ jal func_80123708 +/* 0B9E60 80123760 0C048DC2 */ jal load_font_data /* 0B9E64 80123764 24055100 */ addiu $a1, $zero, 0x5100 /* 0B9E68 80123768 3C040000 */ lui $a0, 0 /* 0B9E6C 8012376C 24845300 */ addiu $a0, $a0, 0x5300 @@ -3099,13 +3100,13 @@ func_80123734: /* 0B9E84 80123784 24845800 */ addiu $a0, $a0, 0x5800 /* 0B9E88 80123788 3C06802F */ lui $a2, 0x802f /* 0B9E8C 8012378C 24C6D970 */ addiu $a2, $a2, -0x2690 -/* 0B9E90 80123790 0C048DC2 */ jal func_80123708 +/* 0B9E90 80123790 0C048DC2 */ jal load_font_data /* 0B9E94 80123794 24050F60 */ addiu $a1, $zero, 0xf60 /* 0B9E98 80123798 3C040000 */ lui $a0, 0 /* 0B9E9C 8012379C 24846760 */ addiu $a0, $a0, 0x6760 /* 0B9EA0 801237A0 3C06802F */ lui $a2, 0x802f /* 0B9EA4 801237A4 24C639D0 */ addiu $a2, $a2, 0x39d0 -/* 0B9EA8 801237A8 0C048DC2 */ jal func_80123708 +/* 0B9EA8 801237A8 0C048DC2 */ jal load_font_data /* 0B9EAC 801237AC 24050B88 */ addiu $a1, $zero, 0xb88 /* 0B9EB0 801237B0 3C040000 */ lui $a0, 0 /* 0B9EB4 801237B4 248472E8 */ addiu $a0, $a0, 0x72e8 @@ -3113,14 +3114,14 @@ func_80123734: func_801237BC: /* 0B9EBC 801237BC 3C06802F */ lui $a2, 0x802f /* 0B9EC0 801237C0 24C64560 */ addiu $a2, $a2, 0x4560 -/* 0B9EC4 801237C4 0C048DC2 */ jal func_80123708 +/* 0B9EC4 801237C4 0C048DC2 */ jal load_font_data /* 0B9EC8 801237C8 00000000 */ nop .L801237CC: /* 0B9ECC 801237CC 8FBF0010 */ lw $ra, 0x10($sp) /* 0B9ED0 801237D0 03E00008 */ jr $ra /* 0B9ED4 801237D4 27BD0018 */ addiu $sp, $sp, 0x18 -func_801237D8: +update_messages: /* 0B9ED8 801237D8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0B9EDC 801237DC 3C038015 */ lui $v1, 0x8015 /* 0B9EE0 801237E0 246312E4 */ addiu $v1, $v1, 0x12e4 @@ -3143,7 +3144,7 @@ func_801237D8: /* 0B9F1C 8012381C 30420002 */ andi $v0, $v0, 2 /* 0B9F20 80123820 50400004 */ beql $v0, $zero, .L80123834 /* 0B9F24 80123824 26310001 */ addiu $s1, $s1, 1 -/* 0B9F28 80123828 0C048E26 */ jal func_80123898 +/* 0B9F28 80123828 0C048E26 */ jal _update_message /* 0B9F2C 8012382C 0200202D */ daddu $a0, $s0, $zero /* 0B9F30 80123830 26310001 */ addiu $s1, $s1, 1 .L80123834: @@ -3175,7 +3176,7 @@ func_801237D8: /* 0B9F90 80123890 03E00008 */ jr $ra /* 0B9F94 80123894 27BD0020 */ addiu $sp, $sp, 0x20 -func_80123898: +_update_message: /* 0B9F98 80123898 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0B9F9C 8012389C AFB00010 */ sw $s0, 0x10($sp) /* 0B9FA0 801238A0 0080802D */ daddu $s0, $a0, $zero @@ -3346,7 +3347,7 @@ func_80123AE0: .L80123AE0: /* 0BA1E0 80123AE0 0000282D */ daddu $a1, $zero, $zero /* 0BA1E4 80123AE4 00A0302D */ daddu $a2, $a1, $zero -/* 0BA1E8 80123AE8 0C0526AE */ jal func_80149AB8 +/* 0BA1E8 80123AE8 0C0526AE */ jal _play_sound /* 0BA1EC 80123AEC 00A0382D */ daddu $a3, $a1, $zero /* 0BA1F0 80123AF0 08048F72 */ j func_80123DC8 /* 0BA1F4 80123AF4 00000000 */ nop @@ -3422,7 +3423,7 @@ func_80123BC8: /* 0BA2E8 80123BE8 04420001 */ bltzl $v0, .L80123BF0 /* 0BA2EC 80123BEC 00021023 */ negu $v0, $v0 .L80123BF0: -/* 0BA2F0 80123BF0 0C0526AE */ jal func_80149AB8 +/* 0BA2F0 80123BF0 0C0526AE */ jal _play_sound /* 0BA2F4 80123BF4 A60204C8 */ sh $v0, 0x4c8($s0) /* 0BA2F8 80123BF8 08048F72 */ j func_80123DC8 /* 0BA2FC 80123BFC 00000000 */ nop @@ -3517,7 +3518,7 @@ func_80123D2C: /* 0BA438 80123D38 24020001 */ addiu $v0, $zero, 1 /* 0BA43C 80123D3C A20204ED */ sb $v0, 0x4ed($s0) func_80123D40: -/* 0BA440 80123D40 0C0526AE */ jal func_80149AB8 +/* 0BA440 80123D40 0C0526AE */ jal _play_sound /* 0BA444 80123D44 00000000 */ nop .L80123D48: /* 0BA448 80123D48 920304F8 */ lbu $v1, 0x4f8($s0) @@ -3841,25 +3842,25 @@ func_80124174: /* 0BA888 80124188 A20004F8 */ sb $zero, 0x4f8($s0) /* 0BA88C 8012418C 10800003 */ beqz $a0, .L8012419C /* 0BA890 80124190 AE0004FC */ sw $zero, 0x4fc($s0) -/* 0BA894 80124194 0C00AB1E */ jal func_8002AC78 +/* 0BA894 80124194 0C00AB1E */ jal general_heap_free /* 0BA898 80124198 00000000 */ nop .L8012419C: /* 0BA89C 8012419C 8E040548 */ lw $a0, 0x548($s0) /* 0BA8A0 801241A0 10800003 */ beqz $a0, .L801241B0 /* 0BA8A4 801241A4 00000000 */ nop -/* 0BA8A8 801241A8 0C00AB1E */ jal func_8002AC78 +/* 0BA8A8 801241A8 0C00AB1E */ jal general_heap_free /* 0BA8AC 801241AC 00000000 */ nop .L801241B0: /* 0BA8B0 801241B0 8E04054C */ lw $a0, 0x54c($s0) /* 0BA8B4 801241B4 10800003 */ beqz $a0, .L801241C4 /* 0BA8B8 801241B8 00000000 */ nop -/* 0BA8BC 801241BC 0C00AB1E */ jal func_8002AC78 +/* 0BA8BC 801241BC 0C00AB1E */ jal general_heap_free /* 0BA8C0 801241C0 00000000 */ nop .L801241C4: /* 0BA8C4 801241C4 8E040550 */ lw $a0, 0x550($s0) /* 0BA8C8 801241C8 10800003 */ beqz $a0, .L801241D8 /* 0BA8CC 801241CC 00000000 */ nop -/* 0BA8D0 801241D0 0C00AB1E */ jal func_8002AC78 +/* 0BA8D0 801241D0 0C00AB1E */ jal general_heap_free /* 0BA8D4 801241D4 00000000 */ nop .L801241D8: /* 0BA8D8 801241D8 8E030504 */ lw $v1, 0x504($s0) @@ -3875,7 +3876,7 @@ func_80124174: /* 0BA8FC 801241FC 03E00008 */ jr $ra /* 0BA900 80124200 27BD0020 */ addiu $sp, $sp, 0x20 -func_80124204: +render_messages: /* 0BA904 80124204 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0BA908 80124208 AFB10024 */ sw $s1, 0x24($sp) /* 0BA90C 8012420C 0000882D */ daddu $s1, $zero, $zero @@ -4074,7 +4075,7 @@ func_80124434: /* 0BABD8 801244D8 9602051C */ lhu $v0, 0x51c($s0) /* 0BABDC 801244DC 00031840 */ sll $v1, $v1, 1 /* 0BABE0 801244E0 2442FF9C */ addiu $v0, $v0, -0x64 -/* 0BABE4 801244E4 0C00A67F */ jal func_800299FC +/* 0BABE4 801244E4 0C00A67F */ jal rand_int /* 0BABE8 801244E8 00629021 */ addu $s2, $v1, $v0 /* 0BABEC 801244EC 2442004E */ addiu $v0, $v0, 0x4e /* 0BABF0 801244F0 44820000 */ mtc1 $v0, $f0 @@ -4104,7 +4105,7 @@ func_80124434: /* 0BAC44 80124544 8E040524 */ lw $a0, 0x524($s0) func_80124548: /* 0BAC48 80124548 9206051A */ lbu $a2, 0x51a($s0) -/* 0BAC4C 8012454C 0C0526AE */ jal func_80149AB8 +/* 0BAC4C 8012454C 0C0526AE */ jal _play_sound /* 0BAC50 80124550 00073C03 */ sra $a3, $a3, 0x10 .L80124554: /* 0BAC54 80124554 8FBF001C */ lw $ra, 0x1c($sp) @@ -4202,7 +4203,7 @@ func_80124650: /* 0BADA8 801246A8 240400CB */ addiu $a0, $zero, 0xcb /* 0BADAC 801246AC 0000282D */ daddu $a1, $zero, $zero /* 0BADB0 801246B0 00A0302D */ daddu $a2, $a1, $zero -/* 0BADB4 801246B4 0C0526AE */ jal func_80149AB8 +/* 0BADB4 801246B4 0C0526AE */ jal _play_sound /* 0BADB8 801246B8 00A0382D */ daddu $a3, $a1, $zero /* 0BADBC 801246BC 08049580 */ j func_80125600 /* 0BADC0 801246C0 00000000 */ nop @@ -4365,7 +4366,7 @@ func_80124650: /* 0BB004 80124904 2404021C */ addiu $a0, $zero, 0x21c /* 0BB008 80124908 0000282D */ daddu $a1, $zero, $zero /* 0BB00C 8012490C 00A0302D */ daddu $a2, $a1, $zero -/* 0BB010 80124910 0C0526AE */ jal func_80149AB8 +/* 0BB010 80124910 0C0526AE */ jal _play_sound /* 0BB014 80124914 00A0382D */ daddu $a3, $a1, $zero /* 0BB018 80124918 080492BC */ j func_80124AF0 /* 0BB01C 8012491C 00000000 */ nop @@ -4384,7 +4385,7 @@ func_80124650: /* 0BB04C 8012494C A6820514 */ sh $v0, 0x514($s4) /* 0BB050 80124950 92620000 */ lbu $v0, ($s3) /* 0BB054 80124954 00A0382D */ daddu $a3, $a1, $zero -/* 0BB058 80124958 0C0526AE */ jal func_80149AB8 +/* 0BB058 80124958 0C0526AE */ jal _play_sound /* 0BB05C 8012495C A6820516 */ sh $v0, 0x516($s4) /* 0BB060 80124960 96820500 */ lhu $v0, 0x500($s4) /* 0BB064 80124964 8E8304FC */ lw $v1, 0x4fc($s4) @@ -4419,7 +4420,7 @@ func_80124650: /* 0BB0D0 801249D0 34420800 */ ori $v0, $v0, 0x800 /* 0BB0D4 801249D4 34630001 */ ori $v1, $v1, 1 /* 0BB0D8 801249D8 AE8204FC */ sw $v0, 0x4fc($s4) -/* 0BB0DC 801249DC 0C00AB39 */ jal func_8002ACE4 +/* 0BB0DC 801249DC 0C00AB39 */ jal heap_malloc /* 0BB0E0 801249E0 A6830500 */ sh $v1, 0x500($s4) /* 0BB0E4 801249E4 3C030001 */ lui $v1, 1 /* 0BB0E8 801249E8 2463B290 */ addiu $v1, $v1, -0x4d70 @@ -4428,9 +4429,9 @@ func_80124650: /* 0BB0F4 801249F4 01032021 */ addu $a0, $t0, $v1 /* 0BB0F8 801249F8 24851EC3 */ addiu $a1, $a0, 0x1ec3 /* 0BB0FC 801249FC 0040302D */ daddu $a2, $v0, $zero -/* 0BB100 80124A00 0C00A5CF */ jal func_8002973C +/* 0BB100 80124A00 0C00A5CF */ jal dma_copy /* 0BB104 80124A04 AE860544 */ sw $a2, 0x544($s4) -/* 0BB108 80124A08 0C00AB39 */ jal func_8002ACE4 +/* 0BB108 80124A08 0C00AB39 */ jal heap_malloc /* 0BB10C 80124A0C 24040020 */ addiu $a0, $zero, 0x20 /* 0BB110 80124A10 3C030001 */ lui $v1, 1 /* 0BB114 80124A14 2463D158 */ addiu $v1, $v1, -0x2ea8 @@ -4439,9 +4440,9 @@ func_80124650: /* 0BB120 80124A20 01032021 */ addu $a0, $t0, $v1 /* 0BB124 80124A24 24850020 */ addiu $a1, $a0, 0x20 /* 0BB128 80124A28 0040302D */ daddu $a2, $v0, $zero -/* 0BB12C 80124A2C 0C00A5CF */ jal func_8002973C +/* 0BB12C 80124A2C 0C00A5CF */ jal dma_copy /* 0BB130 80124A30 AE860548 */ sw $a2, 0x548($s4) -/* 0BB134 80124A34 0C00AB39 */ jal func_8002ACE4 +/* 0BB134 80124A34 0C00AB39 */ jal heap_malloc /* 0BB138 80124A38 240419FA */ addiu $a0, $zero, 0x19fa /* 0BB13C 80124A3C 321000FF */ andi $s0, $s0, 0xff /* 0BB140 80124A40 00108080 */ sll $s0, $s0, 2 @@ -4453,9 +4454,9 @@ func_80124650: /* 0BB158 80124A58 3C080011 */ lui $t0, 0x11 /* 0BB15C 80124A5C 2508F1B0 */ addiu $t0, $t0, -0xe50 /* 0BB160 80124A60 00682021 */ addu $a0, $v1, $t0 -/* 0BB164 80124A64 0C00A5CF */ jal func_8002973C +/* 0BB164 80124A64 0C00A5CF */ jal dma_copy /* 0BB168 80124A68 248519FA */ addiu $a1, $a0, 0x19fa -/* 0BB16C 80124A6C 0C00AB39 */ jal func_8002ACE4 +/* 0BB16C 80124A6C 0C00AB39 */ jal heap_malloc /* 0BB170 80124A70 24040200 */ addiu $a0, $zero, 0x200 /* 0BB174 80124A74 0040302D */ daddu $a2, $v0, $zero /* 0BB178 80124A78 AE820550 */ sw $v0, 0x550($s4) @@ -4465,7 +4466,7 @@ func_80124650: /* 0BB188 80124A88 3C080011 */ lui $t0, 0x11 /* 0BB18C 80124A8C 2508F1B0 */ addiu $t0, $t0, -0xe50 /* 0BB190 80124A90 00682021 */ addu $a0, $v1, $t0 -/* 0BB194 80124A94 0C00A5CF */ jal func_8002973C +/* 0BB194 80124A94 0C00A5CF */ jal dma_copy /* 0BB198 80124A98 24850200 */ addiu $a1, $a0, 0x200 /* 0BB19C 80124A9C 080492BC */ j func_80124AF0 /* 0BB1A0 80124AA0 00000000 */ nop @@ -4771,7 +4772,7 @@ func_80124D6C: /* 0BB5D0 80124ED0 8C42E3D8 */ lw $v0, -0x1c28($v0) /* 0BB5D4 80124ED4 26250200 */ addiu $a1, $s1, 0x200 /* 0BB5D8 80124ED8 00512021 */ addu $a0, $v0, $s1 -/* 0BB5DC 80124EDC 0C00A5CF */ jal func_8002973C +/* 0BB5DC 80124EDC 0C00A5CF */ jal dma_copy /* 0BB5E0 80124EE0 00452821 */ addu $a1, $v0, $a1 /* 0BB5E4 80124EE4 3C058009 */ lui $a1, 0x8009 /* 0BB5E8 80124EE8 00B02821 */ addu $a1, $a1, $s0 @@ -4780,7 +4781,7 @@ func_80124D6C: /* 0BB5F4 80124EF4 24C6C7E0 */ addiu $a2, $a2, -0x3820 /* 0BB5F8 80124EF8 00B12021 */ addu $a0, $a1, $s1 /* 0BB5FC 80124EFC 26310020 */ addiu $s1, $s1, 0x20 -/* 0BB600 80124F00 0C00A5CF */ jal func_8002973C +/* 0BB600 80124F00 0C00A5CF */ jal dma_copy /* 0BB604 80124F04 00B12821 */ addu $a1, $a1, $s1 /* 0BB608 80124F08 9282045E */ lbu $v0, 0x45e($s4) /* 0BB60C 80124F0C 26B5FFFF */ addiu $s5, $s5, -1 @@ -4914,7 +4915,7 @@ func_80125078: /* 0BB7D4 801250D4 24040009 */ addiu $a0, $zero, 9 /* 0BB7D8 801250D8 0000282D */ daddu $a1, $zero, $zero /* 0BB7DC 801250DC 00A0302D */ daddu $a2, $a1, $zero -/* 0BB7E0 801250E0 0C0526AE */ jal func_80149AB8 +/* 0BB7E0 801250E0 0C0526AE */ jal _play_sound /* 0BB7E4 801250E4 00A0382D */ daddu $a3, $a1, $zero /* 0BB7E8 801250E8 92640000 */ lbu $a0, ($s3) /* 0BB7EC 801250EC 26730001 */ addiu $s3, $s3, 1 @@ -5346,7 +5347,7 @@ func_80125600: /* 0BBD9C 8012569C 03E00008 */ jr $ra /* 0BBDA0 801256A0 27BD0048 */ addiu $sp, $sp, 0x48 -func_801256A4: +initialize_printer: /* 0BBDA4 801256A4 0000182D */ daddu $v1, $zero, $zero /* 0BBDA8 801256A8 2406FFFF */ addiu $a2, $zero, -1 /* 0BBDAC 801256AC 0080282D */ daddu $a1, $a0, $zero @@ -5437,7 +5438,7 @@ func_801256A4: /* 0BBEFC 801257FC 03E00008 */ jr $ra /* 0BBF00 80125800 E4800540 */ swc1 $f0, 0x540($a0) -func_80125804: +dma_load_string: /* 0BBF04 80125804 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0BBF08 80125808 AFB00018 */ sw $s0, 0x18($sp) /* 0BBF0C 8012580C 0080802D */ daddu $s0, $a0, $zero @@ -5450,7 +5451,7 @@ func_80125804: /* 0BBF28 80125828 00512021 */ addu $a0, $v0, $s1 /* 0BBF2C 8012582C 24850004 */ addiu $a1, $a0, 4 /* 0BBF30 80125830 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BBF34 80125834 0C00A5CF */ jal func_8002973C +/* 0BBF34 80125834 0C00A5CF */ jal dma_copy /* 0BBF38 80125838 27A60010 */ addiu $a2, $sp, 0x10 /* 0BBF3C 8012583C 27A60010 */ addiu $a2, $sp, 0x10 /* 0BBF40 80125840 3210FFFF */ andi $s0, $s0, 0xffff @@ -5458,13 +5459,13 @@ func_80125804: /* 0BBF48 80125848 8FA20010 */ lw $v0, 0x10($sp) /* 0BBF4C 8012584C 02118021 */ addu $s0, $s0, $s1 /* 0BBF50 80125850 00502021 */ addu $a0, $v0, $s0 -/* 0BBF54 80125854 0C00A5CF */ jal func_8002973C +/* 0BBF54 80125854 0C00A5CF */ jal dma_copy /* 0BBF58 80125858 24850008 */ addiu $a1, $a0, 8 /* 0BBF5C 8012585C 0240302D */ daddu $a2, $s2, $zero /* 0BBF60 80125860 8FA40010 */ lw $a0, 0x10($sp) /* 0BBF64 80125864 8FA50014 */ lw $a1, 0x14($sp) /* 0BBF68 80125868 00912021 */ addu $a0, $a0, $s1 -/* 0BBF6C 8012586C 0C00A5CF */ jal func_8002973C +/* 0BBF6C 8012586C 0C00A5CF */ jal dma_copy /* 0BBF70 80125870 00B12821 */ addu $a1, $a1, $s1 /* 0BBF74 80125874 8FBF0024 */ lw $ra, 0x24($sp) /* 0BBF78 80125878 8FB20020 */ lw $s2, 0x20($sp) @@ -5473,7 +5474,7 @@ func_80125804: /* 0BBF84 80125884 03E00008 */ jr $ra /* 0BBF88 80125888 27BD0028 */ addiu $sp, $sp, 0x28 -func_8012588C: +load_message_to_buffer: /* 0BBF8C 8012588C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0BBF90 80125890 AFB10014 */ sw $s1, 0x14($sp) /* 0BBF94 80125894 3C118015 */ lui $s1, 0x8015 @@ -5484,7 +5485,7 @@ func_8012588C: /* 0BBFA8 801258A8 3C108015 */ lui $s0, 0x8015 /* 0BBFAC 801258AC 26104430 */ addiu $s0, $s0, 0x4430 /* 0BBFB0 801258B0 00052A80 */ sll $a1, $a1, 0xa -/* 0BBFB4 801258B4 0C049601 */ jal func_80125804 +/* 0BBFB4 801258B4 0C049601 */ jal dma_load_string /* 0BBFB8 801258B8 00B02821 */ addu $a1, $a1, $s0 /* 0BBFBC 801258BC 96220000 */ lhu $v0, ($s1) /* 0BBFC0 801258C0 86230000 */ lh $v1, ($s1) @@ -5505,16 +5506,16 @@ func_8012588C: /* 0BBFF8 801258F8 03E00008 */ jr $ra /* 0BBFFC 801258FC 27BD0020 */ addiu $sp, $sp, 0x20 -func_80125900: +load_string: /* 0BC000 80125900 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0BC004 80125904 AFBF0010 */ sw $ra, 0x10($sp) -/* 0BC008 80125908 0C049647 */ jal func_8012591C +/* 0BC008 80125908 0C049647 */ jal _load_string /* 0BC00C 8012590C 0000302D */ daddu $a2, $zero, $zero /* 0BC010 80125910 8FBF0010 */ lw $ra, 0x10($sp) /* 0BC014 80125914 03E00008 */ jr $ra /* 0BC018 80125918 27BD0018 */ addiu $sp, $sp, 0x18 -func_8012591C: +_load_string: /* 0BC01C 8012591C 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 0BC020 80125920 AFB70054 */ sw $s7, 0x54($sp) /* 0BC024 80125924 0080B82D */ daddu $s7, $a0, $zero @@ -5532,7 +5533,7 @@ func_8012591C: /* 0BC054 80125954 AFA60068 */ sw $a2, 0x68($sp) /* 0BC058 80125958 06E00004 */ bltz $s7, .L8012596C /* 0BC05C 8012595C 02E0982D */ daddu $s3, $s7, $zero -/* 0BC060 80125960 0C049623 */ jal func_8012588C +/* 0BC060 80125960 0C049623 */ jal load_message_to_buffer /* 0BC064 80125964 02E0202D */ daddu $a0, $s7, $zero /* 0BC068 80125968 0040982D */ daddu $s3, $v0, $zero .L8012596C: @@ -5551,7 +5552,7 @@ func_8012591C: /* 0BC098 80125998 24630001 */ addiu $v1, $v1, 1 /* 0BC09C 8012599C 0200202D */ daddu $a0, $s0, $zero /* 0BC0A0 801259A0 8FA60068 */ lw $a2, 0x68($sp) -/* 0BC0A4 801259A4 0C0495A9 */ jal func_801256A4 +/* 0BC0A4 801259A4 0C0495A9 */ jal initialize_printer /* 0BC0A8 801259A8 24050001 */ addiu $a1, $zero, 1 /* 0BC0AC 801259AC 02E0202D */ daddu $a0, $s7, $zero /* 0BC0B0 801259B0 0220282D */ daddu $a1, $s1, $zero @@ -5567,7 +5568,7 @@ func_8012591C: /* 0BC0D8 801259D8 AFB50010 */ sw $s5, 0x10($sp) /* 0BC0DC 801259DC AFB60014 */ sw $s6, 0x14($sp) /* 0BC0E0 801259E0 AFA00018 */ sw $zero, 0x18($sp) -/* 0BC0E4 801259E4 0C0497DA */ jal func_80125F68 +/* 0BC0E4 801259E4 0C0497DA */ jal get_string_properties /* 0BC0E8 801259E8 AFA0001C */ sw $zero, 0x1c($sp) /* 0BC0EC 801259EC 96220002 */ lhu $v0, 2($s1) /* 0BC0F0 801259F0 A6020536 */ sh $v0, 0x536($s0) @@ -5606,14 +5607,14 @@ func_80125A38: /* 0BC160 80125A60 03E00008 */ jr $ra /* 0BC164 80125A64 27BD0060 */ addiu $sp, $sp, 0x60 -func_80125A68: +load_message_to_printer: /* 0BC168 80125A68 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0BC16C 80125A6C 0080102D */ daddu $v0, $a0, $zero /* 0BC170 80125A70 AFB00010 */ sw $s0, 0x10($sp) /* 0BC174 80125A74 00A0802D */ daddu $s0, $a1, $zero /* 0BC178 80125A78 04400003 */ bltz $v0, .L80125A88 /* 0BC17C 80125A7C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC180 80125A80 0C049623 */ jal func_8012588C +/* 0BC180 80125A80 0C049623 */ jal load_message_to_buffer /* 0BC184 80125A84 00000000 */ nop .L80125A88: /* 0BC188 80125A88 0040202D */ daddu $a0, $v0, $zero @@ -5629,7 +5630,7 @@ func_80125A68: /* 0BC1B0 80125AB0 03E00008 */ jr $ra /* 0BC1B4 80125AB4 27BD0018 */ addiu $sp, $sp, 0x18 -func_80125AB8: +clamp_printer_coords: /* 0BC1B8 80125AB8 A485050A */ sh $a1, 0x50a($a0) /* 0BC1BC 80125ABC 8482050A */ lh $v0, 0x50a($a0) /* 0BC1C0 80125AC0 04410002 */ bgez $v0, .L80125ACC @@ -5655,7 +5656,7 @@ func_80125AB8: /* 0BC200 80125B00 03E00008 */ jr $ra /* 0BC204 80125B04 00000000 */ nop -func_80125B08: +cancel_message: /* 0BC208 80125B08 8C8304FC */ lw $v1, 0x4fc($a0) /* 0BC20C 80125B0C 30620002 */ andi $v0, $v1, 2 /* 0BC210 80125B10 10400004 */ beqz $v0, .L80125B24 @@ -5668,13 +5669,13 @@ func_80125B08: /* 0BC224 80125B24 03E00008 */ jr $ra /* 0BC228 80125B28 0000102D */ daddu $v0, $zero, $zero -func_80125B2C: +set_message_images: /* 0BC22C 80125B2C 3C018015 */ lui $at, 0x8015 /* 0BC230 80125B30 AC2412F4 */ sw $a0, 0x12f4($at) /* 0BC234 80125B34 03E00008 */ jr $ra /* 0BC238 80125B38 00000000 */ nop -func_80125B3C: +set_message_string: /* 0BC23C 80125B3C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0BC240 80125B40 AFB00010 */ sw $s0, 0x10($sp) /* 0BC244 80125B44 0080802D */ daddu $s0, $a0, $zero @@ -5684,11 +5685,11 @@ func_80125B3C: /* 0BC254 80125B54 0000882D */ daddu $s1, $zero, $zero /* 0BC258 80125B58 06000008 */ bltz $s0, .L80125B7C /* 0BC25C 80125B5C AFBF001C */ sw $ra, 0x1c($sp) -/* 0BC260 80125B60 0C00AB0A */ jal func_8002AC28 +/* 0BC260 80125B60 0C00AB0A */ jal general_heap_malloc /* 0BC264 80125B64 24040400 */ addiu $a0, $zero, 0x400 /* 0BC268 80125B68 0040882D */ daddu $s1, $v0, $zero /* 0BC26C 80125B6C 0200202D */ daddu $a0, $s0, $zero -/* 0BC270 80125B70 0C049601 */ jal func_80125804 +/* 0BC270 80125B70 0C049601 */ jal dma_load_string /* 0BC274 80125B74 0220282D */ daddu $a1, $s1, $zero /* 0BC278 80125B78 0220802D */ daddu $s0, $s1, $zero .L80125B7C: @@ -5713,7 +5714,7 @@ func_80125B3C: .L80125BC0: /* 0BC2C0 80125BC0 12200003 */ beqz $s1, .L80125BD0 /* 0BC2C4 80125BC4 00000000 */ nop -/* 0BC2C8 80125BC8 0C00AB1E */ jal func_8002AC78 +/* 0BC2C8 80125BC8 0C00AB1E */ jal general_heap_free /* 0BC2CC 80125BCC 0220202D */ daddu $a0, $s1, $zero .L80125BD0: /* 0BC2D0 80125BD0 8FBF001C */ lw $ra, 0x1c($sp) @@ -5723,14 +5724,13 @@ func_80125B3C: /* 0BC2E0 80125BE0 03E00008 */ jr $ra /* 0BC2E4 80125BE4 27BD0020 */ addiu $sp, $sp, 0x20 -func_80125BE8: +set_message_value: /* 0BC2E8 80125BE8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0BC2EC 80125BEC AFB00030 */ sw $s0, 0x30($sp) /* 0BC2F0 80125BF0 00A0802D */ daddu $s0, $a1, $zero /* 0BC2F4 80125BF4 27A50010 */ addiu $a1, $sp, 0x10 /* 0BC2F8 80125BF8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BC2FC 80125BFC 0C00A531 */ jal func_800294C4 -EntryPoint: +/* 0BC2FC 80125BFC 0C00A531 */ jal int_to_string /* 0BC300 80125C00 2406000A */ addiu $a2, $zero, 0xa /* 0BC304 80125C04 0000282D */ daddu $a1, $zero, $zero /* 0BC308 80125C08 27A70010 */ addiu $a3, $sp, 0x10 @@ -5762,7 +5762,7 @@ EntryPoint: /* 0BC368 80125C68 03E00008 */ jr $ra /* 0BC36C 80125C6C 27BD0038 */ addiu $sp, $sp, 0x38 -func_80125C70: +close_message: /* 0BC370 80125C70 8C8204FC */ lw $v0, 0x4fc($a0) /* 0BC374 80125C74 2403FFBF */ addiu $v1, $zero, -0x41 /* 0BC378 80125C78 00431024 */ and $v0, $v0, $v1 @@ -5880,7 +5880,7 @@ func_80125D6C: /* 0BC4EC 80125DEC 03E00008 */ jr $ra /* 0BC4F0 80125DF0 0000102D */ daddu $v0, $zero, $zero -func_80125DF4: +get_char_width: /* 0BC4F4 80125DF4 288200F0 */ slti $v0, $a0, 0xf0 /* 0BC4F8 80125DF8 44871000 */ mtc1 $a3, $f2 /* 0BC4FC 80125DFC 8FA70010 */ lw $a3, 0x10($sp) @@ -5992,7 +5992,7 @@ func_80125EE0: /* 0BC660 80125F60 03E00008 */ jr $ra /* 0BC664 80125F64 0000102D */ daddu $v0, $zero, $zero -func_80125F68: +get_string_properties: /* 0BC668 80125F68 27BDFEB0 */ addiu $sp, $sp, -0x150 /* 0BC66C 80125F6C F7B40148 */ sdc1 $f20, 0x148($sp) /* 0BC670 80125F70 3C013F80 */ lui $at, 0x3f80 @@ -6024,11 +6024,11 @@ func_80125F68: /* 0BC6D8 80125FD8 A7A00116 */ sh $zero, 0x116($sp) /* 0BC6DC 80125FDC 0600000A */ bltz $s0, .L80126008 /* 0BC6E0 80125FE0 0200882D */ daddu $s1, $s0, $zero -/* 0BC6E4 80125FE4 0C00AB0A */ jal func_8002AC28 +/* 0BC6E4 80125FE4 0C00AB0A */ jal general_heap_malloc /* 0BC6E8 80125FE8 24040400 */ addiu $a0, $zero, 0x400 /* 0BC6EC 80125FEC 0200202D */ daddu $a0, $s0, $zero /* 0BC6F0 80125FF0 AFA200F0 */ sw $v0, 0xf0($sp) -/* 0BC6F4 80125FF4 0C049601 */ jal func_80125804 +/* 0BC6F4 80125FF4 0C049601 */ jal dma_load_string /* 0BC6F8 80125FF8 0040282D */ daddu $a1, $v0, $zero /* 0BC6FC 80125FFC 8FB100F0 */ lw $s1, 0xf0($sp) /* 0BC700 80126000 08049803 */ j func_8012600C @@ -6214,7 +6214,7 @@ func_80126260: /* 0BC978 80126278 3C098015 */ lui $t1, 0x8015 /* 0BC97C 8012627C 25295C38 */ addiu $t1, $t1, 0x5c38 /* 0BC980 80126280 00042140 */ sll $a0, $a0, 5 -/* 0BC984 80126284 0C04991D */ jal func_80126474 +/* 0BC984 80126284 0C04991D */ jal get_string_width /* 0BC988 80126288 00892021 */ addu $a0, $a0, $t1 /* 0BC98C 8012628C 080498BA */ j func_801262E8 /* 0BC990 80126290 02629821 */ addu $s3, $s3, $v0 @@ -6252,7 +6252,7 @@ func_801262EC: /* 0BC9F4 801262F4 8FA900F0 */ lw $t1, 0xf0($sp) /* 0BC9F8 801262F8 11200004 */ beqz $t1, .L8012630C /* 0BC9FC 801262FC 3242FFFF */ andi $v0, $s2, 0xffff -/* 0BCA00 80126300 0C00AB1E */ jal func_8002AC78 +/* 0BCA00 80126300 0C00AB1E */ jal general_heap_free /* 0BCA04 80126304 0120202D */ daddu $a0, $t1, $zero /* 0BCA08 80126308 3242FFFF */ andi $v0, $s2, 0xffff .L8012630C: @@ -6363,7 +6363,7 @@ func_801263A4: /* 0BCB6C 8012646C 03E00008 */ jr $ra /* 0BCB70 80126470 27BD0150 */ addiu $sp, $sp, 0x150 -func_80126474: +get_string_width: /* 0BCB74 80126474 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0BCB78 80126478 30A5FFFF */ andi $a1, $a1, 0xffff /* 0BCB7C 8012647C AFA5001C */ sw $a1, 0x1c($sp) @@ -6373,7 +6373,7 @@ func_80126474: /* 0BCB8C 8012648C AFBF0028 */ sw $ra, 0x28($sp) /* 0BCB90 80126490 AFA00010 */ sw $zero, 0x10($sp) /* 0BCB94 80126494 AFA00014 */ sw $zero, 0x14($sp) -/* 0BCB98 80126498 0C0497DA */ jal func_80125F68 +/* 0BCB98 80126498 0C0497DA */ jal get_string_properties /* 0BCB9C 8012649C AFA00018 */ sw $zero, 0x18($sp) /* 0BCBA0 801264A0 8FA20020 */ lw $v0, 0x20($sp) /* 0BCBA4 801264A4 8FBF0028 */ lw $ra, 0x28($sp) @@ -6390,14 +6390,14 @@ func_801264B0: /* 0BCBC8 801264C8 AFA20010 */ sw $v0, 0x10($sp) /* 0BCBCC 801264CC AFA00014 */ sw $zero, 0x14($sp) /* 0BCBD0 801264D0 AFA00018 */ sw $zero, 0x18($sp) -/* 0BCBD4 801264D4 0C0497DA */ jal func_80125F68 +/* 0BCBD4 801264D4 0C0497DA */ jal get_string_properties /* 0BCBD8 801264D8 AFA0001C */ sw $zero, 0x1c($sp) /* 0BCBDC 801264DC 8FA20020 */ lw $v0, 0x20($sp) /* 0BCBE0 801264E0 8FBF0028 */ lw $ra, 0x28($sp) /* 0BCBE4 801264E4 03E00008 */ jr $ra /* 0BCBE8 801264E8 27BD0030 */ addiu $sp, $sp, 0x30 -func_801264EC: +draw_string: /* 0BCBEC 801264EC 27BDFA58 */ addiu $sp, $sp, -0x5a8 /* 0BCBF0 801264F0 8FA205BC */ lw $v0, 0x5bc($sp) /* 0BCBF4 801264F4 AFB7059C */ sw $s7, 0x59c($sp) @@ -6433,7 +6433,7 @@ func_801264EC: /* 0BCC64 80126564 27B10020 */ addiu $s1, $sp, 0x20 /* 0BCC68 80126568 0220202D */ daddu $a0, $s1, $zero /* 0BCC6C 8012656C 24050001 */ addiu $a1, $zero, 1 -/* 0BCC70 80126570 0C0495A9 */ jal func_801256A4 +/* 0BCC70 80126570 0C0495A9 */ jal initialize_printer /* 0BCC74 80126574 0000302D */ daddu $a2, $zero, $zero /* 0BCC78 80126578 06010003 */ bgez $s0, .L80126588 /* 0BCC7C 8012657C 00000000 */ nop @@ -6441,11 +6441,11 @@ func_801264EC: /* 0BCC84 80126584 AFB00020 */ sw $s0, 0x20($sp) .L80126588: -/* 0BCC88 80126588 0C00AB0A */ jal func_8002AC28 +/* 0BCC88 80126588 0C00AB0A */ jal general_heap_malloc /* 0BCC8C 8012658C 24040400 */ addiu $a0, $zero, 0x400 /* 0BCC90 80126590 0040A02D */ daddu $s4, $v0, $zero /* 0BCC94 80126594 0200202D */ daddu $a0, $s0, $zero -/* 0BCC98 80126598 0C049601 */ jal func_80125804 +/* 0BCC98 80126598 0C049601 */ jal dma_load_string /* 0BCC9C 8012659C 0280282D */ daddu $a1, $s4, $zero /* 0BCCA0 801265A0 0000282D */ daddu $a1, $zero, $zero /* 0BCCA4 801265A4 27B00578 */ addiu $s0, $sp, 0x578 @@ -6456,7 +6456,7 @@ func_801264EC: /* 0BCCB8 801265B8 AFA00018 */ sw $zero, 0x18($sp) /* 0BCCBC 801265BC AFB3001C */ sw $s3, 0x1c($sp) /* 0BCCC0 801265C0 0280202D */ daddu $a0, $s4, $zero -/* 0BCCC4 801265C4 0C0497DA */ jal func_80125F68 +/* 0BCCC4 801265C4 0C0497DA */ jal get_string_properties /* 0BCCC8 801265C8 00A0382D */ daddu $a3, $a1, $zero /* 0BCCCC 801265CC 96020002 */ lhu $v0, 2($s0) /* 0BCCD0 801265D0 A7A20558 */ sh $v0, 0x558($sp) @@ -6562,7 +6562,7 @@ func_801265D4: /* 0BCE4C 8012674C 00063403 */ sra $a2, $a2, 0x10 /* 0BCE50 80126750 12800003 */ beqz $s4, .L80126760 /* 0BCE54 80126754 00000000 */ nop -/* 0BCE58 80126758 0C00AB1E */ jal func_8002AC78 +/* 0BCE58 80126758 0C00AB1E */ jal general_heap_free /* 0BCE5C 8012675C 0280202D */ daddu $a0, $s4, $zero .L80126760: /* 0BCE60 80126760 8FBF05A4 */ lw $ra, 0x5a4($sp) @@ -6682,21 +6682,21 @@ func_80126790: /* 0BD018 80126918 4405A000 */ mfc1 $a1, $f20 /* 0BD01C 8012691C 4406B000 */ mfc1 $a2, $f22 /* 0BD020 80126920 2410000F */ addiu $s0, $zero, 0xf -/* 0BD024 80126924 0C00A8ED */ jal func_8002A3B4 +/* 0BD024 80126924 0C00A8ED */ jal update_lerp /* 0BD028 80126928 AFB00010 */ sw $s0, 0x10($sp) /* 0BD02C 8012692C 46000606 */ mov.s $f24, $f0 /* 0BD030 80126930 4405A000 */ mfc1 $a1, $f20 /* 0BD034 80126934 4406B000 */ mfc1 $a2, $f22 /* 0BD038 80126938 8627047E */ lh $a3, 0x47e($s1) /* 0BD03C 8012693C 0000202D */ daddu $a0, $zero, $zero -/* 0BD040 80126940 0C00A8ED */ jal func_8002A3B4 +/* 0BD040 80126940 0C00A8ED */ jal update_lerp /* 0BD044 80126944 AFB00010 */ sw $s0, 0x10($sp) /* 0BD048 80126948 46000586 */ mov.s $f22, $f0 /* 0BD04C 8012694C 4405A000 */ mfc1 $a1, $f20 /* 0BD050 80126950 3C064350 */ lui $a2, 0x4350 /* 0BD054 80126954 8627047E */ lh $a3, 0x47e($s1) /* 0BD058 80126958 0000202D */ daddu $a0, $zero, $zero -/* 0BD05C 8012695C 0C00A8ED */ jal func_8002A3B4 +/* 0BD05C 8012695C 0C00A8ED */ jal update_lerp /* 0BD060 80126960 AFB00010 */ sw $s0, 0x10($sp) /* 0BD064 80126964 9622047E */ lhu $v0, 0x47e($s1) /* 0BD068 80126968 24420001 */ addiu $v0, $v0, 1 @@ -6718,21 +6718,21 @@ func_80126790: /* 0BD0A4 801269A4 4405B000 */ mfc1 $a1, $f22 /* 0BD0A8 801269A8 4406A000 */ mfc1 $a2, $f20 /* 0BD0AC 801269AC 2410000F */ addiu $s0, $zero, 0xf -/* 0BD0B0 801269B0 0C00A8ED */ jal func_8002A3B4 +/* 0BD0B0 801269B0 0C00A8ED */ jal update_lerp /* 0BD0B4 801269B4 AFB00010 */ sw $s0, 0x10($sp) /* 0BD0B8 801269B8 46000606 */ mov.s $f24, $f0 /* 0BD0BC 801269BC 4405B000 */ mfc1 $a1, $f22 /* 0BD0C0 801269C0 4406A000 */ mfc1 $a2, $f20 /* 0BD0C4 801269C4 8627047E */ lh $a3, 0x47e($s1) /* 0BD0C8 801269C8 0000202D */ daddu $a0, $zero, $zero -/* 0BD0CC 801269CC 0C00A8ED */ jal func_8002A3B4 +/* 0BD0CC 801269CC 0C00A8ED */ jal update_lerp /* 0BD0D0 801269D0 AFB00010 */ sw $s0, 0x10($sp) /* 0BD0D4 801269D4 46000586 */ mov.s $f22, $f0 /* 0BD0D8 801269D8 3C054350 */ lui $a1, 0x4350 /* 0BD0DC 801269DC 4406A000 */ mfc1 $a2, $f20 /* 0BD0E0 801269E0 8627047E */ lh $a3, 0x47e($s1) /* 0BD0E4 801269E4 0000202D */ daddu $a0, $zero, $zero -/* 0BD0E8 801269E8 0C00A8ED */ jal func_8002A3B4 +/* 0BD0E8 801269E8 0C00A8ED */ jal update_lerp /* 0BD0EC 801269EC AFB00010 */ sw $s0, 0x10($sp) /* 0BD0F0 801269F0 9622047E */ lhu $v0, 0x47e($s1) /* 0BD0F4 801269F4 46000106 */ mov.s $f4, $f0 @@ -6826,7 +6826,7 @@ func_80126B08: /* 0BD220 80126B20 2C420003 */ sltiu $v0, $v0, 3 /* 0BD224 80126B24 10400010 */ beqz $v0, .L80126B68 /* 0BD228 80126B28 00000000 */ nop -/* 0BD22C 80126B2C 0C00A4F5 */ jal func_800293D4 +/* 0BD22C 80126B2C 0C00A4F5 */ jal cosine /* 0BD230 80126B30 86240480 */ lh $a0, 0x480($s1) /* 0BD234 80126B34 96230480 */ lhu $v1, 0x480($s1) /* 0BD238 80126B38 3C0141F0 */ lui $at, 0x41f0 @@ -7231,7 +7231,7 @@ func_80127130: /* 0BD840 80127140 00042040 */ sll $a0, $a0, 1 /* 0BD844 80127144 2484010E */ addiu $a0, $a0, 0x10e /* 0BD848 80127148 00042400 */ sll $a0, $a0, 0x10 -/* 0BD84C 8012714C 0C00A4F5 */ jal func_800293D4 +/* 0BD84C 8012714C 0C00A4F5 */ jal cosine /* 0BD850 80127150 00042403 */ sra $a0, $a0, 0x10 /* 0BD854 80127154 3C013FF0 */ lui $at, 0x3ff0 /* 0BD858 80127158 44811800 */ mtc1 $at, $f3 @@ -7581,7 +7581,7 @@ func_801274C0: /* 0BDD94 80127694 03E00008 */ jr $ra /* 0BDD98 80127698 AD050044 */ sw $a1, 0x44($t0) -func_8012769C: +draw_number: /* 0BDD9C 8012769C 27BDFF38 */ addiu $sp, $sp, -0xc8 /* 0BDDA0 801276A0 AFB200A8 */ sw $s2, 0xa8($sp) /* 0BDDA4 801276A4 AFB500B4 */ sw $s5, 0xb4($sp) @@ -7608,7 +7608,7 @@ func_8012769C: /* 0BDDF8 801276F8 10400111 */ beqz $v0, .L80127B40 /* 0BDDFC 801276FC 00A0902D */ daddu $s2, $a1, $zero /* 0BDE00 80127700 27A50010 */ addiu $a1, $sp, 0x10 -/* 0BDE04 80127704 0C00A531 */ jal func_800294C4 +/* 0BDE04 80127704 0C00A531 */ jal int_to_string /* 0BDE08 80127708 2406000A */ addiu $a2, $zero, 0xa /* 0BDE0C 8012770C 0000802D */ daddu $s0, $zero, $zero /* 0BDE10 80127710 27A50010 */ addiu $a1, $sp, 0x10 @@ -8044,7 +8044,7 @@ func_80127CAC: /* 0BE440 80127D40 AFA00040 */ sw $zero, 0x40($sp) /* 0BE444 80127D44 AFA20048 */ sw $v0, 0x48($sp) /* 0BE448 80127D48 AFA0004C */ sw $zero, 0x4c($sp) -/* 0BE44C 80127D4C 0C03D4B8 */ jal func_800F52E0 +/* 0BE44C 80127D4C 0C03D4B8 */ jal draw_box /* 0BE450 80127D50 AFA30018 */ sw $v1, 0x18($sp) /* 0BE454 80127D54 08049F61 */ j func_80127D84 /* 0BE458 80127D58 00000000 */ nop @@ -8497,7 +8497,7 @@ func_8012837C: /* 0BEABC 801283BC 3C063F80 */ lui $a2, 0x3f80 /* 0BEAC0 801283C0 93C70509 */ lbu $a3, 0x509($fp) /* 0BEAC4 801283C4 24190007 */ addiu $t9, $zero, 7 -/* 0BEAC8 801283C8 0C00A8ED */ jal func_8002A3B4 +/* 0BEAC8 801283C8 0C00A8ED */ jal update_lerp /* 0BEACC 801283CC AFB90010 */ sw $t9, 0x10($sp) /* 0BEAD0 801283D0 3C053E99 */ lui $a1, 0x3e99 /* 0BEAD4 801283D4 34A5999A */ ori $a1, $a1, 0x999a @@ -8506,7 +8506,7 @@ func_8012837C: /* 0BEAE0 801283E0 E7A000BC */ swc1 $f0, 0xbc($sp) /* 0BEAE4 801283E4 93C70509 */ lbu $a3, 0x509($fp) /* 0BEAE8 801283E8 24180007 */ addiu $t8, $zero, 7 -/* 0BEAEC 801283EC 0C00A8ED */ jal func_8002A3B4 +/* 0BEAEC 801283EC 0C00A8ED */ jal update_lerp /* 0BEAF0 801283F0 AFB80010 */ sw $t8, 0x10($sp) /* 0BEAF4 801283F4 46000786 */ mov.s $f30, $f0 /* 0BEAF8 801283F8 0000202D */ daddu $a0, $zero, $zero @@ -8514,7 +8514,7 @@ func_8012837C: /* 0BEB00 80128400 3C064348 */ lui $a2, 0x4348 /* 0BEB04 80128404 93C70509 */ lbu $a3, 0x509($fp) /* 0BEB08 80128408 24190007 */ addiu $t9, $zero, 7 -/* 0BEB0C 8012840C 0C00A8ED */ jal func_8002A3B4 +/* 0BEB0C 8012840C 0C00A8ED */ jal update_lerp /* 0BEB10 80128410 AFB90010 */ sw $t9, 0x10($sp) /* 0BEB14 80128414 46000706 */ mov.s $f28, $f0 /* 0BEB18 80128418 2404000B */ addiu $a0, $zero, 0xb @@ -8532,7 +8532,7 @@ func_8012837C: /* 0BEB48 80128448 93C70509 */ lbu $a3, 0x509($fp) /* 0BEB4C 8012844C 44066000 */ mfc1 $a2, $f12 /* 0BEB50 80128450 24180007 */ addiu $t8, $zero, 7 -/* 0BEB54 80128454 0C00A8ED */ jal func_8002A3B4 +/* 0BEB54 80128454 0C00A8ED */ jal update_lerp /* 0BEB58 80128458 AFB80010 */ sw $t8, 0x10($sp) /* 0BEB5C 8012845C 46000506 */ mov.s $f20, $f0 /* 0BEB60 80128460 2404000B */ addiu $a0, $zero, 0xb @@ -8550,7 +8550,7 @@ func_8012837C: /* 0BEB90 80128490 93C70509 */ lbu $a3, 0x509($fp) /* 0BEB94 80128494 44066000 */ mfc1 $a2, $f12 /* 0BEB98 80128498 24180007 */ addiu $t8, $zero, 7 -/* 0BEB9C 8012849C 0C00A8ED */ jal func_8002A3B4 +/* 0BEB9C 8012849C 0C00A8ED */ jal update_lerp /* 0BEBA0 801284A0 AFB80010 */ sw $t8, 0x10($sp) /* 0BEBA4 801284A4 97C20514 */ lhu $v0, 0x514($fp) /* 0BEBA8 801284A8 C7AC00BC */ lwc1 $f12, 0xbc($sp) @@ -8620,7 +8620,7 @@ func_8012859C: /* 0BEC9C 8012859C 306200FF */ andi $v0, $v1, 0xff /* 0BECA0 801285A0 24190001 */ addiu $t9, $zero, 1 /* 0BECA4 801285A4 AFA20020 */ sw $v0, 0x20($sp) -/* 0BECA8 801285A8 0C04B302 */ jal func_8012CC08 +/* 0BECA8 801285A8 0C04B302 */ jal _draw_message_box /* 0BECAC 801285AC AFB90024 */ sw $t9, 0x24($sp) /* 0BECB0 801285B0 93C20509 */ lbu $v0, 0x509($fp) /* 0BECB4 801285B4 24180007 */ addiu $t8, $zero, 7 @@ -8644,7 +8644,7 @@ func_8012859C: /* 0BECF4 801285F4 A3C20512 */ sb $v0, 0x512($fp) /* 0BECF8 801285F8 304700FF */ andi $a3, $v0, 0xff /* 0BECFC 801285FC 24180005 */ addiu $t8, $zero, 5 -/* 0BED00 80128600 0C00A8ED */ jal func_8002A3B4 +/* 0BED00 80128600 0C00A8ED */ jal update_lerp /* 0BED04 80128604 AFB80010 */ sw $t8, 0x10($sp) /* 0BED08 80128608 3C053F80 */ lui $a1, 0x3f80 /* 0BED0C 8012860C 3C063F4C */ lui $a2, 0x3f4c @@ -8653,7 +8653,7 @@ func_8012859C: /* 0BED18 80128618 E7A000BC */ swc1 $f0, 0xbc($sp) /* 0BED1C 8012861C 93C70512 */ lbu $a3, 0x512($fp) /* 0BED20 80128620 24190005 */ addiu $t9, $zero, 5 -/* 0BED24 80128624 0C00A8ED */ jal func_8002A3B4 +/* 0BED24 80128624 0C00A8ED */ jal update_lerp /* 0BED28 80128628 AFB90010 */ sw $t9, 0x10($sp) /* 0BED2C 8012862C 97C20514 */ lhu $v0, 0x514($fp) /* 0BED30 80128630 C7AC00BC */ lwc1 $f12, 0xbc($sp) @@ -8707,7 +8707,7 @@ func_8012859C: /* 0BEDF0 801286F0 46203620 */ cvt.s.d $f24, $f6 /* 0BEDF4 801286F4 4620B5A0 */ cvt.s.d $f22, $f22 /* 0BEDF8 801286F8 462026A0 */ cvt.s.d $f26, $f4 -/* 0BEDFC 801286FC 0C00A8ED */ jal func_8002A3B4 +/* 0BEDFC 801286FC 0C00A8ED */ jal update_lerp /* 0BEE00 80128700 4620A520 */ cvt.s.d $f20, $f20 /* 0BEE04 80128704 46000706 */ mov.s $f28, $f0 /* 0BEE08 80128708 3C018015 */ lui $at, 0x8015 @@ -8789,7 +8789,7 @@ func_80128828: /* 0BEF2C 8012882C 306200FF */ andi $v0, $v1, 0xff /* 0BEF30 80128830 24190001 */ addiu $t9, $zero, 1 /* 0BEF34 80128834 AFA20020 */ sw $v0, 0x20($sp) -/* 0BEF38 80128838 0C04B302 */ jal func_8012CC08 +/* 0BEF38 80128838 0C04B302 */ jal _draw_message_box /* 0BEF3C 8012883C AFB90024 */ sw $t9, 0x24($sp) /* 0BEF40 80128840 93C20512 */ lbu $v0, 0x512($fp) /* 0BEF44 80128844 2C420005 */ sltiu $v0, $v0, 5 @@ -8838,7 +8838,7 @@ func_80128828: /* 0BEFE8 801288E8 44066000 */ mfc1 $a2, $f12 /* 0BEFEC 801288EC 00000000 */ nop /* 0BEFF0 801288F0 00063400 */ sll $a2, $a2, 0x10 -/* 0BEFF4 801288F4 0C04B302 */ jal func_8012CC08 +/* 0BEFF4 801288F4 0C04B302 */ jal _draw_message_box /* 0BEFF8 801288F8 00063403 */ sra $a2, $a2, 0x10 /* 0BEFFC 801288FC 97C2050E */ lhu $v0, 0x50e($fp) /* 0BF000 80128900 2442FFEC */ addiu $v0, $v0, -0x14 @@ -9980,7 +9980,7 @@ func_8012985C: /* 0C0124 80129A24 AFA00040 */ sw $zero, 0x40($sp) /* 0C0128 80129A28 AFA20048 */ sw $v0, 0x48($sp) /* 0C012C 80129A2C AFA0004C */ sw $zero, 0x4c($sp) -/* 0C0130 80129A30 0C03D4B8 */ jal func_800F52E0 +/* 0C0130 80129A30 0C03D4B8 */ jal draw_box /* 0C0134 80129A34 AFA30018 */ sw $v1, 0x18($sp) /* 0C0138 80129A38 0804A6B3 */ j func_80129ACC /* 0C013C 80129A3C 00000000 */ nop @@ -11395,7 +11395,7 @@ func_8012AE38: /* 0C1544 8012AE44 30420001 */ andi $v0, $v0, 1 /* 0C1548 8012AE48 10400011 */ beqz $v0, .L8012AE90 /* 0C154C 8012AE4C 00000000 */ nop -/* 0C1550 8012AE50 0C00A67F */ jal func_800299FC +/* 0C1550 8012AE50 0C00A67F */ jal rand_int /* 0C1554 8012AE54 24042710 */ addiu $a0, $zero, 0x2710 /* 0C1558 8012AE58 00021FC2 */ srl $v1, $v0, 0x1f /* 0C155C 8012AE5C 00431821 */ addu $v1, $v0, $v1 @@ -11403,7 +11403,7 @@ func_8012AE38: /* 0C1564 8012AE64 00031840 */ sll $v1, $v1, 1 /* 0C1568 8012AE68 00431023 */ subu $v0, $v0, $v1 /* 0C156C 8012AE6C 02228821 */ addu $s1, $s1, $v0 -/* 0C1570 8012AE70 0C00A67F */ jal func_800299FC +/* 0C1570 8012AE70 0C00A67F */ jal rand_int /* 0C1574 8012AE74 24042710 */ addiu $a0, $zero, 0x2710 /* 0C1578 8012AE78 00021FC2 */ srl $v1, $v0, 0x1f /* 0C157C 8012AE7C 00431821 */ addu $v1, $v0, $v1 @@ -11458,7 +11458,7 @@ func_8012AE38: /* 0C163C 8012AF3C 00001812 */ mflo $v1 /* 0C1640 8012AF40 00A38023 */ subu $s0, $a1, $v1 /* 0C1644 8012AF44 00102400 */ sll $a0, $s0, 0x10 -/* 0C1648 8012AF48 0C00A4F5 */ jal func_800293D4 +/* 0C1648 8012AF48 0C00A4F5 */ jal cosine /* 0C164C 8012AF4C 00042403 */ sra $a0, $a0, 0x10 /* 0C1650 8012AF50 3C028015 */ lui $v0, 0x8015 /* 0C1654 8012AF54 8C425D74 */ lw $v0, 0x5d74($v0) @@ -11494,7 +11494,7 @@ func_8012AE38: /* 0C16CC 8012AFCC 00042400 */ sll $a0, $a0, 0x10 /* 0C16D0 8012AFD0 4620230D */ trunc.w.d $f12, $f4 /* 0C16D4 8012AFD4 44116000 */ mfc1 $s1, $f12 -/* 0C16D8 8012AFD8 0C00A4F5 */ jal func_800293D4 +/* 0C16D8 8012AFD8 0C00A4F5 */ jal cosine /* 0C16DC 8012AFDC 00042403 */ sra $a0, $a0, 0x10 /* 0C16E0 8012AFE0 3C028015 */ lui $v0, 0x8015 /* 0C16E4 8012AFE4 8C425D74 */ lw $v0, 0x5d74($v0) @@ -11554,7 +11554,7 @@ func_8012AE38: /* 0C17B8 8012B0B8 0000C012 */ mflo $t8 /* 0C17BC 8012B0BC 03108023 */ subu $s0, $t8, $s0 /* 0C17C0 8012B0C0 00102400 */ sll $a0, $s0, 0x10 -/* 0C17C4 8012B0C4 0C00A4F5 */ jal func_800293D4 +/* 0C17C4 8012B0C4 0C00A4F5 */ jal cosine /* 0C17C8 8012B0C8 00042403 */ sra $a0, $a0, 0x10 /* 0C17CC 8012B0CC 3C028015 */ lui $v0, 0x8015 /* 0C17D0 8012B0D0 8C425D74 */ lw $v0, 0x5d74($v0) @@ -11590,7 +11590,7 @@ func_8012AE38: /* 0C1848 8012B148 00042400 */ sll $a0, $a0, 0x10 /* 0C184C 8012B14C 4620230D */ trunc.w.d $f12, $f4 /* 0C1850 8012B150 44116000 */ mfc1 $s1, $f12 -/* 0C1854 8012B154 0C00A4F5 */ jal func_800293D4 +/* 0C1854 8012B154 0C00A4F5 */ jal cosine /* 0C1858 8012B158 00042403 */ sra $a0, $a0, 0x10 /* 0C185C 8012B15C 3C028015 */ lui $v0, 0x8015 /* 0C1860 8012B160 8C425D74 */ lw $v0, 0x5d74($v0) @@ -12096,7 +12096,7 @@ func_8012B714: .L8012B8B4: /* 0C1FB4 8012B8B4 10400052 */ beqz $v0, .L8012BA00 /* 0C1FB8 8012B8B8 30624000 */ andi $v0, $v1, 0x4000 -/* 0C1FBC 8012B8BC 0C00A67F */ jal func_800299FC +/* 0C1FBC 8012B8BC 0C00A67F */ jal rand_int /* 0C1FC0 8012B8C0 24042710 */ addiu $a0, $zero, 0x2710 /* 0C1FC4 8012B8C4 3C03288D */ lui $v1, 0x288d /* 0C1FC8 8012B8C8 3463F0CB */ ori $v1, $v1, 0xf0cb @@ -12200,7 +12200,7 @@ func_8012B714: /* 0C2148 8012BA48 000210C0 */ sll $v0, $v0, 3 /* 0C214C 8012BA4C 00821023 */ subu $v0, $a0, $v0 /* 0C2150 8012BA50 00022400 */ sll $a0, $v0, 0x10 -/* 0C2154 8012BA54 0C00A4F5 */ jal func_800293D4 +/* 0C2154 8012BA54 0C00A4F5 */ jal cosine /* 0C2158 8012BA58 00042403 */ sra $a0, $a0, 0x10 /* 0C215C 8012BA5C 3C013FD0 */ lui $at, 0x3fd0 /* 0C2160 8012BA60 44811800 */ mtc1 $at, $f3 @@ -12452,7 +12452,7 @@ func_8012BC6C: /* 0C24F4 8012BDF4 24180002 */ addiu $t8, $zero, 2 /* 0C24F8 8012BDF8 1298000C */ beq $s4, $t8, .L8012BE2C /* 0C24FC 8012BDFC 00158C03 */ sra $s1, $s5, 0x10 -/* 0C2500 8012BE00 0C00A67F */ jal func_800299FC +/* 0C2500 8012BE00 0C00A67F */ jal rand_int /* 0C2504 8012BE04 24042710 */ addiu $a0, $zero, 0x2710 /* 0C2508 8012BE08 00530018 */ mult $v0, $s3 /* 0C250C 8012BE0C 2605FFFF */ addiu $a1, $s0, -1 @@ -12467,7 +12467,7 @@ func_8012BC6C: /* 0C252C 8012BE2C 24190001 */ addiu $t9, $zero, 1 /* 0C2530 8012BE30 1299000D */ beq $s4, $t9, .L8012BE68 /* 0C2534 8012BE34 03C0202D */ daddu $a0, $fp, $zero -/* 0C2538 8012BE38 0C00A67F */ jal func_800299FC +/* 0C2538 8012BE38 0C00A67F */ jal rand_int /* 0C253C 8012BE3C 24042710 */ addiu $a0, $zero, 0x2710 /* 0C2540 8012BE40 00530018 */ mult $v0, $s3 /* 0C2544 8012BE44 2625FFFF */ addiu $a1, $s1, -1 @@ -12542,7 +12542,7 @@ func_8012BEEC: /* 0C2640 8012BF40 AFA20014 */ sw $v0, 0x14($sp) /* 0C2644 8012BF44 8C670010 */ lw $a3, 0x10($v1) func_8012BF48: -/* 0C2648 8012BF48 0C04977D */ jal func_80125DF4 +/* 0C2648 8012BF48 0C04977D */ jal get_char_width /* 0C264C 8012BF4C 00000000 */ nop /* 0C2650 8012BF50 3C058015 */ lui $a1, 0x8015 /* 0C2654 8012BF54 8CA55D74 */ lw $a1, 0x5d74($a1) @@ -12745,7 +12745,7 @@ func_8012C190: /* 0C2904 8012C204 AFA20048 */ sw $v0, 0x48($sp) /* 0C2908 8012C208 AFA0004C */ sw $zero, 0x4c($sp) /* 0C290C 8012C20C 2463000E */ addiu $v1, $v1, 0xe -/* 0C2910 8012C210 0C03D4B8 */ jal func_800F52E0 +/* 0C2910 8012C210 0C03D4B8 */ jal draw_box /* 0C2914 8012C214 AFA30018 */ sw $v1, 0x18($sp) .L8012C218: /* 0C2918 8012C218 8E220010 */ lw $v0, 0x10($s1) @@ -13427,7 +13427,7 @@ func_8012CBDC: /* 0C3300 8012CC00 03E00008 */ jr $ra /* 0C3304 8012CC04 AC650004 */ sw $a1, 4($v1) -func_8012CC08: +_draw_message_box: /* 0C3308 8012CC08 27BDFF28 */ addiu $sp, $sp, -0xd8 /* 0C330C 8012CC0C AFB600B8 */ sw $s6, 0xb8($sp) /* 0C3310 8012CC10 0080B02D */ daddu $s6, $a0, $zero @@ -14071,7 +14071,7 @@ func_8012D54C: /* 0C3CB0 8012D5B0 44062000 */ mfc1 $a2, $f4 /* 0C3CB4 8012D5B4 44837000 */ mtc1 $v1, $f14 /* 0C3CB8 8012D5B8 00000000 */ nop -/* 0C3CBC 8012D5BC 0C00A720 */ jal func_80029C80 +/* 0C3CBC 8012D5BC 0C00A720 */ jal atan2 /* 0C3CC0 8012D5C0 468073A0 */ cvt.s.w $f14, $f14 /* 0C3CC4 8012D5C4 4600010D */ trunc.w.s $f4, $f0 /* 0C3CC8 8012D5C8 44102000 */ mfc1 $s0, $f4 @@ -14160,7 +14160,7 @@ func_8012D54C: /* 0C3E04 8012D704 44062000 */ mfc1 $a2, $f4 /* 0C3E08 8012D708 44837000 */ mtc1 $v1, $f14 /* 0C3E0C 8012D70C 00000000 */ nop -/* 0C3E10 8012D710 0C00A720 */ jal func_80029C80 +/* 0C3E10 8012D710 0C00A720 */ jal atan2 /* 0C3E14 8012D714 468073A0 */ cvt.s.w $f14, $f14 /* 0C3E18 8012D718 4600010D */ trunc.w.s $f4, $f0 /* 0C3E1C 8012D71C 44102000 */ mfc1 $s0, $f4 @@ -14203,7 +14203,7 @@ func_8012D54C: /* 0C3EA0 8012D7A0 44837000 */ mtc1 $v1, $f14 /* 0C3EA4 8012D7A4 00000000 */ nop /* 0C3EA8 8012D7A8 468073A0 */ cvt.s.w $f14, $f14 -/* 0C3EAC 8012D7AC 0C00A7B5 */ jal func_80029ED4 +/* 0C3EAC 8012D7AC 0C00A7B5 */ jal dist2D /* 0C3EB0 8012D7B0 2655FFF7 */ addiu $s5, $s2, -9 /* 0C3EB4 8012D7B4 4600010D */ trunc.w.s $f4, $f0 /* 0C3EB8 8012D7B8 44172000 */ mfc1 $s7, $f4 @@ -14234,7 +14234,7 @@ func_8012D54C: /* 0C3F14 8012D814 00000000 */ nop /* 0C3F18 8012D818 46802120 */ cvt.s.w $f4, $f4 /* 0C3F1C 8012D81C 44072000 */ mfc1 $a3, $f4 -/* 0C3F20 8012D820 0C00A720 */ jal func_80029C80 +/* 0C3F20 8012D820 0C00A720 */ jal atan2 /* 0C3F24 8012D824 4600B386 */ mov.s $f14, $f22 /* 0C3F28 8012D828 4600010D */ trunc.w.s $f4, $f0 /* 0C3F2C 8012D82C 44102000 */ mfc1 $s0, $f4 @@ -14247,12 +14247,12 @@ func_8012D54C: /* 0C3F44 8012D844 2842004B */ slti $v0, $v0, 0x4b /* 0C3F48 8012D848 104000B3 */ beqz $v0, .L8012DB18 /* 0C3F4C 8012D84C 00102400 */ sll $a0, $s0, 0x10 -/* 0C3F50 8012D850 0C00A4F5 */ jal func_800293D4 +/* 0C3F50 8012D850 0C00A4F5 */ jal cosine /* 0C3F54 8012D854 00042403 */ sra $a0, $a0, 0x10 /* 0C3F58 8012D858 2604005A */ addiu $a0, $s0, 0x5a /* 0C3F5C 8012D85C 00042400 */ sll $a0, $a0, 0x10 /* 0C3F60 8012D860 00042403 */ sra $a0, $a0, 0x10 -/* 0C3F64 8012D864 0C00A4F5 */ jal func_800293D4 +/* 0C3F64 8012D864 0C00A4F5 */ jal cosine /* 0C3F68 8012D868 46000506 */ mov.s $f20, $f0 /* 0C3F6C 8012D86C 3C13E200 */ lui $s3, 0xe200 /* 0C3F70 8012D870 3673001C */ ori $s3, $s3, 0x1c @@ -15444,7 +15444,7 @@ func_8012E828: /* 0C506C 8012E96C 0140282D */ daddu $a1, $t2, $zero /* 0C5070 8012E970 A2020009 */ sb $v0, 9($s0) /* 0C5074 8012E974 AFA00010 */ sw $zero, 0x10($sp) -/* 0C5078 8012E978 0C04977D */ jal func_80125DF4 +/* 0C5078 8012E978 0C04977D */ jal get_char_width /* 0C507C 8012E97C AFA00014 */ sw $zero, 0x14($sp) /* 0C5080 8012E980 92030009 */ lbu $v1, 9($s0) /* 0C5084 8012E984 A202000A */ sb $v0, 0xa($s0) @@ -17743,7 +17743,7 @@ func_80130ACC: /* 0C7204 80130B04 03E00008 */ jr $ra /* 0C7208 80130B08 27BD0018 */ addiu $sp, $sp, 0x18 -func_80130B0C: +draw_coin_sparkles: /* 0C720C 80130B0C 27BDFE78 */ addiu $sp, $sp, -0x188 /* 0C7210 80130B10 AFB20150 */ sw $s2, 0x150($sp) /* 0C7214 80130B14 0080902D */ daddu $s2, $a0, $zero @@ -17790,7 +17790,7 @@ func_80130B0C: /* 0C72B8 80130BB8 4483B000 */ mtc1 $v1, $f22 /* 0C72BC 80130BBC 00000000 */ nop /* 0C72C0 80130BC0 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0C72C4 80130BC4 0C00A6C9 */ jal func_80029B24 +/* 0C72C4 80130BC4 0C00A6C9 */ jal clamp_angle /* 0C72C8 80130BC8 46006301 */ sub.s $f12, $f12, $f0 /* 0C72CC 80130BCC 27A40018 */ addiu $a0, $sp, 0x18 /* 0C72D0 80130BD0 4405C000 */ mfc1 $a1, $f24 @@ -18020,7 +18020,7 @@ func_80130B0C: /* 0C7650 80130F50 03E00008 */ jr $ra /* 0C7654 80130F54 27BD0188 */ addiu $sp, $sp, 0x188 -func_80130F58: +get_item_entity: /* 0C7658 80130F58 3C028015 */ lui $v0, 0x8015 /* 0C765C 80130F5C 8C4265A0 */ lw $v0, 0x65a0($v0) /* 0C7660 80130F60 00042080 */ sll $a0, $a0, 2 @@ -18036,7 +18036,7 @@ func_80130F70: /* 0C7680 80130F80 34420040 */ ori $v0, $v0, 0x40 /* 0C7684 80130F84 04600006 */ bltz $v1, .L80130FA0 /* 0C7688 80130F88 AC820000 */ sw $v0, ($a0) -/* 0C768C 80130F8C 0C044181 */ jal func_80110604 +/* 0C768C 80130F8C 0C044181 */ jal get_shadow_by_index /* 0C7690 80130F90 0060202D */ daddu $a0, $v1, $zero /* 0C7694 80130F94 8C430000 */ lw $v1, ($v0) /* 0C7698 80130F98 34630001 */ ori $v1, $v1, 1 @@ -18055,7 +18055,7 @@ func_80130FAC: /* 0C76C0 80130FC0 00431024 */ and $v0, $v0, $v1 /* 0C76C4 80130FC4 04A00007 */ bltz $a1, .L80130FE4 /* 0C76C8 80130FC8 AC820000 */ sw $v0, ($a0) -/* 0C76CC 80130FCC 0C044181 */ jal func_80110604 +/* 0C76CC 80130FCC 0C044181 */ jal get_shadow_by_index /* 0C76D0 80130FD0 00A0202D */ daddu $a0, $a1, $zero /* 0C76D4 80130FD4 8C430000 */ lw $v1, ($v0) /* 0C76D8 80130FD8 2404FFFE */ addiu $a0, $zero, -2 @@ -18066,7 +18066,7 @@ func_80130FAC: /* 0C76E8 80130FE8 03E00008 */ jr $ra /* 0C76EC 80130FEC 27BD0018 */ addiu $sp, $sp, 0x18 -func_80130FF0: +clear_item_entity_data: /* 0C76F0 80130FF0 3C028007 */ lui $v0, 0x8007 /* 0C76F4 80130FF4 8C42419C */ lw $v0, 0x419c($v0) /* 0C76F8 80130FF8 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -18128,7 +18128,7 @@ func_80131024: /* 0C77C4 801310C4 03E00008 */ jr $ra /* 0C77C8 801310C8 27BD0018 */ addiu $sp, $sp, 0x18 -func_801310CC: +init_item_entity_list: /* 0C77CC 801310CC 3C028007 */ lui $v0, 0x8007 /* 0C77D0 801310D0 8C42419C */ lw $v0, 0x419c($v0) /* 0C77D4 801310D4 80420070 */ lb $v0, 0x70($v0) @@ -18373,7 +18373,7 @@ func_801313A0: /* 0C7AEC 801313EC 03E00008 */ jr $ra /* 0C7AF0 801313F0 27BD0038 */ addiu $sp, $sp, 0x38 -func_801313F4: +make_item_entity: /* 0C7AF4 801313F4 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0C7AF8 801313F8 AFB20028 */ sw $s2, 0x28($sp) /* 0C7AFC 801313FC 0080902D */ daddu $s2, $a0, $zero @@ -18404,7 +18404,7 @@ func_801313F4: /* 0C7B5C 8013145C 8C220A98 */ lw $v0, 0xa98($at) /* 0C7B60 80131460 00400008 */ jr $v0 /* 0C7B64 80131464 00000000 */ nop -/* 0C7B68 80131468 0C05152F */ jal func_801454BC +/* 0C7B68 80131468 0C05152F */ jal get_global_flag /* 0C7B6C 8013146C 0220202D */ daddu $a0, $s1, $zero /* 0C7B70 80131470 14400180 */ bnez $v0, .L80131A74 /* 0C7B74 80131474 2402FFFF */ addiu $v0, $zero, -1 @@ -18429,7 +18429,7 @@ func_801314AC: /* 0C7BB0 801314B0 00000000 */ nop .L801314B4: -/* 0C7BB4 801314B4 0C00AB39 */ jal func_8002ACE4 +/* 0C7BB4 801314B4 0C00AB39 */ jal heap_malloc /* 0C7BB8 801314B8 0060A02D */ daddu $s4, $v1, $zero /* 0C7BBC 801314BC 00142080 */ sll $a0, $s4, 2 /* 0C7BC0 801314C0 3C038015 */ lui $v1, 0x8015 @@ -18758,11 +18758,11 @@ func_80131908: /* 0C802C 8013192C 8E050008 */ lw $a1, 8($s0) /* 0C8030 80131930 8E06000C */ lw $a2, 0xc($s0) /* 0C8034 80131934 8E070010 */ lw $a3, 0x10($s0) -/* 0C8038 80131938 0C044898 */ jal func_80112260 +/* 0C8038 80131938 0C044898 */ jal create_shadow_type /* 0C803C 8013193C 0000202D */ daddu $a0, $zero, $zero /* 0C8040 80131940 00022400 */ sll $a0, $v0, 0x10 /* 0C8044 80131944 00042403 */ sra $a0, $a0, 0x10 -/* 0C8048 80131948 0C044181 */ jal func_80110604 +/* 0C8048 80131948 0C044181 */ jal get_shadow_by_index /* 0C804C 8013194C A6020020 */ sh $v0, 0x20($s0) /* 0C8050 80131950 0040882D */ daddu $s1, $v0, $zero /* 0C8054 80131954 8203001B */ lb $v1, 0x1b($s0) @@ -18810,7 +18810,7 @@ func_80131908: /* 0C80F8 801319F8 C4400124 */ lwc1 $f0, 0x124($v0) /* 0C80FC 801319FC 44051000 */ mfc1 $a1, $f2 /* 0C8100 80131A00 0220202D */ daddu $a0, $s1, $zero -/* 0C8104 80131A04 0C044A17 */ jal func_8011285C +/* 0C8104 80131A04 0C044A17 */ jal set_standard_shadow_scale /* 0C8108 80131A08 E4800030 */ swc1 $f0, 0x30($a0) .L80131A0C: /* 0C810C 80131A0C 9202001C */ lbu $v0, 0x1c($s0) @@ -18851,7 +18851,7 @@ func_80131908: /* 0C818C 80131A8C 03E00008 */ jr $ra /* 0C8190 80131A90 27BD0038 */ addiu $sp, $sp, 0x38 -func_80131A94: +make_item_entity_nodelay: /* 0C8194 80131A94 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C8198 80131A98 8FA20038 */ lw $v0, 0x38($sp) /* 0C819C 80131A9C 8FA8003C */ lw $t0, 0x3c($sp) @@ -18860,13 +18860,13 @@ func_80131A94: /* 0C81A8 80131AA8 AFA00014 */ sw $zero, 0x14($sp) /* 0C81AC 80131AAC AFA30018 */ sw $v1, 0x18($sp) /* 0C81B0 80131AB0 AFA20010 */ sw $v0, 0x10($sp) -/* 0C81B4 80131AB4 0C04C4FD */ jal func_801313F4 +/* 0C81B4 80131AB4 0C04C4FD */ jal make_item_entity /* 0C81B8 80131AB8 AFA8001C */ sw $t0, 0x1c($sp) /* 0C81BC 80131ABC 8FBF0020 */ lw $ra, 0x20($sp) /* 0C81C0 80131AC0 03E00008 */ jr $ra /* 0C81C4 80131AC4 27BD0028 */ addiu $sp, $sp, 0x28 -func_80131AC8: +make_item_entity_delayed: /* 0C81C8 80131AC8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C81CC 80131ACC 8FA30038 */ lw $v1, 0x38($sp) /* 0C81D0 80131AD0 8FA8003C */ lw $t0, 0x3c($sp) @@ -18876,13 +18876,13 @@ func_80131AC8: /* 0C81E0 80131AE0 AFA20018 */ sw $v0, 0x18($sp) /* 0C81E4 80131AE4 AFA30010 */ sw $v1, 0x10($sp) /* 0C81E8 80131AE8 AFA80014 */ sw $t0, 0x14($sp) -/* 0C81EC 80131AEC 0C04C4FD */ jal func_801313F4 +/* 0C81EC 80131AEC 0C04C4FD */ jal make_item_entity /* 0C81F0 80131AF0 AFA9001C */ sw $t1, 0x1c($sp) /* 0C81F4 80131AF4 8FBF0020 */ lw $ra, 0x20($sp) /* 0C81F8 80131AF8 03E00008 */ jr $ra /* 0C81FC 80131AFC 27BD0028 */ addiu $sp, $sp, 0x28 -func_80131B00: +init_got_item: /* 0C8200 80131B00 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0C8204 80131B04 AFB00028 */ sw $s0, 0x28($sp) /* 0C8208 80131B08 0080802D */ daddu $s0, $a0, $zero @@ -18916,7 +18916,7 @@ func_80131B68: /* 0C826C 80131B6C 00000000 */ nop .L80131B70: -/* 0C8270 80131B70 0C00AB39 */ jal func_8002ACE4 +/* 0C8270 80131B70 0C00AB39 */ jal heap_malloc /* 0C8274 80131B74 0060A82D */ daddu $s5, $v1, $zero /* 0C8278 80131B78 00152080 */ sll $a0, $s5, 2 /* 0C827C 80131B7C 3C038015 */ lui $v1, 0x8015 @@ -19003,11 +19003,11 @@ func_80131BA8: /* 0C83A8 80131CA8 8D030000 */ lw $v1, ($t0) /* 0C83AC 80131CAC 8E270010 */ lw $a3, 0x10($s1) /* 0C83B0 80131CB0 00431023 */ subu $v0, $v0, $v1 -/* 0C83B4 80131CB4 0C044898 */ jal func_80112260 +/* 0C83B4 80131CB4 0C044898 */ jal create_shadow_type /* 0C83B8 80131CB8 AD020000 */ sw $v0, ($t0) /* 0C83BC 80131CBC 00022400 */ sll $a0, $v0, 0x10 /* 0C83C0 80131CC0 00042403 */ sra $a0, $a0, 0x10 -/* 0C83C4 80131CC4 0C044181 */ jal func_80110604 +/* 0C83C4 80131CC4 0C044181 */ jal get_shadow_by_index /* 0C83C8 80131CC8 A6220020 */ sh $v0, 0x20($s1) /* 0C83CC 80131CCC 3C040002 */ lui $a0, 2 /* 0C83D0 80131CD0 27A50018 */ addiu $a1, $sp, 0x18 @@ -19051,7 +19051,7 @@ func_80131BA8: /* 0C8468 80131D68 C4400124 */ lwc1 $f0, 0x124($v0) /* 0C846C 80131D6C 44051000 */ mfc1 $a1, $f2 /* 0C8470 80131D70 0200202D */ daddu $a0, $s0, $zero -/* 0C8474 80131D74 0C044A17 */ jal func_8011285C +/* 0C8474 80131D74 0C044A17 */ jal set_standard_shadow_scale /* 0C8478 80131D78 E4800030 */ swc1 $f0, 0x30($a0) /* 0C847C 80131D7C 0C04C44A */ jal func_80131128 /* 0C8480 80131D80 0220202D */ daddu $a0, $s1, $zero @@ -19141,7 +19141,7 @@ func_80131E8C: /* 0C85A4 80131EA4 8E240000 */ lw $a0, ($s1) /* 0C85A8 80131EA8 26310004 */ addiu $s1, $s1, 4 /* 0C85AC 80131EAC 8E300000 */ lw $s0, ($s1) -/* 0C85B0 80131EB0 0C00A67F */ jal func_800299FC +/* 0C85B0 80131EB0 0C00A67F */ jal rand_int /* 0C85B4 80131EB4 26310004 */ addiu $s1, $s1, 4 /* 0C85B8 80131EB8 0050102A */ slt $v0, $v0, $s0 /* 0C85BC 80131EBC 5040FFD4 */ beql $v0, $zero, .L80131E10 @@ -19160,7 +19160,7 @@ func_80131ED0: /* 0C85E4 80131EE4 03E00008 */ jr $ra /* 0C85E8 80131EE8 27BD0028 */ addiu $sp, $sp, 0x28 -func_80131EEC: +update_item_entities: /* 0C85EC 80131EEC 3C02800A */ lui $v0, 0x800a /* 0C85F0 80131EF0 8C42A650 */ lw $v0, -0x59b0($v0) /* 0C85F4 80131EF4 27BDFFC0 */ addiu $sp, $sp, -0x40 @@ -19186,7 +19186,7 @@ func_80131EEC: /* 0C8640 80131F40 86230018 */ lh $v1, 0x18($s1) /* 0C8644 80131F44 14620019 */ bne $v1, $v0, .L80131FAC /* 0C8648 80131F48 00000000 */ nop -/* 0C864C 80131F4C 0C00A67F */ jal func_800299FC +/* 0C864C 80131F4C 0C00A67F */ jal rand_int /* 0C8650 80131F50 24040064 */ addiu $a0, $zero, 0x64 /* 0C8654 80131F54 2842005B */ slti $v0, $v0, 0x5b /* 0C8658 80131F58 14400012 */ bnez $v0, .L80131FA4 @@ -19195,12 +19195,12 @@ func_80131EEC: /* 0C8664 80131F64 24A54AC0 */ addiu $a1, $a1, 0x4ac0 /* 0C8668 80131F68 0C04C27C */ jal func_801309F0 /* 0C866C 80131F6C 0220202D */ daddu $a0, $s1, $zero -/* 0C8670 80131F70 0C00A67F */ jal func_800299FC +/* 0C8670 80131F70 0C00A67F */ jal rand_int /* 0C8674 80131F74 24040010 */ addiu $a0, $zero, 0x10 /* 0C8678 80131F78 2442FFF8 */ addiu $v0, $v0, -8 /* 0C867C 80131F7C 3C018015 */ lui $at, 0x8015 /* 0C8680 80131F80 A4225D8C */ sh $v0, 0x5d8c($at) -/* 0C8684 80131F84 0C00A67F */ jal func_800299FC +/* 0C8684 80131F84 0C00A67F */ jal rand_int /* 0C8688 80131F88 24040010 */ addiu $a0, $zero, 0x10 /* 0C868C 80131F8C 2442FFF8 */ addiu $v0, $v0, -8 /* 0C8690 80131F90 3C018015 */ lui $at, 0x8015 @@ -19223,7 +19223,7 @@ func_80131EEC: /* 0C86CC 80131FCC 8C220BD8 */ lw $v0, 0xbd8($at) /* 0C86D0 80131FD0 00400008 */ jr $v0 /* 0C86D4 80131FD4 00000000 */ nop -/* 0C86D8 80131FD8 0C04D596 */ jal func_80135658 +/* 0C86D8 80131FD8 0C04D596 */ jal update_item_entity_static /* 0C86DC 80131FDC 0220202D */ daddu $a0, $s1, $zero /* 0C86E0 80131FE0 0804C804 */ j func_80132010 /* 0C86E4 80131FE4 00000000 */ nop @@ -19233,12 +19233,12 @@ func_80131EEC: /* 0C86F0 80131FF0 0804C804 */ j func_80132010 /* 0C86F4 80131FF4 00000000 */ nop -/* 0C86F8 80131FF8 0C04D094 */ jal func_80134250 +/* 0C86F8 80131FF8 0C04D094 */ jal update_item_entity_collectable /* 0C86FC 80131FFC 0220202D */ daddu $a0, $s1, $zero /* 0C8700 80132000 0804C804 */ j func_80132010 /* 0C8704 80132004 00000000 */ nop -/* 0C8708 80132008 0C04D5B7 */ jal func_801356DC +/* 0C8708 80132008 0C04D5B7 */ jal update_item_entity_temp /* 0C870C 8013200C 0220202D */ daddu $a0, $s1, $zero func_80132010: .L80132010: @@ -19276,7 +19276,7 @@ func_80132010: /* 0C878C 8013208C 1082002C */ beq $a0, $v0, .L80132140 /* 0C8790 80132090 00000000 */ nop .L80132094: -/* 0C8794 80132094 0C044181 */ jal func_80110604 +/* 0C8794 80132094 0C044181 */ jal get_shadow_by_index /* 0C8798 80132098 86240020 */ lh $a0, 0x20($s1) /* 0C879C 8013209C 3C040002 */ lui $a0, 2 /* 0C87A0 801320A0 27A50018 */ addiu $a1, $sp, 0x18 @@ -19317,7 +19317,7 @@ func_80132010: /* 0C882C 8013212C C4400124 */ lwc1 $f0, 0x124($v0) /* 0C8830 80132130 44051000 */ mfc1 $a1, $f2 /* 0C8834 80132134 0200202D */ daddu $a0, $s0, $zero -/* 0C8838 80132138 0C044A17 */ jal func_8011285C +/* 0C8838 80132138 0C044A17 */ jal set_standard_shadow_scale /* 0C883C 8013213C E4800030 */ swc1 $f0, 0x30($a0) .L80132140: /* 0C8840 80132140 C6200008 */ lwc1 $f0, 8($s1) @@ -19349,6 +19349,7 @@ func_80132010: /* 0C889C 8013219C 03E00008 */ jr $ra /* 0C88A0 801321A0 27BD0040 */ addiu $sp, $sp, 0x40 +draw_item_entity: /* 0C88A4 801321A4 27BDFEB8 */ addiu $sp, $sp, -0x148 /* 0C88A8 801321A8 AFB3012C */ sw $s3, 0x12c($sp) /* 0C88AC 801321AC 0080982D */ daddu $s3, $a0, $zero @@ -19438,7 +19439,7 @@ func_80132010: /* 0C89E8 801322E8 3C01800B */ lui $at, 0x800b /* 0C89EC 801322EC 00220821 */ addu $at, $at, $v0 /* 0C89F0 801322F0 C4201DEC */ lwc1 $f0, 0x1dec($at) -/* 0C89F4 801322F4 0C00A6C9 */ jal func_80029B24 +/* 0C89F4 801322F4 0C00A6C9 */ jal clamp_angle /* 0C89F8 801322F8 46006301 */ sub.s $f12, $f12, $f0 /* 0C89FC 801322FC 27B20058 */ addiu $s2, $sp, 0x58 /* 0C8A00 80132300 0240202D */ daddu $a0, $s2, $zero @@ -20058,7 +20059,7 @@ func_80132BFC: /* 0C9340 80132C40 24020157 */ addiu $v0, $zero, 0x157 /* 0C9344 80132C44 14620003 */ bne $v1, $v0, .L80132C54 /* 0C9348 80132C48 00000000 */ nop -/* 0C934C 80132C4C 0C04C2C3 */ jal func_80130B0C +/* 0C934C 80132C4C 0C04C2C3 */ jal draw_coin_sparkles /* 0C9350 80132C50 0260202D */ daddu $a0, $s3, $zero .L80132C54: /* 0C9354 80132C54 8FBF013C */ lw $ra, 0x13c($sp) @@ -20073,6 +20074,7 @@ func_80132BFC: /* 0C9378 80132C78 03E00008 */ jr $ra /* 0C937C 80132C7C 27BD0148 */ addiu $sp, $sp, 0x148 +draw_item_entities: /* 0C9380 80132C80 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0C9384 80132C84 AFB00020 */ sw $s0, 0x20($sp) /* 0C9388 80132C88 27B00010 */ addiu $s0, $sp, 0x10 @@ -20127,7 +20129,7 @@ func_80132BFC: /* 0C9440 80132D40 0200202D */ daddu $a0, $s0, $zero /* 0C9444 80132D44 AE050008 */ sw $a1, 8($s0) /* 0C9448 80132D48 AE02000C */ sw $v0, 0xc($s0) -/* 0C944C 80132D4C 0C047644 */ jal func_8011D910 +/* 0C944C 80132D4C 0C047644 */ jal queue_render_task /* 0C9450 80132D50 AE000004 */ sw $zero, 4($s0) /* 0C9454 80132D54 8C430000 */ lw $v1, ($v0) /* 0C9458 80132D58 34630002 */ ori $v1, $v1, 2 @@ -20277,7 +20279,7 @@ func_80132E54: /* 0C9658 80132F58 000210C0 */ sll $v0, $v0, 3 /* 0C965C 80132F5C 004E1021 */ addu $v0, $v0, $t6 /* 0C9660 80132F60 C440006C */ lwc1 $f0, 0x6c($v0) -/* 0C9664 80132F64 0C00A6C9 */ jal func_80029B24 +/* 0C9664 80132F64 0C00A6C9 */ jal clamp_angle /* 0C9668 80132F68 46006301 */ sub.s $f12, $f12, $f0 /* 0C966C 80132F6C 0280202D */ daddu $a0, $s4, $zero /* 0C9670 80132F70 C642000C */ lwc1 $f2, 0xc($s2) @@ -20931,7 +20933,7 @@ func_801338B4: /* 0CA028 80133928 03E00008 */ jr $ra /* 0CA02C 8013392C 27BD0150 */ addiu $sp, $sp, 0x150 -func_80133930: +remove_item_entity_by_reference: /* 0CA030 80133930 3C038015 */ lui $v1, 0x8015 /* 0CA034 80133934 8C6365A0 */ lw $v1, 0x65a0($v1) /* 0CA038 80133938 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -20955,7 +20957,7 @@ func_80133930: /* 0CA078 80133978 8E240014 */ lw $a0, 0x14($s1) /* 0CA07C 8013397C 10800003 */ beqz $a0, .L8013398C /* 0CA080 80133980 00000000 */ nop -/* 0CA084 80133984 0C00AB4B */ jal func_8002AD2C +/* 0CA084 80133984 0C00AB4B */ jal heap_free /* 0CA088 80133988 00000000 */ nop .L8013398C: /* 0CA08C 8013398C 8223001B */ lb $v1, 0x1b($s1) @@ -20975,7 +20977,7 @@ func_80133930: /* 0CA0C0 801339C0 8E220000 */ lw $v0, ($s1) /* 0CA0C4 801339C4 00108080 */ sll $s0, $s0, 2 /* 0CA0C8 801339C8 02021021 */ addu $v0, $s0, $v0 -/* 0CA0CC 801339CC 0C00AB4B */ jal func_8002AD2C +/* 0CA0CC 801339CC 0C00AB4B */ jal heap_free /* 0CA0D0 801339D0 8C440000 */ lw $a0, ($v0) /* 0CA0D4 801339D4 8E220000 */ lw $v0, ($s1) /* 0CA0D8 801339D8 3C018015 */ lui $at, 0x8015 @@ -20989,7 +20991,7 @@ func_80133930: /* 0CA0F4 801339F4 03E00008 */ jr $ra /* 0CA0F8 801339F8 27BD0020 */ addiu $sp, $sp, 0x20 -func_801339FC: +remove_item_entity_by_index: /* 0CA0FC 801339FC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0CA100 80133A00 AFB00010 */ sw $s0, 0x10($sp) /* 0CA104 80133A04 0080802D */ daddu $s0, $a0, $zero @@ -21017,7 +21019,7 @@ func_801339FC: /* 0CA158 80133A58 8E220000 */ lw $v0, ($s1) /* 0CA15C 80133A5C 00108080 */ sll $s0, $s0, 2 /* 0CA160 80133A60 02021021 */ addu $v0, $s0, $v0 -/* 0CA164 80133A64 0C00AB4B */ jal func_8002AD2C +/* 0CA164 80133A64 0C00AB4B */ jal heap_free /* 0CA168 80133A68 8C440000 */ lw $a0, ($v0) /* 0CA16C 80133A6C 8E220000 */ lw $v0, ($s1) /* 0CA170 80133A70 02028021 */ addu $s0, $s0, $v0 @@ -21062,7 +21064,7 @@ func_801339FC: /* 0CA204 80133B04 03E00008 */ jr $ra /* 0CA208 80133B08 27BD0018 */ addiu $sp, $sp, 0x18 -func_80133B0C: +test_item_player_collision: /* 0CA20C 80133B0C 27BDFF90 */ addiu $sp, $sp, -0x70 /* 0CA210 80133B10 AFB30034 */ sw $s3, 0x34($sp) /* 0CA214 80133B14 0080982D */ daddu $s3, $a0, $zero @@ -21195,13 +21197,13 @@ func_80133B0C: /* 0CA3F0 80133CF0 00000000 */ nop /* 0CA3F4 80133CF4 460C0300 */ add.s $f12, $f0, $f12 func_80133CF8: -/* 0CA3F8 80133CF8 0C00A6C9 */ jal func_80029B24 +/* 0CA3F8 80133CF8 0C00A6C9 */ jal clamp_angle /* 0CA3FC 80133CFC 00000000 */ nop /* 0CA400 80133D00 46000386 */ mov.s $f14, $f0 /* 0CA404 80133D04 C60C006C */ lwc1 $f12, 0x6c($s0) /* 0CA408 80133D08 C7A80018 */ lwc1 $f8, 0x18($sp) /* 0CA40C 80133D0C E7BE0010 */ swc1 $f30, 0x10($sp) -/* 0CA410 80133D10 0C00A70A */ jal func_80029C28 +/* 0CA410 80133D10 0C00A70A */ jal get_clamped_angle_diff /* 0CA414 80133D14 E7A80014 */ swc1 $f8, 0x14($sp) /* 0CA418 80133D18 44801000 */ mtc1 $zero, $f2 /* 0CA41C 80133D1C 00000000 */ nop @@ -21212,7 +21214,7 @@ func_80133CF8: /* 0CA430 80133D30 C600006C */ lwc1 $f0, 0x6c($s0) /* 0CA434 80133D34 3C0142B4 */ lui $at, 0x42b4 /* 0CA438 80133D38 44816000 */ mtc1 $at, $f12 -/* 0CA43C 80133D3C 0C00A6C9 */ jal func_80029B24 +/* 0CA43C 80133D3C 0C00A6C9 */ jal clamp_angle /* 0CA440 80133D40 460C0301 */ sub.s $f12, $f0, $f12 /* 0CA444 80133D44 8E2200A4 */ lw $v0, 0xa4($s1) /* 0CA448 80133D48 3C030100 */ lui $v1, 0x100 @@ -21228,7 +21230,7 @@ func_80133CF8: /* 0CA468 80133D68 C600006C */ lwc1 $f0, 0x6c($s0) /* 0CA46C 80133D6C 3C0142B4 */ lui $at, 0x42b4 /* 0CA470 80133D70 44816000 */ mtc1 $at, $f12 -/* 0CA474 80133D74 0C00A6C9 */ jal func_80029B24 +/* 0CA474 80133D74 0C00A6C9 */ jal clamp_angle /* 0CA478 80133D78 460C0300 */ add.s $f12, $f0, $f12 /* 0CA47C 80133D7C 8E2200A4 */ lw $v0, 0xa4($s1) /* 0CA480 80133D80 3C030100 */ lui $v1, 0x100 @@ -21240,13 +21242,13 @@ func_80133CF8: /* 0CA498 80133D98 00000000 */ nop /* 0CA49C 80133D9C 460C0301 */ sub.s $f12, $f0, $f12 func_80133DA0: -/* 0CA4A0 80133DA0 0C00A6C9 */ jal func_80029B24 +/* 0CA4A0 80133DA0 0C00A6C9 */ jal clamp_angle /* 0CA4A4 80133DA4 00000000 */ nop /* 0CA4A8 80133DA8 27A40010 */ addiu $a0, $sp, 0x10 .L80133DAC: /* 0CA4AC 80133DAC 3C0641C0 */ lui $a2, 0x41c0 /* 0CA4B0 80133DB0 44070000 */ mfc1 $a3, $f0 -/* 0CA4B4 80133DB4 0C00A7E7 */ jal func_80029F9C +/* 0CA4B4 80133DB4 0C00A7E7 */ jal add_vec2D_polar /* 0CA4B8 80133DB8 27A50014 */ addiu $a1, $sp, 0x14 /* 0CA4BC 80133DBC C6760008 */ lwc1 $f22, 8($s3) /* 0CA4C0 80133DC0 C674000C */ lwc1 $f20, 0xc($s3) @@ -21494,7 +21496,7 @@ func_80133F90: /* 0CA840 80134140 03E00008 */ jr $ra /* 0CA844 80134144 27BD0048 */ addiu $sp, $sp, 0x48 -func_80134148: +set_item_entity_flags: /* 0CA848 80134148 3C028015 */ lui $v0, 0x8015 /* 0CA84C 8013414C 8C4265A0 */ lw $v0, 0x65a0($v0) /* 0CA850 80134150 00042080 */ sll $a0, $a0, 2 @@ -21513,6 +21515,7 @@ func_80134148: /* 0CA880 80134180 03E00008 */ jr $ra /* 0CA884 80134184 00000000 */ nop +clear_item_entity_flags: /* 0CA888 80134188 3C028015 */ lui $v0, 0x8015 /* 0CA88C 8013418C 8C4265A0 */ lw $v0, 0x65a0($v0) /* 0CA890 80134190 00042080 */ sll $a0, $a0, 2 @@ -21551,7 +21554,7 @@ func_801341E8: /* 0CA904 80134204 03E00008 */ jr $ra /* 0CA908 80134208 00000000 */ nop -func_8013420C: +set_item_entity_position: /* 0CA90C 8013420C 3C028015 */ lui $v0, 0x8015 /* 0CA910 80134210 8C4265A0 */ lw $v0, 0x65a0($v0) /* 0CA914 80134214 00042080 */ sll $a0, $a0, 2 @@ -21574,7 +21577,7 @@ func_80134240: /* 0CA948 80134248 03E00008 */ jr $ra /* 0CA94C 8013424C 00000000 */ nop -func_80134250: +update_item_entity_collectable: /* 0CA950 80134250 3C028015 */ lui $v0, 0x8015 /* 0CA954 80134254 844265A4 */ lh $v0, 0x65a4($v0) /* 0CA958 80134258 27BDFFA0 */ addiu $sp, $sp, -0x60 @@ -21615,7 +21618,7 @@ func_80134250: .L801342D8: /* 0CA9D8 801342D8 0C04C3EB */ jal func_80130FAC /* 0CA9DC 801342DC 0240202D */ daddu $a0, $s2, $zero -/* 0CA9E0 801342E0 0C00AB39 */ jal func_8002ACE4 +/* 0CA9E0 801342E0 0C00AB39 */ jal heap_malloc /* 0CA9E4 801342E4 24040024 */ addiu $a0, $zero, 0x24 /* 0CA9E8 801342E8 0040882D */ daddu $s1, $v0, $zero /* 0CA9EC 801342EC 16200003 */ bnez $s1, .L801342FC @@ -21665,12 +21668,12 @@ func_80134344: /* 0CAA7C 8013437C 2C4200CB */ sltiu $v0, $v0, 0xcb /* 0CAA80 80134380 10400036 */ beqz $v0, .L8013445C /* 0CAA84 80134384 00031400 */ sll $v0, $v1, 0x10 -/* 0CAA88 80134388 0C00A67F */ jal func_800299FC +/* 0CAA88 80134388 0C00A67F */ jal rand_int /* 0CAA8C 8013438C 24042710 */ addiu $a0, $zero, 0x2710 /* 0CAA90 80134390 28421388 */ slti $v0, $v0, 0x1388 /* 0CAA94 80134394 10400011 */ beqz $v0, .L801343DC /* 0CAA98 80134398 00000000 */ nop -/* 0CAA9C 8013439C 0C00A67F */ jal func_800299FC +/* 0CAA9C 8013439C 0C00A67F */ jal rand_int /* 0CAAA0 801343A0 2404001E */ addiu $a0, $zero, 0x1e /* 0CAAA4 801343A4 00101880 */ sll $v1, $s0, 2 /* 0CAAA8 801343A8 00701821 */ addu $v1, $v1, $s0 @@ -21688,7 +21691,7 @@ func_80134344: /* 0CAAD8 801343D8 46006300 */ add.s $f12, $f12, $f0 .L801343DC: -/* 0CAADC 801343DC 0C00A67F */ jal func_800299FC +/* 0CAADC 801343DC 0C00A67F */ jal rand_int /* 0CAAE0 801343E0 2404001E */ addiu $a0, $zero, 0x1e /* 0CAAE4 801343E4 00101880 */ sll $v1, $s0, 2 /* 0CAAE8 801343E8 00701821 */ addu $v1, $v1, $s0 @@ -21711,7 +21714,7 @@ func_8013441C: /* 0CAB28 80134428 46006300 */ add.s $f12, $f12, $f0 /* 0CAB2C 8013442C 3C014170 */ lui $at, 0x4170 /* 0CAB30 80134430 44810000 */ mtc1 $at, $f0 -/* 0CAB34 80134434 0C00A6C9 */ jal func_80029B24 +/* 0CAB34 80134434 0C00A6C9 */ jal clamp_angle /* 0CAB38 80134438 46006301 */ sub.s $f12, $f12, $f0 /* 0CAB3C 8013443C E6200018 */ swc1 $f0, 0x18($s1) /* 0CAB40 80134440 C6200000 */ lwc1 $f0, ($s1) @@ -21753,7 +21756,7 @@ func_8013441C: /* 0CABC0 801344C0 AE200018 */ sw $zero, 0x18($s1) .L801344C4: -/* 0CABC4 801344C4 0C00A67F */ jal func_800299FC +/* 0CABC4 801344C4 0C00A67F */ jal rand_int /* 0CABC8 801344C8 24040078 */ addiu $a0, $zero, 0x78 /* 0CABCC 801344CC 00101880 */ sll $v1, $s0, 2 /* 0CABD0 801344D0 00701821 */ addu $v1, $v1, $s0 @@ -21779,12 +21782,12 @@ func_8013441C: /* 0CAC20 80134520 46006300 */ add.s $f12, $f12, $f0 .L80134524: -/* 0CAC24 80134524 0C00A67F */ jal func_800299FC +/* 0CAC24 80134524 0C00A67F */ jal rand_int /* 0CAC28 80134528 24042710 */ addiu $a0, $zero, 0x2710 /* 0CAC2C 8013452C 28421388 */ slti $v0, $v0, 0x1388 /* 0CAC30 80134530 144000A3 */ bnez $v0, .L801347C0 /* 0CAC34 80134534 00000000 */ nop -/* 0CAC38 80134538 0C00A67F */ jal func_800299FC +/* 0CAC38 80134538 0C00A67F */ jal rand_int /* 0CAC3C 8013453C 24040078 */ addiu $a0, $zero, 0x78 /* 0CAC40 80134540 00101880 */ sll $v1, $s0, 2 /* 0CAC44 80134544 00701821 */ addu $v1, $v1, $s0 @@ -21802,12 +21805,12 @@ func_8013441C: /* 0CAC74 80134574 46006301 */ sub.s $f12, $f12, $f0 .L80134578: -/* 0CAC78 80134578 0C00A67F */ jal func_800299FC +/* 0CAC78 80134578 0C00A67F */ jal rand_int /* 0CAC7C 8013457C 24042710 */ addiu $a0, $zero, 0x2710 /* 0CAC80 80134580 28421388 */ slti $v0, $v0, 0x1388 /* 0CAC84 80134584 1440008E */ bnez $v0, .L801347C0 /* 0CAC88 80134588 00000000 */ nop -/* 0CAC8C 8013458C 0C00A67F */ jal func_800299FC +/* 0CAC8C 8013458C 0C00A67F */ jal rand_int /* 0CAC90 80134590 24040078 */ addiu $a0, $zero, 0x78 /* 0CAC94 80134594 00101880 */ sll $v1, $s0, 2 /* 0CAC98 80134598 00701821 */ addu $v1, $v1, $s0 @@ -21828,7 +21831,7 @@ func_8013441C: /* 0CACCC 801345CC 8243001B */ lb $v1, 0x1b($s2) /* 0CACD0 801345D0 10620011 */ beq $v1, $v0, .L80134618 /* 0CACD4 801345D4 00000000 */ nop -/* 0CACD8 801345D8 0C00A67F */ jal func_800299FC +/* 0CACD8 801345D8 0C00A67F */ jal rand_int /* 0CACDC 801345DC 24040078 */ addiu $a0, $zero, 0x78 /* 0CACE0 801345E0 00101880 */ sll $v1, $s0, 2 /* 0CACE4 801345E4 00701821 */ addu $v1, $v1, $s0 @@ -21846,12 +21849,12 @@ func_8013441C: /* 0CAD14 80134614 46006301 */ sub.s $f12, $f12, $f0 .L80134618: -/* 0CAD18 80134618 0C00A67F */ jal func_800299FC +/* 0CAD18 80134618 0C00A67F */ jal rand_int /* 0CAD1C 8013461C 24042710 */ addiu $a0, $zero, 0x2710 /* 0CAD20 80134620 28421388 */ slti $v0, $v0, 0x1388 /* 0CAD24 80134624 10400019 */ beqz $v0, .L8013468C /* 0CAD28 80134628 00000000 */ nop -/* 0CAD2C 8013462C 0C00A67F */ jal func_800299FC +/* 0CAD2C 8013462C 0C00A67F */ jal rand_int /* 0CAD30 80134630 2404003C */ addiu $a0, $zero, 0x3c /* 0CAD34 80134634 00101880 */ sll $v1, $s0, 2 /* 0CAD38 80134638 00701821 */ addu $v1, $v1, $s0 @@ -21877,7 +21880,7 @@ func_8013441C: /* 0CAD88 80134688 46006301 */ sub.s $f12, $f12, $f0 .L8013468C: -/* 0CAD8C 8013468C 0C00A67F */ jal func_800299FC +/* 0CAD8C 8013468C 0C00A67F */ jal rand_int /* 0CAD90 80134690 2404003C */ addiu $a0, $zero, 0x3c /* 0CAD94 80134694 00101880 */ sll $v1, $s0, 2 /* 0CAD98 80134698 00701821 */ addu $v1, $v1, $s0 @@ -21903,12 +21906,12 @@ func_8013441C: /* 0CADE8 801346E8 46006301 */ sub.s $f12, $f12, $f0 .L801346EC: -/* 0CADEC 801346EC 0C00A67F */ jal func_800299FC +/* 0CADEC 801346EC 0C00A67F */ jal rand_int /* 0CADF0 801346F0 24042710 */ addiu $a0, $zero, 0x2710 /* 0CADF4 801346F4 28421388 */ slti $v0, $v0, 0x1388 /* 0CADF8 801346F8 10400019 */ beqz $v0, .L80134760 /* 0CADFC 801346FC 00000000 */ nop -/* 0CAE00 80134700 0C00A67F */ jal func_800299FC +/* 0CAE00 80134700 0C00A67F */ jal rand_int /* 0CAE04 80134704 2404003C */ addiu $a0, $zero, 0x3c /* 0CAE08 80134708 00101880 */ sll $v1, $s0, 2 /* 0CAE0C 8013470C 00701821 */ addu $v1, $v1, $s0 @@ -21934,7 +21937,7 @@ func_8013441C: /* 0CAE5C 8013475C 46006301 */ sub.s $f12, $f12, $f0 .L80134760: -/* 0CAE60 80134760 0C00A67F */ jal func_800299FC +/* 0CAE60 80134760 0C00A67F */ jal rand_int /* 0CAE64 80134764 2404003C */ addiu $a0, $zero, 0x3c /* 0CAE68 80134768 00101880 */ sll $v1, $s0, 2 /* 0CAE6C 8013476C 00701821 */ addu $v1, $v1, $s0 @@ -21960,7 +21963,7 @@ func_8013441C: /* 0CAEBC 801347BC 46006301 */ sub.s $f12, $f12, $f0 .L801347C0: -/* 0CAEC0 801347C0 0C00A67F */ jal func_800299FC +/* 0CAEC0 801347C0 0C00A67F */ jal rand_int /* 0CAEC4 801347C4 24040078 */ addiu $a0, $zero, 0x78 /* 0CAEC8 801347C8 00101880 */ sll $v1, $s0, 2 /* 0CAECC 801347CC 00701821 */ addu $v1, $v1, $s0 @@ -21986,7 +21989,7 @@ func_80134800: /* 0CAF18 80134818 00000000 */ nop /* 0CAF1C 8013481C 46006301 */ sub.s $f12, $f12, $f0 func_80134820: -/* 0CAF20 80134820 0C00A6C9 */ jal func_80029B24 +/* 0CAF20 80134820 0C00A6C9 */ jal clamp_angle /* 0CAF24 80134824 00000000 */ nop /* 0CAF28 80134828 E6200018 */ swc1 $f0, 0x18($s1) func_8013482C: @@ -21995,7 +21998,7 @@ func_8013482C: /* 0CAF34 80134834 00431024 */ and $v0, $v0, $v1 /* 0CAF38 80134838 14400019 */ bnez $v0, .L801348A0 /* 0CAF3C 8013483C 00000000 */ nop -/* 0CAF40 80134840 0C00A67F */ jal func_800299FC +/* 0CAF40 80134840 0C00A67F */ jal rand_int /* 0CAF44 80134844 240407D0 */ addiu $a0, $zero, 0x7d0 /* 0CAF48 80134848 C6240018 */ lwc1 $f4, 0x18($s1) /* 0CAF4C 8013484C 3C0140C9 */ lui $at, 0x40c9 @@ -22021,7 +22024,7 @@ func_8013482C: /* 0CAF9C 8013489C 46022503 */ div.s $f20, $f4, $f2 .L801348A0: -/* 0CAFA0 801348A0 0C00A67F */ jal func_800299FC +/* 0CAFA0 801348A0 0C00A67F */ jal rand_int /* 0CAFA4 801348A4 240407D0 */ addiu $a0, $zero, 0x7d0 /* 0CAFA8 801348A8 C6240018 */ lwc1 $f4, 0x18($s1) /* 0CAFAC 801348AC 3C0140C9 */ lui $at, 0x40c9 @@ -22049,7 +22052,7 @@ func_8013482C: .L80134900: /* 0CB000 80134900 44826000 */ mtc1 $v0, $f12 /* 0CB004 80134904 00000000 */ nop -/* 0CB008 80134908 0C00A6C9 */ jal func_80029B24 +/* 0CB008 80134908 0C00A6C9 */ jal clamp_angle /* 0CB00C 8013490C 46806320 */ cvt.s.w $f12, $f12 /* 0CB010 80134910 E6200018 */ swc1 $f0, 0x18($s1) /* 0CB014 80134914 8E420000 */ lw $v0, ($s2) @@ -22101,10 +22104,10 @@ func_8013499C: /* 0CB0C0 801349C0 00000000 */ nop /* 0CB0C4 801349C4 46020503 */ div.s $f20, $f0, $f2 func_801349C8: -/* 0CB0C8 801349C8 0C00A85B */ jal func_8002A16C +/* 0CB0C8 801349C8 0C00A85B */ jal sin_rad /* 0CB0CC 801349CC 4600A306 */ mov.s $f12, $f20 /* 0CB0D0 801349D0 46000586 */ mov.s $f22, $f0 -/* 0CB0D4 801349D4 0C00A874 */ jal func_8002A1D0 +/* 0CB0D4 801349D4 0C00A874 */ jal cos_rad /* 0CB0D8 801349D8 4600A306 */ mov.s $f12, $f20 /* 0CB0DC 801349DC 4616C102 */ mul.s $f4, $f24, $f22 /* 0CB0E0 801349E0 00000000 */ nop @@ -22172,7 +22175,7 @@ func_80134A50: /* 0CB1BC 80134ABC 1040019C */ beqz $v0, .L80135130 /* 0CB1C0 80134AC0 24020001 */ addiu $v0, $zero, 1 /* 0CB1C4 80134AC4 86440004 */ lh $a0, 4($s2) -/* 0CB1C8 80134AC8 0C051514 */ jal func_80145450 +/* 0CB1C8 80134AC8 0C051514 */ jal set_global_flag /* 0CB1CC 80134ACC 00000000 */ nop /* 0CB1D0 80134AD0 0804D44C */ j func_80135130 /* 0CB1D4 80134AD4 24020001 */ addiu $v0, $zero, 1 @@ -22186,7 +22189,7 @@ func_80134A50: /* 0CB1EC 80134AEC 8E220020 */ lw $v0, 0x20($s1) /* 0CB1F0 80134AF0 10400005 */ beqz $v0, .L80134B08 /* 0CB1F4 80134AF4 00000000 */ nop -/* 0CB1F8 80134AF8 0C04CEC3 */ jal func_80133B0C +/* 0CB1F8 80134AF8 0C04CEC3 */ jal test_item_player_collision /* 0CB1FC 80134AFC 0240202D */ daddu $a0, $s2, $zero /* 0CB200 80134B00 1440018B */ bnez $v0, .L80135130 /* 0CB204 80134B04 24020003 */ addiu $v0, $zero, 3 @@ -22373,7 +22376,7 @@ func_80134D90: /* 0CB4B0 80134DB0 E642000C */ swc1 $f2, 0xc($s2) /* 0CB4B4 80134DB4 E6440010 */ swc1 $f4, 0x10($s2) /* 0CB4B8 80134DB8 C6200018 */ lwc1 $f0, 0x18($s1) -/* 0CB4BC 80134DBC 0C00A6C9 */ jal func_80029B24 +/* 0CB4BC 80134DBC 0C00A6C9 */ jal clamp_angle /* 0CB4C0 80134DC0 460C0300 */ add.s $f12, $f0, $f12 /* 0CB4C4 80134DC4 3C0140C9 */ lui $at, 0x40c9 /* 0CB4C8 80134DC8 34210FD0 */ ori $at, $at, 0xfd0 @@ -22385,10 +22388,10 @@ func_80134D90: /* 0CB4E0 80134DE0 44812000 */ mtc1 $at, $f4 /* 0CB4E4 80134DE4 E6200018 */ swc1 $f0, 0x18($s1) /* 0CB4E8 80134DE8 46041503 */ div.s $f20, $f2, $f4 -/* 0CB4EC 80134DEC 0C00A85B */ jal func_8002A16C +/* 0CB4EC 80134DEC 0C00A85B */ jal sin_rad /* 0CB4F0 80134DF0 4600A306 */ mov.s $f12, $f20 /* 0CB4F4 80134DF4 46000586 */ mov.s $f22, $f0 -/* 0CB4F8 80134DF8 0C00A874 */ jal func_8002A1D0 +/* 0CB4F8 80134DF8 0C00A874 */ jal cos_rad /* 0CB4FC 80134DFC 4600A306 */ mov.s $f12, $f20 /* 0CB500 80134E00 3C01C000 */ lui $at, 0xc000 /* 0CB504 80134E04 44811800 */ mtc1 $at, $f3 @@ -22617,7 +22620,7 @@ func_801350F8: func_801350FC: /* 0CB7FC 801350FC 8E460008 */ lw $a2, 8($s2) /* 0CB800 80135100 8E47000C */ lw $a3, 0xc($s2) -/* 0CB804 80135104 0C052757 */ jal func_80149D5C +/* 0CB804 80135104 0C052757 */ jal play_sound_at_position /* 0CB808 80135108 0000282D */ daddu $a1, $zero, $zero func_8013510C: .L8013510C: @@ -22640,7 +22643,7 @@ func_80135134: /* 0CB838 80135138 24020002 */ addiu $v0, $zero, 2 /* 0CB83C 8013513C 14620005 */ bne $v1, $v0, .L80135154 /* 0CB840 80135140 24020003 */ addiu $v0, $zero, 3 -/* 0CB844 80135144 0C04CE4C */ jal func_80133930 +/* 0CB844 80135144 0C04CE4C */ jal remove_item_entity_by_reference /* 0CB848 80135148 0240202D */ daddu $a0, $s2, $zero /* 0CB84C 8013514C 8243001A */ lb $v1, 0x1a($s2) /* 0CB850 80135150 24020003 */ addiu $v0, $zero, 3 @@ -22651,7 +22654,7 @@ func_80135134: /* 0CB860 80135160 30420400 */ andi $v0, $v0, 0x400 /* 0CB864 80135164 10400003 */ beqz $v0, .L80135174 /* 0CB868 80135168 00000000 */ nop -/* 0CB86C 8013516C 0C051514 */ jal func_80145450 +/* 0CB86C 8013516C 0C051514 */ jal set_global_flag /* 0CB870 80135170 86440004 */ lh $a0, 4($s2) .L80135174: /* 0CB874 80135174 C644000C */ lwc1 $f4, 0xc($s2) @@ -22750,7 +22753,7 @@ func_80135134: /* 0CB9C0 801352C0 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CB9C4 801352C4 8E460008 */ lw $a2, 8($s2) /* 0CB9C8 801352C8 8E47000C */ lw $a3, 0xc($s2) -/* 0CB9CC 801352CC 0C052757 */ jal func_80149D5C +/* 0CB9CC 801352CC 0C052757 */ jal play_sound_at_position /* 0CB9D0 801352D0 0000282D */ daddu $a1, $zero, $zero .L801352D4: /* 0CB9D4 801352D4 92620002 */ lbu $v0, 2($s3) @@ -22791,7 +22794,7 @@ func_80135134: /* 0CBA54 80135354 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CBA58 80135358 8E460008 */ lw $a2, 8($s2) /* 0CBA5C 8013535C 8E47000C */ lw $a3, 0xc($s2) -/* 0CBA60 80135360 0C052757 */ jal func_80149D5C +/* 0CBA60 80135360 0C052757 */ jal play_sound_at_position /* 0CBA64 80135364 0000282D */ daddu $a1, $zero, $zero .L80135368: /* 0CBA68 80135368 92620005 */ lbu $v0, 5($s3) @@ -22811,7 +22814,7 @@ func_80135398: /* 0CBA98 80135398 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CBA9C 8013539C 8E460008 */ lw $a2, 8($s2) /* 0CBAA0 801353A0 8E47000C */ lw $a3, 0xc($s2) -/* 0CBAA4 801353A4 0C052757 */ jal func_80149D5C +/* 0CBAA4 801353A4 0C052757 */ jal play_sound_at_position /* 0CBAA8 801353A8 0000282D */ daddu $a1, $zero, $zero /* 0CBAAC 801353AC 8E850028 */ lw $a1, 0x28($s4) /* 0CBAB0 801353B0 868200B0 */ lh $v0, 0xb0($s4) @@ -22846,7 +22849,7 @@ func_80135398: /* 0CBB18 80135418 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CBB1C 8013541C 8E460008 */ lw $a2, 8($s2) /* 0CBB20 80135420 8E47000C */ lw $a3, 0xc($s2) -/* 0CBB24 80135424 0C052757 */ jal func_80149D5C +/* 0CBB24 80135424 0C052757 */ jal play_sound_at_position /* 0CBB28 80135428 0000282D */ daddu $a1, $zero, $zero /* 0CBB2C 8013542C 3C030001 */ lui $v1, 1 /* 0CBB30 80135430 8E6202B4 */ lw $v0, 0x2b4($s3) @@ -22893,7 +22896,7 @@ func_801354B4: /* 0CBBB4 801354B4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CBBB8 801354B8 8E460008 */ lw $a2, 8($s2) /* 0CBBBC 801354BC 8E47000C */ lw $a3, 0xc($s2) -/* 0CBBC0 801354C0 0C052757 */ jal func_80149D5C +/* 0CBBC0 801354C0 0C052757 */ jal play_sound_at_position /* 0CBBC4 801354C4 0000282D */ daddu $a1, $zero, $zero .L801354C8: /* 0CBBC8 801354C8 0240202D */ daddu $a0, $s2, $zero @@ -22905,7 +22908,7 @@ func_801354CC: /* 0CBBDC 801354DC 8C430000 */ lw $v1, ($v0) /* 0CBBE0 801354E0 2405FFBF */ addiu $a1, $zero, -0x41 /* 0CBBE4 801354E4 00651824 */ and $v1, $v1, $a1 -/* 0CBBE8 801354E8 0C04CE4C */ jal func_80133930 +/* 0CBBE8 801354E8 0C04CE4C */ jal remove_item_entity_by_reference /* 0CBBEC 801354EC AC430000 */ sw $v1, ($v0) func_801354F0: .L801354F0: @@ -22915,15 +22918,15 @@ func_801354F0: /* 0CBBFC 801354FC 2402000A */ addiu $v0, $zero, 0xa /* 0CBC00 80135500 3C048015 */ lui $a0, 0x8015 /* 0CBC04 80135504 8C845D80 */ lw $a0, 0x5d80($a0) -/* 0CBC08 80135508 0C0B1059 */ jal func_802C4164 +/* 0CBC08 80135508 0C0B1059 */ jal does_script_exist /* 0CBC0C 8013550C 00000000 */ nop /* 0CBC10 80135510 14400007 */ bnez $v0, .L80135530 /* 0CBC14 80135514 00000000 */ nop /* 0CBC18 80135518 3C018015 */ lui $at, 0x8015 /* 0CBC1C 8013551C A42065A8 */ sh $zero, 0x65a8($at) -/* 0CBC20 80135520 0C04CE4C */ jal func_80133930 +/* 0CBC20 80135520 0C04CE4C */ jal remove_item_entity_by_reference /* 0CBC24 80135524 0240202D */ daddu $a0, $s2, $zero -/* 0CBC28 80135528 0C0B1192 */ jal func_802C4648 +/* 0CBC28 80135528 0C0B1192 */ jal resume_all_group /* 0CBC2C 8013552C 24040002 */ addiu $a0, $zero, 2 .L80135530: /* 0CBC30 80135530 8243001A */ lb $v1, 0x1a($s2) @@ -23012,7 +23015,7 @@ func_8013559C: /* 0CBD50 80135650 03E00008 */ jr $ra /* 0CBD54 80135654 00000000 */ nop -func_80135658: +update_item_entity_static: /* 0CBD58 80135658 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0CBD5C 8013565C AFB00010 */ sw $s0, 0x10($sp) /* 0CBD60 80135660 0080802D */ daddu $s0, $a0, $zero @@ -23020,7 +23023,7 @@ func_80135658: /* 0CBD68 80135668 8202001A */ lb $v0, 0x1a($s0) /* 0CBD6C 8013566C 14400011 */ bnez $v0, .L801356B4 /* 0CBD70 80135670 00000000 */ nop -/* 0CBD74 80135674 0C04CEC3 */ jal func_80133B0C +/* 0CBD74 80135674 0C04CEC3 */ jal test_item_player_collision /* 0CBD78 80135678 00000000 */ nop /* 0CBD7C 8013567C 1040000D */ beqz $v0, .L801356B4 /* 0CBD80 80135680 24020001 */ addiu $v0, $zero, 1 @@ -23054,7 +23057,7 @@ func_801356D4: /* 0CBDD4 801356D4 03E00008 */ jr $ra /* 0CBDD8 801356D8 00000000 */ nop -func_801356DC: +update_item_entity_temp: /* 0CBDDC 801356DC 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0CBDE0 801356E0 AFB10024 */ sw $s1, 0x24($sp) /* 0CBDE4 801356E4 0080882D */ daddu $s1, $a0, $zero @@ -23173,14 +23176,14 @@ func_801356DC: /* 0CBF84 80135884 E7A00010 */ swc1 $f0, 0x10($sp) /* 0CBF88 80135888 8E260008 */ lw $a2, 8($s1) /* 0CBF8C 8013588C 8E27000C */ lw $a3, 0xc($s1) -/* 0CBF90 80135890 0C052757 */ jal func_80149D5C +/* 0CBF90 80135890 0C052757 */ jal play_sound_at_position /* 0CBF94 80135894 0000282D */ daddu $a1, $zero, $zero /* 0CBF98 80135898 0804D62A */ j func_801358A8 /* 0CBF9C 8013589C 00000000 */ nop func_801358A0: .L801358A0: -/* 0CBFA0 801358A0 0C05272D */ jal func_80149CB4 +/* 0CBFA0 801358A0 0C05272D */ jal play_sound /* 0CBFA4 801358A4 00000000 */ nop func_801358A8: .L801358A8: @@ -23193,17 +23196,17 @@ func_801358A8: /* 0CBFC0 801358C0 3C048009 */ lui $a0, 0x8009 /* 0CBFC4 801358C4 00822021 */ addu $a0, $a0, $v0 /* 0CBFC8 801358C8 8C84A680 */ lw $a0, -0x5980($a0) -/* 0CBFCC 801358CC 0C050529 */ jal func_801414A4 +/* 0CBFCC 801358CC 0C050529 */ jal create_icon /* 0CBFD0 801358D0 00000000 */ nop /* 0CBFD4 801358D4 0040202D */ daddu $a0, $v0, $zero /* 0CBFD8 801358D8 24050080 */ addiu $a1, $zero, 0x80 /* 0CBFDC 801358DC 3C108015 */ lui $s0, 0x8015 /* 0CBFE0 801358E0 261068E0 */ addiu $s0, $s0, 0x68e0 -/* 0CBFE4 801358E4 0C051280 */ jal func_80144A00 +/* 0CBFE4 801358E4 0C051280 */ jal set_icon_flags /* 0CBFE8 801358E8 AE040000 */ sw $a0, ($s0) /* 0CBFEC 801358EC 2405FF9C */ addiu $a1, $zero, -0x64 /* 0CBFF0 801358F0 8E040000 */ lw $a0, ($s0) -/* 0CBFF4 801358F4 0C051261 */ jal func_80144984 +/* 0CBFF4 801358F4 0C051261 */ jal set_icon_render_pos /* 0CBFF8 801358F8 00A0302D */ daddu $a2, $a1, $zero /* 0CBFFC 801358FC 24020002 */ addiu $v0, $zero, 2 /* 0CC000 80135900 3C108008 */ lui $s0, 0x8008 @@ -23336,7 +23339,7 @@ func_80135AB4: /* 0CC1B4 80135AB4 8E220000 */ lw $v0, ($s1) /* 0CC1B8 80135AB8 04410003 */ bgez $v0, .L80135AC8 /* 0CC1BC 80135ABC 00000000 */ nop -/* 0CC1C0 80135AC0 0C051514 */ jal func_80145450 +/* 0CC1C0 80135AC0 0C051514 */ jal set_global_flag /* 0CC1C4 80135AC4 86240004 */ lh $a0, 4($s1) .L80135AC8: /* 0CC1C8 80135AC8 8222001A */ lb $v0, 0x1a($s1) @@ -23357,7 +23360,7 @@ func_80135AB4: /* 0CC204 80135B04 0C051F9F */ jal func_80147E7C /* 0CC208 80135B08 0200282D */ daddu $a1, $s0, $zero .L80135B0C: -/* 0CC20C 80135B0C 0C03A6D5 */ jal func_800E9B54 +/* 0CC20C 80135B0C 0C03A6D5 */ jal increment_status_menu_disabled /* 0CC210 80135B10 00000000 */ nop /* 0CC214 80135B14 3C018015 */ lui $at, 0x8015 /* 0CC218 80135B18 AC3268E4 */ sw $s2, 0x68e4($at) @@ -23552,7 +23555,7 @@ func_80135AB4: /* 0CC4D8 80135DD8 00431024 */ and $v0, $v0, $v1 /* 0CC4DC 80135DDC 14400003 */ bnez $v0, .L80135DEC /* 0CC4E0 80135DE0 00000000 */ nop -/* 0CC4E4 80135DE4 0C039769 */ jal func_800E5DA4 +/* 0CC4E4 80135DE4 0C039769 */ jal set_action_state /* 0CC4E8 80135DE8 0000202D */ daddu $a0, $zero, $zero .L80135DEC: /* 0CC4EC 80135DEC 86220018 */ lh $v0, 0x18($s1) @@ -23602,7 +23605,7 @@ func_80135AB4: /* 0CC590 80135E90 10400009 */ beqz $v0, .L80135EB8 /* 0CC594 80135E94 0000202D */ daddu $a0, $zero, $zero /* 0CC598 80135E98 3C05F840 */ lui $a1, 0xf840 -/* 0CC59C 80135E9C 0C0B1EAF */ jal func_802C7ABC +/* 0CC59C 80135E9C 0C0B1EAF */ jal get_variable /* 0CC5A0 80135EA0 34A55BE1 */ ori $a1, $a1, 0x5be1 /* 0CC5A4 80135EA4 14400004 */ bnez $v0, .L80135EB8 /* 0CC5A8 80135EA8 0000202D */ daddu $a0, $zero, $zero @@ -23617,7 +23620,7 @@ func_80135AB4: /* 0CC5C4 80135EC4 24020009 */ addiu $v0, $zero, 9 /* 0CC5C8 80135EC8 0000202D */ daddu $a0, $zero, $zero /* 0CC5CC 80135ECC 3C05F840 */ lui $a1, 0xf840 -/* 0CC5D0 80135ED0 0C0B1EAF */ jal func_802C7ABC +/* 0CC5D0 80135ED0 0C0B1EAF */ jal get_variable /* 0CC5D4 80135ED4 34A55BE5 */ ori $a1, $a1, 0x5be5 /* 0CC5D8 80135ED8 14400009 */ bnez $v0, .L80135F00 /* 0CC5DC 80135EDC 24020009 */ addiu $v0, $zero, 9 @@ -23625,7 +23628,7 @@ func_80135AB4: /* 0CC5E4 80135EE4 3C05F840 */ lui $a1, 0xf840 /* 0CC5E8 80135EE8 34A55BE5 */ ori $a1, $a1, 0x5be5 func_80135EEC: -/* 0CC5EC 80135EEC 0C0B2026 */ jal func_802C8098 +/* 0CC5EC 80135EEC 0C0B2026 */ jal set_variable /* 0CC5F0 80135EF0 24060001 */ addiu $a2, $zero, 1 /* 0CC5F4 80135EF4 24020005 */ addiu $v0, $zero, 5 /* 0CC5F8 80135EF8 0804D8DF */ j func_8013637C @@ -23654,13 +23657,13 @@ func_80135EEC: .L80135F44: /* 0CC644 80135F44 3C058015 */ lui $a1, 0x8015 /* 0CC648 80135F48 24A568F8 */ addiu $a1, $a1, 0x68f8 -/* 0CC64C 80135F4C 0C049640 */ jal func_80125900 +/* 0CC64C 80135F4C 0C049640 */ jal load_string /* 0CC650 80135F50 00000000 */ nop /* 0CC654 80135F54 0040202D */ daddu $a0, $v0, $zero /* 0CC658 80135F58 0000282D */ daddu $a1, $zero, $zero /* 0CC65C 80135F5C 3C018015 */ lui $at, 0x8015 /* 0CC660 80135F60 AC2468F4 */ sw $a0, 0x68f4($at) -/* 0CC664 80135F64 0C0496AE */ jal func_80125AB8 +/* 0CC664 80135F64 0C0496AE */ jal clamp_printer_coords /* 0CC668 80135F68 00A0302D */ daddu $a2, $a1, $zero /* 0CC66C 80135F6C 24020006 */ addiu $v0, $zero, 6 /* 0CC670 80135F70 0804D8DF */ j func_8013637C @@ -23828,7 +23831,7 @@ func_80135EEC: /* 0CC8D4 801361D4 8C420108 */ lw $v0, 0x108($v0) /* 0CC8D8 801361D8 3C108015 */ lui $s0, 0x8015 /* 0CC8DC 801361DC 261068EC */ addiu $s0, $s0, 0x68ec -/* 0CC8E0 801361E0 0C0511FF */ jal func_801447FC +/* 0CC8E0 801361E0 0C0511FF */ jal set_menu_icon_script /* 0CC8E4 801361E4 AE020000 */ sw $v0, ($s0) /* 0CC8E8 801361E8 8E040000 */ lw $a0, ($s0) /* 0CC8EC 801361EC 8E650028 */ lw $a1, 0x28($s3) @@ -23843,9 +23846,9 @@ func_80135EEC: /* 0CC910 80136210 46001080 */ add.s $f2, $f2, $f0 /* 0CC914 80136214 44061000 */ mfc1 $a2, $f2 /* 0CC918 80136218 AFA00014 */ sw $zero, 0x14($sp) -/* 0CC91C 8013621C 0C04C6B2 */ jal func_80131AC8 +/* 0CC91C 8013621C 0C04C6B2 */ jal make_item_entity_delayed /* 0CC920 80136220 AFA00018 */ sw $zero, 0x18($sp) -/* 0CC924 80136224 0C04C3D6 */ jal func_80130F58 +/* 0CC924 80136224 0C04C3D6 */ jal get_item_entity /* 0CC928 80136228 0040202D */ daddu $a0, $v0, $zero /* 0CC92C 8013622C 2403FFFF */ addiu $v1, $zero, -1 /* 0CC930 80136230 A043001D */ sb $v1, 0x1d($v0) @@ -23856,10 +23859,10 @@ func_80135EEC: /* 0CC944 80136244 2462FFFE */ addiu $v0, $v1, -2 /* 0CC948 80136248 00021040 */ sll $v0, $v0, 1 /* 0CC94C 8013624C 02821021 */ addu $v0, $s4, $v0 -/* 0CC950 80136250 0C039DB3 */ jal func_800E76CC +/* 0CC950 80136250 0C039DB3 */ jal sort_items /* 0CC954 80136254 A44001B4 */ sh $zero, 0x1b4($v0) /* 0CC958 80136258 86240018 */ lh $a0, 0x18($s1) -/* 0CC95C 8013625C 0C039D5D */ jal func_800E7574 +/* 0CC95C 8013625C 0C039D5D */ jal add_item /* 0CC960 80136260 00000000 */ nop /* 0CC964 80136264 3C040006 */ lui $a0, 6 .L80136268: @@ -23926,13 +23929,13 @@ func_80135EEC: /* 0CCA4C 8013634C 00651824 */ and $v1, $v1, $a1 /* 0CCA50 80136350 AC430000 */ sw $v1, ($v0) func_80136354: -/* 0CCA54 80136354 0C05123D */ jal func_801448F4 +/* 0CCA54 80136354 0C05123D */ jal free_icon /* 0CCA58 80136358 00000000 */ nop -/* 0CCA5C 8013635C 0C04CE4C */ jal func_80133930 +/* 0CCA5C 8013635C 0C04CE4C */ jal remove_item_entity_by_reference /* 0CCA60 80136360 0220202D */ daddu $a0, $s1, $zero -/* 0CCA64 80136364 0C039DB3 */ jal func_800E76CC +/* 0CCA64 80136364 0C039DB3 */ jal sort_items /* 0CCA68 80136368 00000000 */ nop -/* 0CCA6C 8013636C 0C03A6CC */ jal func_800E9B30 +/* 0CCA6C 8013636C 0C03A6CC */ jal decrement_status_menu_disabled /* 0CCA70 80136370 00000000 */ nop /* 0CCA74 80136374 3C018015 */ lui $at, 0x8015 /* 0CCA78 80136378 A42065A4 */ sh $zero, 0x65a4($at) @@ -24014,7 +24017,7 @@ func_801363A0: /* 0CCB78 80136478 3652005C */ ori $s2, $s2, 0x5c .L8013647C: /* 0CCB7C 8013647C 8C840000 */ lw $a0, ($a0) -/* 0CCB80 80136480 0C0496CF */ jal func_80125B3C +/* 0CCB80 80136480 0C0496CF */ jal set_message_string /* 0CCB84 80136484 0000282D */ daddu $a1, $zero, $zero /* 0CCB88 80136488 86840018 */ lh $a0, 0x18($s4) /* 0CCB8C 8013648C 00041140 */ sll $v0, $a0, 5 @@ -24033,7 +24036,7 @@ func_801363A0: /* 0CCBC0 801364C0 30420030 */ andi $v0, $v0, 0x30 /* 0CCBC4 801364C4 14400006 */ bnez $v0, .L801364E0 /* 0CCBC8 801364C8 00000000 */ nop -/* 0CCBCC 801364CC 0C04991D */ jal func_80126474 +/* 0CCBCC 801364CC 0C04991D */ jal get_string_width /* 0CCBD0 801364D0 0000282D */ daddu $a1, $zero, $zero /* 0CCBD4 801364D4 0804D93B */ j func_801364EC /* 0CCBD8 801364D8 24500036 */ addiu $s0, $v0, 0x36 @@ -24041,7 +24044,7 @@ func_801363A0: .L801364DC: /* 0CCBDC 801364DC 0240202D */ daddu $a0, $s2, $zero .L801364E0: -/* 0CCBE0 801364E0 0C04991D */ jal func_80126474 +/* 0CCBE0 801364E0 0C04991D */ jal get_string_width /* 0CCBE4 801364E4 0000282D */ daddu $a1, $zero, $zero /* 0CCBE8 801364E8 2450001E */ addiu $s0, $v0, 0x1e func_801364EC: @@ -24084,10 +24087,10 @@ func_801364EC: .L80136564: /* 0CCC64 80136564 8C840000 */ lw $a0, ($a0) /* 0CCC68 80136568 0000282D */ daddu $a1, $zero, $zero -/* 0CCC6C 8013656C 0C0496CF */ jal func_80125B3C +/* 0CCC6C 8013656C 0C0496CF */ jal set_message_string /* 0CCC70 80136570 2413004C */ addiu $s3, $zero, 0x4c /* 0CCC74 80136574 0240202D */ daddu $a0, $s2, $zero -/* 0CCC78 80136578 0C04991D */ jal func_80126474 +/* 0CCC78 80136578 0C04991D */ jal get_string_width /* 0CCC7C 8013657C 0000282D */ daddu $a1, $zero, $zero /* 0CCC80 80136580 2450001E */ addiu $s0, $v0, 0x1e /* 0CCC84 80136584 001017C2 */ srl $v0, $s0, 0x1f @@ -24153,7 +24156,7 @@ func_80136598: /* 0CCD68 80136668 1062002C */ beq $v1, $v0, .L8013671C /* 0CCD6C 8013666C 3C04001D */ lui $a0, 0x1d /* 0CCD70 80136670 34840060 */ ori $a0, $a0, 0x60 -/* 0CCD74 80136674 0C04991D */ jal func_80126474 +/* 0CCD74 80136674 0C04991D */ jal get_string_width /* 0CCD78 80136678 0000282D */ daddu $a1, $zero, $zero /* 0CCD7C 8013667C 24500018 */ addiu $s0, $v0, 0x18 /* 0CCD80 80136680 24040011 */ addiu $a0, $zero, 0x11 @@ -24172,11 +24175,11 @@ func_80136598: .L801366B4: /* 0CCDB4 801366B4 8C840000 */ lw $a0, ($a0) -/* 0CCDB8 801366B8 0C0496CF */ jal func_80125B3C +/* 0CCDB8 801366B8 0C0496CF */ jal set_message_string /* 0CCDBC 801366BC 0000282D */ daddu $a1, $zero, $zero /* 0CCDC0 801366C0 3C04001D */ lui $a0, 0x1d /* 0CCDC4 801366C4 3484005F */ ori $a0, $a0, 0x5f -/* 0CCDC8 801366C8 0C04991D */ jal func_80126474 +/* 0CCDC8 801366C8 0C04991D */ jal get_string_width /* 0CCDCC 801366CC 0000282D */ daddu $a1, $zero, $zero /* 0CCDD0 801366D0 24500036 */ addiu $s0, $v0, 0x36 /* 0CCDD4 801366D4 2404000C */ addiu $a0, $zero, 0xc @@ -24251,7 +24254,7 @@ func_8013671C: /* 0CCED4 801367D4 36100058 */ ori $s0, $s0, 0x58 .L801367D8: /* 0CCED8 801367D8 8C840000 */ lw $a0, ($a0) -/* 0CCEDC 801367DC 0C0496CF */ jal func_80125B3C +/* 0CCEDC 801367DC 0C0496CF */ jal set_message_string /* 0CCEE0 801367E0 0000282D */ daddu $a1, $zero, $zero /* 0CCEE4 801367E4 96230006 */ lhu $v1, 6($s1) /* 0CCEE8 801367E8 30620010 */ andi $v0, $v1, 0x10 @@ -24301,7 +24304,7 @@ func_8013671C: /* 0CCF78 80136878 3610005C */ ori $s0, $s0, 0x5c .L8013687C: /* 0CCF7C 8013687C 8C840000 */ lw $a0, ($a0) -/* 0CCF80 80136880 0C0496CF */ jal func_80125B3C +/* 0CCF80 80136880 0C0496CF */ jal set_message_string /* 0CCF84 80136884 0000282D */ daddu $a1, $zero, $zero func_80136888: .L80136888: @@ -24340,7 +24343,7 @@ func_80136888: /* 0CD000 80136900 240700FF */ addiu $a3, $zero, 0xff /* 0CD004 80136904 2402002F */ addiu $v0, $zero, 0x2f /* 0CD008 80136908 AFA20010 */ sw $v0, 0x10($sp) -/* 0CD00C 8013690C 0C04993B */ jal func_801264EC +/* 0CD00C 8013690C 0C04993B */ jal draw_string /* 0CD010 80136910 AFA00014 */ sw $zero, 0x14($sp) /* 0CD014 80136914 0804DA6D */ j func_801369B4 /* 0CD018 80136918 00000000 */ nop @@ -24350,7 +24353,7 @@ func_80136888: /* 0CD020 80136920 240700FF */ addiu $a3, $zero, 0xff /* 0CD024 80136924 2402002F */ addiu $v0, $zero, 0x2f /* 0CD028 80136928 AFA20010 */ sw $v0, 0x10($sp) -/* 0CD02C 8013692C 0C04993B */ jal func_801264EC +/* 0CD02C 8013692C 0C04993B */ jal draw_string /* 0CD030 80136930 AFA00014 */ sw $zero, 0x14($sp) /* 0CD034 80136934 96220006 */ lhu $v0, 6($s1) /* 0CD038 80136938 30420030 */ andi $v0, $v0, 0x30 @@ -24365,7 +24368,7 @@ func_80136888: /* 0CD058 80136958 3C048008 */ lui $a0, 0x8008 /* 0CD05C 8013695C 00822021 */ addu $a0, $a0, $v0 /* 0CD060 80136960 8C8478E0 */ lw $a0, 0x78e0($a0) -/* 0CD064 80136964 0C0496CF */ jal func_80125B3C +/* 0CD064 80136964 0C0496CF */ jal set_message_string /* 0CD068 80136968 0000282D */ daddu $a1, $zero, $zero /* 0CD06C 8013696C 3C04001D */ lui $a0, 0x1d /* 0CD070 80136970 3484005F */ ori $a0, $a0, 0x5f @@ -24374,17 +24377,17 @@ func_80136888: /* 0CD07C 8013697C 240700FF */ addiu $a3, $zero, 0xff /* 0CD080 80136980 2402002F */ addiu $v0, $zero, 0x2f /* 0CD084 80136984 AFA20010 */ sw $v0, 0x10($sp) -/* 0CD088 80136988 0C04993B */ jal func_801264EC +/* 0CD088 80136988 0C04993B */ jal draw_string /* 0CD08C 8013698C AFA00014 */ sw $zero, 0x14($sp) /* 0CD090 80136990 26450014 */ addiu $a1, $s2, 0x14 func_80136994: /* 0CD094 80136994 3C108015 */ lui $s0, 0x8015 /* 0CD098 80136998 261068E0 */ addiu $s0, $s0, 0x68e0 /* 0CD09C 8013699C 8E040000 */ lw $a0, ($s0) -/* 0CD0A0 801369A0 0C051261 */ jal func_80144984 +/* 0CD0A0 801369A0 0C051261 */ jal set_icon_render_pos /* 0CD0A4 801369A4 26660014 */ addiu $a2, $s3, 0x14 /* 0CD0A8 801369A8 8E040000 */ lw $a0, ($s0) -/* 0CD0AC 801369AC 0C0511F1 */ jal func_801447C4 +/* 0CD0AC 801369AC 0C0511F1 */ jal draw_icon_1 /* 0CD0B0 801369B0 00000000 */ nop func_801369B4: .L801369B4: @@ -24405,7 +24408,7 @@ func_801369B4: /* 0CD0E8 801369E8 240700FF */ addiu $a3, $zero, 0xff /* 0CD0EC 801369EC AFBF0018 */ sw $ra, 0x18($sp) /* 0CD0F0 801369F0 AFA20010 */ sw $v0, 0x10($sp) -/* 0CD0F4 801369F4 0C04993B */ jal func_801264EC +/* 0CD0F4 801369F4 0C04993B */ jal draw_string /* 0CD0F8 801369F8 AFA00014 */ sw $zero, 0x14($sp) /* 0CD0FC 801369FC 8FBF0018 */ lw $ra, 0x18($sp) /* 0CD100 80136A00 03E00008 */ jr $ra @@ -24434,7 +24437,7 @@ func_801369B4: /* 0CD154 80136A54 8C640014 */ lw $a0, 0x14($v1) /* 0CD158 80136A58 240700FF */ addiu $a3, $zero, 0xff /* 0CD15C 80136A5C AFA20010 */ sw $v0, 0x10($sp) -/* 0CD160 80136A60 0C04993B */ jal func_801264EC +/* 0CD160 80136A60 0C04993B */ jal draw_string /* 0CD164 80136A64 AFA00014 */ sw $zero, 0x14($sp) .L80136A68: /* 0CD168 80136A68 8FBF0018 */ lw $ra, 0x18($sp) diff --git a/papermario/asm/code_cd180_len_38f0.s b/papermario/asm/code_cd180_len_38f0.s index b244950e89..0de454d7e5 100644 --- a/papermario/asm/code_cd180_len_38f0.s +++ b/papermario/asm/code_cd180_len_38f0.s @@ -1412,7 +1412,7 @@ func_80137E4C: /* 0CE668 80137F68 44076000 */ mfc1 $a3, $f12 /* 0CE66C 80137F6C 260400D4 */ addiu $a0, $s0, 0xd4 /* 0CE670 80137F70 AFA20020 */ sw $v0, 0x20($sp) -/* 0CE674 80137F74 0C00A588 */ jal func_80029620 +/* 0CE674 80137F74 0C00A588 */ jal transform_point /* 0CE678 80137F78 E7B40010 */ swc1 $f20, 0x10($sp) /* 0CE67C 80137F7C C7A00034 */ lwc1 $f0, 0x34($sp) /* 0CE680 80137F80 C7AA0028 */ lwc1 $f10, 0x28($sp) @@ -1638,7 +1638,7 @@ func_80138220: /* 0CE998 80138298 03E00008 */ jr $ra /* 0CE99C 8013829C 27BD0018 */ addiu $sp, $sp, 0x18 -func_801382A0: +set_map_transition_effect: /* 0CE9A0 801382A0 3C018015 */ lui $at, 0x8015 /* 0CE9A4 801382A4 03E00008 */ jr $ra /* 0CE9A8 801382A8 AC24C6F0 */ sw $a0, -0x3910($at) @@ -2741,7 +2741,7 @@ func_80139000: /* 0CF99C 8013929C 94420134 */ lhu $v0, 0x134($v0) /* 0CF9A0 801392A0 44826000 */ mtc1 $v0, $f12 /* 0CF9A4 801392A4 00000000 */ nop -/* 0CF9A8 801392A8 0C00A8BB */ jal func_8002A2EC +/* 0CF9A8 801392A8 0C00A8BB */ jal sin_deg /* 0CF9AC 801392AC 46806320 */ cvt.s.w $f12, $f12 /* 0CF9B0 801392B0 3C018015 */ lui $at, 0x8015 /* 0CF9B4 801392B4 D4220F90 */ ldc1 $f2, 0xf90($at) @@ -2756,7 +2756,7 @@ func_80139000: /* 0CF9D0 801392D0 00571021 */ addu $v0, $v0, $s7 /* 0CF9D4 801392D4 44826000 */ mtc1 $v0, $f12 /* 0CF9D8 801392D8 00000000 */ nop -/* 0CF9DC 801392DC 0C00A8BB */ jal func_8002A2EC +/* 0CF9DC 801392DC 0C00A8BB */ jal sin_deg /* 0CF9E0 801392E0 46806320 */ cvt.s.w $f12, $f12 /* 0CF9E4 801392E4 3C018015 */ lui $at, 0x8015 /* 0CF9E8 801392E8 D4220F98 */ ldc1 $f2, 0xf98($at) diff --git a/papermario/asm/code_d0a70_len_4fe0.s b/papermario/asm/code_d0a70_len_4fe0.s index 014307237d..71f8dff44f 100644 --- a/papermario/asm/code_d0a70_len_4fe0.s +++ b/papermario/asm/code_d0a70_len_4fe0.s @@ -20,7 +20,7 @@ func_8013A37C: /* 0D0AA4 8013A3A4 3C058015 */ lui $a1, 0x8015 /* 0D0AA8 8013A3A8 94A5EE60 */ lhu $a1, -0x11a0($a1) /* 0D0AAC 8013A3AC 26310001 */ addiu $s1, $s1, 1 -/* 0D0AB0 8013A3B0 0C00A41B */ jal func_8002906C +/* 0D0AB0 8013A3B0 0C00A41B */ jal _heap_malloc /* 0D0AB4 8013A3B4 00052900 */ sll $a1, $a1, 4 /* 0D0AB8 8013A3B8 AE020000 */ sw $v0, ($s0) /* 0D0ABC 8013A3BC 2A220002 */ slti $v0, $s1, 2 @@ -28,7 +28,7 @@ func_8013A37C: /* 0D0AC4 8013A3C4 26100004 */ addiu $s0, $s0, 4 /* 0D0AC8 8013A3C8 3C048035 */ lui $a0, 0x8035 /* 0D0ACC 8013A3CC 2484F800 */ addiu $a0, $a0, -0x800 -/* 0D0AD0 8013A3D0 0C00A41B */ jal func_8002906C +/* 0D0AD0 8013A3D0 0C00A41B */ jal _heap_malloc /* 0D0AD4 8013A3D4 24052B98 */ addiu $a1, $zero, 0x2b98 /* 0D0AD8 8013A3D8 3C038015 */ lui $v1, 0x8015 /* 0D0ADC 8013A3DC 24636954 */ addiu $v1, $v1, 0x6954 @@ -163,7 +163,7 @@ func_8013A4D0: /* 0D0CC0 8013A5C0 26310001 */ addiu $s1, $s1, 1 /* 0D0CC4 8013A5C4 10530007 */ beq $v0, $s3, .L8013A5E4 /* 0D0CC8 8013A5C8 00000000 */ nop -/* 0D0CCC 8013A5CC 0C00AB1E */ jal func_8002AC78 +/* 0D0CCC 8013A5CC 0C00AB1E */ jal general_heap_free /* 0D0CD0 8013A5D0 00000000 */ nop /* 0D0CD4 8013A5D4 8E420000 */ lw $v0, ($s2) /* 0D0CD8 8013A5D8 02021021 */ addu $v0, $s0, $v0 @@ -224,14 +224,14 @@ func_8013A650: /* 0D0D90 8013A690 92020005 */ lbu $v0, 5($s0) /* 0D0D94 8013A694 10400005 */ beqz $v0, .L8013A6AC /* 0D0D98 8013A698 00000000 */ nop -/* 0D0D9C 8013A69C 0C00AB4B */ jal func_8002AD2C +/* 0D0D9C 8013A69C 0C00AB4B */ jal heap_free /* 0D0DA0 8013A6A0 8E040000 */ lw $a0, ($s0) /* 0D0DA4 8013A6A4 0804E9AF */ j func_8013A6BC /* 0D0DA8 8013A6A8 AE000000 */ sw $zero, ($s0) .L8013A6AC: /* 0D0DAC 8013A6AC 8E040000 */ lw $a0, ($s0) -/* 0D0DB0 8013A6B0 0C00AB1E */ jal func_8002AC78 +/* 0D0DB0 8013A6B0 0C00AB1E */ jal general_heap_free /* 0D0DB4 8013A6B4 00000000 */ nop /* 0D0DB8 8013A6B8 AE000000 */ sw $zero, ($s0) func_8013A6BC: @@ -595,12 +595,12 @@ func_8013AA9C: /* 0D1284 8013AB84 8E24005C */ lw $a0, 0x5c($s1) /* 0D1288 8013AB88 10800004 */ beqz $a0, .L8013AB9C /* 0D128C 8013AB8C 00101080 */ sll $v0, $s0, 2 -/* 0D1290 8013AB90 0C00AB4B */ jal func_8002AD2C +/* 0D1290 8013AB90 0C00AB4B */ jal heap_free /* 0D1294 8013AB94 00000000 */ nop /* 0D1298 8013AB98 00101080 */ sll $v0, $s0, 2 .L8013AB9C: /* 0D129C 8013AB9C A6220060 */ sh $v0, 0x60($s1) -/* 0D12A0 8013ABA0 0C00AB39 */ jal func_8002ACE4 +/* 0D12A0 8013ABA0 0C00AB39 */ jal heap_malloc /* 0D12A4 8013ABA4 3044FFFF */ andi $a0, $v0, 0xffff /* 0D12A8 8013ABA8 0804EBC2 */ j func_8013AF08 /* 0D12AC 8013ABAC AE22005C */ sw $v0, 0x5c($s1) @@ -1456,7 +1456,7 @@ func_8013B69C: /* 0D1E88 8013B788 44043000 */ mfc1 $a0, $f6 /* 0D1E8C 8013B78C 00000000 */ nop /* 0D1E90 8013B790 00042400 */ sll $a0, $a0, 0x10 -/* 0D1E94 8013B794 0C00A4F5 */ jal func_800293D4 +/* 0D1E94 8013B794 0C00A4F5 */ jal cosine /* 0D1E98 8013B798 00042403 */ sra $a0, $a0, 0x10 /* 0D1E9C 8013B79C C604006C */ lwc1 $f4, 0x6c($s0) /* 0D1EA0 8013B7A0 3C0142B4 */ lui $at, 0x42b4 @@ -1474,7 +1474,7 @@ func_8013B69C: /* 0D1ED0 8013B7D0 00042400 */ sll $a0, $a0, 0x10 /* 0D1ED4 8013B7D4 4600018D */ trunc.w.s $f6, $f0 /* 0D1ED8 8013B7D8 44103000 */ mfc1 $s0, $f6 -/* 0D1EDC 8013B7DC 0C00A4F5 */ jal func_800293D4 +/* 0D1EDC 8013B7DC 0C00A4F5 */ jal cosine /* 0D1EE0 8013B7E0 00042403 */ sra $a0, $a0, 0x10 /* 0D1EE4 8013B7E4 3C06DC08 */ lui $a2, 0xdc08 /* 0D1EE8 8013B7E8 34C6060A */ ori $a2, $a2, 0x60a @@ -2201,7 +2201,7 @@ func_8013C220: /* 0D2978 8013C278 0220202D */ daddu $a0, $s1, $zero /* 0D297C 8013C27C 24850010 */ addiu $a1, $a0, 0x10 /* 0D2980 8013C280 0260302D */ daddu $a2, $s3, $zero -/* 0D2984 8013C284 0C00A5CF */ jal func_8002973C +/* 0D2984 8013C284 0C00A5CF */ jal dma_copy /* 0D2988 8013C288 AE440064 */ sw $a0, 0x64($s2) /* 0D298C 8013C28C 8E440068 */ lw $a0, 0x68($s2) /* 0D2990 8013C290 10800004 */ beqz $a0, .L8013C2A4 @@ -2232,19 +2232,19 @@ func_8013C220: /* 0D29E8 8013C2E8 AE400074 */ sw $zero, 0x74($s2) .L8013C2EC: /* 0D29EC 8013C2EC 96640008 */ lhu $a0, 8($s3) -/* 0D29F0 8013C2F0 0C00AB39 */ jal func_8002ACE4 +/* 0D29F0 8013C2F0 0C00AB39 */ jal heap_malloc /* 0D29F4 8013C2F4 00042100 */ sll $a0, $a0, 4 /* 0D29F8 8013C2F8 AE420068 */ sw $v0, 0x68($s2) /* 0D29FC 8013C2FC 96640008 */ lhu $a0, 8($s3) -/* 0D2A00 8013C300 0C00AB39 */ jal func_8002ACE4 +/* 0D2A00 8013C300 0C00AB39 */ jal heap_malloc /* 0D2A04 8013C304 00042100 */ sll $a0, $a0, 4 /* 0D2A08 8013C308 AE42006C */ sw $v0, 0x6c($s2) /* 0D2A0C 8013C30C 9664000A */ lhu $a0, 0xa($s3) -/* 0D2A10 8013C310 0C00AB39 */ jal func_8002ACE4 +/* 0D2A10 8013C310 0C00AB39 */ jal heap_malloc /* 0D2A14 8013C314 000420C0 */ sll $a0, $a0, 3 /* 0D2A18 8013C318 AE420070 */ sw $v0, 0x70($s2) /* 0D2A1C 8013C31C 9664000A */ lhu $a0, 0xa($s3) -/* 0D2A20 8013C320 0C00AB39 */ jal func_8002ACE4 +/* 0D2A20 8013C320 0C00AB39 */ jal heap_malloc /* 0D2A24 8013C324 000420C0 */ sll $a0, $a0, 3 /* 0D2A28 8013C328 AE420074 */ sw $v0, 0x74($s2) /* 0D2A2C 8013C32C 8E620004 */ lw $v0, 4($s3) @@ -2254,11 +2254,11 @@ func_8013C220: /* 0D2A3C 8013C33C 0220202D */ daddu $a0, $s1, $zero /* 0D2A40 8013C340 000210C0 */ sll $v0, $v0, 3 /* 0D2A44 8013C344 02228021 */ addu $s0, $s1, $v0 -/* 0D2A48 8013C348 0C00A5CF */ jal func_8002973C +/* 0D2A48 8013C348 0C00A5CF */ jal dma_copy /* 0D2A4C 8013C34C 0200282D */ daddu $a1, $s0, $zero /* 0D2A50 8013C350 0220202D */ daddu $a0, $s1, $zero /* 0D2A54 8013C354 8E460074 */ lw $a2, 0x74($s2) -/* 0D2A58 8013C358 0C00A5CF */ jal func_8002973C +/* 0D2A58 8013C358 0C00A5CF */ jal dma_copy /* 0D2A5C 8013C35C 0200282D */ daddu $a1, $s0, $zero /* 0D2A60 8013C360 24090001 */ addiu $t1, $zero, 1 /* 0D2A64 8013C364 3C075555 */ lui $a3, 0x5555 @@ -2380,7 +2380,7 @@ func_8013C4FC: /* 0D2BFC 8013C4FC 96620008 */ lhu $v0, 8($s3) /* 0D2C00 8013C500 00022040 */ sll $a0, $v0, 1 /* 0D2C04 8013C504 00822021 */ addu $a0, $a0, $v0 -/* 0D2C08 8013C508 0C00AB39 */ jal func_8002ACE4 +/* 0D2C08 8013C508 0C00AB39 */ jal heap_malloc /* 0D2C0C 8013C50C 00042080 */ sll $a0, $a0, 2 /* 0D2C10 8013C510 0040F02D */ daddu $fp, $v0, $zero /* 0D2C14 8013C514 96670008 */ lhu $a3, 8($s3) @@ -2398,7 +2398,7 @@ func_8013C4FC: /* 0D2C44 8013C544 8E630000 */ lw $v1, ($s3) /* 0D2C48 8013C548 00551021 */ addu $v0, $v0, $s5 /* 0D2C4C 8013C54C 00622021 */ addu $a0, $v1, $v0 -/* 0D2C50 8013C550 0C00A5CF */ jal func_8002973C +/* 0D2C50 8013C550 0C00A5CF */ jal dma_copy /* 0D2C54 8013C554 00852821 */ addu $a1, $a0, $a1 /* 0D2C58 8013C558 2A820002 */ slti $v0, $s4, 2 /* 0D2C5C 8013C55C 14400017 */ bnez $v0, .L8013C5BC @@ -2406,7 +2406,7 @@ func_8013C4FC: /* 0D2C64 8013C564 96620008 */ lhu $v0, 8($s3) /* 0D2C68 8013C568 00022040 */ sll $a0, $v0, 1 /* 0D2C6C 8013C56C 00822021 */ addu $a0, $a0, $v0 -/* 0D2C70 8013C570 0C00AB39 */ jal func_8002ACE4 +/* 0D2C70 8013C570 0C00AB39 */ jal heap_malloc /* 0D2C74 8013C574 00042080 */ sll $a0, $a0, 2 /* 0D2C78 8013C578 96670008 */ lhu $a3, 8($s3) /* 0D2C7C 8013C57C 0040B82D */ daddu $s7, $v0, $zero @@ -2422,7 +2422,7 @@ func_8013C4FC: /* 0D2CA4 8013C5A4 8E630000 */ lw $v1, ($s3) /* 0D2CA8 8013C5A8 00551021 */ addu $v0, $v0, $s5 /* 0D2CAC 8013C5AC 00622021 */ addu $a0, $v1, $v0 -/* 0D2CB0 8013C5B0 0C00A5CF */ jal func_8002973C +/* 0D2CB0 8013C5B0 0C00A5CF */ jal dma_copy /* 0D2CB4 8013C5B4 00852821 */ addu $a1, $a0, $a1 /* 0D2CB8 8013C5B8 0000502D */ daddu $t2, $zero, $zero .L8013C5BC: @@ -2955,11 +2955,11 @@ func_8013CD6C: /* 0D3498 8013CD98 96620008 */ lhu $v0, 8($s3) /* 0D349C 8013CD9C 03C0202D */ daddu $a0, $fp, $zero /* 0D34A0 8013CDA0 2442FFFF */ addiu $v0, $v0, -1 -/* 0D34A4 8013CDA4 0C00AB4B */ jal func_8002AD2C +/* 0D34A4 8013CDA4 0C00AB4B */ jal heap_free /* 0D34A8 8013CDA8 A642000A */ sh $v0, 0xa($s2) /* 0D34AC 8013CDAC 12E00003 */ beqz $s7, .L8013CDBC /* 0D34B0 8013CDB0 00000000 */ nop -/* 0D34B4 8013CDB4 0C00AB4B */ jal func_8002AD2C +/* 0D34B4 8013CDB4 0C00AB4B */ jal heap_free /* 0D34B8 8013CDB8 02E0202D */ daddu $a0, $s7, $zero .L8013CDBC: /* 0D34BC 8013CDBC 8FAD0014 */ lw $t5, 0x14($sp) @@ -5341,7 +5341,7 @@ func_8013EF80: /* 0D579C 8013F09C 4482A000 */ mtc1 $v0, $f20 /* 0D57A0 8013F0A0 00000000 */ nop /* 0D57A4 8013F0A4 4680A520 */ cvt.s.w $f20, $f20 -/* 0D57A8 8013F0A8 0C00A85B */ jal func_8002A16C +/* 0D57A8 8013F0A8 0C00A85B */ jal sin_rad /* 0D57AC 8013F0AC 4600C600 */ add.s $f24, $f24, $f0 /* 0D57B0 8013F0B0 C642001C */ lwc1 $f2, 0x1c($s2) /* 0D57B4 8013F0B4 468010A0 */ cvt.s.w $f2, $f2 @@ -5361,7 +5361,7 @@ func_8013EF80: /* 0D57EC 8013F0EC 4482A000 */ mtc1 $v0, $f20 /* 0D57F0 8013F0F0 00000000 */ nop /* 0D57F4 8013F0F4 4680A520 */ cvt.s.w $f20, $f20 -/* 0D57F8 8013F0F8 0C00A85B */ jal func_8002A16C +/* 0D57F8 8013F0F8 0C00A85B */ jal sin_rad /* 0D57FC 8013F0FC 4600B306 */ mov.s $f12, $f22 /* 0D5800 8013F100 C6420020 */ lwc1 $f2, 0x20($s2) /* 0D5804 8013F104 468010A0 */ cvt.s.w $f2, $f2 @@ -5381,7 +5381,7 @@ func_8013EF80: /* 0D583C 8013F13C 4482A000 */ mtc1 $v0, $f20 /* 0D5840 8013F140 00000000 */ nop /* 0D5844 8013F144 4680A520 */ cvt.s.w $f20, $f20 -/* 0D5848 8013F148 0C00A85B */ jal func_8002A16C +/* 0D5848 8013F148 0C00A85B */ jal sin_rad /* 0D584C 8013F14C 4600C306 */ mov.s $f12, $f24 /* 0D5850 8013F150 C6420024 */ lwc1 $f2, 0x24($s2) /* 0D5854 8013F154 468010A0 */ cvt.s.w $f2, $f2 diff --git a/papermario/asm/code_d5a50_len_5fd0.s b/papermario/asm/code_d5a50_len_5fd0.s index 6273a8dbc5..67b8fdfe71 100644 --- a/papermario/asm/code_d5a50_len_5fd0.s +++ b/papermario/asm/code_d5a50_len_5fd0.s @@ -2171,7 +2171,7 @@ func_80141194: /* 0D78A8 801411A8 1440001F */ bnez $v0, .L80141228 /* 0D78AC 801411AC 00000000 */ nop /* 0D78B0 801411B0 3C048015 */ lui $a0, 0x8015 -/* 0D78B4 801411B4 0C00AB0A */ jal func_8002AC28 +/* 0D78B4 801411B4 0C00AB0A */ jal general_heap_malloc /* 0D78B8 801411B8 8C84EFC4 */ lw $a0, -0x103c($a0) /* 0D78BC 801411BC 3C018015 */ lui $at, 0x8015 /* 0D78C0 801411C0 AC221314 */ sw $v0, 0x1314($at) @@ -2214,7 +2214,7 @@ func_801411CC: /* 0D793C 8014123C 8C84EFC4 */ lw $a0, -0x103c($a0) /* 0D7940 80141240 000417C2 */ srl $v0, $a0, 0x1f /* 0D7944 80141244 00822021 */ addu $a0, $a0, $v0 -/* 0D7948 80141248 0C00AB0A */ jal func_8002AC28 +/* 0D7948 80141248 0C00AB0A */ jal general_heap_malloc /* 0D794C 8014124C 00042043 */ sra $a0, $a0, 1 /* 0D7950 80141250 3C018015 */ lui $at, 0x8015 /* 0D7954 80141254 AC221314 */ sw $v0, 0x1314($at) @@ -2268,7 +2268,7 @@ func_801412BC: /* 0D79F8 801412F8 03E00008 */ jr $ra /* 0D79FC 801412FC 27BD0018 */ addiu $sp, $sp, 0x18 -func_80141300: +init_menu_icon_list: /* 0D7A00 80141300 3C028007 */ lui $v0, 0x8007 /* 0D7A04 80141304 8C42419C */ lw $v0, 0x419c($v0) /* 0D7A08 80141308 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -2282,7 +2282,7 @@ func_80141300: /* 0D7A28 80141328 8E040000 */ lw $a0, ($s0) /* 0D7A2C 8014132C 10800004 */ beqz $a0, .L80141340 /* 0D7A30 80141330 00000000 */ nop -/* 0D7A34 80141334 0C00AB1E */ jal func_8002AC78 +/* 0D7A34 80141334 0C00AB1E */ jal general_heap_free /* 0D7A38 80141338 00000000 */ nop /* 0D7A3C 8014133C AE000000 */ sw $zero, ($s0) .L80141340: @@ -2344,7 +2344,7 @@ func_801413F8: /* 0D7B08 80141408 00A0302D */ daddu $a2, $a1, $zero /* 0D7B0C 8014140C 2407013F */ addiu $a3, $zero, 0x13f /* 0D7B10 80141410 AFBF0018 */ sw $ra, 0x18($sp) -/* 0D7B14 80141414 0C00B8C5 */ jal func_8002E314 +/* 0D7B14 80141414 0C00B8C5 */ jal set_cam_viewport /* 0D7B18 80141418 AFA20010 */ sw $v0, 0x10($sp) /* 0D7B1C 8014141C 3C02800B */ lui $v0, 0x800b /* 0D7B20 80141420 24421D80 */ addiu $v0, $v0, 0x1d80 @@ -2381,7 +2381,7 @@ func_801413F8: /* 0D7B9C 8014149C 03E00008 */ jr $ra /* 0D7BA0 801414A0 27BD0020 */ addiu $sp, $sp, 0x20 -func_801414A4: +create_icon: /* 0D7BA4 801414A4 3C038015 */ lui $v1, 0x8015 /* 0D7BA8 801414A8 8C637960 */ lw $v1, 0x7960($v1) /* 0D7BAC 801414AC 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -2408,7 +2408,7 @@ func_801414F0: /* 0D7BF4 801414F4 00000000 */ nop .L801414F8: -/* 0D7BF8 801414F8 0C00AB39 */ jal func_8002ACE4 +/* 0D7BF8 801414F8 0C00AB39 */ jal heap_malloc /* 0D7BFC 801414FC 24040054 */ addiu $a0, $zero, 0x54 /* 0D7C00 80141500 00112080 */ sll $a0, $s1, 2 /* 0D7C04 80141504 3C038015 */ lui $v1, 0x8015 @@ -2485,7 +2485,7 @@ func_80141530: /* 0D7D08 80141608 03E00008 */ jr $ra /* 0D7D0C 8014160C 27BD0020 */ addiu $sp, $sp, 0x20 -func_80141610: +update_menu_icons: /* 0D7D10 80141610 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0D7D14 80141614 AFB10014 */ sw $s1, 0x14($sp) /* 0D7D18 80141618 0000882D */ daddu $s1, $zero, $zero @@ -2509,7 +2509,7 @@ func_80141610: /* 0D7D5C 8014165C 00721024 */ and $v0, $v1, $s2 /* 0D7D60 80141660 10400005 */ beqz $v0, .L80141678 /* 0D7D64 80141664 00000000 */ nop -/* 0D7D68 80141668 0C05123D */ jal func_801448F4 +/* 0D7D68 80141668 0C05123D */ jal free_icon /* 0D7D6C 8014166C 0220202D */ daddu $a0, $s1, $zero /* 0D7D70 80141670 080505B8 */ j func_801416E0 /* 0D7D74 80141674 26310001 */ addiu $s1, $s1, 1 @@ -2953,7 +2953,7 @@ func_80141C4C: /* 0D8390 80141C90 26100004 */ addiu $s0, $s0, 4 /* 0D8394 80141C94 8E120000 */ lw $s2, ($s0) /* 0D8398 80141C98 26100004 */ addiu $s0, $s0, 4 -/* 0D839C 80141C9C 0C00A67F */ jal func_800299FC +/* 0D839C 80141C9C 0C00A67F */ jal rand_int /* 0D83A0 80141CA0 0220202D */ daddu $a0, $s1, $zero /* 0D83A4 80141CA4 0052102A */ slt $v0, $v0, $s2 /* 0D83A8 80141CA8 50400102 */ beql $v0, $zero, .L801420B4 @@ -3249,7 +3249,7 @@ func_801420B4: /* 0D87C0 801420C0 26100004 */ addiu $s0, $s0, 4 /* 0D87C4 801420C4 8E120000 */ lw $s2, ($s0) /* 0D87C8 801420C8 26100004 */ addiu $s0, $s0, 4 -/* 0D87CC 801420CC 0C00A67F */ jal func_800299FC +/* 0D87CC 801420CC 0C00A67F */ jal rand_int /* 0D87D0 801420D0 02512023 */ subu $a0, $s2, $s1 /* 0D87D4 801420D4 00511021 */ addu $v0, $v0, $s1 /* 0D87D8 801420D8 A2620047 */ sb $v0, 0x47($s3) @@ -3296,7 +3296,7 @@ func_801420B4: /* 0D8874 80142174 8E110000 */ lw $s1, ($s0) /* 0D8878 80142178 26100004 */ addiu $s0, $s0, 4 -/* 0D887C 8014217C 0C00A67F */ jal func_800299FC +/* 0D887C 8014217C 0C00A67F */ jal rand_int /* 0D8880 80142180 2624FFFF */ addiu $a0, $s1, -1 /* 0D8884 80142184 00021080 */ sll $v0, $v0, 2 /* 0D8888 80142188 00501021 */ addu $v0, $v0, $s0 @@ -3309,7 +3309,7 @@ func_801420B4: /* 0D88A4 801421A4 8E060000 */ lw $a2, ($s0) /* 0D88A8 801421A8 26100004 */ addiu $s0, $s0, 4 -/* 0D88AC 801421AC 0C05272D */ jal func_80149CB4 +/* 0D88AC 801421AC 0C05272D */ jal play_sound /* 0D88B0 801421B0 00C0202D */ daddu $a0, $a2, $zero /* 0D88B4 801421B4 24020001 */ addiu $v0, $zero, 1 /* 0D88B8 801421B8 0805087D */ j func_801421F4 @@ -4036,7 +4036,7 @@ func_80142BB4: /* 0D92F4 80142BF4 03E00008 */ jr $ra /* 0D92F8 80142BF8 27BD0550 */ addiu $sp, $sp, 0x550 -func_80142BFC: +render_menu_icon: /* 0D92FC 80142BFC 27BDFCF8 */ addiu $sp, $sp, -0x308 /* 0D9300 80142C00 AFB702E4 */ sw $s7, 0x2e4($sp) /* 0D9304 80142C04 0080B82D */ daddu $s7, $a0, $zero @@ -4771,7 +4771,7 @@ func_8014363C: /* 0D9DAC 801436AC 03E00008 */ jr $ra /* 0D9DB0 801436B0 27BD0308 */ addiu $sp, $sp, 0x308 -func_801436B4: +render_menu_icons: /* 0D9DB4 801436B4 27BDFAE0 */ addiu $sp, $sp, -0x520 /* 0D9DB8 801436B8 AFBF051C */ sw $ra, 0x51c($sp) /* 0D9DBC 801436BC AFB20518 */ sw $s2, 0x518($sp) @@ -4953,7 +4953,7 @@ func_801436B4: /* 0DA05C 8014395C 00021080 */ sll $v0, $v0, 2 /* 0DA060 80143960 00431021 */ addu $v0, $v0, $v1 /* 0DA064 80143964 8C440000 */ lw $a0, ($v0) -/* 0DA068 80143968 0C050AFF */ jal func_80142BFC +/* 0DA068 80143968 0C050AFF */ jal render_menu_icon /* 0DA06C 8014396C 26310001 */ addiu $s1, $s1, 1 /* 0DA070 80143970 0232102A */ slt $v0, $s1, $s2 /* 0DA074 80143974 1440FFF5 */ bnez $v0, .L8014394C @@ -5136,7 +5136,7 @@ func_801436B4: /* 0DA310 80143C10 00021080 */ sll $v0, $v0, 2 /* 0DA314 80143C14 00431021 */ addu $v0, $v0, $v1 /* 0DA318 80143C18 8C440000 */ lw $a0, ($v0) -/* 0DA31C 80143C1C 0C050AFF */ jal func_80142BFC +/* 0DA31C 80143C1C 0C050AFF */ jal render_menu_icon /* 0DA320 80143C20 26310001 */ addiu $s1, $s1, 1 /* 0DA324 80143C24 0232102A */ slt $v0, $s1, $s2 /* 0DA328 80143C28 1440FFF5 */ bnez $v0, .L80143C00 @@ -5509,7 +5509,7 @@ func_80143C48: /* 0DA8D4 801441D4 30620080 */ andi $v0, $v1, 0x80 /* 0DA8D8 801441D8 10400003 */ beqz $v0, .L801441E8 /* 0DA8DC 801441DC 00000000 */ nop -/* 0DA8E0 801441E0 0C050AFF */ jal func_80142BFC +/* 0DA8E0 801441E0 0C050AFF */ jal render_menu_icon /* 0DA8E4 801441E4 00000000 */ nop .L801441E8: /* 0DA8E8 801441E8 8FBF0044 */ lw $ra, 0x44($sp) @@ -5561,7 +5561,7 @@ func_80143C48: /* 0DA990 80144290 03E00008 */ jr $ra /* 0DA994 80144294 27BD0018 */ addiu $sp, $sp, 0x18 -func_80144298: +draw_menu_icon: /* 0DA998 80144298 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0DA99C 8014429C 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DA9A0 801442A0 00822024 */ and $a0, $a0, $v0 @@ -5909,19 +5909,19 @@ func_80144778: /* 0DAEA0 801447A0 03E00008 */ jr $ra /* 0DAEA4 801447A4 27BD0048 */ addiu $sp, $sp, 0x48 -func_801447A8: +draw_icon_0: /* 0DAEA8 801447A8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0DAEAC 801447AC AFBF0010 */ sw $ra, 0x10($sp) -/* 0DAEB0 801447B0 0C0510A6 */ jal func_80144298 +/* 0DAEB0 801447B0 0C0510A6 */ jal draw_menu_icon /* 0DAEB4 801447B4 0000282D */ daddu $a1, $zero, $zero /* 0DAEB8 801447B8 8FBF0010 */ lw $ra, 0x10($sp) /* 0DAEBC 801447BC 03E00008 */ jr $ra /* 0DAEC0 801447C0 27BD0018 */ addiu $sp, $sp, 0x18 -func_801447C4: +draw_icon_1: /* 0DAEC4 801447C4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0DAEC8 801447C8 AFBF0010 */ sw $ra, 0x10($sp) -/* 0DAECC 801447CC 0C0510A6 */ jal func_80144298 +/* 0DAECC 801447CC 0C0510A6 */ jal draw_menu_icon /* 0DAED0 801447D0 24050001 */ addiu $a1, $zero, 1 /* 0DAED4 801447D4 8FBF0010 */ lw $ra, 0x10($sp) /* 0DAED8 801447D8 03E00008 */ jr $ra @@ -5930,13 +5930,13 @@ func_801447C4: func_801447E0: /* 0DAEE0 801447E0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0DAEE4 801447E4 AFBF0010 */ sw $ra, 0x10($sp) -/* 0DAEE8 801447E8 0C0510A6 */ jal func_80144298 +/* 0DAEE8 801447E8 0C0510A6 */ jal draw_menu_icon /* 0DAEEC 801447EC 24050002 */ addiu $a1, $zero, 2 /* 0DAEF0 801447F0 8FBF0010 */ lw $ra, 0x10($sp) /* 0DAEF4 801447F4 03E00008 */ jr $ra /* 0DAEF8 801447F8 27BD0018 */ addiu $sp, $sp, 0x18 -func_801447FC: +set_menu_icon_script: /* 0DAEFC 801447FC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0DAF00 80144800 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DAF04 80144804 00822024 */ and $a0, $a0, $v0 @@ -5985,6 +5985,7 @@ func_801447FC: /* 0DAFA8 801448A8 03E00008 */ jr $ra /* 0DAFAC 801448AC 27BD0018 */ addiu $sp, $sp, 0x18 +get_menu_icon_script: /* 0DAFB0 801448B0 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DAFB4 801448B4 00822024 */ and $a0, $a0, $v0 /* 0DAFB8 801448B8 3C028015 */ lui $v0, 0x8015 @@ -5995,7 +5996,7 @@ func_801447FC: /* 0DAFCC 801448CC 03E00008 */ jr $ra /* 0DAFD0 801448D0 8C420008 */ lw $v0, 8($v0) -func_801448D4: +get_menu_icon: /* 0DAFD4 801448D4 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DAFD8 801448D8 00822024 */ and $a0, $a0, $v0 /* 0DAFDC 801448DC 3C028015 */ lui $v0, 0x8015 @@ -6005,7 +6006,7 @@ func_801448D4: /* 0DAFEC 801448EC 03E00008 */ jr $ra /* 0DAFF0 801448F0 8C820000 */ lw $v0, ($a0) -func_801448F4: +free_icon: /* 0DAFF4 801448F4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0DAFF8 801448F8 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DAFFC 801448FC 00822024 */ and $a0, $a0, $v0 @@ -6028,7 +6029,7 @@ func_801448F4: .L80144940: /* 0DB040 80144940 8E220000 */ lw $v0, ($s1) /* 0DB044 80144944 02021021 */ addu $v0, $s0, $v0 -/* 0DB048 80144948 0C00AB4B */ jal func_8002AD2C +/* 0DB048 80144948 0C00AB4B */ jal heap_free /* 0DB04C 8014494C 8C440000 */ lw $a0, ($v0) /* 0DB050 80144950 3C048015 */ lui $a0, 0x8015 /* 0DB054 80144954 248412B4 */ addiu $a0, $a0, 0x12b4 @@ -6044,7 +6045,7 @@ func_801448F4: /* 0DB07C 8014497C 03E00008 */ jr $ra /* 0DB080 80144980 27BD0020 */ addiu $sp, $sp, 0x20 -func_80144984: +set_icon_render_pos: /* 0DB084 80144984 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DB088 80144988 00822024 */ and $a0, $a0, $v0 /* 0DB08C 8014498C 3C028015 */ lui $v0, 0x8015 @@ -6056,6 +6057,7 @@ func_80144984: /* 0DB0A4 801449A4 03E00008 */ jr $ra /* 0DB0A8 801449A8 A446003E */ sh $a2, 0x3e($v0) +get_icon_render_pos: /* 0DB0AC 801449AC 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DB0B0 801449B0 00822024 */ and $a0, $a0, $v0 /* 0DB0B4 801449B4 3C028015 */ lui $v0, 0x8015 @@ -6079,7 +6081,7 @@ func_80144984: /* 0DB0F8 801449F8 03E00008 */ jr $ra /* 0DB0FC 801449FC A0450044 */ sb $a1, 0x44($v0) -func_80144A00: +set_icon_flags: /* 0DB100 80144A00 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DB104 80144A04 00822024 */ and $a0, $a0, $v0 /* 0DB108 80144A08 3C028015 */ lui $v0, 0x8015 @@ -6092,7 +6094,7 @@ func_80144A00: /* 0DB124 80144A24 03E00008 */ jr $ra /* 0DB128 80144A28 AC620000 */ sw $v0, ($v1) -func_80144A2C: +clear_icon_flags: /* 0DB12C 80144A2C 2402F7FF */ addiu $v0, $zero, -0x801 /* 0DB130 80144A30 00822024 */ and $a0, $a0, $v0 /* 0DB134 80144A34 3C028015 */ lui $v0, 0x8015 @@ -6116,10 +6118,10 @@ func_80144A2C: /* 0DB178 80144A78 00000000 */ nop /* 0DB17C 80144A7C 3C108015 */ lui $s0, 0x8015 /* 0DB180 80144A80 26101314 */ addiu $s0, $s0, 0x1314 -/* 0DB184 80144A84 0C00AB4B */ jal func_8002AD2C +/* 0DB184 80144A84 0C00AB4B */ jal heap_free /* 0DB188 80144A88 8E040000 */ lw $a0, ($s0) /* 0DB18C 80144A8C 3C048015 */ lui $a0, 0x8015 -/* 0DB190 80144A90 0C00AB39 */ jal func_8002ACE4 +/* 0DB190 80144A90 0C00AB39 */ jal heap_malloc /* 0DB194 80144A94 8C84EFC4 */ lw $a0, -0x103c($a0) /* 0DB198 80144A98 14400003 */ bnez $v0, .L80144AA8 /* 0DB19C 80144A9C AE020000 */ sw $v0, ($s0) @@ -6173,13 +6175,13 @@ func_80144AA0: /* 0DB244 80144B44 00000000 */ nop /* 0DB248 80144B48 3C108015 */ lui $s0, 0x8015 /* 0DB24C 80144B4C 26101314 */ addiu $s0, $s0, 0x1314 -/* 0DB250 80144B50 0C00AB4B */ jal func_8002AD2C +/* 0DB250 80144B50 0C00AB4B */ jal heap_free /* 0DB254 80144B54 8E040000 */ lw $a0, ($s0) /* 0DB258 80144B58 3C048015 */ lui $a0, 0x8015 /* 0DB25C 80144B5C 8C84EFC4 */ lw $a0, -0x103c($a0) /* 0DB260 80144B60 000417C2 */ srl $v0, $a0, 0x1f /* 0DB264 80144B64 00822021 */ addu $a0, $a0, $v0 -/* 0DB268 80144B68 0C00AB39 */ jal func_8002ACE4 +/* 0DB268 80144B68 0C00AB39 */ jal heap_malloc /* 0DB26C 80144B6C 00042043 */ sra $a0, $a0, 1 /* 0DB270 80144B70 14400005 */ bnez $v0, .L80144B88 /* 0DB274 80144B74 AE020000 */ sw $v0, ($s0) @@ -6456,7 +6458,7 @@ func_80144EFC: /* 0DB648 80144F48 AFB00010 */ sw $s0, 0x10($sp) /* 0DB64C 80144F4C 00431021 */ addu $v0, $v0, $v1 /* 0DB650 80144F50 8C510000 */ lw $s1, ($v0) -/* 0DB654 80144F54 0C00AB0A */ jal func_8002AC28 +/* 0DB654 80144F54 0C00AB0A */ jal general_heap_malloc /* 0DB658 80144F58 240400F0 */ addiu $a0, $zero, 0xf0 /* 0DB65C 80144F5C 0040802D */ daddu $s0, $v0, $zero /* 0DB660 80144F60 16000003 */ bnez $s0, .L80144F70 @@ -6503,7 +6505,7 @@ func_80144F68: /* 0DB6F4 80144FF4 AFB00010 */ sw $s0, 0x10($sp) /* 0DB6F8 80144FF8 00431021 */ addu $v0, $v0, $v1 /* 0DB6FC 80144FFC 8C500000 */ lw $s0, ($v0) -/* 0DB700 80145000 0C00AB0A */ jal func_8002AC28 +/* 0DB700 80145000 0C00AB0A */ jal general_heap_malloc /* 0DB704 80145004 240400F0 */ addiu $a0, $zero, 0xf0 /* 0DB708 80145008 0040202D */ daddu $a0, $v0, $zero /* 0DB70C 8014500C 14800003 */ bnez $a0, .L8014501C @@ -6545,7 +6547,7 @@ func_80145014: /* 0DB78C 8014508C AFB00010 */ sw $s0, 0x10($sp) /* 0DB790 80145090 00431021 */ addu $v0, $v0, $v1 /* 0DB794 80145094 8C500000 */ lw $s0, ($v0) -/* 0DB798 80145098 0C00AB0A */ jal func_8002AC28 +/* 0DB798 80145098 0C00AB0A */ jal general_heap_malloc /* 0DB79C 8014509C 240400F0 */ addiu $a0, $zero, 0xf0 /* 0DB7A0 801450A0 0040202D */ daddu $a0, $v0, $zero /* 0DB7A4 801450A4 14800003 */ bnez $a0, .L801450B4 @@ -6598,7 +6600,7 @@ func_80145108: /* 0DB84C 8014514C 8C840000 */ lw $a0, ($a0) /* 0DB850 80145150 8E04001C */ lw $a0, 0x1c($s0) .L80145154: -/* 0DB854 80145154 0C00AB4B */ jal func_8002AD2C +/* 0DB854 80145154 0C00AB4B */ jal heap_free /* 0DB858 80145158 00000000 */ nop /* 0DB85C 8014515C 3C03BFFC */ lui $v1, 0xbffc /* 0DB860 80145160 8E020000 */ lw $v0, ($s0) diff --git a/papermario/asm/code_d610_len_1330.s b/papermario/asm/code_d610_len_1330.s index 70750fb8bc..51ff2e27ca 100644 --- a/papermario/asm/code_d610_len_1330.s +++ b/papermario/asm/code_d610_len_1330.s @@ -29,7 +29,7 @@ func_80032210: /* 00D670 80032270 27A20050 */ addiu $v0, $sp, 0x50 /* 00D674 80032274 E7A00010 */ swc1 $f0, 0x10($sp) /* 00D678 80032278 E7A40014 */ swc1 $f4, 0x14($sp) -/* 00D67C 8003227C 0C017449 */ jal func_8005D124 +/* 00D67C 8003227C 0C017449 */ jal test_ray_zones /* 00D680 80032280 AFA20030 */ sw $v0, 0x30($sp) /* 00D684 80032284 0040202D */ daddu $a0, $v0, $zero /* 00D688 80032288 04800010 */ bltz $a0, .L800322CC @@ -759,9 +759,9 @@ func_80032C64: /* 00E0BC 80032CBC 00000000 */ nop /* 00E0C0 80032CC0 0000902D */ daddu $s2, $zero, $zero /* 00E0C4 80032CC4 C63A050C */ lwc1 $f26, 0x50c($s1) -/* 00E0C8 80032CC8 0C00A874 */ jal func_8002A1D0 +/* 00E0C8 80032CC8 0C00A874 */ jal cos_rad /* 00E0CC 80032CCC 4600A306 */ mov.s $f12, $f20 -/* 00E0D0 80032CD0 0C00A85B */ jal func_8002A16C +/* 00E0D0 80032CD0 0C00A85B */ jal sin_rad /* 00E0D4 80032CD4 4600A306 */ mov.s $f12, $f20 /* 00E0D8 80032CD8 C6200064 */ lwc1 $f0, 0x64($s1) /* 00E0DC 80032CDC 3C014120 */ lui $at, 0x4120 @@ -835,7 +835,7 @@ func_80032C64: /* 00E1E8 80032DE8 8E250060 */ lw $a1, 0x60($s1) /* 00E1EC 80032DEC 8E260064 */ lw $a2, 0x64($s1) /* 00E1F0 80032DF0 8E270068 */ lw $a3, 0x68($s1) -/* 00E1F4 80032DF4 0C00A588 */ jal func_80029620 +/* 00E1F4 80032DF4 0C00A588 */ jal transform_point /* 00E1F8 80032DF8 0200202D */ daddu $a0, $s0, $zero /* 00E1FC 80032DFC C7A0003C */ lwc1 $f0, 0x3c($sp) /* 00E200 80032E00 44802000 */ mtc1 $zero, $f4 @@ -894,10 +894,10 @@ func_80032C64: /* 00E2BC 80032EBC 4600C601 */ sub.s $f24, $f24, $f0 /* 00E2C0 80032EC0 C6200528 */ lwc1 $f0, 0x528($s1) /* 00E2C4 80032EC4 C62C006C */ lwc1 $f12, 0x6c($s1) -/* 00E2C8 80032EC8 0C00A8D4 */ jal func_8002A350 +/* 00E2C8 80032EC8 0C00A8D4 */ jal cos_deg /* 00E2CC 80032ECC 4600B581 */ sub.s $f22, $f22, $f0 /* 00E2D0 80032ED0 C62C006C */ lwc1 $f12, 0x6c($s1) -/* 00E2D4 80032ED4 0C00A8BB */ jal func_8002A2EC +/* 00E2D4 80032ED4 0C00A8BB */ jal sin_deg /* 00E2D8 80032ED8 46000507 */ neg.s $f20, $f0 /* 00E2DC 80032EDC 4614C602 */ mul.s $f24, $f24, $f20 /* 00E2E0 80032EE0 00000000 */ nop @@ -955,13 +955,13 @@ func_80032F24: /* 00E390 80032F90 AE20052C */ sw $zero, 0x52c($s1) /* 00E394 80032F94 AE330534 */ sw $s3, 0x534($s1) /* 00E398 80032F98 E6200524 */ swc1 $f0, 0x524($s1) -/* 00E39C 80032F9C 0C00A874 */ jal func_8002A1D0 +/* 00E39C 80032F9C 0C00A874 */ jal cos_rad /* 00E3A0 80032FA0 E6220528 */ swc1 $f2, 0x528($s1) /* 00E3A4 80032FA4 4600D002 */ mul.s $f0, $f26, $f0 /* 00E3A8 80032FA8 00000000 */ nop /* 00E3AC 80032FAC C6220060 */ lwc1 $f2, 0x60($s1) /* 00E3B0 80032FB0 46001700 */ add.s $f28, $f2, $f0 -/* 00E3B4 80032FB4 0C00A85B */ jal func_8002A16C +/* 00E3B4 80032FB4 0C00A85B */ jal sin_rad /* 00E3B8 80032FB8 4600A306 */ mov.s $f12, $f20 /* 00E3BC 80032FBC 4600D002 */ mul.s $f0, $f26, $f0 /* 00E3C0 80032FC0 00000000 */ nop @@ -1274,11 +1274,11 @@ func_80033394: /* 00E83C 8003343C 4600A503 */ div.s $f20, $f20, $f0 /* 00E840 80033440 4602A502 */ mul.s $f20, $f20, $f2 /* 00E844 80033444 00000000 */ nop -/* 00E848 80033448 0C00A85B */ jal func_8002A16C +/* 00E848 80033448 0C00A85B */ jal sin_rad /* 00E84C 8003344C 4600A306 */ mov.s $f12, $f20 /* 00E850 80033450 4600B582 */ mul.s $f22, $f22, $f0 /* 00E854 80033454 00000000 */ nop -/* 00E858 80033458 0C00A874 */ jal func_8002A1D0 +/* 00E858 80033458 0C00A874 */ jal cos_rad /* 00E85C 8003345C 4600A306 */ mov.s $f12, $f20 /* 00E860 80033460 8602000A */ lh $v0, 0xa($s0) /* 00E864 80033464 4600B583 */ div.s $f22, $f22, $f0 @@ -1318,7 +1318,7 @@ func_80033394: /* 00E8E8 800334E8 03E00008 */ jr $ra /* 00E8EC 800334EC 00000000 */ nop -func_800334F0: +set_game_mode: /* 00E8F0 800334F0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00E8F4 800334F4 3C01800A */ lui $at, 0x800a /* 00E8F8 800334F8 A42408F0 */ sh $a0, 0x8f0($at) @@ -1334,7 +1334,7 @@ func_800334F0: /* 00E920 80033520 03E00008 */ jr $ra /* 00E924 80033524 27BD0018 */ addiu $sp, $sp, 0x18 -func_80033528: +get_game_mode: /* 00E928 80033528 3C02800A */ lui $v0, 0x800a /* 00E92C 8003352C 844208F0 */ lh $v0, 0x8f0($v0) /* 00E930 80033530 03E00008 */ jr $ra diff --git a/papermario/asm/code_dba20_len_350.s b/papermario/asm/code_dba20_len_350.s index d35489ed00..be88aeb3c4 100644 --- a/papermario/asm/code_dba20_len_350.s +++ b/papermario/asm/code_dba20_len_350.s @@ -1,7 +1,7 @@ .section .text80145320, "ax" -func_80145320: +clear_saved_variables: /* 0DBA20 80145320 2402003F */ addiu $v0, $zero, 0x3f /* 0DBA24 80145324 3C04800E */ lui $a0, 0x800e /* 0DBA28 80145328 2484ACC0 */ addiu $a0, $a0, -0x5340 @@ -35,7 +35,7 @@ func_80145320: /* 0DBA88 80145388 03E00008 */ jr $ra /* 0DBA8C 8014538C 00000000 */ nop -func_80145390: +clear_area_flags: /* 0DBA90 80145390 3C028007 */ lui $v0, 0x8007 /* 0DBA94 80145394 8C42419C */ lw $v0, 0x419c($v0) /* 0DBA98 80145398 8442008A */ lh $v0, 0x8a($v0) @@ -60,7 +60,7 @@ func_80145390: /* 0DBAD8 801453D8 03E00008 */ jr $ra /* 0DBADC 801453DC 00000000 */ nop -func_801453E0: +clear_global_flag: /* 0DBAE0 801453E0 3C02F8D8 */ lui $v0, 0xf8d8 /* 0DBAE4 801453E4 3442F200 */ ori $v0, $v0, 0xf200 /* 0DBAE8 801453E8 0044102A */ slt $v0, $v0, $a0 @@ -93,7 +93,7 @@ func_801453E0: /* 0DBB48 80145448 03E00008 */ jr $ra /* 0DBB4C 8014544C 0060102D */ daddu $v0, $v1, $zero -func_80145450: +set_global_flag: /* 0DBB50 80145450 3C02F8D8 */ lui $v0, 0xf8d8 /* 0DBB54 80145454 3442F200 */ ori $v0, $v0, 0xf200 /* 0DBB58 80145458 0044102A */ slt $v0, $v0, $a0 @@ -125,7 +125,7 @@ func_80145450: /* 0DBBB4 801454B4 03E00008 */ jr $ra /* 0DBBB8 801454B8 0060102D */ daddu $v0, $v1, $zero -func_801454BC: +get_global_flag: /* 0DBBBC 801454BC 0080282D */ daddu $a1, $a0, $zero /* 0DBBC0 801454C0 3C02F8D8 */ lui $v0, 0xf8d8 /* 0DBBC4 801454C4 3442F200 */ ori $v0, $v0, 0xf200 @@ -155,7 +155,7 @@ func_801454BC: /* 0DBC18 80145518 03E00008 */ jr $ra /* 0DBC1C 8014551C 00000000 */ nop -func_80145520: +set_global_byte: /* 0DBC20 80145520 3C02800E */ lui $v0, 0x800e /* 0DBC24 80145524 2442ACC0 */ addiu $v0, $v0, -0x5340 /* 0DBC28 80145528 00822021 */ addu $a0, $a0, $v0 @@ -163,14 +163,14 @@ func_80145520: /* 0DBC30 80145530 03E00008 */ jr $ra /* 0DBC34 80145534 A08510B0 */ sb $a1, 0x10b0($a0) -func_80145538: +get_global_byte: /* 0DBC38 80145538 3C02800E */ lui $v0, 0x800e /* 0DBC3C 8014553C 00441021 */ addu $v0, $v0, $a0 /* 0DBC40 80145540 8042BD70 */ lb $v0, -0x4290($v0) /* 0DBC44 80145544 03E00008 */ jr $ra /* 0DBC48 80145548 00000000 */ nop -func_8014554C: +clear_area_flag: /* 0DBC4C 8014554C 04810002 */ bgez $a0, .L80145558 /* 0DBC50 80145550 0080102D */ daddu $v0, $a0, $zero /* 0DBC54 80145554 2482001F */ addiu $v0, $a0, 0x1f @@ -195,7 +195,7 @@ func_8014554C: /* 0DBC98 80145598 03E00008 */ jr $ra /* 0DBC9C 8014559C 0060102D */ daddu $v0, $v1, $zero -func_801455A0: +set_area_flag: /* 0DBCA0 801455A0 04810002 */ bgez $a0, .L801455AC /* 0DBCA4 801455A4 0080102D */ daddu $v0, $a0, $zero /* 0DBCA8 801455A8 2482001F */ addiu $v0, $a0, 0x1f @@ -219,7 +219,7 @@ func_801455A0: /* 0DBCE8 801455E8 03E00008 */ jr $ra /* 0DBCEC 801455EC 0060102D */ daddu $v0, $v1, $zero -func_801455F0: +get_area_flag: /* 0DBCF0 801455F0 0080102D */ daddu $v0, $a0, $zero /* 0DBCF4 801455F4 04410002 */ bgez $v0, .L80145600 /* 0DBCF8 801455F8 0040182D */ daddu $v1, $v0, $zero @@ -241,7 +241,7 @@ func_801455F0: /* 0DBD30 80145630 03E00008 */ jr $ra /* 0DBD34 80145634 00000000 */ nop -func_80145638: +set_area_byte: /* 0DBD38 80145638 3C02800E */ lui $v0, 0x800e /* 0DBD3C 8014563C 2442ACC0 */ addiu $v0, $v0, -0x5340 /* 0DBD40 80145640 00822021 */ addu $a0, $a0, $v0 @@ -249,7 +249,7 @@ func_80145638: /* 0DBD48 80145648 03E00008 */ jr $ra /* 0DBD4C 8014564C A08512D0 */ sb $a1, 0x12d0($a0) -func_80145650: +get_area_byte: /* 0DBD50 80145650 3C02800E */ lui $v0, 0x800e /* 0DBD54 80145654 00441021 */ addu $v0, $v0, $a0 /* 0DBD58 80145658 8042BF90 */ lb $v0, -0x4070($v0) diff --git a/papermario/asm/code_dbd70_len_700.s b/papermario/asm/code_dbd70_len_700.s index 8c6b1c74c2..3125c862c1 100644 --- a/papermario/asm/code_dbd70_len_700.s +++ b/papermario/asm/code_dbd70_len_700.s @@ -1,12 +1,13 @@ .section .text80145670, "ax" +default_trigger_function_handler: /* 0DBD70 80145670 8C820000 */ lw $v0, ($a0) /* 0DBD74 80145674 34420002 */ ori $v0, $v0, 2 /* 0DBD78 80145678 03E00008 */ jr $ra /* 0DBD7C 8014567C AC820000 */ sw $v0, ($a0) -func_80145680: +clear_trigger_data: /* 0DBD80 80145680 3C028007 */ lui $v0, 0x8007 /* 0DBD84 80145684 8C42419C */ lw $v0, 0x419c($v0) /* 0DBD88 80145688 80420070 */ lb $v0, 0x70($v0) @@ -54,7 +55,7 @@ func_801456B4: /* 0DBE20 80145720 03E00008 */ jr $ra /* 0DBE24 80145724 AC800024 */ sw $zero, 0x24($a0) -func_80145728: +init_trigger_list: /* 0DBE28 80145728 3C028007 */ lui $v0, 0x8007 /* 0DBE2C 8014572C 8C42419C */ lw $v0, 0x419c($v0) /* 0DBE30 80145730 80420070 */ lb $v0, 0x70($v0) @@ -76,7 +77,7 @@ func_80145754: /* 0DBE64 80145764 03E00008 */ jr $ra /* 0DBE68 80145768 00000000 */ nop -func_8014576C: +create_trigger: /* 0DBE6C 8014576C 3C038016 */ lui $v1, 0x8016 /* 0DBE70 80145770 8C639390 */ lw $v1, -0x6c70($v1) /* 0DBE74 80145774 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -102,7 +103,7 @@ func_801457B4: /* 0DBEB8 801457B8 00000000 */ nop .L801457BC: -/* 0DBEBC 801457BC 0C00AB39 */ jal func_8002ACE4 +/* 0DBEBC 801457BC 0C00AB39 */ jal heap_malloc /* 0DBEC0 801457C0 24040038 */ addiu $a0, $zero, 0x38 /* 0DBEC4 801457C4 00102080 */ sll $a0, $s0, 2 /* 0DBEC8 801457C8 3C038016 */ lui $v1, 0x8016 @@ -148,7 +149,7 @@ func_801457F4: /* 0DBF58 80145858 03E00008 */ jr $ra /* 0DBF5C 8014585C 27BD0020 */ addiu $sp, $sp, 0x20 -func_80145860: +update_triggers: /* 0DBF60 80145860 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0DBF64 80145864 AFB20020 */ sw $s2, 0x20($sp) /* 0DBF68 80145868 3C128016 */ lui $s2, 0x8016 @@ -319,7 +320,7 @@ func_80145860: /* 0DC1C0 80145AC0 C60C0000 */ lwc1 $f12, ($s0) /* 0DC1C4 80145AC4 C60E0004 */ lwc1 $f14, 4($s0) /* 0DC1C8 80145AC8 8E060008 */ lw $a2, 8($s0) -/* 0DC1CC 80145ACC 0C00A7CB */ jal func_80029F2C +/* 0DC1CC 80145ACC 0C00A7CB */ jal dist3D /* 0DC1D0 80145AD0 8E47001C */ lw $a3, 0x1c($s2) /* 0DC1D4 80145AD4 C604000C */ lwc1 $f4, 0xc($s0) /* 0DC1D8 80145AD8 3C013F00 */ lui $at, 0x3f00 @@ -341,7 +342,7 @@ func_80145860: /* 0DC214 80145B14 00431024 */ and $v0, $v0, $v1 /* 0DC218 80145B18 10400005 */ beqz $v0, .L80145B30 /* 0DC21C 80145B1C 00000000 */ nop -/* 0DC220 80145B20 0C05152F */ jal func_801454BC +/* 0DC220 80145B20 0C05152F */ jal get_global_flag /* 0DC224 80145B24 8E240004 */ lw $a0, 4($s1) /* 0DC228 80145B28 5040000E */ beql $v0, $zero, .L80145B64 /* 0DC22C 80145B2C 26730001 */ addiu $s3, $s3, 1 @@ -351,7 +352,7 @@ func_80145860: /* 0DC238 80145B38 00431024 */ and $v0, $v0, $v1 /* 0DC23C 80145B3C 10400005 */ beqz $v0, .L80145B54 /* 0DC240 80145B40 00000000 */ nop -/* 0DC244 80145B44 0C05157C */ jal func_801455F0 +/* 0DC244 80145B44 0C05157C */ jal get_area_flag /* 0DC248 80145B48 8E240004 */ lw $a0, 4($s1) /* 0DC24C 80145B4C 50400005 */ beql $v0, $zero, .L80145B64 /* 0DC250 80145B50 26730001 */ addiu $s3, $s3, 1 @@ -401,7 +402,7 @@ func_80145860: /* 0DC2EC 80145BEC 03E00008 */ jr $ra /* 0DC2F0 80145BF0 27BD0030 */ addiu $sp, $sp, 0x30 -func_80145BF4: +delete_trigger: /* 0DC2F4 80145BF4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0DC2F8 80145BF8 AFB10014 */ sw $s1, 0x14($sp) /* 0DC2FC 80145BFC 3C118016 */ lui $s1, 0x8016 @@ -424,7 +425,7 @@ func_80145BF4: /* 0DC338 80145C38 10400007 */ beqz $v0, .L80145C58 /* 0DC33C 80145C3C 00108080 */ sll $s0, $s0, 2 /* 0DC340 80145C40 02051021 */ addu $v0, $s0, $a1 -/* 0DC344 80145C44 0C00AB4B */ jal func_8002AD2C +/* 0DC344 80145C44 0C00AB4B */ jal heap_free /* 0DC348 80145C48 8C440000 */ lw $a0, ($v0) /* 0DC34C 80145C4C 8E220000 */ lw $v0, ($s1) /* 0DC350 80145C50 02028021 */ addu $s0, $s0, $v0 @@ -436,7 +437,7 @@ func_80145BF4: /* 0DC364 80145C64 03E00008 */ jr $ra /* 0DC368 80145C68 27BD0020 */ addiu $sp, $sp, 0x20 -func_80145C6C: +is_trigger_bound: /* 0DC36C 80145C6C 0000402D */ daddu $t0, $zero, $zero /* 0DC370 80145C70 3C078016 */ lui $a3, 0x8016 /* 0DC374 80145C74 8CE79390 */ lw $a3, -0x6c70($a3) @@ -467,6 +468,7 @@ func_80145C6C: /* 0DC3C8 80145CC8 03E00008 */ jr $ra /* 0DC3CC 80145CCC 0000102D */ daddu $v0, $zero, $zero +get_trigger_by_id: /* 0DC3D0 80145CD0 3C028016 */ lui $v0, 0x8016 /* 0DC3D4 80145CD4 8C429390 */ lw $v0, -0x6c70($v0) /* 0DC3D8 80145CD8 00042080 */ sll $a0, $a0, 2 diff --git a/papermario/asm/code_dc470_len_14c0.s b/papermario/asm/code_dc470_len_14c0.s index 12e09c1240..3b69e1b00a 100644 --- a/papermario/asm/code_dc470_len_14c0.s +++ b/papermario/asm/code_dc470_len_14c0.s @@ -1,7 +1,7 @@ .section .text80145D70, "ax" -func_80145D70: +load_map_bg: /* 0DC470 80145D70 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0DC474 80145D74 AFBF001C */ sw $ra, 0x1c($sp) /* 0DC478 80145D78 1080001B */ beqz $a0, .L80145DE8 @@ -9,7 +9,7 @@ func_80145D70: /* 0DC480 80145D80 0080802D */ daddu $s0, $a0, $zero /* 0DC484 80145D84 0000202D */ daddu $a0, $zero, $zero /* 0DC488 80145D88 3C05F5DE */ lui $a1, 0xf5de -/* 0DC48C 80145D8C 0C0B1EAF */ jal func_802C7ABC +/* 0DC48C 80145D8C 0C0B1EAF */ jal get_variable /* 0DC490 80145D90 34A50180 */ ori $a1, $a1, 0x180 /* 0DC494 80145D94 28420035 */ slti $v0, $v0, 0x35 /* 0DC498 80145D98 1440000A */ bnez $v0, .L80145DC4 @@ -24,14 +24,14 @@ func_80145D70: /* 0DC4BC 80145DBC 2610F128 */ addiu $s0, $s0, -0xed8 /* 0DC4C0 80145DC0 0200202D */ daddu $a0, $s0, $zero .L80145DC4: -/* 0DC4C4 80145DC4 0C016B3A */ jal func_8005ACE8 +/* 0DC4C4 80145DC4 0C016B3A */ jal load_asset_by_name /* 0DC4C8 80145DC8 27A50010 */ addiu $a1, $sp, 0x10 /* 0DC4CC 80145DCC 0040802D */ daddu $s0, $v0, $zero /* 0DC4D0 80145DD0 3C058020 */ lui $a1, 0x8020 /* 0DC4D4 80145DD4 24A50000 */ addiu $a1, $a1, 0 /* 0DC4D8 80145DD8 0C01BB7C */ jal decode_yay0 /* 0DC4DC 80145DDC 0200202D */ daddu $a0, $s0, $zero -/* 0DC4E0 80145DE0 0C00AB1E */ jal func_8002AC78 +/* 0DC4E0 80145DE0 0C00AB1E */ jal general_heap_free /* 0DC4E4 80145DE4 0200202D */ daddu $a0, $s0, $zero .L80145DE8: /* 0DC4E8 80145DE8 8FBF001C */ lw $ra, 0x1c($sp) @@ -53,7 +53,7 @@ func_80145DF8: /* 0DC520 80145E20 03E00008 */ jr $ra /* 0DC524 80145E24 A4430148 */ sh $v1, 0x148($v0) -func_80145E28: +read_background_size: /* 0DC528 80145E28 3C038007 */ lui $v1, 0x8007 /* 0DC52C 80145E2C 8C63419C */ lw $v1, 0x419c($v1) /* 0DC530 80145E30 9482000C */ lhu $v0, 0xc($a0) @@ -73,7 +73,7 @@ func_80145E28: /* 0DC568 80145E68 03E00008 */ jr $ra /* 0DC56C 80145E6C AC640158 */ sw $a0, 0x158($v1) -func_80145E70: +set_background_size: /* 0DC570 80145E70 3C028007 */ lui $v0, 0x8007 /* 0DC574 80145E74 8C42419C */ lw $v0, 0x419c($v0) /* 0DC578 80145E78 94430148 */ lhu $v1, 0x148($v0) @@ -130,7 +130,7 @@ func_80145EC0: /* 0DC630 80145F30 27A40018 */ addiu $a0, $sp, 0x18 /* 0DC634 80145F34 27A5001C */ addiu $a1, $sp, 0x1c /* 0DC638 80145F38 27A60020 */ addiu $a2, $sp, 0x20 -/* 0DC63C 80145F3C 0C046EF6 */ jal func_8011BBD8 +/* 0DC63C 80145F3C 0C046EF6 */ jal get_fog_color /* 0DC640 80145F40 27A70024 */ addiu $a3, $sp, 0x24 /* 0DC644 80145F44 3C028007 */ lui $v0, 0x8007 /* 0DC648 80145F48 8C42419C */ lw $v0, 0x419c($v0) @@ -437,13 +437,13 @@ func_801461B4: func_801463A4: .L801463A4: /* 0DCAA4 801463A4 C6AC0084 */ lwc1 $f12, 0x84($s5) -/* 0DCAA8 801463A8 0C00A6C9 */ jal func_80029B24 +/* 0DCAA8 801463A8 0C00A6C9 */ jal clamp_angle /* 0DCAAC 801463AC 46006307 */ neg.s $f12, $f12 /* 0DCAB0 801463B0 46000586 */ mov.s $f22, $f0 -/* 0DCAB4 801463B4 0C00A8BB */ jal func_8002A2EC +/* 0DCAB4 801463B4 0C00A8BB */ jal sin_deg /* 0DCAB8 801463B8 4600B306 */ mov.s $f12, $f22 /* 0DCABC 801463BC 4600B306 */ mov.s $f12, $f22 -/* 0DCAC0 801463C0 0C00A8D4 */ jal func_8002A350 +/* 0DCAC0 801463C0 0C00A8D4 */ jal cos_deg /* 0DCAC4 801463C4 46000506 */ mov.s $f20, $f0 /* 0DCAC8 801463C8 C6A20048 */ lwc1 $f2, 0x48($s5) /* 0DCACC 801463CC 46020002 */ mul.s $f0, $f0, $f2 @@ -1057,7 +1057,7 @@ func_80146710: /* 0DD3F8 80146CF8 AFAD0064 */ sw $t5, 0x64($sp) /* 0DD3FC 80146CFC 460C0300 */ add.s $f12, $f0, $f12 /* 0DD400 80146D00 AFAE0068 */ sw $t6, 0x68($sp) -/* 0DD404 80146D04 0C00A85B */ jal func_8002A16C +/* 0DD404 80146D04 0C00A85B */ jal sin_rad /* 0DD408 80146D08 AFB9006C */ sw $t9, 0x6c($sp) /* 0DD40C 80146D0C 3C014040 */ lui $at, 0x4040 /* 0DD410 80146D10 44811000 */ mtc1 $at, $f2 @@ -1214,7 +1214,7 @@ func_80146710: /* 0DD664 80146F64 3C018015 */ lui $at, 0x8015 /* 0DD668 80146F68 C420F134 */ lwc1 $f0, -0xecc($at) /* 0DD66C 80146F6C 460C0300 */ add.s $f12, $f0, $f12 -/* 0DD670 80146F70 0C00A85B */ jal func_8002A16C +/* 0DD670 80146F70 0C00A85B */ jal sin_rad /* 0DD674 80146F74 AFB9006C */ sw $t9, 0x6c($sp) /* 0DD678 80146F78 02330018 */ mult $s1, $s3 /* 0DD67C 80146F7C 3C014040 */ lui $at, 0x4040 diff --git a/papermario/asm/code_dd930_len_1c0.s b/papermario/asm/code_dd930_len_1c0.s index 8b6a4b40b7..a80adc1c97 100644 --- a/papermario/asm/code_dd930_len_1c0.s +++ b/papermario/asm/code_dd930_len_1c0.s @@ -16,7 +16,7 @@ func_80147230: /* 0DD95C 8014725C 03E00008 */ jr $ra /* 0DD960 80147260 AC83000C */ sw $v1, 0xc($a0) -func_80147264: +UpdateMusicPlayers: /* 0DD964 80147264 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0DD968 80147268 AFB00010 */ sw $s0, 0x10($sp) /* 0DD96C 8014726C 3C108016 */ lui $s0, 0x8016 @@ -96,7 +96,7 @@ func_80147358: /* 0DDA60 80147360 03E00008 */ jr $ra /* 0DDA64 80147364 27BD0018 */ addiu $sp, $sp, 0x18 -func_80147368: +play_ambient_sounds: /* 0DDA68 80147368 3C028007 */ lui $v0, 0x8007 /* 0DDA6C 8014736C 8C42419C */ lw $v0, 0x419c($v0) /* 0DDA70 80147370 27BDFFE8 */ addiu $sp, $sp, -0x18 diff --git a/papermario/asm/code_ddaf0_len_c50.s b/papermario/asm/code_ddaf0_len_c50.s index fc5301a7e2..a485c3d368 100644 --- a/papermario/asm/code_ddaf0_len_c50.s +++ b/papermario/asm/code_ddaf0_len_c50.s @@ -426,7 +426,7 @@ func_80147878: /* 0DE10C 80147A0C AFA80044 */ sw $t0, 0x44($sp) /* 0DE110 80147A10 AFA30048 */ sw $v1, 0x48($sp) /* 0DE114 80147A14 AFB0004C */ sw $s0, 0x4c($sp) -/* 0DE118 80147A18 0C03D4B8 */ jal func_800F52E0 +/* 0DE118 80147A18 0C03D4B8 */ jal draw_box /* 0DE11C 80147A1C E7A00034 */ swc1 $f0, 0x34($sp) /* 0DE120 80147A20 54400018 */ bnezl $v0, .L80147A84 /* 0DE124 80147A24 26D60001 */ addiu $s6, $s6, 1 diff --git a/papermario/asm/code_de740_len_23f0.s b/papermario/asm/code_de740_len_23f0.s index 4d19f9c58a..31853132f3 100644 --- a/papermario/asm/code_de740_len_23f0.s +++ b/papermario/asm/code_de740_len_23f0.s @@ -1256,7 +1256,7 @@ func_80149250: /* 0DF9A4 801492A4 F7B80050 */ sdc1 $f24, 0x50($sp) /* 0DF9A8 801492A8 F7B60048 */ sdc1 $f22, 0x48($sp) /* 0DF9AC 801492AC F7B40040 */ sdc1 $f20, 0x40($sp) -/* 0DF9B0 801492B0 0C00B94E */ jal func_8002E538 +/* 0DF9B0 801492B0 0C00B94E */ jal get_screen_coords /* 0DF9B4 801492B4 AFA20018 */ sw $v0, 0x18($sp) /* 0DF9B8 801492B8 8FA40020 */ lw $a0, 0x20($sp) /* 0DF9BC 801492BC 24821388 */ addiu $v0, $a0, 0x1388 @@ -1335,7 +1335,7 @@ func_8014933C: /* 0DFAB0 801493B0 4405E000 */ mfc1 $a1, $f28 /* 0DFAB4 801493B4 4406B000 */ mfc1 $a2, $f22 /* 0DFAB8 801493B8 240200C8 */ addiu $v0, $zero, 0xc8 -/* 0DFABC 801493BC 0C00A8ED */ jal func_8002A3B4 +/* 0DFABC 801493BC 0C00A8ED */ jal update_lerp /* 0DFAC0 801493C0 AFA20010 */ sw $v0, 0x10($sp) /* 0DFAC4 801493C4 46000686 */ mov.s $f26, $f0 /* 0DFAC8 801493C8 4600D021 */ cvt.d.s $f0, $f26 @@ -1366,7 +1366,7 @@ func_8014933C: /* 0DFB20 80149420 4405E000 */ mfc1 $a1, $f28 /* 0DFB24 80149424 4406B000 */ mfc1 $a2, $f22 /* 0DFB28 80149428 24020082 */ addiu $v0, $zero, 0x82 -/* 0DFB2C 8014942C 0C00A8ED */ jal func_8002A3B4 +/* 0DFB2C 8014942C 0C00A8ED */ jal update_lerp /* 0DFB30 80149430 AFA20010 */ sw $v0, 0x10($sp) /* 0DFB34 80149434 46000506 */ mov.s $f20, $f0 /* 0DFB38 80149438 4600A021 */ cvt.d.s $f0, $f20 @@ -1393,7 +1393,7 @@ func_8014933C: /* 0DFB84 80149484 4405E000 */ mfc1 $a1, $f28 /* 0DFB88 80149488 4406B000 */ mfc1 $a2, $f22 /* 0DFB8C 8014948C 240200FA */ addiu $v0, $zero, 0xfa -/* 0DFB90 80149490 0C00A8ED */ jal func_8002A3B4 +/* 0DFB90 80149490 0C00A8ED */ jal update_lerp /* 0DFB94 80149494 AFA20010 */ sw $v0, 0x10($sp) /* 0DFB98 80149498 46000086 */ mov.s $f2, $f0 /* 0DFB9C 8014949C 46001021 */ cvt.d.s $f0, $f2 @@ -1785,7 +1785,7 @@ func_80149974: /* 0E00CC 801499CC AC640004 */ sw $a0, 4($v1) /* 0E00D0 801499D0 34420003 */ ori $v0, $v0, 3 /* 0E00D4 801499D4 AC620000 */ sw $v0, ($v1) -/* 0E00D8 801499D8 0C052757 */ jal func_80149D5C +/* 0E00D8 801499D8 0C052757 */ jal play_sound_at_position /* 0E00DC 801499DC E7A00010 */ swc1 $f0, 0x10($sp) /* 0E00E0 801499E0 8FBF0018 */ lw $ra, 0x18($sp) /* 0E00E4 801499E4 03E00008 */ jr $ra @@ -1849,7 +1849,7 @@ func_80149A6C: /* 0E01B0 80149AB0 03E00008 */ jr $ra /* 0E01B4 80149AB4 27BD0018 */ addiu $sp, $sp, 0x18 -func_80149AB8: +_play_sound: /* 0E01B8 80149AB8 3C028007 */ lui $v0, 0x8007 /* 0E01BC 80149ABC 8C42419C */ lw $v0, 0x419c($v0) /* 0E01C0 80149AC0 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -1981,7 +1981,7 @@ func_80149C54: /* 0E0364 80149C64 03E00008 */ jr $ra /* 0E0368 80149C68 27BD0020 */ addiu $sp, $sp, 0x20 -func_80149C6C: +stop_sound: /* 0E036C 80149C6C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E0370 80149C70 AFBF0010 */ sw $ra, 0x10($sp) /* 0E0374 80149C74 0481000A */ bgez $a0, .L80149CA0 @@ -2004,18 +2004,18 @@ func_80149CA8: /* 0E03AC 80149CAC 03E00008 */ jr $ra /* 0E03B0 80149CB0 27BD0018 */ addiu $sp, $sp, 0x18 -func_80149CB4: +play_sound: /* 0E03B4 80149CB4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E03B8 80149CB8 0000282D */ daddu $a1, $zero, $zero /* 0E03BC 80149CBC 00A0302D */ daddu $a2, $a1, $zero /* 0E03C0 80149CC0 AFBF0010 */ sw $ra, 0x10($sp) -/* 0E03C4 80149CC4 0C0526AE */ jal func_80149AB8 +/* 0E03C4 80149CC4 0C0526AE */ jal _play_sound /* 0E03C8 80149CC8 00A0382D */ daddu $a3, $a1, $zero /* 0E03CC 80149CCC 8FBF0010 */ lw $ra, 0x10($sp) /* 0E03D0 80149CD0 03E00008 */ jr $ra /* 0E03D4 80149CD4 27BD0018 */ addiu $sp, $sp, 0x18 -func_80149CD8: +play_sound_at_player: /* 0E03D8 80149CD8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E03DC 80149CDC 3C028011 */ lui $v0, 0x8011 /* 0E03E0 80149CE0 2442EFC8 */ addiu $v0, $v0, -0x1038 @@ -2023,19 +2023,20 @@ func_80149CD8: /* 0E03E8 80149CE8 C4400030 */ lwc1 $f0, 0x30($v0) /* 0E03EC 80149CEC E7A00010 */ swc1 $f0, 0x10($sp) /* 0E03F0 80149CF0 8C460028 */ lw $a2, 0x28($v0) -/* 0E03F4 80149CF4 0C052757 */ jal func_80149D5C +/* 0E03F4 80149CF4 0C052757 */ jal play_sound_at_position /* 0E03F8 80149CF8 8C47002C */ lw $a3, 0x2c($v0) /* 0E03FC 80149CFC 8FBF0018 */ lw $ra, 0x18($sp) /* 0E0400 80149D00 03E00008 */ jr $ra /* 0E0404 80149D04 27BD0020 */ addiu $sp, $sp, 0x20 +play_sound_at_npc: /* 0E0408 80149D08 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0E040C 80149D0C AFB00018 */ sw $s0, 0x18($sp) /* 0E0410 80149D10 0080802D */ daddu $s0, $a0, $zero /* 0E0414 80149D14 AFB1001C */ sw $s1, 0x1c($sp) /* 0E0418 80149D18 00A0882D */ daddu $s1, $a1, $zero /* 0E041C 80149D1C AFBF0020 */ sw $ra, 0x20($sp) -/* 0E0420 80149D20 0C00EAD2 */ jal func_8003AB48 +/* 0E0420 80149D20 0C00EAD2 */ jal get_npc_safe /* 0E0424 80149D24 00C0202D */ daddu $a0, $a2, $zero /* 0E0428 80149D28 10400007 */ beqz $v0, .L80149D48 /* 0E042C 80149D2C 0200202D */ daddu $a0, $s0, $zero @@ -2043,7 +2044,7 @@ func_80149CD8: /* 0E0434 80149D34 E7A00010 */ swc1 $f0, 0x10($sp) /* 0E0438 80149D38 8C460038 */ lw $a2, 0x38($v0) /* 0E043C 80149D3C 8C47003C */ lw $a3, 0x3c($v0) -/* 0E0440 80149D40 0C052757 */ jal func_80149D5C +/* 0E0440 80149D40 0C052757 */ jal play_sound_at_position /* 0E0444 80149D44 0220282D */ daddu $a1, $s1, $zero .L80149D48: /* 0E0448 80149D48 8FBF0020 */ lw $ra, 0x20($sp) @@ -2052,7 +2053,7 @@ func_80149CD8: /* 0E0454 80149D54 03E00008 */ jr $ra /* 0E0458 80149D58 27BD0028 */ addiu $sp, $sp, 0x28 -func_80149D5C: +play_sound_at_position: /* 0E045C 80149D5C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0E0460 80149D60 AFB20028 */ sw $s2, 0x28($sp) /* 0E0464 80149D64 0080902D */ daddu $s2, $a0, $zero @@ -2089,7 +2090,7 @@ func_80149D5C: /* 0E04D8 80149DD8 0240202D */ daddu $a0, $s2, $zero /* 0E04DC 80149DDC 92250001 */ lbu $a1, 1($s1) /* 0E04E0 80149DE0 92060001 */ lbu $a2, 1($s0) -/* 0E04E4 80149DE4 0C0526AE */ jal func_80149AB8 +/* 0E04E4 80149DE4 0C0526AE */ jal _play_sound /* 0E04E8 80149DE8 0000382D */ daddu $a3, $zero, $zero func_80149DEC: .L80149DEC: @@ -2224,7 +2225,7 @@ func_80149F58: /* 0E0694 80149F94 27A20028 */ addiu $v0, $sp, 0x28 /* 0E0698 80149F98 AFBF0038 */ sw $ra, 0x38($sp) /* 0E069C 80149F9C F7B40040 */ sdc1 $f20, 0x40($sp) -/* 0E06A0 80149FA0 0C00B94E */ jal func_8002E538 +/* 0E06A0 80149FA0 0C00B94E */ jal get_screen_coords /* 0E06A4 80149FA4 AFA20018 */ sw $v0, 0x18($sp) /* 0E06A8 80149FA8 8FA20020 */ lw $v0, 0x20($sp) /* 0E06AC 80149FAC 24420BB8 */ addiu $v0, $v0, 0xbb8 @@ -2351,7 +2352,7 @@ func_80149F58: /* 0E086C 8014A16C 3C018015 */ lui $at, 0x8015 /* 0E0870 8014A170 D4201288 */ ldc1 $f0, 0x1288($at) /* 0E0874 8014A174 46206303 */ div.d $f12, $f12, $f0 -/* 0E0878 8014A178 0C00A85B */ jal func_8002A16C +/* 0E0878 8014A178 0C00A85B */ jal sin_rad /* 0E087C 8014A17C 46206320 */ cvt.s.d $f12, $f12 /* 0E0880 8014A180 4600A502 */ mul.s $f20, $f20, $f0 /* 0E0884 8014A184 00000000 */ nop @@ -2398,7 +2399,7 @@ func_8014A1B4: /* 0E091C 8014A21C 44056000 */ mfc1 $a1, $f12 /* 0E0920 8014A220 44070000 */ mfc1 $a3, $f0 /* 0E0924 8014A224 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E0928 8014A228 0C00B94E */ jal func_8002E538 +/* 0E0928 8014A228 0C00B94E */ jal get_screen_coords /* 0E092C 8014A22C 00000000 */ nop /* 0E0930 8014A230 8FA20020 */ lw $v0, 0x20($sp) /* 0E0934 8014A234 24420BB8 */ addiu $v0, $v0, 0xbb8 diff --git a/papermario/asm/code_e0b30_len_b80.s b/papermario/asm/code_e0b30_len_b80.s index 27f3a3a476..42a588cf20 100644 --- a/papermario/asm/code_e0b30_len_b80.s +++ b/papermario/asm/code_e0b30_len_b80.s @@ -1,7 +1,7 @@ .section .text8014A430, "ax" -func_8014A430: +get_default_variation_for_song: /* 0E0B30 8014A430 0000302D */ daddu $a2, $zero, $zero /* 0E0B34 8014A434 3C078009 */ lui $a3, 0x8009 /* 0E0B38 8014A438 24E734F0 */ addiu $a3, $a3, 0x34f0 @@ -279,7 +279,7 @@ func_8014A7A4: /* 0E0ED8 8014A7D8 03E00008 */ jr $ra /* 0E0EDC 8014A7DC 27BD0038 */ addiu $sp, $sp, 0x38 -func_8014A7E0: +_set_music_track: /* 0E0EE0 8014A7E0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0E0EE4 8014A7E4 AFB20018 */ sw $s2, 0x18($sp) /* 0E0EE8 8014A7E8 00A0902D */ daddu $s2, $a1, $zero @@ -318,7 +318,7 @@ func_8014A7E0: /* 0E0F64 8014A864 3063FFFE */ andi $v1, $v1, 0xfffe .L8014A868: -/* 0E0F68 8014A868 0C05290C */ jal func_8014A430 +/* 0E0F68 8014A868 0C05290C */ jal get_default_variation_for_song /* 0E0F6C 8014A86C 0240202D */ daddu $a0, $s2, $zero /* 0E0F70 8014A870 04430001 */ bgezl $v0, .L8014A878 /* 0E0F74 8014A874 0040882D */ daddu $s1, $v0, $zero @@ -369,7 +369,7 @@ func_8014A8F4: /* 0E1010 8014A910 03E00008 */ jr $ra /* 0E1014 8014A914 27BD0030 */ addiu $sp, $sp, 0x30 -func_8014A918: +set_music_track: /* 0E1018 8014A918 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E101C 8014A91C 3C038016 */ lui $v1, 0x8016 /* 0E1020 8014A920 24639AF0 */ addiu $v1, $v1, -0x6510 @@ -384,7 +384,7 @@ func_8014A918: /* 0E1044 8014A944 00084400 */ sll $t0, $t0, 0x10 /* 0E1048 8014A948 00084403 */ sra $t0, $t0, 0x10 /* 0E104C 8014A94C A4430000 */ sh $v1, ($v0) -/* 0E1050 8014A950 0C0529F8 */ jal func_8014A7E0 +/* 0E1050 8014A950 0C0529F8 */ jal _set_music_track /* 0E1054 8014A954 AFA80010 */ sw $t0, 0x10($sp) /* 0E1058 8014A958 8FBF0018 */ lw $ra, 0x18($sp) /* 0E105C 8014A95C 03E00008 */ jr $ra @@ -429,7 +429,7 @@ func_8014A964: /* 0E10E8 8014A9E8 3063FFFE */ andi $v1, $v1, 0xfffe .L8014A9EC: -/* 0E10EC 8014A9EC 0C05290C */ jal func_8014A430 +/* 0E10EC 8014A9EC 0C05290C */ jal get_default_variation_for_song /* 0E10F0 8014A9F0 0280202D */ daddu $a0, $s4, $zero /* 0E10F4 8014A9F4 04430001 */ bgezl $v0, .L8014A9FC /* 0E10F8 8014A9F8 0040882D */ daddu $s1, $v0, $zero @@ -604,13 +604,13 @@ func_8014AC08: /* 0E131C 8014AC1C AFB00018 */ sw $s0, 0x18($sp) /* 0E1320 8014AC20 24100008 */ addiu $s0, $zero, 8 /* 0E1324 8014AC24 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E1328 8014AC28 0C052A46 */ jal func_8014A918 +/* 0E1328 8014AC28 0C052A46 */ jal set_music_track /* 0E132C 8014AC2C AFB00010 */ sw $s0, 0x10($sp) /* 0E1330 8014AC30 24040001 */ addiu $a0, $zero, 1 /* 0E1334 8014AC34 2405FFFF */ addiu $a1, $zero, -1 /* 0E1338 8014AC38 0000302D */ daddu $a2, $zero, $zero /* 0E133C 8014AC3C 240700FA */ addiu $a3, $zero, 0xfa -/* 0E1340 8014AC40 0C052A46 */ jal func_8014A918 +/* 0E1340 8014AC40 0C052A46 */ jal set_music_track /* 0E1344 8014AC44 AFB00010 */ sw $s0, 0x10($sp) /* 0E1348 8014AC48 8FBF001C */ lw $ra, 0x1c($sp) /* 0E134C 8014AC4C 8FB00018 */ lw $s0, 0x18($sp) @@ -735,7 +735,7 @@ func_8014ADA4: /* 0E14D8 8014ADD8 00431025 */ or $v0, $v0, $v1 /* 0E14DC 8014ADDC A4C20000 */ sh $v0, ($a2) /* 0E14E0 8014ADE0 8CC60028 */ lw $a2, 0x28($a2) -/* 0E14E4 8014ADE4 0C0529F8 */ jal func_8014A7E0 +/* 0E14E4 8014ADE4 0C0529F8 */ jal _set_music_track /* 0E14E8 8014ADE8 0080382D */ daddu $a3, $a0, $zero .L8014ADEC: /* 0E14EC 8014ADEC 8FBF0018 */ lw $ra, 0x18($sp) @@ -767,7 +767,7 @@ func_8014ADF8: /* 0E154C 8014AE4C ACE6002C */ sw $a2, 0x2c($a3) /* 0E1550 8014AE50 0120302D */ daddu $a2, $t1, $zero /* 0E1554 8014AE54 A4E30000 */ sh $v1, ($a3) -/* 0E1558 8014AE58 0C052A46 */ jal func_8014A918 +/* 0E1558 8014AE58 0C052A46 */ jal set_music_track /* 0E155C 8014AE5C 240701F4 */ addiu $a3, $zero, 0x1f4 .L8014AE60: /* 0E1560 8014AE60 8FBF0018 */ lw $ra, 0x18($sp) @@ -804,7 +804,7 @@ func_8014AE6C: /* 0E15CC 8014AECC 00431025 */ or $v0, $v0, $v1 /* 0E15D0 8014AED0 A4C20000 */ sh $v0, ($a2) /* 0E15D4 8014AED4 8CC60028 */ lw $a2, 0x28($a2) -/* 0E15D8 8014AED8 0C0529F8 */ jal func_8014A7E0 +/* 0E15D8 8014AED8 0C0529F8 */ jal _set_music_track /* 0E15DC 8014AEDC 0080382D */ daddu $a3, $a0, $zero /* 0E15E0 8014AEE0 0000202D */ daddu $a0, $zero, $zero /* 0E15E4 8014AEE4 0C015564 */ jal func_80055590 @@ -847,7 +847,7 @@ func_8014AEF8: /* 0E1668 8014AF68 AE070028 */ sw $a3, 0x28($s0) /* 0E166C 8014AF6C 240701F4 */ addiu $a3, $zero, 0x1f4 /* 0E1670 8014AF70 AE08002C */ sw $t0, 0x2c($s0) -/* 0E1674 8014AF74 0C052A46 */ jal func_8014A918 +/* 0E1674 8014AF74 0C052A46 */ jal set_music_track /* 0E1678 8014AF78 A6030000 */ sh $v1, ($s0) .L8014AF7C: /* 0E167C 8014AF7C 8FBF001C */ lw $ra, 0x1c($sp) diff --git a/papermario/asm/code_e79b0_len_1920.s b/papermario/asm/code_e79b0_len_1920.s index 48357e6a8a..9935f73f24 100644 --- a/papermario/asm/code_e79b0_len_1920.s +++ b/papermario/asm/code_e79b0_len_1920.s @@ -1,7 +1,7 @@ .section .text802C3000, "ax" -func_802C3000: +sort_scripts: /* 0E79B0 802C3000 27BDFFF8 */ addiu $sp, $sp, -8 /* 0E79B4 802C3004 0000682D */ daddu $t5, $zero, $zero /* 0E79B8 802C3008 01A0482D */ daddu $t1, $t5, $zero @@ -92,7 +92,7 @@ func_802C3000: /* 0E7AF0 802C3140 03E00008 */ jr $ra /* 0E7AF4 802C3144 27BD0008 */ addiu $sp, $sp, 8 -func_802C3148: +find_script_labels: /* 0E7AF8 802C3148 0000182D */ daddu $v1, $zero, $zero /* 0E7AFC 802C314C 2406FFFF */ addiu $a2, $zero, -1 /* 0E7B00 802C3150 0080282D */ daddu $a1, $a0, $zero @@ -137,7 +137,7 @@ func_802C31CC: /* 0E7B84 802C31D4 03E00008 */ jr $ra /* 0E7B88 802C31D8 00000000 */ nop -func_802C31DC: +clear_script_list: /* 0E7B8C 802C31DC 3C028007 */ lui $v0, 0x8007 /* 0E7B90 802C31E0 8C42419C */ lw $v0, 0x419c($v0) /* 0E7B94 802C31E4 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -213,7 +213,7 @@ func_802C3250: /* 0E7C94 802C32E4 03E00008 */ jr $ra /* 0E7C98 802C32E8 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C32EC: +init_script_list: /* 0E7C9C 802C32EC 3C028007 */ lui $v0, 0x8007 /* 0E7CA0 802C32F0 8C42419C */ lw $v0, 0x419c($v0) /* 0E7CA4 802C32F4 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -277,14 +277,14 @@ func_802C3390: /* 0E7D78 802C33C8 24040002 */ addiu $a0, $zero, 2 func_802C33CC: -/* 0E7D7C 802C33CC 0C0B117A */ jal func_802C45E8 +/* 0E7D7C 802C33CC 0C0B117A */ jal suspend_all_group /* 0E7D80 802C33D0 00000000 */ nop .L802C33D4: /* 0E7D84 802C33D4 8FBF0010 */ lw $ra, 0x10($sp) /* 0E7D88 802C33D8 03E00008 */ jr $ra /* 0E7D8C 802C33DC 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C33E0: +start_script: /* 0E7D90 802C33E0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0E7D94 802C33E4 AFB10014 */ sw $s1, 0x14($sp) /* 0E7D98 802C33E8 0080882D */ daddu $s1, $a0, $zero @@ -315,7 +315,7 @@ func_802C343C: /* 0E7DF0 802C3440 00000000 */ nop .L802C3444: -/* 0E7DF4 802C3444 0C00AB39 */ jal func_8002ACE4 +/* 0E7DF4 802C3444 0C00AB39 */ jal heap_malloc /* 0E7DF8 802C3448 00A0902D */ daddu $s2, $a1, $zero /* 0E7DFC 802C344C 00122080 */ sll $a0, $s2, 2 /* 0E7E00 802C3450 3C03802E */ lui $v1, 0x802e @@ -378,7 +378,7 @@ func_802C347C: /* 0E7ED0 802C3520 24A5FFFF */ addiu $a1, $a1, -1 /* 0E7ED4 802C3524 04A1FFFD */ bgez $a1, .L802C351C /* 0E7ED8 802C3528 2442FFFC */ addiu $v0, $v0, -4 -/* 0E7EDC 802C352C 0C0B0C52 */ jal func_802C3148 +/* 0E7EDC 802C352C 0C0B0C52 */ jal find_script_labels /* 0E7EE0 802C3530 0200202D */ daddu $a0, $s0, $zero /* 0E7EE4 802C3534 3C02802E */ lui $v0, 0x802e /* 0E7EE8 802C3538 8C429CA4 */ lw $v0, -0x635c($v0) @@ -422,7 +422,7 @@ func_802C347C: /* 0E7F78 802C35C8 03E00008 */ jr $ra /* 0E7F7C 802C35CC 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C35D0: +start_script_in_group: /* 0E7F80 802C35D0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0E7F84 802C35D4 AFB10014 */ sw $s1, 0x14($sp) /* 0E7F88 802C35D8 0080882D */ daddu $s1, $a0, $zero @@ -455,7 +455,7 @@ func_802C3634: /* 0E7FE8 802C3638 00000000 */ nop .L802C363C: -/* 0E7FEC 802C363C 0C00AB39 */ jal func_8002ACE4 +/* 0E7FEC 802C363C 0C00AB39 */ jal heap_malloc /* 0E7FF0 802C3640 00A0902D */ daddu $s2, $a1, $zero /* 0E7FF4 802C3644 00122080 */ sll $a0, $s2, 2 /* 0E7FF8 802C3648 3C03802E */ lui $v1, 0x802e @@ -517,7 +517,7 @@ func_802C3674: /* 0E80C4 802C3714 24A5FFFF */ addiu $a1, $a1, -1 /* 0E80C8 802C3718 04A1FFFD */ bgez $a1, .L802C3710 /* 0E80CC 802C371C 2442FFFC */ addiu $v0, $v0, -4 -/* 0E80D0 802C3720 0C0B0C52 */ jal func_802C3148 +/* 0E80D0 802C3720 0C0B0C52 */ jal find_script_labels /* 0E80D4 802C3724 0200202D */ daddu $a0, $s0, $zero /* 0E80D8 802C3728 3C02802E */ lui $v0, 0x802e /* 0E80DC 802C372C 8C429CA4 */ lw $v0, -0x635c($v0) @@ -562,7 +562,7 @@ func_802C3674: /* 0E8170 802C37C0 03E00008 */ jr $ra /* 0E8174 802C37C4 27BD0030 */ addiu $sp, $sp, 0x30 -func_802C37C8: +start_child_script: /* 0E8178 802C37C8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0E817C 802C37CC AFB10014 */ sw $s1, 0x14($sp) /* 0E8180 802C37D0 0080882D */ daddu $s1, $a0, $zero @@ -593,7 +593,7 @@ func_802C3824: /* 0E81D8 802C3828 00000000 */ nop .L802C382C: -/* 0E81DC 802C382C 0C00AB39 */ jal func_8002ACE4 +/* 0E81DC 802C382C 0C00AB39 */ jal heap_malloc /* 0E81E0 802C3830 0060982D */ daddu $s3, $v1, $zero /* 0E81E4 802C3834 00132080 */ sll $a0, $s3, 2 /* 0E81E8 802C3838 3C03802E */ lui $v1, 0x802e @@ -676,7 +676,7 @@ func_802C3864: /* 0E8308 802C3958 28620003 */ slti $v0, $v1, 3 /* 0E830C 802C395C 1440FFFA */ bnez $v0, .L802C3948 /* 0E8310 802C3960 24A50004 */ addiu $a1, $a1, 4 -/* 0E8314 802C3964 0C0B0C52 */ jal func_802C3148 +/* 0E8314 802C3964 0C0B0C52 */ jal find_script_labels /* 0E8318 802C3968 0200202D */ daddu $a0, $s0, $zero /* 0E831C 802C396C 3C02802E */ lui $v0, 0x802e /* 0E8320 802C3970 8C429CA4 */ lw $v0, -0x635c($v0) @@ -747,7 +747,7 @@ func_802C3A54: /* 0E8408 802C3A58 00000000 */ nop .L802C3A5C: -/* 0E840C 802C3A5C 0C00AB39 */ jal func_8002ACE4 +/* 0E840C 802C3A5C 0C00AB39 */ jal heap_malloc /* 0E8410 802C3A60 0060A02D */ daddu $s4, $v1, $zero /* 0E8414 802C3A64 00142080 */ sll $a0, $s4, 2 /* 0E8418 802C3A68 3C03802E */ lui $v1, 0x802e @@ -825,7 +825,7 @@ func_802C3A94: /* 0E8524 802C3B74 28620003 */ slti $v0, $v1, 3 /* 0E8528 802C3B78 1440FFFA */ bnez $v0, .L802C3B64 /* 0E852C 802C3B7C 24A50004 */ addiu $a1, $a1, 4 -/* 0E8530 802C3B80 0C0B0C52 */ jal func_802C3148 +/* 0E8530 802C3B80 0C0B0C52 */ jal find_script_labels /* 0E8534 802C3B84 0200202D */ daddu $a0, $s0, $zero /* 0E8538 802C3B88 3C02802E */ lui $v0, 0x802e /* 0E853C 802C3B8C 8C429CA4 */ lw $v0, -0x635c($v0) @@ -882,14 +882,14 @@ func_802C3A94: /* 0E85FC 802C3C4C A2220000 */ sb $v0, ($s1) /* 0E8600 802C3C50 10800004 */ beqz $a0, .L802C3C64 /* 0E8604 802C3C54 E6200150 */ swc1 $f0, 0x150($s1) -/* 0E8608 802C3C58 0C00AB4B */ jal func_8002AD2C +/* 0E8608 802C3C58 0C00AB4B */ jal heap_free /* 0E860C 802C3C5C 00000000 */ nop /* 0E8610 802C3C60 AE200060 */ sw $zero, 0x60($s1) .L802C3C64: /* 0E8614 802C3C64 8E240068 */ lw $a0, 0x68($s1) /* 0E8618 802C3C68 10800003 */ beqz $a0, .L802C3C78 /* 0E861C 802C3C6C 0000802D */ daddu $s0, $zero, $zero -/* 0E8620 802C3C70 0C0B0FCF */ jal func_802C3F3C +/* 0E8620 802C3C70 0C0B0FCF */ jal kill_script /* 0E8624 802C3C74 00000000 */ nop .L802C3C78: /* 0E8628 802C3C78 3C03802E */ lui $v1, 0x802e @@ -902,7 +902,7 @@ func_802C3A94: /* 0E8644 802C3C94 8C82006C */ lw $v0, 0x6c($a0) /* 0E8648 802C3C98 14510003 */ bne $v0, $s1, .L802C3CA8 /* 0E864C 802C3C9C 00000000 */ nop -/* 0E8650 802C3CA0 0C0B0FCF */ jal func_802C3F3C +/* 0E8650 802C3CA0 0C0B0FCF */ jal kill_script /* 0E8654 802C3CA4 00000000 */ nop .L802C3CA8: /* 0E8658 802C3CA8 2A020080 */ slti $v0, $s0, 0x80 @@ -918,7 +918,7 @@ func_802C3A94: /* 0E8680 802C3CD0 AE200068 */ sw $zero, 0x68($s1) /* 0E8684 802C3CD4 AE200154 */ sw $zero, 0x154($s1) /* 0E8688 802C3CD8 AE200158 */ sw $zero, 0x158($s1) -/* 0E868C 802C3CDC 0C0B0C52 */ jal func_802C3148 +/* 0E868C 802C3CDC 0C0B0C52 */ jal find_script_labels /* 0E8690 802C3CE0 E6200150 */ swc1 $f0, 0x150($s1) /* 0E8694 802C3CE4 0C0B0CE4 */ jal func_802C3390 /* 0E8698 802C3CE8 0220202D */ daddu $a0, $s1, $zero @@ -929,7 +929,7 @@ func_802C3A94: /* 0E86AC 802C3CFC 03E00008 */ jr $ra /* 0E86B0 802C3D00 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C3D04: +restart_script: /* 0E86B4 802C3D04 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E86B8 802C3D08 AFB00010 */ sw $s0, 0x10($sp) /* 0E86BC 802C3D0C 0080802D */ daddu $s0, $a0, $zero @@ -949,7 +949,7 @@ func_802C3D04: /* 0E86F4 802C3D44 AE020008 */ sw $v0, 8($s0) /* 0E86F8 802C3D48 AE020164 */ sw $v0, 0x164($s0) /* 0E86FC 802C3D4C E6000150 */ swc1 $f0, 0x150($s0) -/* 0E8700 802C3D50 0C0B0C52 */ jal func_802C3148 +/* 0E8700 802C3D50 0C0B0C52 */ jal find_script_labels /* 0E8704 802C3D54 E6020150 */ swc1 $f2, 0x150($s0) /* 0E8708 802C3D58 0C0B0CE4 */ jal func_802C3390 /* 0E870C 802C3D5C 0200202D */ daddu $a0, $s0, $zero @@ -959,7 +959,7 @@ func_802C3D04: /* 0E871C 802C3D6C 03E00008 */ jr $ra /* 0E8720 802C3D70 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C3D74: +update_scripts: /* 0E8724 802C3D74 3C028007 */ lui $v0, 0x8007 /* 0E8728 802C3D78 8C42419C */ lw $v0, 0x419c($v0) /* 0E872C 802C3D7C 27BDFFC8 */ addiu $sp, $sp, -0x38 @@ -978,7 +978,7 @@ func_802C3D74: /* 0E8760 802C3DB0 00000000 */ nop /* 0E8764 802C3DB4 3C01802E */ lui $at, 0x802e /* 0E8768 802C3DB8 AC239CA4 */ sw $v1, -0x635c($at) -/* 0E876C 802C3DBC 0C0B0C00 */ jal func_802C3000 +/* 0E876C 802C3DBC 0C0B0C00 */ jal sort_scripts /* 0E8770 802C3DC0 0000902D */ daddu $s2, $zero, $zero /* 0E8774 802C3DC4 3C02802E */ lui $v0, 0x802e /* 0E8778 802C3DC8 8C42AC98 */ lw $v0, -0x5368($v0) @@ -1025,7 +1025,7 @@ func_802C3D74: /* 0E8814 802C3E64 0200202D */ daddu $a0, $s0, $zero /* 0E8818 802C3E68 46340001 */ sub.d $f0, $f0, $f20 /* 0E881C 802C3E6C 46200020 */ cvt.s.d $f0, $f0 -/* 0E8820 802C3E70 0C0B1D01 */ jal func_802C7404 +/* 0E8820 802C3E70 0C0B1D01 */ jal si_execute_next_command /* 0E8824 802C3E74 E6000154 */ swc1 $f0, 0x154($s0) /* 0E8828 802C3E78 14560003 */ bne $v0, $s6, .L802C3E88 /* 0E882C 802C3E7C 00000000 */ nop @@ -1088,7 +1088,7 @@ func_802C3EE4: /* 0E88E4 802C3F34 03E00008 */ jr $ra /* 0E88E8 802C3F38 00000000 */ nop -func_802C3F3C: +kill_script: /* 0E88EC 802C3F3C 3C03802E */ lui $v1, 0x802e /* 0E88F0 802C3F40 8C63A890 */ lw $v1, -0x5770($v1) /* 0E88F4 802C3F44 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -1113,7 +1113,7 @@ func_802C3F3C: /* 0E8938 802C3F88 8E440068 */ lw $a0, 0x68($s2) /* 0E893C 802C3F8C 10800003 */ beqz $a0, .L802C3F9C /* 0E8940 802C3F90 0000882D */ daddu $s1, $zero, $zero -/* 0E8944 802C3F94 0C0B0FCF */ jal func_802C3F3C +/* 0E8944 802C3F94 0C0B0FCF */ jal kill_script /* 0E8948 802C3F98 00000000 */ nop .L802C3F9C: /* 0E894C 802C3F9C 3C03802E */ lui $v1, 0x802e @@ -1126,7 +1126,7 @@ func_802C3F3C: /* 0E8968 802C3FB8 8C82006C */ lw $v0, 0x6c($a0) /* 0E896C 802C3FBC 14520003 */ bne $v0, $s2, .L802C3FCC /* 0E8970 802C3FC0 00000000 */ nop -/* 0E8974 802C3FC4 0C0B0FCF */ jal func_802C3F3C +/* 0E8974 802C3FC4 0C0B0FCF */ jal kill_script /* 0E8978 802C3FC8 00000000 */ nop .L802C3FCC: /* 0E897C 802C3FCC 2A220080 */ slti $v0, $s1, 0x80 @@ -1164,7 +1164,7 @@ func_802C3F3C: /* 0E89F0 802C4040 8E440060 */ lw $a0, 0x60($s2) /* 0E89F4 802C4044 10800004 */ beqz $a0, .L802C4058 /* 0E89F8 802C4048 00000000 */ nop -/* 0E89FC 802C404C 0C00AB4B */ jal func_8002AD2C +/* 0E89FC 802C404C 0C00AB4B */ jal heap_free /* 0E8A00 802C4050 00000000 */ nop /* 0E8A04 802C4054 AE400060 */ sw $zero, 0x60($s2) .L802C4058: @@ -1173,7 +1173,7 @@ func_802C3F3C: /* 0E8A10 802C4060 8E220000 */ lw $v0, ($s1) /* 0E8A14 802C4064 00108080 */ sll $s0, $s0, 2 /* 0E8A18 802C4068 02021021 */ addu $v0, $s0, $v0 -/* 0E8A1C 802C406C 0C00AB4B */ jal func_8002AD2C +/* 0E8A1C 802C406C 0C00AB4B */ jal heap_free /* 0E8A20 802C4070 8C440000 */ lw $a0, ($v0) /* 0E8A24 802C4074 3C04802E */ lui $a0, 0x802e /* 0E8A28 802C4078 2484A488 */ addiu $a0, $a0, -0x5b78 @@ -1191,7 +1191,7 @@ func_802C3F3C: /* 0E8A54 802C40A4 03E00008 */ jr $ra /* 0E8A58 802C40A8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C40AC: +kill_script_by_ID: /* 0E8A5C 802C40AC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8A60 802C40B0 AFB10014 */ sw $s1, 0x14($sp) /* 0E8A64 802C40B4 0080882D */ daddu $s1, $a0, $zero @@ -1209,7 +1209,7 @@ func_802C40AC: /* 0E8A90 802C40E0 8C820144 */ lw $v0, 0x144($a0) /* 0E8A94 802C40E4 14510003 */ bne $v0, $s1, .L802C40F4 /* 0E8A98 802C40E8 00000000 */ nop -/* 0E8A9C 802C40EC 0C0B0FCF */ jal func_802C3F3C +/* 0E8A9C 802C40EC 0C0B0FCF */ jal kill_script /* 0E8AA0 802C40F0 00000000 */ nop .L802C40F4: /* 0E8AA4 802C40F4 2A020080 */ slti $v0, $s0, 0x80 @@ -1221,6 +1221,7 @@ func_802C40AC: /* 0E8ABC 802C410C 03E00008 */ jr $ra /* 0E8AC0 802C4110 27BD0020 */ addiu $sp, $sp, 0x20 +kill_all_scripts: /* 0E8AC4 802C4114 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E8AC8 802C4118 AFB00010 */ sw $s0, 0x10($sp) /* 0E8ACC 802C411C 0000802D */ daddu $s0, $zero, $zero @@ -1233,7 +1234,7 @@ func_802C40AC: /* 0E8AE4 802C4134 8C440000 */ lw $a0, ($v0) /* 0E8AE8 802C4138 10800003 */ beqz $a0, .L802C4148 /* 0E8AEC 802C413C 26100001 */ addiu $s0, $s0, 1 -/* 0E8AF0 802C4140 0C0B0FCF */ jal func_802C3F3C +/* 0E8AF0 802C4140 0C0B0FCF */ jal kill_script /* 0E8AF4 802C4144 00000000 */ nop .L802C4148: /* 0E8AF8 802C4148 2A020080 */ slti $v0, $s0, 0x80 @@ -1244,7 +1245,7 @@ func_802C40AC: /* 0E8B0C 802C415C 03E00008 */ jr $ra /* 0E8B10 802C4160 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4164: +does_script_exist: /* 0E8B14 802C4164 0000282D */ daddu $a1, $zero, $zero /* 0E8B18 802C4168 3C03802E */ lui $v1, 0x802e /* 0E8B1C 802C416C 8C63A890 */ lw $v1, -0x5770($v1) @@ -1266,6 +1267,7 @@ func_802C4164: /* 0E8B4C 802C419C 03E00008 */ jr $ra /* 0E8B50 802C41A0 0000102D */ daddu $v0, $zero, $zero +does_script_exist_by_ref: /* 0E8B54 802C41A4 0000282D */ daddu $a1, $zero, $zero /* 0E8B58 802C41A8 3C03802E */ lui $v1, 0x802e /* 0E8B5C 802C41AC 8C63A890 */ lw $v1, -0x5770($v1) @@ -1283,11 +1285,11 @@ func_802C4164: /* 0E8B80 802C41D0 03E00008 */ jr $ra /* 0E8B84 802C41D4 0000102D */ daddu $v0, $zero, $zero -func_802C41D8: +set_script_priority: /* 0E8B88 802C41D8 03E00008 */ jr $ra /* 0E8B8C 802C41DC A0850003 */ sb $a1, 3($a0) -func_802C41E0: +set_script_timescale: /* 0E8B90 802C41E0 3C01802E */ lui $at, 0x802e /* 0E8B94 802C41E4 C4209CA8 */ lwc1 $f0, -0x6358($at) /* 0E8B98 802C41E8 44851000 */ mtc1 $a1, $f2 @@ -1297,19 +1299,21 @@ func_802C41E0: /* 0E8BA8 802C41F8 03E00008 */ jr $ra /* 0E8BAC 802C41FC E4800150 */ swc1 $f0, 0x150($a0) +set_global_timespace: /* 0E8BB0 802C4200 3C01802E */ lui $at, 0x802e /* 0E8BB4 802C4204 03E00008 */ jr $ra /* 0E8BB8 802C4208 E42C9CA8 */ swc1 $f12, -0x6358($at) +get_global_timespace: /* 0E8BBC 802C420C 3C01802E */ lui $at, 0x802e /* 0E8BC0 802C4210 03E00008 */ jr $ra /* 0E8BC4 802C4214 C4209CA8 */ lwc1 $f0, -0x6358($at) -func_802C4218: +set_script_group: /* 0E8BC8 802C4218 03E00008 */ jr $ra /* 0E8BCC 802C421C A0850004 */ sb $a1, 4($a0) -func_802C4220: +bind_trigger: /* 0E8BD0 802C4220 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0E8BD4 802C4224 AFB20038 */ sw $s2, 0x38($sp) /* 0E8BD8 802C4228 0080902D */ daddu $s2, $a0, $zero @@ -1330,7 +1334,7 @@ func_802C4220: /* 0E8C14 802C4264 AFA60018 */ sw $a2, 0x18($sp) /* 0E8C18 802C4268 AFA00024 */ sw $zero, 0x24($sp) /* 0E8C1C 802C426C AFA2001C */ sw $v0, 0x1c($sp) -/* 0E8C20 802C4270 0C0515DB */ jal func_8014576C +/* 0E8C20 802C4270 0C0515DB */ jal create_trigger /* 0E8C24 802C4274 AFA30028 */ sw $v1, 0x28($sp) /* 0E8C28 802C4278 AC520010 */ sw $s2, 0x10($v0) /* 0E8C2C 802C427C AC400014 */ sw $zero, 0x14($v0) @@ -1345,7 +1349,7 @@ func_802C4220: /* 0E8C50 802C42A0 03E00008 */ jr $ra /* 0E8C54 802C42A4 27BD0048 */ addiu $sp, $sp, 0x48 -func_802C42A8: +bind_trigger_1: /* 0E8C58 802C42A8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0E8C5C 802C42AC 8FA20038 */ lw $v0, 0x38($sp) /* 0E8C60 802C42B0 8FA8003C */ lw $t0, 0x3c($sp) @@ -1353,13 +1357,13 @@ func_802C42A8: /* 0E8C68 802C42B8 AFBF0020 */ sw $ra, 0x20($sp) /* 0E8C6C 802C42BC AFA30018 */ sw $v1, 0x18($sp) /* 0E8C70 802C42C0 AFA20010 */ sw $v0, 0x10($sp) -/* 0E8C74 802C42C4 0C0B1088 */ jal func_802C4220 +/* 0E8C74 802C42C4 0C0B1088 */ jal bind_trigger /* 0E8C78 802C42C8 AFA80014 */ sw $t0, 0x14($sp) /* 0E8C7C 802C42CC 8FBF0020 */ lw $ra, 0x20($sp) /* 0E8C80 802C42D0 03E00008 */ jr $ra /* 0E8C84 802C42D4 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C42D8: +suspend_group_script: /* 0E8C88 802C42D8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8C8C 802C42DC AFB10014 */ sw $s1, 0x14($sp) /* 0E8C90 802C42E0 0080882D */ daddu $s1, $a0, $zero @@ -1369,7 +1373,7 @@ func_802C42D8: /* 0E8CA0 802C42F0 8E240068 */ lw $a0, 0x68($s1) /* 0E8CA4 802C42F4 10800003 */ beqz $a0, .L802C4304 /* 0E8CA8 802C42F8 00A0902D */ daddu $s2, $a1, $zero -/* 0E8CAC 802C42FC 0C0B10B6 */ jal func_802C42D8 +/* 0E8CAC 802C42FC 0C0B10B6 */ jal suspend_group_script /* 0E8CB0 802C4300 00000000 */ nop .L802C4304: /* 0E8CB4 802C4304 0000802D */ daddu $s0, $zero, $zero @@ -1384,7 +1388,7 @@ func_802C42D8: /* 0E8CD4 802C4324 8C82006C */ lw $v0, 0x6c($a0) /* 0E8CD8 802C4328 54510004 */ bnel $v0, $s1, .L802C433C /* 0E8CDC 802C432C 26100001 */ addiu $s0, $s0, 1 -/* 0E8CE0 802C4330 0C0B10B6 */ jal func_802C42D8 +/* 0E8CE0 802C4330 0C0B10B6 */ jal suspend_group_script /* 0E8CE4 802C4334 0240282D */ daddu $a1, $s2, $zero /* 0E8CE8 802C4338 26100001 */ addiu $s0, $s0, 1 .L802C433C: @@ -1406,7 +1410,7 @@ func_802C42D8: /* 0E8D24 802C4374 03E00008 */ jr $ra /* 0E8D28 802C4378 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C437C: +resume_group_script: /* 0E8D2C 802C437C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8D30 802C4380 AFB10014 */ sw $s1, 0x14($sp) /* 0E8D34 802C4384 0080882D */ daddu $s1, $a0, $zero @@ -1416,7 +1420,7 @@ func_802C437C: /* 0E8D44 802C4394 8E240068 */ lw $a0, 0x68($s1) /* 0E8D48 802C4398 10800003 */ beqz $a0, .L802C43A8 /* 0E8D4C 802C439C 00A0902D */ daddu $s2, $a1, $zero -/* 0E8D50 802C43A0 0C0B10DF */ jal func_802C437C +/* 0E8D50 802C43A0 0C0B10DF */ jal resume_group_script /* 0E8D54 802C43A4 00000000 */ nop .L802C43A8: /* 0E8D58 802C43A8 0000802D */ daddu $s0, $zero, $zero @@ -1431,7 +1435,7 @@ func_802C437C: /* 0E8D78 802C43C8 8C82006C */ lw $v0, 0x6c($a0) /* 0E8D7C 802C43CC 54510004 */ bnel $v0, $s1, .L802C43E0 /* 0E8D80 802C43D0 26100001 */ addiu $s0, $s0, 1 -/* 0E8D84 802C43D4 0C0B10B6 */ jal func_802C42D8 +/* 0E8D84 802C43D4 0C0B10B6 */ jal suspend_group_script /* 0E8D88 802C43D8 0240282D */ daddu $a1, $s2, $zero /* 0E8D8C 802C43DC 26100001 */ addiu $s0, $s0, 1 .L802C43E0: @@ -1453,7 +1457,7 @@ func_802C437C: /* 0E8DC8 802C4418 03E00008 */ jr $ra /* 0E8DCC 802C441C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4420: +suspend_all_script: /* 0E8DD0 802C4420 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8DD4 802C4424 AFB10014 */ sw $s1, 0x14($sp) /* 0E8DD8 802C4428 0080882D */ daddu $s1, $a0, $zero @@ -1471,7 +1475,7 @@ func_802C4420: /* 0E8E04 802C4454 8C820144 */ lw $v0, 0x144($a0) /* 0E8E08 802C4458 54510004 */ bnel $v0, $s1, .L802C446C /* 0E8E0C 802C445C 26100001 */ addiu $s0, $s0, 1 -/* 0E8E10 802C4460 0C0B10B6 */ jal func_802C42D8 +/* 0E8E10 802C4460 0C0B10B6 */ jal suspend_group_script /* 0E8E14 802C4464 240500EF */ addiu $a1, $zero, 0xef /* 0E8E18 802C4468 26100001 */ addiu $s0, $s0, 1 .L802C446C: @@ -1484,7 +1488,7 @@ func_802C4420: /* 0E8E34 802C4484 03E00008 */ jr $ra /* 0E8E38 802C4488 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C448C: +resume_all_script: /* 0E8E3C 802C448C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8E40 802C4490 AFB10014 */ sw $s1, 0x14($sp) /* 0E8E44 802C4494 0080882D */ daddu $s1, $a0, $zero @@ -1502,7 +1506,7 @@ func_802C448C: /* 0E8E70 802C44C0 8C820144 */ lw $v0, 0x144($a0) /* 0E8E74 802C44C4 54510004 */ bnel $v0, $s1, .L802C44D8 /* 0E8E78 802C44C8 26100001 */ addiu $s0, $s0, 1 -/* 0E8E7C 802C44CC 0C0B10DF */ jal func_802C437C +/* 0E8E7C 802C44CC 0C0B10DF */ jal resume_group_script /* 0E8E80 802C44D0 240500EF */ addiu $a1, $zero, 0xef /* 0E8E84 802C44D4 26100001 */ addiu $s0, $s0, 1 .L802C44D8: @@ -1515,6 +1519,7 @@ func_802C448C: /* 0E8EA0 802C44F0 03E00008 */ jr $ra /* 0E8EA4 802C44F4 27BD0020 */ addiu $sp, $sp, 0x20 +suspend_group_script_index: /* 0E8EA8 802C44F8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8EAC 802C44FC AFB10014 */ sw $s1, 0x14($sp) /* 0E8EB0 802C4500 0080882D */ daddu $s1, $a0, $zero @@ -1534,7 +1539,7 @@ func_802C448C: /* 0E8EE4 802C4534 8C820144 */ lw $v0, 0x144($a0) /* 0E8EE8 802C4538 54510004 */ bnel $v0, $s1, .L802C454C /* 0E8EEC 802C453C 26100001 */ addiu $s0, $s0, 1 -/* 0E8EF0 802C4540 0C0B10B6 */ jal func_802C42D8 +/* 0E8EF0 802C4540 0C0B10B6 */ jal suspend_group_script /* 0E8EF4 802C4544 0240282D */ daddu $a1, $s2, $zero /* 0E8EF8 802C4548 26100001 */ addiu $s0, $s0, 1 .L802C454C: @@ -1548,6 +1553,7 @@ func_802C448C: /* 0E8F18 802C4568 03E00008 */ jr $ra /* 0E8F1C 802C456C 27BD0020 */ addiu $sp, $sp, 0x20 +resume_group_script_index: /* 0E8F20 802C4570 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8F24 802C4574 AFB10014 */ sw $s1, 0x14($sp) /* 0E8F28 802C4578 0080882D */ daddu $s1, $a0, $zero @@ -1567,7 +1573,7 @@ func_802C448C: /* 0E8F5C 802C45AC 8C820144 */ lw $v0, 0x144($a0) /* 0E8F60 802C45B0 54510004 */ bnel $v0, $s1, .L802C45C4 /* 0E8F64 802C45B4 26100001 */ addiu $s0, $s0, 1 -/* 0E8F68 802C45B8 0C0B10DF */ jal func_802C437C +/* 0E8F68 802C45B8 0C0B10DF */ jal resume_group_script /* 0E8F6C 802C45BC 0240282D */ daddu $a1, $s2, $zero /* 0E8F70 802C45C0 26100001 */ addiu $s0, $s0, 1 .L802C45C4: @@ -1581,7 +1587,7 @@ func_802C448C: /* 0E8F90 802C45E0 03E00008 */ jr $ra /* 0E8F94 802C45E4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C45E8: +suspend_all_group: /* 0E8F98 802C45E8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8F9C 802C45EC AFB10014 */ sw $s1, 0x14($sp) /* 0E8FA0 802C45F0 0080882D */ daddu $s1, $a0, $zero @@ -1596,7 +1602,7 @@ func_802C45E8: /* 0E8FC0 802C4610 8C440000 */ lw $a0, ($v0) /* 0E8FC4 802C4614 50800004 */ beql $a0, $zero, .L802C4628 /* 0E8FC8 802C4618 26100001 */ addiu $s0, $s0, 1 -/* 0E8FCC 802C461C 0C0B10B6 */ jal func_802C42D8 +/* 0E8FCC 802C461C 0C0B10B6 */ jal suspend_group_script /* 0E8FD0 802C4620 0220282D */ daddu $a1, $s1, $zero /* 0E8FD4 802C4624 26100001 */ addiu $s0, $s0, 1 .L802C4628: @@ -1609,7 +1615,7 @@ func_802C45E8: /* 0E8FF0 802C4640 03E00008 */ jr $ra /* 0E8FF4 802C4644 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4648: +resume_all_group: /* 0E8FF8 802C4648 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E8FFC 802C464C AFB10014 */ sw $s1, 0x14($sp) /* 0E9000 802C4650 0080882D */ daddu $s1, $a0, $zero @@ -1624,7 +1630,7 @@ func_802C4648: /* 0E9020 802C4670 8C440000 */ lw $a0, ($v0) /* 0E9024 802C4674 50800004 */ beql $a0, $zero, .L802C4688 /* 0E9028 802C4678 26100001 */ addiu $s0, $s0, 1 -/* 0E902C 802C467C 0C0B10DF */ jal func_802C437C +/* 0E902C 802C467C 0C0B10DF */ jal resume_group_script /* 0E9030 802C4680 0220282D */ daddu $a1, $s1, $zero /* 0E9034 802C4684 26100001 */ addiu $s0, $s0, 1 .L802C4688: @@ -1637,7 +1643,7 @@ func_802C4648: /* 0E9050 802C46A0 03E00008 */ jr $ra /* 0E9054 802C46A4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C46A8: +suspend_group_others: /* 0E9058 802C46A8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E905C 802C46AC AFB10014 */ sw $s1, 0x14($sp) /* 0E9060 802C46B0 0080882D */ daddu $s1, $a0, $zero @@ -1656,7 +1662,7 @@ func_802C46A8: /* 0E9090 802C46E0 26100001 */ addiu $s0, $s0, 1 /* 0E9094 802C46E4 50910004 */ beql $a0, $s1, .L802C46F8 /* 0E9098 802C46E8 26100001 */ addiu $s0, $s0, 1 -/* 0E909C 802C46EC 0C0B10B6 */ jal func_802C42D8 +/* 0E909C 802C46EC 0C0B10B6 */ jal suspend_group_script /* 0E90A0 802C46F0 0240282D */ daddu $a1, $s2, $zero /* 0E90A4 802C46F4 26100001 */ addiu $s0, $s0, 1 .L802C46F8: @@ -1670,7 +1676,7 @@ func_802C46A8: /* 0E90C4 802C4714 03E00008 */ jr $ra /* 0E90C8 802C4718 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C471C: +resume_group_others: /* 0E90CC 802C471C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E90D0 802C4720 AFB10014 */ sw $s1, 0x14($sp) /* 0E90D4 802C4724 0080882D */ daddu $s1, $a0, $zero @@ -1689,7 +1695,7 @@ func_802C471C: /* 0E9104 802C4754 26100001 */ addiu $s0, $s0, 1 /* 0E9108 802C4758 50910004 */ beql $a0, $s1, .L802C476C /* 0E910C 802C475C 26100001 */ addiu $s0, $s0, 1 -/* 0E9110 802C4760 0C0B10DF */ jal func_802C437C +/* 0E9110 802C4760 0C0B10DF */ jal resume_group_script /* 0E9114 802C4764 0240282D */ daddu $a1, $s2, $zero /* 0E9118 802C4768 26100001 */ addiu $s0, $s0, 1 .L802C476C: @@ -1703,7 +1709,7 @@ func_802C471C: /* 0E9138 802C4788 03E00008 */ jr $ra /* 0E913C 802C478C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4790: +get_script_by_index: /* 0E9140 802C4790 3C02802E */ lui $v0, 0x802e /* 0E9144 802C4794 8C42A890 */ lw $v0, -0x5770($v0) /* 0E9148 802C4798 00042080 */ sll $a0, $a0, 2 @@ -1711,7 +1717,7 @@ func_802C4790: /* 0E9150 802C47A0 03E00008 */ jr $ra /* 0E9154 802C47A4 8C820000 */ lw $v0, ($a0) -func_802C47A8: +get_script_by_id: /* 0E9158 802C47A8 0000302D */ daddu $a2, $zero, $zero /* 0E915C 802C47AC 3C05802E */ lui $a1, 0x802e /* 0E9160 802C47B0 8CA5A890 */ lw $a1, -0x5770($a1) @@ -1733,7 +1739,7 @@ func_802C47A8: /* 0E9190 802C47E0 03E00008 */ jr $ra /* 0E9194 802C47E4 0000102D */ daddu $v0, $zero, $zero -func_802C47E8: +set_script_flags: /* 0E9198 802C47E8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E919C 802C47EC AFB10014 */ sw $s1, 0x14($sp) /* 0E91A0 802C47F0 0080882D */ daddu $s1, $a0, $zero @@ -1746,7 +1752,7 @@ func_802C47E8: /* 0E91BC 802C480C 00521025 */ or $v0, $v0, $s2 /* 0E91C0 802C4810 10800003 */ beqz $a0, .L802C4820 /* 0E91C4 802C4814 A2220000 */ sb $v0, ($s1) -/* 0E91C8 802C4818 0C0B11FA */ jal func_802C47E8 +/* 0E91C8 802C4818 0C0B11FA */ jal set_script_flags /* 0E91CC 802C481C 00000000 */ nop .L802C4820: /* 0E91D0 802C4820 0000802D */ daddu $s0, $zero, $zero @@ -1762,7 +1768,7 @@ func_802C47E8: /* 0E91F4 802C4844 54510005 */ bnel $v0, $s1, .L802C485C /* 0E91F8 802C4848 26100001 */ addiu $s0, $s0, 1 /* 0E91FC 802C484C 8E24006C */ lw $a0, 0x6c($s1) -/* 0E9200 802C4850 0C0B11FA */ jal func_802C47E8 +/* 0E9200 802C4850 0C0B11FA */ jal set_script_flags /* 0E9204 802C4854 0240282D */ daddu $a1, $s2, $zero /* 0E9208 802C4858 26100001 */ addiu $s0, $s0, 1 .L802C485C: @@ -1776,7 +1782,7 @@ func_802C47E8: /* 0E9228 802C4878 03E00008 */ jr $ra /* 0E922C 802C487C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4880: +clear_script_flags: /* 0E9230 802C4880 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9234 802C4884 AFB10014 */ sw $s1, 0x14($sp) /* 0E9238 802C4888 0080882D */ daddu $s1, $a0, $zero @@ -1790,7 +1796,7 @@ func_802C4880: /* 0E9258 802C48A8 00431024 */ and $v0, $v0, $v1 /* 0E925C 802C48AC 10800003 */ beqz $a0, .L802C48BC /* 0E9260 802C48B0 A2220000 */ sb $v0, ($s1) -/* 0E9264 802C48B4 0C0B1220 */ jal func_802C4880 +/* 0E9264 802C48B4 0C0B1220 */ jal clear_script_flags /* 0E9268 802C48B8 00000000 */ nop .L802C48BC: /* 0E926C 802C48BC 0000802D */ daddu $s0, $zero, $zero @@ -1805,7 +1811,7 @@ func_802C4880: /* 0E928C 802C48DC 8C82006C */ lw $v0, 0x6c($a0) /* 0E9290 802C48E0 54510004 */ bnel $v0, $s1, .L802C48F4 /* 0E9294 802C48E4 26100001 */ addiu $s0, $s0, 1 -/* 0E9298 802C48E8 0C0B1220 */ jal func_802C4880 +/* 0E9298 802C48E8 0C0B1220 */ jal clear_script_flags /* 0E929C 802C48EC 0240282D */ daddu $a1, $s2, $zero /* 0E92A0 802C48F0 26100001 */ addiu $s0, $s0, 1 .L802C48F4: diff --git a/papermario/asm/code_e92d0_len_5da0.s b/papermario/asm/code_e92d0_len_5da0.s index a639edb0e0..46d7a9d0f9 100644 --- a/papermario/asm/code_e92d0_len_5da0.s +++ b/papermario/asm/code_e92d0_len_5da0.s @@ -1,7 +1,7 @@ .section .text802C4920, "ax" -func_802C4920: +fixed_var_to_float: /* 0E92D0 802C4920 3C02F2E3 */ lui $v0, 0xf2e3 /* 0E92D4 802C4924 34421100 */ ori $v0, $v0, 0x1100 /* 0E92D8 802C4928 0044102A */ slt $v0, $v0, $a0 @@ -24,7 +24,7 @@ func_802C4920: /* 0E9314 802C4964 03E00008 */ jr $ra /* 0E9318 802C4968 00000000 */ nop -func_802C496C: +float_to_fixed_var: /* 0E931C 802C496C 3C014480 */ lui $at, 0x4480 /* 0E9320 802C4970 44810000 */ mtc1 $at, $f0 /* 0E9324 802C4974 00000000 */ nop @@ -37,30 +37,30 @@ func_802C496C: /* 0E9340 802C4990 03E00008 */ jr $ra /* 0E9344 802C4994 00431021 */ addu $v0, $v0, $v1 -func_802C4998: +si_handle_return: /* 0E9348 802C4998 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E934C 802C499C AFBF0010 */ sw $ra, 0x10($sp) -/* 0E9350 802C49A0 0C0B0FCF */ jal func_802C3F3C +/* 0E9350 802C49A0 0C0B0FCF */ jal kill_script /* 0E9354 802C49A4 00000000 */ nop /* 0E9358 802C49A8 8FBF0010 */ lw $ra, 0x10($sp) /* 0E935C 802C49AC 240200FF */ addiu $v0, $zero, 0xff /* 0E9360 802C49B0 03E00008 */ jr $ra /* 0E9364 802C49B4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C49B8: +si_handle_label: /* 0E9368 802C49B8 03E00008 */ jr $ra /* 0E936C 802C49BC 24020002 */ addiu $v0, $zero, 2 -func_802C49C0: +si_handle_goto: /* 0E9370 802C49C0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E9374 802C49C4 AFB00010 */ sw $s0, 0x10($sp) /* 0E9378 802C49C8 0080802D */ daddu $s0, $a0, $zero /* 0E937C 802C49CC AFBF0014 */ sw $ra, 0x14($sp) /* 0E9380 802C49D0 8E02000C */ lw $v0, 0xc($s0) -/* 0E9384 802C49D4 0C0B1EAF */ jal func_802C7ABC +/* 0E9384 802C49D4 0C0B1EAF */ jal get_variable /* 0E9388 802C49D8 8C450000 */ lw $a1, ($v0) /* 0E938C 802C49DC 0200202D */ daddu $a0, $s0, $zero -/* 0E9390 802C49E0 0C0B2224 */ jal func_802C8890 +/* 0E9390 802C49E0 0C0B2224 */ jal si_goto_label /* 0E9394 802C49E4 0040282D */ daddu $a1, $v0, $zero /* 0E9398 802C49E8 AE020008 */ sw $v0, 8($s0) /* 0E939C 802C49EC 8FBF0014 */ lw $ra, 0x14($sp) @@ -69,7 +69,7 @@ func_802C49C0: /* 0E93A8 802C49F8 03E00008 */ jr $ra /* 0E93AC 802C49FC 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4A00: +si_handle_Loop: /* 0E93B0 802C4A00 8C83000C */ lw $v1, 0xc($a0) /* 0E93B4 802C4A04 90820006 */ lbu $v0, 6($a0) /* 0E93B8 802C4A08 8C660000 */ lw $a2, ($v1) @@ -92,7 +92,7 @@ func_802C4A28: /* 0E93F0 802C4A40 03E00008 */ jr $ra /* 0E93F4 802C4A44 24020002 */ addiu $v0, $zero, 2 -func_802C4A48: +si_handle_end_loop: /* 0E93F8 802C4A48 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E93FC 802C4A4C AFB10014 */ sw $s1, 0x14($sp) /* 0E9400 802C4A50 0080882D */ daddu $s1, $a0, $zero @@ -125,12 +125,12 @@ func_802C4A6C: /* 0E9458 802C4AA8 AC7000F0 */ sw $s0, 0xf0($v1) .L802C4AAC: -/* 0E945C 802C4AAC 0C0B1EAF */ jal func_802C7ABC +/* 0E945C 802C4AAC 0C0B1EAF */ jal get_variable /* 0E9460 802C4AB0 0200282D */ daddu $a1, $s0, $zero /* 0E9464 802C4AB4 0220202D */ daddu $a0, $s1, $zero /* 0E9468 802C4AB8 0200282D */ daddu $a1, $s0, $zero /* 0E946C 802C4ABC 2450FFFF */ addiu $s0, $v0, -1 -/* 0E9470 802C4AC0 0C0B2026 */ jal func_802C8098 +/* 0E9470 802C4AC0 0C0B2026 */ jal set_variable /* 0E9474 802C4AC4 0200302D */ daddu $a2, $s0, $zero func_802C4AC8: /* 0E9478 802C4AC8 16000006 */ bnez $s0, .L802C4AE4 @@ -155,7 +155,7 @@ func_802C4AF4: /* 0E94B4 802C4B04 03E00008 */ jr $ra /* 0E94B8 802C4B08 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4B0C: +si_handle_break_loop: /* 0E94BC 802C4B0C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E94C0 802C4B10 AFB00010 */ sw $s0, 0x10($sp) /* 0E94C4 802C4B14 0080802D */ daddu $s0, $a0, $zero @@ -168,7 +168,7 @@ func_802C4B28: /* 0E94DC 802C4B2C 00000000 */ nop .L802C4B30: -/* 0E94E0 802C4B30 0C0B22B9 */ jal func_802C8AE4 +/* 0E94E0 802C4B30 0C0B22B9 */ jal si_goto_end_loop /* 0E94E4 802C4B34 0200202D */ daddu $a0, $s0, $zero /* 0E94E8 802C4B38 92030006 */ lbu $v1, 6($s0) /* 0E94EC 802C4B3C AE020008 */ sw $v0, 8($s0) @@ -180,7 +180,7 @@ func_802C4B28: /* 0E9504 802C4B54 03E00008 */ jr $ra /* 0E9508 802C4B58 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4B5C: +si_handle_wait: /* 0E950C 802C4B5C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E9510 802C4B60 AFB00010 */ sw $s0, 0x10($sp) /* 0E9514 802C4B64 0080802D */ daddu $s0, $a0, $zero @@ -188,7 +188,7 @@ func_802C4B5C: /* 0E951C 802C4B6C 82020005 */ lb $v0, 5($s0) /* 0E9520 802C4B70 14400006 */ bnez $v0, .L802C4B8C /* 0E9524 802C4B74 8E05000C */ lw $a1, 0xc($s0) -/* 0E9528 802C4B78 0C0B1EAF */ jal func_802C7ABC +/* 0E9528 802C4B78 0C0B1EAF */ jal get_variable /* 0E952C 802C4B7C 8CA50000 */ lw $a1, ($a1) /* 0E9530 802C4B80 AE020070 */ sw $v0, 0x70($s0) /* 0E9534 802C4B84 24020001 */ addiu $v0, $zero, 1 @@ -209,7 +209,7 @@ func_802C4BA8: /* 0E9560 802C4BB0 03E00008 */ jr $ra /* 0E9564 802C4BB4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4BB8: +si_handle_wait_seconds: /* 0E9568 802C4BB8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E956C 802C4BBC AFB00010 */ sw $s0, 0x10($sp) /* 0E9570 802C4BC0 0080802D */ daddu $s0, $a0, $zero @@ -217,7 +217,7 @@ func_802C4BB8: /* 0E9578 802C4BC8 82020005 */ lb $v0, 5($s0) /* 0E957C 802C4BCC 14400011 */ bnez $v0, .L802C4C14 /* 0E9580 802C4BD0 8E05000C */ lw $a1, 0xc($s0) -/* 0E9584 802C4BD4 0C0B210B */ jal func_802C842C +/* 0E9584 802C4BD4 0C0B210B */ jal get_float_variable /* 0E9588 802C4BD8 8CA50000 */ lw $a1, ($a1) /* 0E958C 802C4BDC 3C0141F0 */ lui $at, 0x41f0 /* 0E9590 802C4BE0 44811000 */ mtc1 $at, $f2 @@ -249,7 +249,7 @@ func_802C4C30: /* 0E95E8 802C4C38 03E00008 */ jr $ra /* 0E95EC 802C4C3C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4C40: +si_handle_if_equal: /* 0E95F0 802C4C40 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E95F4 802C4C44 AFB10014 */ sw $s1, 0x14($sp) /* 0E95F8 802C4C48 0080882D */ daddu $s1, $a0, $zero @@ -257,15 +257,15 @@ func_802C4C40: /* 0E9600 802C4C50 AFB00010 */ sw $s0, 0x10($sp) /* 0E9604 802C4C54 8E30000C */ lw $s0, 0xc($s1) /* 0E9608 802C4C58 8E050000 */ lw $a1, ($s0) -/* 0E960C 802C4C5C 0C0B1EAF */ jal func_802C7ABC +/* 0E960C 802C4C5C 0C0B1EAF */ jal get_variable /* 0E9610 802C4C60 26100004 */ addiu $s0, $s0, 4 /* 0E9614 802C4C64 0220202D */ daddu $a0, $s1, $zero /* 0E9618 802C4C68 8E050000 */ lw $a1, ($s0) -/* 0E961C 802C4C6C 0C0B1EAF */ jal func_802C7ABC +/* 0E961C 802C4C6C 0C0B1EAF */ jal get_variable /* 0E9620 802C4C70 0040802D */ daddu $s0, $v0, $zero /* 0E9624 802C4C74 12020005 */ beq $s0, $v0, .L802C4C8C /* 0E9628 802C4C78 24020002 */ addiu $v0, $zero, 2 -/* 0E962C 802C4C7C 0C0B223F */ jal func_802C88FC +/* 0E962C 802C4C7C 0C0B223F */ jal si_skip_if /* 0E9630 802C4C80 0220202D */ daddu $a0, $s1, $zero /* 0E9634 802C4C84 AE220008 */ sw $v0, 8($s1) /* 0E9638 802C4C88 24020002 */ addiu $v0, $zero, 2 @@ -276,7 +276,7 @@ func_802C4C40: /* 0E9648 802C4C98 03E00008 */ jr $ra /* 0E964C 802C4C9C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4CA0: +si_handle_if_not_equal: /* 0E9650 802C4CA0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9654 802C4CA4 AFB10014 */ sw $s1, 0x14($sp) /* 0E9658 802C4CA8 0080882D */ daddu $s1, $a0, $zero @@ -284,15 +284,15 @@ func_802C4CA0: /* 0E9660 802C4CB0 AFB00010 */ sw $s0, 0x10($sp) /* 0E9664 802C4CB4 8E30000C */ lw $s0, 0xc($s1) /* 0E9668 802C4CB8 8E050000 */ lw $a1, ($s0) -/* 0E966C 802C4CBC 0C0B1EAF */ jal func_802C7ABC +/* 0E966C 802C4CBC 0C0B1EAF */ jal get_variable /* 0E9670 802C4CC0 26100004 */ addiu $s0, $s0, 4 /* 0E9674 802C4CC4 0220202D */ daddu $a0, $s1, $zero /* 0E9678 802C4CC8 8E050000 */ lw $a1, ($s0) -/* 0E967C 802C4CCC 0C0B1EAF */ jal func_802C7ABC +/* 0E967C 802C4CCC 0C0B1EAF */ jal get_variable /* 0E9680 802C4CD0 0040802D */ daddu $s0, $v0, $zero /* 0E9684 802C4CD4 16020005 */ bne $s0, $v0, .L802C4CEC /* 0E9688 802C4CD8 24020002 */ addiu $v0, $zero, 2 -/* 0E968C 802C4CDC 0C0B223F */ jal func_802C88FC +/* 0E968C 802C4CDC 0C0B223F */ jal si_skip_if /* 0E9690 802C4CE0 0220202D */ daddu $a0, $s1, $zero /* 0E9694 802C4CE4 AE220008 */ sw $v0, 8($s1) /* 0E9698 802C4CE8 24020002 */ addiu $v0, $zero, 2 @@ -303,7 +303,7 @@ func_802C4CA0: /* 0E96A8 802C4CF8 03E00008 */ jr $ra /* 0E96AC 802C4CFC 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4D00: +si_handle_if_less: /* 0E96B0 802C4D00 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E96B4 802C4D04 AFB10014 */ sw $s1, 0x14($sp) /* 0E96B8 802C4D08 0080882D */ daddu $s1, $a0, $zero @@ -311,16 +311,16 @@ func_802C4D00: /* 0E96C0 802C4D10 AFB00010 */ sw $s0, 0x10($sp) /* 0E96C4 802C4D14 8E30000C */ lw $s0, 0xc($s1) /* 0E96C8 802C4D18 8E050000 */ lw $a1, ($s0) -/* 0E96CC 802C4D1C 0C0B1EAF */ jal func_802C7ABC +/* 0E96CC 802C4D1C 0C0B1EAF */ jal get_variable /* 0E96D0 802C4D20 26100004 */ addiu $s0, $s0, 4 /* 0E96D4 802C4D24 0220202D */ daddu $a0, $s1, $zero /* 0E96D8 802C4D28 8E050000 */ lw $a1, ($s0) -/* 0E96DC 802C4D2C 0C0B1EAF */ jal func_802C7ABC +/* 0E96DC 802C4D2C 0C0B1EAF */ jal get_variable /* 0E96E0 802C4D30 0040802D */ daddu $s0, $v0, $zero /* 0E96E4 802C4D34 0202802A */ slt $s0, $s0, $v0 /* 0E96E8 802C4D38 16000005 */ bnez $s0, .L802C4D50 /* 0E96EC 802C4D3C 24020002 */ addiu $v0, $zero, 2 -/* 0E96F0 802C4D40 0C0B223F */ jal func_802C88FC +/* 0E96F0 802C4D40 0C0B223F */ jal si_skip_if /* 0E96F4 802C4D44 0220202D */ daddu $a0, $s1, $zero /* 0E96F8 802C4D48 AE220008 */ sw $v0, 8($s1) /* 0E96FC 802C4D4C 24020002 */ addiu $v0, $zero, 2 @@ -331,7 +331,7 @@ func_802C4D00: /* 0E970C 802C4D5C 03E00008 */ jr $ra /* 0E9710 802C4D60 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4D64: +si_handle_if_greater: /* 0E9714 802C4D64 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9718 802C4D68 AFB10014 */ sw $s1, 0x14($sp) /* 0E971C 802C4D6C 0080882D */ daddu $s1, $a0, $zero @@ -339,16 +339,16 @@ func_802C4D64: /* 0E9724 802C4D74 AFB00010 */ sw $s0, 0x10($sp) /* 0E9728 802C4D78 8E30000C */ lw $s0, 0xc($s1) /* 0E972C 802C4D7C 8E050000 */ lw $a1, ($s0) -/* 0E9730 802C4D80 0C0B1EAF */ jal func_802C7ABC +/* 0E9730 802C4D80 0C0B1EAF */ jal get_variable /* 0E9734 802C4D84 26100004 */ addiu $s0, $s0, 4 /* 0E9738 802C4D88 0220202D */ daddu $a0, $s1, $zero /* 0E973C 802C4D8C 8E050000 */ lw $a1, ($s0) -/* 0E9740 802C4D90 0C0B1EAF */ jal func_802C7ABC +/* 0E9740 802C4D90 0C0B1EAF */ jal get_variable /* 0E9744 802C4D94 0040802D */ daddu $s0, $v0, $zero /* 0E9748 802C4D98 0050102A */ slt $v0, $v0, $s0 /* 0E974C 802C4D9C 14400005 */ bnez $v0, .L802C4DB4 /* 0E9750 802C4DA0 24020002 */ addiu $v0, $zero, 2 -/* 0E9754 802C4DA4 0C0B223F */ jal func_802C88FC +/* 0E9754 802C4DA4 0C0B223F */ jal si_skip_if /* 0E9758 802C4DA8 0220202D */ daddu $a0, $s1, $zero /* 0E975C 802C4DAC AE220008 */ sw $v0, 8($s1) /* 0E9760 802C4DB0 24020002 */ addiu $v0, $zero, 2 @@ -359,7 +359,7 @@ func_802C4D64: /* 0E9770 802C4DC0 03E00008 */ jr $ra /* 0E9774 802C4DC4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4DC8: +si_handle_if_less_equal: /* 0E9778 802C4DC8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E977C 802C4DCC AFB10014 */ sw $s1, 0x14($sp) /* 0E9780 802C4DD0 0080882D */ daddu $s1, $a0, $zero @@ -367,16 +367,16 @@ func_802C4DC8: /* 0E9788 802C4DD8 AFB00010 */ sw $s0, 0x10($sp) /* 0E978C 802C4DDC 8E30000C */ lw $s0, 0xc($s1) /* 0E9790 802C4DE0 8E050000 */ lw $a1, ($s0) -/* 0E9794 802C4DE4 0C0B1EAF */ jal func_802C7ABC +/* 0E9794 802C4DE4 0C0B1EAF */ jal get_variable /* 0E9798 802C4DE8 26100004 */ addiu $s0, $s0, 4 /* 0E979C 802C4DEC 0220202D */ daddu $a0, $s1, $zero /* 0E97A0 802C4DF0 8E050000 */ lw $a1, ($s0) -/* 0E97A4 802C4DF4 0C0B1EAF */ jal func_802C7ABC +/* 0E97A4 802C4DF4 0C0B1EAF */ jal get_variable /* 0E97A8 802C4DF8 0040802D */ daddu $s0, $v0, $zero /* 0E97AC 802C4DFC 0050102A */ slt $v0, $v0, $s0 /* 0E97B0 802C4E00 10400005 */ beqz $v0, .L802C4E18 /* 0E97B4 802C4E04 24020002 */ addiu $v0, $zero, 2 -/* 0E97B8 802C4E08 0C0B223F */ jal func_802C88FC +/* 0E97B8 802C4E08 0C0B223F */ jal si_skip_if /* 0E97BC 802C4E0C 0220202D */ daddu $a0, $s1, $zero /* 0E97C0 802C4E10 AE220008 */ sw $v0, 8($s1) /* 0E97C4 802C4E14 24020002 */ addiu $v0, $zero, 2 @@ -387,7 +387,7 @@ func_802C4DC8: /* 0E97D4 802C4E24 03E00008 */ jr $ra /* 0E97D8 802C4E28 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4E2C: +si_handle_if_greater_equal: /* 0E97DC 802C4E2C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E97E0 802C4E30 AFB10014 */ sw $s1, 0x14($sp) /* 0E97E4 802C4E34 0080882D */ daddu $s1, $a0, $zero @@ -395,16 +395,16 @@ func_802C4E2C: /* 0E97EC 802C4E3C AFB00010 */ sw $s0, 0x10($sp) /* 0E97F0 802C4E40 8E30000C */ lw $s0, 0xc($s1) /* 0E97F4 802C4E44 8E050000 */ lw $a1, ($s0) -/* 0E97F8 802C4E48 0C0B1EAF */ jal func_802C7ABC +/* 0E97F8 802C4E48 0C0B1EAF */ jal get_variable /* 0E97FC 802C4E4C 26100004 */ addiu $s0, $s0, 4 /* 0E9800 802C4E50 0220202D */ daddu $a0, $s1, $zero /* 0E9804 802C4E54 8E050000 */ lw $a1, ($s0) -/* 0E9808 802C4E58 0C0B1EAF */ jal func_802C7ABC +/* 0E9808 802C4E58 0C0B1EAF */ jal get_variable /* 0E980C 802C4E5C 0040802D */ daddu $s0, $v0, $zero /* 0E9810 802C4E60 0202802A */ slt $s0, $s0, $v0 /* 0E9814 802C4E64 12000005 */ beqz $s0, .L802C4E7C /* 0E9818 802C4E68 24020002 */ addiu $v0, $zero, 2 -/* 0E981C 802C4E6C 0C0B223F */ jal func_802C88FC +/* 0E981C 802C4E6C 0C0B223F */ jal si_skip_if /* 0E9820 802C4E70 0220202D */ daddu $a0, $s1, $zero /* 0E9824 802C4E74 AE220008 */ sw $v0, 8($s1) /* 0E9828 802C4E78 24020002 */ addiu $v0, $zero, 2 @@ -415,7 +415,7 @@ func_802C4E2C: /* 0E9838 802C4E88 03E00008 */ jr $ra /* 0E983C 802C4E8C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4E90: +si_handle_if_AND: /* 0E9840 802C4E90 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9844 802C4E94 AFB10014 */ sw $s1, 0x14($sp) /* 0E9848 802C4E98 0080882D */ daddu $s1, $a0, $zero @@ -423,13 +423,13 @@ func_802C4E90: /* 0E9850 802C4EA0 AFB00010 */ sw $s0, 0x10($sp) /* 0E9854 802C4EA4 8E30000C */ lw $s0, 0xc($s1) /* 0E9858 802C4EA8 8E050000 */ lw $a1, ($s0) -/* 0E985C 802C4EAC 0C0B1EAF */ jal func_802C7ABC +/* 0E985C 802C4EAC 0C0B1EAF */ jal get_variable /* 0E9860 802C4EB0 26100004 */ addiu $s0, $s0, 4 /* 0E9864 802C4EB4 8E030000 */ lw $v1, ($s0) /* 0E9868 802C4EB8 00431024 */ and $v0, $v0, $v1 /* 0E986C 802C4EBC 14400005 */ bnez $v0, .L802C4ED4 /* 0E9870 802C4EC0 24020002 */ addiu $v0, $zero, 2 -/* 0E9874 802C4EC4 0C0B223F */ jal func_802C88FC +/* 0E9874 802C4EC4 0C0B223F */ jal si_skip_if /* 0E9878 802C4EC8 0220202D */ daddu $a0, $s1, $zero /* 0E987C 802C4ECC AE220008 */ sw $v0, 8($s1) /* 0E9880 802C4ED0 24020002 */ addiu $v0, $zero, 2 @@ -440,7 +440,7 @@ func_802C4E90: /* 0E9890 802C4EE0 03E00008 */ jr $ra /* 0E9894 802C4EE4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4EE8: +si_handle_if_not_AND: /* 0E9898 802C4EE8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E989C 802C4EEC AFB10014 */ sw $s1, 0x14($sp) /* 0E98A0 802C4EF0 0080882D */ daddu $s1, $a0, $zero @@ -448,13 +448,13 @@ func_802C4EE8: /* 0E98A8 802C4EF8 AFB00010 */ sw $s0, 0x10($sp) /* 0E98AC 802C4EFC 8E30000C */ lw $s0, 0xc($s1) /* 0E98B0 802C4F00 8E050000 */ lw $a1, ($s0) -/* 0E98B4 802C4F04 0C0B1EAF */ jal func_802C7ABC +/* 0E98B4 802C4F04 0C0B1EAF */ jal get_variable /* 0E98B8 802C4F08 26100004 */ addiu $s0, $s0, 4 /* 0E98BC 802C4F0C 8E030000 */ lw $v1, ($s0) /* 0E98C0 802C4F10 00431024 */ and $v0, $v0, $v1 /* 0E98C4 802C4F14 10400005 */ beqz $v0, .L802C4F2C /* 0E98C8 802C4F18 24020002 */ addiu $v0, $zero, 2 -/* 0E98CC 802C4F1C 0C0B223F */ jal func_802C88FC +/* 0E98CC 802C4F1C 0C0B223F */ jal si_skip_if /* 0E98D0 802C4F20 0220202D */ daddu $a0, $s1, $zero /* 0E98D4 802C4F24 AE220008 */ sw $v0, 8($s1) /* 0E98D8 802C4F28 24020002 */ addiu $v0, $zero, 2 @@ -465,11 +465,11 @@ func_802C4EE8: /* 0E98E8 802C4F38 03E00008 */ jr $ra /* 0E98EC 802C4F3C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C4F40: +si_handle_else: /* 0E98F0 802C4F40 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E98F4 802C4F44 AFB00010 */ sw $s0, 0x10($sp) /* 0E98F8 802C4F48 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E98FC 802C4F4C 0C0B225E */ jal func_802C8978 +/* 0E98FC 802C4F4C 0C0B225E */ jal si_skip_else /* 0E9900 802C4F50 0080802D */ daddu $s0, $a0, $zero /* 0E9904 802C4F54 AE020008 */ sw $v0, 8($s0) /* 0E9908 802C4F58 8FBF0014 */ lw $ra, 0x14($sp) @@ -478,17 +478,17 @@ func_802C4F40: /* 0E9914 802C4F64 03E00008 */ jr $ra /* 0E9918 802C4F68 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4F6C: +si_handle_end_if: /* 0E991C 802C4F6C 03E00008 */ jr $ra /* 0E9920 802C4F70 24020002 */ addiu $v0, $zero, 2 -func_802C4F74: +si_handle_switch: /* 0E9924 802C4F74 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E9928 802C4F78 AFB00010 */ sw $s0, 0x10($sp) /* 0E992C 802C4F7C 0080802D */ daddu $s0, $a0, $zero /* 0E9930 802C4F80 AFBF0014 */ sw $ra, 0x14($sp) /* 0E9934 802C4F84 8E02000C */ lw $v0, 0xc($s0) -/* 0E9938 802C4F88 0C0B1EAF */ jal func_802C7ABC +/* 0E9938 802C4F88 0C0B1EAF */ jal get_variable /* 0E993C 802C4F8C 8C450000 */ lw $a1, ($v0) /* 0E9940 802C4F90 92030007 */ lbu $v1, 7($s0) /* 0E9944 802C4F94 0040282D */ daddu $a1, $v0, $zero @@ -515,7 +515,7 @@ func_802C4FB4: /* 0E998C 802C4FDC 03E00008 */ jr $ra /* 0E9990 802C4FE0 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C4FE4: +si_handle_switch_const: /* 0E9994 802C4FE4 8C82000C */ lw $v0, 0xc($a0) /* 0E9998 802C4FE8 90830007 */ lbu $v1, 7($a0) /* 0E999C 802C4FEC 8C450000 */ lw $a1, ($v0) @@ -539,7 +539,7 @@ func_802C500C: /* 0E99D8 802C5028 03E00008 */ jr $ra /* 0E99DC 802C502C 24020002 */ addiu $v0, $zero, 2 -func_802C5030: +si_handle_case_equal: /* 0E99E0 802C5030 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E99E4 802C5034 AFB10014 */ sw $s1, 0x14($sp) /* 0E99E8 802C5038 0080882D */ daddu $s1, $a0, $zero @@ -554,7 +554,7 @@ func_802C5050: .L802C5058: /* 0E9A08 802C5058 8CA50000 */ lw $a1, ($a1) -/* 0E9A0C 802C505C 0C0B1EAF */ jal func_802C7ABC +/* 0E9A0C 802C505C 0C0B1EAF */ jal get_variable /* 0E9A10 802C5060 0220202D */ daddu $a0, $s1, $zero /* 0E9A14 802C5064 0040282D */ daddu $a1, $v0, $zero /* 0E9A18 802C5068 00101080 */ sll $v0, $s0, 2 @@ -563,7 +563,7 @@ func_802C5050: /* 0E9A24 802C5074 80830110 */ lb $v1, 0x110($a0) /* 0E9A28 802C5078 1C600005 */ bgtz $v1, .L802C5090 /* 0E9A2C 802C507C 8C420118 */ lw $v0, 0x118($v0) -/* 0E9A30 802C5080 0C0B2279 */ jal func_802C89E4 +/* 0E9A30 802C5080 0C0B2279 */ jal si_goto_end_case /* 0E9A34 802C5084 0220202D */ daddu $a0, $s1, $zero /* 0E9A38 802C5088 080B1429 */ j func_802C50A4 /* 0E9A3C 802C508C AE220008 */ sw $v0, 8($s1) @@ -571,7 +571,7 @@ func_802C5050: .L802C5090: /* 0E9A40 802C5090 50A20004 */ beql $a1, $v0, .L802C50A4 /* 0E9A44 802C5094 A0800110 */ sb $zero, 0x110($a0) -/* 0E9A48 802C5098 0C0B2298 */ jal func_802C8A60 +/* 0E9A48 802C5098 0C0B2298 */ jal si_goto_next_case /* 0E9A4C 802C509C 0220202D */ daddu $a0, $s1, $zero /* 0E9A50 802C50A0 AE220008 */ sw $v0, 8($s1) func_802C50A4: @@ -583,7 +583,7 @@ func_802C50A4: /* 0E9A64 802C50B4 03E00008 */ jr $ra /* 0E9A68 802C50B8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C50BC: +si_handle_case_not_equal: /* 0E9A6C 802C50BC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9A70 802C50C0 AFB10014 */ sw $s1, 0x14($sp) /* 0E9A74 802C50C4 0080882D */ daddu $s1, $a0, $zero @@ -598,7 +598,7 @@ func_802C50DC: .L802C50E4: /* 0E9A94 802C50E4 8CA50000 */ lw $a1, ($a1) -/* 0E9A98 802C50E8 0C0B1EAF */ jal func_802C7ABC +/* 0E9A98 802C50E8 0C0B1EAF */ jal get_variable /* 0E9A9C 802C50EC 0220202D */ daddu $a0, $s1, $zero /* 0E9AA0 802C50F0 0040282D */ daddu $a1, $v0, $zero /* 0E9AA4 802C50F4 00101080 */ sll $v0, $s0, 2 @@ -607,7 +607,7 @@ func_802C50DC: /* 0E9AB0 802C5100 80830110 */ lb $v1, 0x110($a0) /* 0E9AB4 802C5104 1C600005 */ bgtz $v1, .L802C511C /* 0E9AB8 802C5108 8C420118 */ lw $v0, 0x118($v0) -/* 0E9ABC 802C510C 0C0B2279 */ jal func_802C89E4 +/* 0E9ABC 802C510C 0C0B2279 */ jal si_goto_end_case /* 0E9AC0 802C5110 0220202D */ daddu $a0, $s1, $zero /* 0E9AC4 802C5114 080B144C */ j func_802C5130 /* 0E9AC8 802C5118 AE220008 */ sw $v0, 8($s1) @@ -615,7 +615,7 @@ func_802C50DC: .L802C511C: /* 0E9ACC 802C511C 54A20004 */ bnel $a1, $v0, .L802C5130 /* 0E9AD0 802C5120 A0800110 */ sb $zero, 0x110($a0) -/* 0E9AD4 802C5124 0C0B2298 */ jal func_802C8A60 +/* 0E9AD4 802C5124 0C0B2298 */ jal si_goto_next_case /* 0E9AD8 802C5128 0220202D */ daddu $a0, $s1, $zero /* 0E9ADC 802C512C AE220008 */ sw $v0, 8($s1) func_802C5130: @@ -627,7 +627,7 @@ func_802C5130: /* 0E9AF0 802C5140 03E00008 */ jr $ra /* 0E9AF4 802C5144 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5148: +si_handle_case_less: /* 0E9AF8 802C5148 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9AFC 802C514C AFB10014 */ sw $s1, 0x14($sp) /* 0E9B00 802C5150 0080882D */ daddu $s1, $a0, $zero @@ -642,7 +642,7 @@ func_802C5168: .L802C5170: /* 0E9B20 802C5170 8CA50000 */ lw $a1, ($a1) -/* 0E9B24 802C5174 0C0B1EAF */ jal func_802C7ABC +/* 0E9B24 802C5174 0C0B1EAF */ jal get_variable /* 0E9B28 802C5178 0220202D */ daddu $a0, $s1, $zero /* 0E9B2C 802C517C 0040282D */ daddu $a1, $v0, $zero /* 0E9B30 802C5180 00101080 */ sll $v0, $s0, 2 @@ -652,7 +652,7 @@ func_802C5168: /* 0E9B40 802C5190 8C420118 */ lw $v0, 0x118($v0) /* 0E9B44 802C5194 1C600005 */ bgtz $v1, .L802C51AC /* 0E9B48 802C5198 0045102A */ slt $v0, $v0, $a1 -/* 0E9B4C 802C519C 0C0B2279 */ jal func_802C89E4 +/* 0E9B4C 802C519C 0C0B2279 */ jal si_goto_end_case /* 0E9B50 802C51A0 0220202D */ daddu $a0, $s1, $zero /* 0E9B54 802C51A4 080B1470 */ j func_802C51C0 /* 0E9B58 802C51A8 AE220008 */ sw $v0, 8($s1) @@ -660,7 +660,7 @@ func_802C5168: .L802C51AC: /* 0E9B5C 802C51AC 54400004 */ bnezl $v0, .L802C51C0 /* 0E9B60 802C51B0 A0800110 */ sb $zero, 0x110($a0) -/* 0E9B64 802C51B4 0C0B2298 */ jal func_802C8A60 +/* 0E9B64 802C51B4 0C0B2298 */ jal si_goto_next_case /* 0E9B68 802C51B8 0220202D */ daddu $a0, $s1, $zero /* 0E9B6C 802C51BC AE220008 */ sw $v0, 8($s1) func_802C51C0: @@ -672,7 +672,7 @@ func_802C51C0: /* 0E9B80 802C51D0 03E00008 */ jr $ra /* 0E9B84 802C51D4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C51D8: +si_handle_case_less_equal: /* 0E9B88 802C51D8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9B8C 802C51DC AFB10014 */ sw $s1, 0x14($sp) /* 0E9B90 802C51E0 0080882D */ daddu $s1, $a0, $zero @@ -687,7 +687,7 @@ func_802C51F8: .L802C5200: /* 0E9BB0 802C5200 8CA50000 */ lw $a1, ($a1) -/* 0E9BB4 802C5204 0C0B1EAF */ jal func_802C7ABC +/* 0E9BB4 802C5204 0C0B1EAF */ jal get_variable /* 0E9BB8 802C5208 0220202D */ daddu $a0, $s1, $zero /* 0E9BBC 802C520C 0040282D */ daddu $a1, $v0, $zero /* 0E9BC0 802C5210 00101080 */ sll $v0, $s0, 2 @@ -697,7 +697,7 @@ func_802C51F8: /* 0E9BD0 802C5220 8C420118 */ lw $v0, 0x118($v0) /* 0E9BD4 802C5224 1C600005 */ bgtz $v1, .L802C523C /* 0E9BD8 802C5228 00A2102A */ slt $v0, $a1, $v0 -/* 0E9BDC 802C522C 0C0B2279 */ jal func_802C89E4 +/* 0E9BDC 802C522C 0C0B2279 */ jal si_goto_end_case /* 0E9BE0 802C5230 0220202D */ daddu $a0, $s1, $zero /* 0E9BE4 802C5234 080B1494 */ j func_802C5250 /* 0E9BE8 802C5238 AE220008 */ sw $v0, 8($s1) @@ -705,7 +705,7 @@ func_802C51F8: .L802C523C: /* 0E9BEC 802C523C 50400004 */ beql $v0, $zero, .L802C5250 /* 0E9BF0 802C5240 A0800110 */ sb $zero, 0x110($a0) -/* 0E9BF4 802C5244 0C0B2298 */ jal func_802C8A60 +/* 0E9BF4 802C5244 0C0B2298 */ jal si_goto_next_case /* 0E9BF8 802C5248 0220202D */ daddu $a0, $s1, $zero /* 0E9BFC 802C524C AE220008 */ sw $v0, 8($s1) func_802C5250: @@ -717,7 +717,7 @@ func_802C5250: /* 0E9C10 802C5260 03E00008 */ jr $ra /* 0E9C14 802C5264 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5268: +si_handle_case_greater: /* 0E9C18 802C5268 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9C1C 802C526C AFB10014 */ sw $s1, 0x14($sp) /* 0E9C20 802C5270 0080882D */ daddu $s1, $a0, $zero @@ -732,7 +732,7 @@ func_802C5288: .L802C5290: /* 0E9C40 802C5290 8CA50000 */ lw $a1, ($a1) -/* 0E9C44 802C5294 0C0B1EAF */ jal func_802C7ABC +/* 0E9C44 802C5294 0C0B1EAF */ jal get_variable /* 0E9C48 802C5298 0220202D */ daddu $a0, $s1, $zero /* 0E9C4C 802C529C 0040282D */ daddu $a1, $v0, $zero /* 0E9C50 802C52A0 00101080 */ sll $v0, $s0, 2 @@ -742,7 +742,7 @@ func_802C5288: /* 0E9C60 802C52B0 8C420118 */ lw $v0, 0x118($v0) /* 0E9C64 802C52B4 1C600005 */ bgtz $v1, .L802C52CC /* 0E9C68 802C52B8 00A2102A */ slt $v0, $a1, $v0 -/* 0E9C6C 802C52BC 0C0B2279 */ jal func_802C89E4 +/* 0E9C6C 802C52BC 0C0B2279 */ jal si_goto_end_case /* 0E9C70 802C52C0 0220202D */ daddu $a0, $s1, $zero /* 0E9C74 802C52C4 080B14B8 */ j func_802C52E0 /* 0E9C78 802C52C8 AE220008 */ sw $v0, 8($s1) @@ -750,7 +750,7 @@ func_802C5288: .L802C52CC: /* 0E9C7C 802C52CC 54400004 */ bnezl $v0, .L802C52E0 /* 0E9C80 802C52D0 A0800110 */ sb $zero, 0x110($a0) -/* 0E9C84 802C52D4 0C0B2298 */ jal func_802C8A60 +/* 0E9C84 802C52D4 0C0B2298 */ jal si_goto_next_case /* 0E9C88 802C52D8 0220202D */ daddu $a0, $s1, $zero /* 0E9C8C 802C52DC AE220008 */ sw $v0, 8($s1) func_802C52E0: @@ -762,7 +762,7 @@ func_802C52E0: /* 0E9CA0 802C52F0 03E00008 */ jr $ra /* 0E9CA4 802C52F4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C52F8: +si_handle_case_greater_equal: /* 0E9CA8 802C52F8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9CAC 802C52FC AFB10014 */ sw $s1, 0x14($sp) /* 0E9CB0 802C5300 0080882D */ daddu $s1, $a0, $zero @@ -777,7 +777,7 @@ func_802C5318: .L802C5320: /* 0E9CD0 802C5320 8CA50000 */ lw $a1, ($a1) -/* 0E9CD4 802C5324 0C0B1EAF */ jal func_802C7ABC +/* 0E9CD4 802C5324 0C0B1EAF */ jal get_variable /* 0E9CD8 802C5328 0220202D */ daddu $a0, $s1, $zero /* 0E9CDC 802C532C 0040282D */ daddu $a1, $v0, $zero /* 0E9CE0 802C5330 00101080 */ sll $v0, $s0, 2 @@ -787,7 +787,7 @@ func_802C5318: /* 0E9CF0 802C5340 8C420118 */ lw $v0, 0x118($v0) /* 0E9CF4 802C5344 1C600005 */ bgtz $v1, .L802C535C /* 0E9CF8 802C5348 0045102A */ slt $v0, $v0, $a1 -/* 0E9CFC 802C534C 0C0B2279 */ jal func_802C89E4 +/* 0E9CFC 802C534C 0C0B2279 */ jal si_goto_end_case /* 0E9D00 802C5350 0220202D */ daddu $a0, $s1, $zero /* 0E9D04 802C5354 080B14DC */ j func_802C5370 /* 0E9D08 802C5358 AE220008 */ sw $v0, 8($s1) @@ -795,7 +795,7 @@ func_802C5318: .L802C535C: /* 0E9D0C 802C535C 50400004 */ beql $v0, $zero, .L802C5370 /* 0E9D10 802C5360 A0800110 */ sb $zero, 0x110($a0) -/* 0E9D14 802C5364 0C0B2298 */ jal func_802C8A60 +/* 0E9D14 802C5364 0C0B2298 */ jal si_goto_next_case /* 0E9D18 802C5368 0220202D */ daddu $a0, $s1, $zero /* 0E9D1C 802C536C AE220008 */ sw $v0, 8($s1) func_802C5370: @@ -807,7 +807,7 @@ func_802C5370: /* 0E9D30 802C5380 03E00008 */ jr $ra /* 0E9D34 802C5384 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5388: +si_handle_case_range: /* 0E9D38 802C5388 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9D3C 802C538C AFB10014 */ sw $s1, 0x14($sp) /* 0E9D40 802C5390 0080882D */ daddu $s1, $a0, $zero @@ -824,11 +824,11 @@ func_802C53AC: .L802C53B4: /* 0E9D64 802C53B4 8E050000 */ lw $a1, ($s0) /* 0E9D68 802C53B8 26100004 */ addiu $s0, $s0, 4 -/* 0E9D6C 802C53BC 0C0B1EAF */ jal func_802C7ABC +/* 0E9D6C 802C53BC 0C0B1EAF */ jal get_variable /* 0E9D70 802C53C0 0220202D */ daddu $a0, $s1, $zero /* 0E9D74 802C53C4 0220202D */ daddu $a0, $s1, $zero /* 0E9D78 802C53C8 8E050000 */ lw $a1, ($s0) -/* 0E9D7C 802C53CC 0C0B1EAF */ jal func_802C7ABC +/* 0E9D7C 802C53CC 0C0B1EAF */ jal get_variable /* 0E9D80 802C53D0 0040802D */ daddu $s0, $v0, $zero /* 0E9D84 802C53D4 0040302D */ daddu $a2, $v0, $zero /* 0E9D88 802C53D8 00121080 */ sll $v0, $s2, 2 @@ -838,7 +838,7 @@ func_802C53AC: /* 0E9D98 802C53E8 8C440118 */ lw $a0, 0x118($v0) /* 0E9D9C 802C53EC 1C600005 */ bgtz $v1, .L802C5404 /* 0E9DA0 802C53F0 0090102A */ slt $v0, $a0, $s0 -/* 0E9DA4 802C53F4 0C0B2279 */ jal func_802C89E4 +/* 0E9DA4 802C53F4 0C0B2279 */ jal si_goto_end_case /* 0E9DA8 802C53F8 0220202D */ daddu $a0, $s1, $zero /* 0E9DAC 802C53FC 080B150A */ j func_802C5428 /* 0E9DB0 802C5400 AE220008 */ sw $v0, 8($s1) @@ -852,7 +852,7 @@ func_802C53AC: /* 0E9DC8 802C5418 A0A00110 */ sb $zero, 0x110($a1) .L802C541C: -/* 0E9DCC 802C541C 0C0B2298 */ jal func_802C8A60 +/* 0E9DCC 802C541C 0C0B2298 */ jal si_goto_next_case /* 0E9DD0 802C5420 0220202D */ daddu $a0, $s1, $zero /* 0E9DD4 802C5424 AE220008 */ sw $v0, 8($s1) func_802C5428: @@ -864,7 +864,7 @@ func_802C5428: /* 0E9DEC 802C543C 03E00008 */ jr $ra /* 0E9DF0 802C5440 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5444: +si_handle_case_default: /* 0E9DF4 802C5444 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E9DF8 802C5448 AFB00010 */ sw $s0, 0x10($sp) /* 0E9DFC 802C544C 0080802D */ daddu $s0, $a0, $zero @@ -884,7 +884,7 @@ func_802C5460: /* 0E9E28 802C5478 A0600110 */ sb $zero, 0x110($v1) .L802C547C: -/* 0E9E2C 802C547C 0C0B2279 */ jal func_802C89E4 +/* 0E9E2C 802C547C 0C0B2279 */ jal si_goto_end_case /* 0E9E30 802C5480 0200202D */ daddu $a0, $s0, $zero /* 0E9E34 802C5484 AE020008 */ sw $v0, 8($s0) func_802C5488: @@ -894,7 +894,7 @@ func_802C5488: /* 0E9E44 802C5494 03E00008 */ jr $ra /* 0E9E48 802C5498 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C549C: +si_handle_case_AND: /* 0E9E4C 802C549C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0E9E50 802C54A0 AFB00010 */ sw $s0, 0x10($sp) /* 0E9E54 802C54A4 0080802D */ daddu $s0, $a0, $zero @@ -915,7 +915,7 @@ func_802C54BC: /* 0E9E84 802C54D4 8C420118 */ lw $v0, 0x118($v0) /* 0E9E88 802C54D8 1C600005 */ bgtz $v1, .L802C54F0 /* 0E9E8C 802C54DC 00821024 */ and $v0, $a0, $v0 -/* 0E9E90 802C54E0 0C0B2279 */ jal func_802C89E4 +/* 0E9E90 802C54E0 0C0B2279 */ jal si_goto_end_case /* 0E9E94 802C54E4 0200202D */ daddu $a0, $s0, $zero /* 0E9E98 802C54E8 080B1541 */ j func_802C5504 /* 0E9E9C 802C54EC AE020008 */ sw $v0, 8($s0) @@ -923,7 +923,7 @@ func_802C54BC: .L802C54F0: /* 0E9EA0 802C54F0 54400004 */ bnezl $v0, .L802C5504 /* 0E9EA4 802C54F4 A0A00110 */ sb $zero, 0x110($a1) -/* 0E9EA8 802C54F8 0C0B2298 */ jal func_802C8A60 +/* 0E9EA8 802C54F8 0C0B2298 */ jal si_goto_next_case /* 0E9EAC 802C54FC 0200202D */ daddu $a0, $s0, $zero /* 0E9EB0 802C5500 AE020008 */ sw $v0, 8($s0) func_802C5504: @@ -934,7 +934,7 @@ func_802C5504: /* 0E9EC0 802C5510 03E00008 */ jr $ra /* 0E9EC4 802C5514 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C5518: +si_handle_case_equal_OR: /* 0E9EC8 802C5518 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9ECC 802C551C AFB10014 */ sw $s1, 0x14($sp) /* 0E9ED0 802C5520 0080882D */ daddu $s1, $a0, $zero @@ -949,7 +949,7 @@ func_802C5538: .L802C5540: /* 0E9EF0 802C5540 8CA50000 */ lw $a1, ($a1) -/* 0E9EF4 802C5544 0C0B1EAF */ jal func_802C7ABC +/* 0E9EF4 802C5544 0C0B1EAF */ jal get_variable /* 0E9EF8 802C5548 0220202D */ daddu $a0, $s1, $zero /* 0E9EFC 802C554C 0040282D */ daddu $a1, $v0, $zero /* 0E9F00 802C5550 00101080 */ sll $v0, $s0, 2 @@ -958,7 +958,7 @@ func_802C5538: /* 0E9F0C 802C555C 80830110 */ lb $v1, 0x110($a0) /* 0E9F10 802C5560 14600005 */ bnez $v1, .L802C5578 /* 0E9F14 802C5564 8C420118 */ lw $v0, 0x118($v0) -/* 0E9F18 802C5568 0C0B2279 */ jal func_802C89E4 +/* 0E9F18 802C5568 0C0B2279 */ jal si_goto_end_case /* 0E9F1C 802C556C 0220202D */ daddu $a0, $s1, $zero /* 0E9F20 802C5570 080B1568 */ j func_802C55A0 /* 0E9F24 802C5574 AE220008 */ sw $v0, 8($s1) @@ -973,7 +973,7 @@ func_802C5538: .L802C558C: /* 0E9F3C 802C558C 10620005 */ beq $v1, $v0, .L802C55A4 /* 0E9F40 802C5590 24020002 */ addiu $v0, $zero, 2 -/* 0E9F44 802C5594 0C0B2298 */ jal func_802C8A60 +/* 0E9F44 802C5594 0C0B2298 */ jal si_goto_next_case /* 0E9F48 802C5598 0220202D */ daddu $a0, $s1, $zero /* 0E9F4C 802C559C AE220008 */ sw $v0, 8($s1) func_802C55A0: @@ -985,7 +985,7 @@ func_802C55A0: /* 0E9F60 802C55B0 03E00008 */ jr $ra /* 0E9F64 802C55B4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C55B8: +si_handle_case_equal_AND: /* 0E9F68 802C55B8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0E9F6C 802C55BC AFB10014 */ sw $s1, 0x14($sp) /* 0E9F70 802C55C0 0080882D */ daddu $s1, $a0, $zero @@ -1000,7 +1000,7 @@ func_802C55D8: .L802C55E0: /* 0E9F90 802C55E0 8CA50000 */ lw $a1, ($a1) -/* 0E9F94 802C55E4 0C0B1EAF */ jal func_802C7ABC +/* 0E9F94 802C55E4 0C0B1EAF */ jal get_variable /* 0E9F98 802C55E8 0220202D */ daddu $a0, $s1, $zero /* 0E9F9C 802C55EC 0040302D */ daddu $a2, $v0, $zero /* 0E9FA0 802C55F0 00101080 */ sll $v0, $s0, 2 @@ -1010,7 +1010,7 @@ func_802C55D8: /* 0E9FB0 802C5600 8C420118 */ lw $v0, 0x118($v0) /* 0E9FB4 802C5604 14800005 */ bnez $a0, .L802C561C /* 0E9FB8 802C5608 2405FFFE */ addiu $a1, $zero, -2 -/* 0E9FBC 802C560C 0C0B2279 */ jal func_802C89E4 +/* 0E9FBC 802C560C 0C0B2279 */ jal si_goto_end_case /* 0E9FC0 802C5610 0220202D */ daddu $a0, $s1, $zero /* 0E9FC4 802C5614 080B1591 */ j func_802C5644 /* 0E9FC8 802C5618 AE220008 */ sw $v0, 8($s1) @@ -1025,7 +1025,7 @@ func_802C55D8: /* 0E9FE4 802C5634 A0620110 */ sb $v0, 0x110($v1) .L802C5638: -/* 0E9FE8 802C5638 0C0B2298 */ jal func_802C8A60 +/* 0E9FE8 802C5638 0C0B2298 */ jal si_goto_next_case /* 0E9FEC 802C563C 00000000 */ nop /* 0E9FF0 802C5640 AE220008 */ sw $v0, 8($s1) func_802C5644: @@ -1036,7 +1036,7 @@ func_802C5644: /* 0EA004 802C5654 03E00008 */ jr $ra /* 0EA008 802C5658 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C565C: +si_handle_end_case_group: /* 0EA00C 802C565C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA010 802C5660 AFB00010 */ sw $s0, 0x10($sp) /* 0EA014 802C5664 0080802D */ daddu $s0, $a0, $zero @@ -1059,7 +1059,7 @@ func_802C5678: /* 0EA044 802C5694 10820006 */ beq $a0, $v0, .L802C56B0 /* 0EA048 802C5698 0200202D */ daddu $a0, $s0, $zero /* 0EA04C 802C569C 24020001 */ addiu $v0, $zero, 1 -/* 0EA050 802C56A0 0C0B2298 */ jal func_802C8A60 +/* 0EA050 802C56A0 0C0B2298 */ jal si_goto_next_case /* 0EA054 802C56A4 A0620110 */ sb $v0, 0x110($v1) /* 0EA058 802C56A8 080B15B0 */ j func_802C56C0 /* 0EA05C 802C56AC AE020008 */ sw $v0, 8($s0) @@ -1067,7 +1067,7 @@ func_802C5678: .L802C56B0: /* 0EA060 802C56B0 A0600110 */ sb $zero, 0x110($v1) func_802C56B4: -/* 0EA064 802C56B4 0C0B2279 */ jal func_802C89E4 +/* 0EA064 802C56B4 0C0B2279 */ jal si_goto_end_case /* 0EA068 802C56B8 00000000 */ nop /* 0EA06C 802C56BC AE020008 */ sw $v0, 8($s0) func_802C56C0: @@ -1077,7 +1077,7 @@ func_802C56C0: /* 0EA07C 802C56CC 03E00008 */ jr $ra /* 0EA080 802C56D0 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C56D4: +si_handle_break_case: /* 0EA084 802C56D4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA088 802C56D8 AFB00010 */ sw $s0, 0x10($sp) /* 0EA08C 802C56DC 0080802D */ daddu $s0, $a0, $zero @@ -1090,7 +1090,7 @@ func_802C56F0: /* 0EA0A4 802C56F4 00000000 */ nop .L802C56F8: -/* 0EA0A8 802C56F8 0C0B2279 */ jal func_802C89E4 +/* 0EA0A8 802C56F8 0C0B2279 */ jal si_goto_end_case /* 0EA0AC 802C56FC 0200202D */ daddu $a0, $s0, $zero /* 0EA0B0 802C5700 AE020008 */ sw $v0, 8($s0) /* 0EA0B4 802C5704 8FBF0014 */ lw $ra, 0x14($sp) @@ -1099,7 +1099,7 @@ func_802C56F0: /* 0EA0C0 802C5710 03E00008 */ jr $ra /* 0EA0C4 802C5714 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C5718: +si_handle_end_switch: /* 0EA0C8 802C5718 80820007 */ lb $v0, 7($a0) /* 0EA0CC 802C571C 04430003 */ bgezl $v0, .L802C572C /* 0EA0D0 802C5720 00821021 */ addu $v0, $a0, $v0 @@ -1115,7 +1115,7 @@ func_802C5724: /* 0EA0EC 802C573C 03E00008 */ jr $ra /* 0EA0F0 802C5740 24020002 */ addiu $v0, $zero, 2 -func_802C5744: +si_handle_set_var: /* 0EA0F4 802C5744 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA0F8 802C5748 AFB00010 */ sw $s0, 0x10($sp) /* 0EA0FC 802C574C 0080802D */ daddu $s0, $a0, $zero @@ -1123,11 +1123,11 @@ func_802C5744: /* 0EA104 802C5754 AFB10014 */ sw $s1, 0x14($sp) /* 0EA108 802C5758 8E02000C */ lw $v0, 0xc($s0) /* 0EA10C 802C575C 8C450004 */ lw $a1, 4($v0) -/* 0EA110 802C5760 0C0B1EAF */ jal func_802C7ABC +/* 0EA110 802C5760 0C0B1EAF */ jal get_variable /* 0EA114 802C5764 8C510000 */ lw $s1, ($v0) /* 0EA118 802C5768 0200202D */ daddu $a0, $s0, $zero /* 0EA11C 802C576C 0220282D */ daddu $a1, $s1, $zero -/* 0EA120 802C5770 0C0B2026 */ jal func_802C8098 +/* 0EA120 802C5770 0C0B2026 */ jal set_variable /* 0EA124 802C5774 0040302D */ daddu $a2, $v0, $zero /* 0EA128 802C5778 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA12C 802C577C 8FB10014 */ lw $s1, 0x14($sp) @@ -1136,19 +1136,19 @@ func_802C5744: /* 0EA138 802C5788 03E00008 */ jr $ra /* 0EA13C 802C578C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5790: +si_handle_set_const: /* 0EA140 802C5790 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA144 802C5794 AFBF0010 */ sw $ra, 0x10($sp) /* 0EA148 802C5798 8C82000C */ lw $v0, 0xc($a0) /* 0EA14C 802C579C 8C450000 */ lw $a1, ($v0) -/* 0EA150 802C57A0 0C0B2026 */ jal func_802C8098 +/* 0EA150 802C57A0 0C0B2026 */ jal set_variable /* 0EA154 802C57A4 8C460004 */ lw $a2, 4($v0) /* 0EA158 802C57A8 8FBF0010 */ lw $ra, 0x10($sp) /* 0EA15C 802C57AC 24020002 */ addiu $v0, $zero, 2 /* 0EA160 802C57B0 03E00008 */ jr $ra /* 0EA164 802C57B4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C57B8: +si_handle_set_float: /* 0EA168 802C57B8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA16C 802C57BC AFB00010 */ sw $s0, 0x10($sp) /* 0EA170 802C57C0 0080802D */ daddu $s0, $a0, $zero @@ -1156,11 +1156,11 @@ func_802C57B8: /* 0EA178 802C57C8 AFB10014 */ sw $s1, 0x14($sp) /* 0EA17C 802C57CC 8E02000C */ lw $v0, 0xc($s0) /* 0EA180 802C57D0 8C450004 */ lw $a1, 4($v0) -/* 0EA184 802C57D4 0C0B210B */ jal func_802C842C +/* 0EA184 802C57D4 0C0B210B */ jal get_float_variable /* 0EA188 802C57D8 8C510000 */ lw $s1, ($v0) /* 0EA18C 802C57DC 0200202D */ daddu $a0, $s0, $zero /* 0EA190 802C57E0 44060000 */ mfc1 $a2, $f0 -/* 0EA194 802C57E4 0C0B2190 */ jal func_802C8640 +/* 0EA194 802C57E4 0C0B2190 */ jal set_float_variable /* 0EA198 802C57E8 0220282D */ daddu $a1, $s1, $zero /* 0EA19C 802C57EC 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA1A0 802C57F0 8FB10014 */ lw $s1, 0x14($sp) @@ -1169,7 +1169,7 @@ func_802C57B8: /* 0EA1AC 802C57FC 03E00008 */ jr $ra /* 0EA1B0 802C5800 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5804: +si_handle_add: /* 0EA1B4 802C5804 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA1B8 802C5808 AFB10014 */ sw $s1, 0x14($sp) /* 0EA1BC 802C580C 0080882D */ daddu $s1, $a0, $zero @@ -1178,15 +1178,15 @@ func_802C5804: /* 0EA1C8 802C5818 AFB00010 */ sw $s0, 0x10($sp) /* 0EA1CC 802C581C 8E22000C */ lw $v0, 0xc($s1) /* 0EA1D0 802C5820 8C450004 */ lw $a1, 4($v0) -/* 0EA1D4 802C5824 0C0B1EAF */ jal func_802C7ABC +/* 0EA1D4 802C5824 0C0B1EAF */ jal get_variable /* 0EA1D8 802C5828 8C520000 */ lw $s2, ($v0) /* 0EA1DC 802C582C 0040802D */ daddu $s0, $v0, $zero /* 0EA1E0 802C5830 0220202D */ daddu $a0, $s1, $zero -/* 0EA1E4 802C5834 0C0B1EAF */ jal func_802C7ABC +/* 0EA1E4 802C5834 0C0B1EAF */ jal get_variable /* 0EA1E8 802C5838 0240282D */ daddu $a1, $s2, $zero /* 0EA1EC 802C583C 0220202D */ daddu $a0, $s1, $zero /* 0EA1F0 802C5840 0240282D */ daddu $a1, $s2, $zero -/* 0EA1F4 802C5844 0C0B2026 */ jal func_802C8098 +/* 0EA1F4 802C5844 0C0B2026 */ jal set_variable /* 0EA1F8 802C5848 02023021 */ addu $a2, $s0, $v0 /* 0EA1FC 802C584C 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA200 802C5850 8FB20018 */ lw $s2, 0x18($sp) @@ -1196,7 +1196,7 @@ func_802C5804: /* 0EA210 802C5860 03E00008 */ jr $ra /* 0EA214 802C5864 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5868: +si_handle_subtract: /* 0EA218 802C5868 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA21C 802C586C AFB10014 */ sw $s1, 0x14($sp) /* 0EA220 802C5870 0080882D */ daddu $s1, $a0, $zero @@ -1205,15 +1205,15 @@ func_802C5868: /* 0EA22C 802C587C AFB00010 */ sw $s0, 0x10($sp) /* 0EA230 802C5880 8E22000C */ lw $v0, 0xc($s1) /* 0EA234 802C5884 8C450004 */ lw $a1, 4($v0) -/* 0EA238 802C5888 0C0B1EAF */ jal func_802C7ABC +/* 0EA238 802C5888 0C0B1EAF */ jal get_variable /* 0EA23C 802C588C 8C520000 */ lw $s2, ($v0) /* 0EA240 802C5890 0040802D */ daddu $s0, $v0, $zero /* 0EA244 802C5894 0220202D */ daddu $a0, $s1, $zero -/* 0EA248 802C5898 0C0B1EAF */ jal func_802C7ABC +/* 0EA248 802C5898 0C0B1EAF */ jal get_variable /* 0EA24C 802C589C 0240282D */ daddu $a1, $s2, $zero /* 0EA250 802C58A0 0220202D */ daddu $a0, $s1, $zero /* 0EA254 802C58A4 0240282D */ daddu $a1, $s2, $zero -/* 0EA258 802C58A8 0C0B2026 */ jal func_802C8098 +/* 0EA258 802C58A8 0C0B2026 */ jal set_variable /* 0EA25C 802C58AC 00503023 */ subu $a2, $v0, $s0 /* 0EA260 802C58B0 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA264 802C58B4 8FB20018 */ lw $s2, 0x18($sp) @@ -1223,7 +1223,7 @@ func_802C5868: /* 0EA274 802C58C4 03E00008 */ jr $ra /* 0EA278 802C58C8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C58CC: +si_handle_multiply: /* 0EA27C 802C58CC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA280 802C58D0 AFB10014 */ sw $s1, 0x14($sp) /* 0EA284 802C58D4 0080882D */ daddu $s1, $a0, $zero @@ -1232,16 +1232,16 @@ func_802C58CC: /* 0EA290 802C58E0 AFB00010 */ sw $s0, 0x10($sp) /* 0EA294 802C58E4 8E22000C */ lw $v0, 0xc($s1) /* 0EA298 802C58E8 8C450004 */ lw $a1, 4($v0) -/* 0EA29C 802C58EC 0C0B1EAF */ jal func_802C7ABC +/* 0EA29C 802C58EC 0C0B1EAF */ jal get_variable /* 0EA2A0 802C58F0 8C520000 */ lw $s2, ($v0) /* 0EA2A4 802C58F4 0040802D */ daddu $s0, $v0, $zero /* 0EA2A8 802C58F8 0220202D */ daddu $a0, $s1, $zero -/* 0EA2AC 802C58FC 0C0B1EAF */ jal func_802C7ABC +/* 0EA2AC 802C58FC 0C0B1EAF */ jal get_variable /* 0EA2B0 802C5900 0240282D */ daddu $a1, $s2, $zero /* 0EA2B4 802C5904 02020018 */ mult $s0, $v0 /* 0EA2B8 802C5908 0220202D */ daddu $a0, $s1, $zero /* 0EA2BC 802C590C 00003012 */ mflo $a2 -/* 0EA2C0 802C5910 0C0B2026 */ jal func_802C8098 +/* 0EA2C0 802C5910 0C0B2026 */ jal set_variable /* 0EA2C4 802C5914 0240282D */ daddu $a1, $s2, $zero /* 0EA2C8 802C5918 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA2CC 802C591C 8FB20018 */ lw $s2, 0x18($sp) @@ -1251,7 +1251,7 @@ func_802C58CC: /* 0EA2DC 802C592C 03E00008 */ jr $ra /* 0EA2E0 802C5930 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5934: +si_handle_divide: /* 0EA2E4 802C5934 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA2E8 802C5938 AFB10014 */ sw $s1, 0x14($sp) /* 0EA2EC 802C593C 0080882D */ daddu $s1, $a0, $zero @@ -1260,11 +1260,11 @@ func_802C5934: /* 0EA2F8 802C5948 AFB00010 */ sw $s0, 0x10($sp) /* 0EA2FC 802C594C 8E22000C */ lw $v0, 0xc($s1) /* 0EA300 802C5950 8C450004 */ lw $a1, 4($v0) -/* 0EA304 802C5954 0C0B1EAF */ jal func_802C7ABC +/* 0EA304 802C5954 0C0B1EAF */ jal get_variable /* 0EA308 802C5958 8C520000 */ lw $s2, ($v0) /* 0EA30C 802C595C 0220202D */ daddu $a0, $s1, $zero /* 0EA310 802C5960 0240282D */ daddu $a1, $s2, $zero -/* 0EA314 802C5964 0C0B1EAF */ jal func_802C7ABC +/* 0EA314 802C5964 0C0B1EAF */ jal get_variable /* 0EA318 802C5968 0040802D */ daddu $s0, $v0, $zero /* 0EA31C 802C596C 16000002 */ bnez $s0, .L802C5978 /* 0EA320 802C5970 0050001A */ div $zero, $v0, $s0 @@ -1279,7 +1279,7 @@ func_802C5934: .L802C5990: /* 0EA340 802C5990 00003012 */ mflo $a2 /* 0EA344 802C5994 0220202D */ daddu $a0, $s1, $zero -/* 0EA348 802C5998 0C0B2026 */ jal func_802C8098 +/* 0EA348 802C5998 0C0B2026 */ jal set_variable /* 0EA34C 802C599C 0240282D */ daddu $a1, $s2, $zero /* 0EA350 802C59A0 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA354 802C59A4 8FB20018 */ lw $s2, 0x18($sp) @@ -1289,7 +1289,7 @@ func_802C5934: /* 0EA364 802C59B4 03E00008 */ jr $ra /* 0EA368 802C59B8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C59BC: +si_handle_mod: /* 0EA36C 802C59BC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EA370 802C59C0 AFB10014 */ sw $s1, 0x14($sp) /* 0EA374 802C59C4 0080882D */ daddu $s1, $a0, $zero @@ -1299,7 +1299,7 @@ func_802C59BC: /* 0EA384 802C59D4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0EA388 802C59D8 8E22000C */ lw $v0, 0xc($s1) /* 0EA38C 802C59DC 8C450004 */ lw $a1, 4($v0) -/* 0EA390 802C59E0 0C0B1EAF */ jal func_802C7ABC +/* 0EA390 802C59E0 0C0B1EAF */ jal get_variable /* 0EA394 802C59E4 8C520000 */ lw $s2, ($v0) /* 0EA398 802C59E8 3C013FE0 */ lui $at, 0x3fe0 /* 0EA39C 802C59EC 4481A800 */ mtc1 $at, $f21 @@ -1311,7 +1311,7 @@ func_802C59BC: /* 0EA3B4 802C5A04 0220202D */ daddu $a0, $s1, $zero /* 0EA3B8 802C5A08 4620008D */ trunc.w.d $f2, $f0 /* 0EA3BC 802C5A0C 44101000 */ mfc1 $s0, $f2 -/* 0EA3C0 802C5A10 0C0B1EAF */ jal func_802C7ABC +/* 0EA3C0 802C5A10 0C0B1EAF */ jal get_variable /* 0EA3C4 802C5A14 0240282D */ daddu $a1, $s2, $zero /* 0EA3C8 802C5A18 44820000 */ mtc1 $v0, $f0 /* 0EA3CC 802C5A1C 00000000 */ nop @@ -1332,7 +1332,7 @@ func_802C59BC: .L802C5A54: /* 0EA404 802C5A54 00003010 */ mfhi $a2 /* 0EA408 802C5A58 0220202D */ daddu $a0, $s1, $zero -/* 0EA40C 802C5A5C 0C0B2026 */ jal func_802C8098 +/* 0EA40C 802C5A5C 0C0B2026 */ jal set_variable /* 0EA410 802C5A60 0240282D */ daddu $a1, $s2, $zero /* 0EA414 802C5A64 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA418 802C5A68 8FB20018 */ lw $s2, 0x18($sp) @@ -1343,7 +1343,7 @@ func_802C59BC: /* 0EA42C 802C5A7C 03E00008 */ jr $ra /* 0EA430 802C5A80 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C5A84: +si_handle_addF: /* 0EA434 802C5A84 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EA438 802C5A88 AFB00010 */ sw $s0, 0x10($sp) /* 0EA43C 802C5A8C 0080802D */ daddu $s0, $a0, $zero @@ -1352,16 +1352,16 @@ func_802C5A84: /* 0EA448 802C5A98 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0EA44C 802C5A9C 8E02000C */ lw $v0, 0xc($s0) /* 0EA450 802C5AA0 8C450004 */ lw $a1, 4($v0) -/* 0EA454 802C5AA4 0C0B210B */ jal func_802C842C +/* 0EA454 802C5AA4 0C0B210B */ jal get_float_variable /* 0EA458 802C5AA8 8C510000 */ lw $s1, ($v0) /* 0EA45C 802C5AAC 46000506 */ mov.s $f20, $f0 /* 0EA460 802C5AB0 0200202D */ daddu $a0, $s0, $zero -/* 0EA464 802C5AB4 0C0B210B */ jal func_802C842C +/* 0EA464 802C5AB4 0C0B210B */ jal get_float_variable /* 0EA468 802C5AB8 0220282D */ daddu $a1, $s1, $zero /* 0EA46C 802C5ABC 4600A500 */ add.s $f20, $f20, $f0 /* 0EA470 802C5AC0 0200202D */ daddu $a0, $s0, $zero /* 0EA474 802C5AC4 4406A000 */ mfc1 $a2, $f20 -/* 0EA478 802C5AC8 0C0B2190 */ jal func_802C8640 +/* 0EA478 802C5AC8 0C0B2190 */ jal set_float_variable /* 0EA47C 802C5ACC 0220282D */ daddu $a1, $s1, $zero /* 0EA480 802C5AD0 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA484 802C5AD4 8FB10014 */ lw $s1, 0x14($sp) @@ -1371,7 +1371,7 @@ func_802C5A84: /* 0EA494 802C5AE4 03E00008 */ jr $ra /* 0EA498 802C5AE8 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C5AEC: +si_handle_subtractF: /* 0EA49C 802C5AEC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EA4A0 802C5AF0 AFB00010 */ sw $s0, 0x10($sp) /* 0EA4A4 802C5AF4 0080802D */ daddu $s0, $a0, $zero @@ -1380,16 +1380,16 @@ func_802C5AEC: /* 0EA4B0 802C5B00 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0EA4B4 802C5B04 8E02000C */ lw $v0, 0xc($s0) /* 0EA4B8 802C5B08 8C450004 */ lw $a1, 4($v0) -/* 0EA4BC 802C5B0C 0C0B210B */ jal func_802C842C +/* 0EA4BC 802C5B0C 0C0B210B */ jal get_float_variable /* 0EA4C0 802C5B10 8C510000 */ lw $s1, ($v0) /* 0EA4C4 802C5B14 46000506 */ mov.s $f20, $f0 /* 0EA4C8 802C5B18 0200202D */ daddu $a0, $s0, $zero -/* 0EA4CC 802C5B1C 0C0B210B */ jal func_802C842C +/* 0EA4CC 802C5B1C 0C0B210B */ jal get_float_variable /* 0EA4D0 802C5B20 0220282D */ daddu $a1, $s1, $zero /* 0EA4D4 802C5B24 46140001 */ sub.s $f0, $f0, $f20 /* 0EA4D8 802C5B28 0200202D */ daddu $a0, $s0, $zero /* 0EA4DC 802C5B2C 44060000 */ mfc1 $a2, $f0 -/* 0EA4E0 802C5B30 0C0B2190 */ jal func_802C8640 +/* 0EA4E0 802C5B30 0C0B2190 */ jal set_float_variable /* 0EA4E4 802C5B34 0220282D */ daddu $a1, $s1, $zero /* 0EA4E8 802C5B38 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA4EC 802C5B3C 8FB10014 */ lw $s1, 0x14($sp) @@ -1399,7 +1399,7 @@ func_802C5AEC: /* 0EA4FC 802C5B4C 03E00008 */ jr $ra /* 0EA500 802C5B50 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C5B54: +si_handle_multiplyF: /* 0EA504 802C5B54 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EA508 802C5B58 AFB00010 */ sw $s0, 0x10($sp) /* 0EA50C 802C5B5C 0080802D */ daddu $s0, $a0, $zero @@ -1408,17 +1408,17 @@ func_802C5B54: /* 0EA518 802C5B68 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0EA51C 802C5B6C 8E02000C */ lw $v0, 0xc($s0) /* 0EA520 802C5B70 8C450004 */ lw $a1, 4($v0) -/* 0EA524 802C5B74 0C0B210B */ jal func_802C842C +/* 0EA524 802C5B74 0C0B210B */ jal get_float_variable /* 0EA528 802C5B78 8C510000 */ lw $s1, ($v0) /* 0EA52C 802C5B7C 46000506 */ mov.s $f20, $f0 /* 0EA530 802C5B80 0200202D */ daddu $a0, $s0, $zero -/* 0EA534 802C5B84 0C0B210B */ jal func_802C842C +/* 0EA534 802C5B84 0C0B210B */ jal get_float_variable /* 0EA538 802C5B88 0220282D */ daddu $a1, $s1, $zero /* 0EA53C 802C5B8C 4600A502 */ mul.s $f20, $f20, $f0 /* 0EA540 802C5B90 00000000 */ nop /* 0EA544 802C5B94 0200202D */ daddu $a0, $s0, $zero /* 0EA548 802C5B98 4406A000 */ mfc1 $a2, $f20 -/* 0EA54C 802C5B9C 0C0B2190 */ jal func_802C8640 +/* 0EA54C 802C5B9C 0C0B2190 */ jal set_float_variable /* 0EA550 802C5BA0 0220282D */ daddu $a1, $s1, $zero /* 0EA554 802C5BA4 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA558 802C5BA8 8FB10014 */ lw $s1, 0x14($sp) @@ -1428,7 +1428,7 @@ func_802C5B54: /* 0EA568 802C5BB8 03E00008 */ jr $ra /* 0EA56C 802C5BBC 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C5BC0: +si_handle_divideF: /* 0EA570 802C5BC0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EA574 802C5BC4 AFB00010 */ sw $s0, 0x10($sp) /* 0EA578 802C5BC8 0080802D */ daddu $s0, $a0, $zero @@ -1437,16 +1437,16 @@ func_802C5BC0: /* 0EA584 802C5BD4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0EA588 802C5BD8 8E02000C */ lw $v0, 0xc($s0) /* 0EA58C 802C5BDC 8C450004 */ lw $a1, 4($v0) -/* 0EA590 802C5BE0 0C0B210B */ jal func_802C842C +/* 0EA590 802C5BE0 0C0B210B */ jal get_float_variable /* 0EA594 802C5BE4 8C510000 */ lw $s1, ($v0) /* 0EA598 802C5BE8 46000506 */ mov.s $f20, $f0 /* 0EA59C 802C5BEC 0200202D */ daddu $a0, $s0, $zero -/* 0EA5A0 802C5BF0 0C0B210B */ jal func_802C842C +/* 0EA5A0 802C5BF0 0C0B210B */ jal get_float_variable /* 0EA5A4 802C5BF4 0220282D */ daddu $a1, $s1, $zero /* 0EA5A8 802C5BF8 0200202D */ daddu $a0, $s0, $zero /* 0EA5AC 802C5BFC 46140003 */ div.s $f0, $f0, $f20 /* 0EA5B0 802C5C00 44060000 */ mfc1 $a2, $f0 -/* 0EA5B4 802C5C04 0C0B2190 */ jal func_802C8640 +/* 0EA5B4 802C5C04 0C0B2190 */ jal set_float_variable /* 0EA5B8 802C5C08 0220282D */ daddu $a1, $s1, $zero /* 0EA5BC 802C5C0C 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA5C0 802C5C10 8FB10014 */ lw $s1, 0x14($sp) @@ -1456,13 +1456,13 @@ func_802C5BC0: /* 0EA5D0 802C5C20 03E00008 */ jr $ra /* 0EA5D4 802C5C24 27BD0028 */ addiu $sp, $sp, 0x28 -func_802C5C28: +si_handle_set_int_buffer_ptr: /* 0EA5D8 802C5C28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA5DC 802C5C2C AFB00010 */ sw $s0, 0x10($sp) /* 0EA5E0 802C5C30 0080802D */ daddu $s0, $a0, $zero /* 0EA5E4 802C5C34 AFBF0014 */ sw $ra, 0x14($sp) /* 0EA5E8 802C5C38 8E02000C */ lw $v0, 0xc($s0) -/* 0EA5EC 802C5C3C 0C0B1EAF */ jal func_802C7ABC +/* 0EA5EC 802C5C3C 0C0B1EAF */ jal get_variable /* 0EA5F0 802C5C40 8C450000 */ lw $a1, ($v0) /* 0EA5F4 802C5C44 AE020138 */ sw $v0, 0x138($s0) /* 0EA5F8 802C5C48 8FBF0014 */ lw $ra, 0x14($sp) @@ -1471,13 +1471,13 @@ func_802C5C28: /* 0EA604 802C5C54 03E00008 */ jr $ra /* 0EA608 802C5C58 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C5C5C: +si_handle_set_float_buffer_ptr: /* 0EA60C 802C5C5C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA610 802C5C60 AFB00010 */ sw $s0, 0x10($sp) /* 0EA614 802C5C64 0080802D */ daddu $s0, $a0, $zero /* 0EA618 802C5C68 AFBF0014 */ sw $ra, 0x14($sp) /* 0EA61C 802C5C6C 8E02000C */ lw $v0, 0xc($s0) -/* 0EA620 802C5C70 0C0B1EAF */ jal func_802C7ABC +/* 0EA620 802C5C70 0C0B1EAF */ jal get_variable /* 0EA624 802C5C74 8C450000 */ lw $a1, ($v0) /* 0EA628 802C5C78 AE020138 */ sw $v0, 0x138($s0) /* 0EA62C 802C5C7C 8FBF0014 */ lw $ra, 0x14($sp) @@ -1486,7 +1486,7 @@ func_802C5C5C: /* 0EA638 802C5C88 03E00008 */ jr $ra /* 0EA63C 802C5C8C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C5C90: +si_handle_get_1_word: /* 0EA640 802C5C90 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EA644 802C5C94 AFBF0010 */ sw $ra, 0x10($sp) /* 0EA648 802C5C98 8C83000C */ lw $v1, 0xc($a0) @@ -1494,14 +1494,14 @@ func_802C5C90: /* 0EA650 802C5CA0 8C650000 */ lw $a1, ($v1) /* 0EA654 802C5CA4 8C460000 */ lw $a2, ($v0) /* 0EA658 802C5CA8 24420004 */ addiu $v0, $v0, 4 -/* 0EA65C 802C5CAC 0C0B2026 */ jal func_802C8098 +/* 0EA65C 802C5CAC 0C0B2026 */ jal set_variable /* 0EA660 802C5CB0 AC820138 */ sw $v0, 0x138($a0) /* 0EA664 802C5CB4 8FBF0010 */ lw $ra, 0x10($sp) /* 0EA668 802C5CB8 24020002 */ addiu $v0, $zero, 2 /* 0EA66C 802C5CBC 03E00008 */ jr $ra /* 0EA670 802C5CC0 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C5CC4: +si_handle_get_2_word: /* 0EA674 802C5CC4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA678 802C5CC8 AFB00010 */ sw $s0, 0x10($sp) /* 0EA67C 802C5CCC 0080802D */ daddu $s0, $a0, $zero @@ -1513,14 +1513,14 @@ func_802C5CC4: /* 0EA694 802C5CE4 26310004 */ addiu $s1, $s1, 4 /* 0EA698 802C5CE8 8C460000 */ lw $a2, ($v0) /* 0EA69C 802C5CEC 24420004 */ addiu $v0, $v0, 4 -/* 0EA6A0 802C5CF0 0C0B2026 */ jal func_802C8098 +/* 0EA6A0 802C5CF0 0C0B2026 */ jal set_variable /* 0EA6A4 802C5CF4 AE020138 */ sw $v0, 0x138($s0) /* 0EA6A8 802C5CF8 0200202D */ daddu $a0, $s0, $zero /* 0EA6AC 802C5CFC 8C820138 */ lw $v0, 0x138($a0) /* 0EA6B0 802C5D00 8E250000 */ lw $a1, ($s1) /* 0EA6B4 802C5D04 8C460000 */ lw $a2, ($v0) /* 0EA6B8 802C5D08 24420004 */ addiu $v0, $v0, 4 -/* 0EA6BC 802C5D0C 0C0B2026 */ jal func_802C8098 +/* 0EA6BC 802C5D0C 0C0B2026 */ jal set_variable /* 0EA6C0 802C5D10 AC820138 */ sw $v0, 0x138($a0) /* 0EA6C4 802C5D14 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA6C8 802C5D18 8FB10014 */ lw $s1, 0x14($sp) @@ -1529,7 +1529,7 @@ func_802C5CC4: /* 0EA6D4 802C5D24 03E00008 */ jr $ra /* 0EA6D8 802C5D28 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5D2C: +si_handle_get_3_word: /* 0EA6DC 802C5D2C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA6E0 802C5D30 AFB00010 */ sw $s0, 0x10($sp) /* 0EA6E4 802C5D34 0080802D */ daddu $s0, $a0, $zero @@ -1541,7 +1541,7 @@ func_802C5D2C: /* 0EA6FC 802C5D4C 26310004 */ addiu $s1, $s1, 4 /* 0EA700 802C5D50 8C460000 */ lw $a2, ($v0) /* 0EA704 802C5D54 24420004 */ addiu $v0, $v0, 4 -/* 0EA708 802C5D58 0C0B2026 */ jal func_802C8098 +/* 0EA708 802C5D58 0C0B2026 */ jal set_variable /* 0EA70C 802C5D5C AE020138 */ sw $v0, 0x138($s0) /* 0EA710 802C5D60 8E250000 */ lw $a1, ($s1) /* 0EA714 802C5D64 26310004 */ addiu $s1, $s1, 4 @@ -1549,14 +1549,14 @@ func_802C5D2C: /* 0EA71C 802C5D6C 0200202D */ daddu $a0, $s0, $zero /* 0EA720 802C5D70 8C460000 */ lw $a2, ($v0) /* 0EA724 802C5D74 24420004 */ addiu $v0, $v0, 4 -/* 0EA728 802C5D78 0C0B2026 */ jal func_802C8098 +/* 0EA728 802C5D78 0C0B2026 */ jal set_variable /* 0EA72C 802C5D7C AE020138 */ sw $v0, 0x138($s0) /* 0EA730 802C5D80 0200202D */ daddu $a0, $s0, $zero /* 0EA734 802C5D84 8C820138 */ lw $v0, 0x138($a0) /* 0EA738 802C5D88 8E250000 */ lw $a1, ($s1) /* 0EA73C 802C5D8C 8C460000 */ lw $a2, ($v0) /* 0EA740 802C5D90 24420004 */ addiu $v0, $v0, 4 -/* 0EA744 802C5D94 0C0B2026 */ jal func_802C8098 +/* 0EA744 802C5D94 0C0B2026 */ jal set_variable /* 0EA748 802C5D98 AC820138 */ sw $v0, 0x138($a0) /* 0EA74C 802C5D9C 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA750 802C5DA0 8FB10014 */ lw $s1, 0x14($sp) @@ -1565,7 +1565,7 @@ func_802C5D2C: /* 0EA75C 802C5DAC 03E00008 */ jr $ra /* 0EA760 802C5DB0 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5DB4: +si_handle_get_4_word: /* 0EA764 802C5DB4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA768 802C5DB8 AFB00010 */ sw $s0, 0x10($sp) /* 0EA76C 802C5DBC 0080802D */ daddu $s0, $a0, $zero @@ -1577,7 +1577,7 @@ func_802C5DB4: /* 0EA784 802C5DD4 26310004 */ addiu $s1, $s1, 4 /* 0EA788 802C5DD8 8C460000 */ lw $a2, ($v0) /* 0EA78C 802C5DDC 24420004 */ addiu $v0, $v0, 4 -/* 0EA790 802C5DE0 0C0B2026 */ jal func_802C8098 +/* 0EA790 802C5DE0 0C0B2026 */ jal set_variable /* 0EA794 802C5DE4 AE020138 */ sw $v0, 0x138($s0) /* 0EA798 802C5DE8 8E250000 */ lw $a1, ($s1) /* 0EA79C 802C5DEC 26310004 */ addiu $s1, $s1, 4 @@ -1585,7 +1585,7 @@ func_802C5DB4: /* 0EA7A4 802C5DF4 0200202D */ daddu $a0, $s0, $zero /* 0EA7A8 802C5DF8 8C460000 */ lw $a2, ($v0) /* 0EA7AC 802C5DFC 24420004 */ addiu $v0, $v0, 4 -/* 0EA7B0 802C5E00 0C0B2026 */ jal func_802C8098 +/* 0EA7B0 802C5E00 0C0B2026 */ jal set_variable /* 0EA7B4 802C5E04 AE020138 */ sw $v0, 0x138($s0) /* 0EA7B8 802C5E08 8E250000 */ lw $a1, ($s1) /* 0EA7BC 802C5E0C 26310004 */ addiu $s1, $s1, 4 @@ -1593,14 +1593,14 @@ func_802C5DB4: /* 0EA7C4 802C5E14 0200202D */ daddu $a0, $s0, $zero /* 0EA7C8 802C5E18 8C460000 */ lw $a2, ($v0) /* 0EA7CC 802C5E1C 24420004 */ addiu $v0, $v0, 4 -/* 0EA7D0 802C5E20 0C0B2026 */ jal func_802C8098 +/* 0EA7D0 802C5E20 0C0B2026 */ jal set_variable /* 0EA7D4 802C5E24 AE020138 */ sw $v0, 0x138($s0) /* 0EA7D8 802C5E28 0200202D */ daddu $a0, $s0, $zero /* 0EA7DC 802C5E2C 8C820138 */ lw $v0, 0x138($a0) /* 0EA7E0 802C5E30 8E250000 */ lw $a1, ($s1) /* 0EA7E4 802C5E34 8C460000 */ lw $a2, ($v0) /* 0EA7E8 802C5E38 24420004 */ addiu $v0, $v0, 4 -/* 0EA7EC 802C5E3C 0C0B2026 */ jal func_802C8098 +/* 0EA7EC 802C5E3C 0C0B2026 */ jal set_variable /* 0EA7F0 802C5E40 AC820138 */ sw $v0, 0x138($a0) /* 0EA7F4 802C5E44 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA7F8 802C5E48 8FB10014 */ lw $s1, 0x14($sp) @@ -1609,7 +1609,7 @@ func_802C5DB4: /* 0EA804 802C5E54 03E00008 */ jr $ra /* 0EA808 802C5E58 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5E5C: +si_handle_get_Nth_word: /* 0EA80C 802C5E5C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA810 802C5E60 AFB00010 */ sw $s0, 0x10($sp) /* 0EA814 802C5E64 0080802D */ daddu $s0, $a0, $zero @@ -1617,14 +1617,14 @@ func_802C5E5C: /* 0EA81C 802C5E6C AFB10014 */ sw $s1, 0x14($sp) /* 0EA820 802C5E70 8E02000C */ lw $v0, 0xc($s0) /* 0EA824 802C5E74 8C450004 */ lw $a1, 4($v0) -/* 0EA828 802C5E78 0C0B1EAF */ jal func_802C7ABC +/* 0EA828 802C5E78 0C0B1EAF */ jal get_variable /* 0EA82C 802C5E7C 8C510000 */ lw $s1, ($v0) /* 0EA830 802C5E80 0200202D */ daddu $a0, $s0, $zero /* 0EA834 802C5E84 8C830138 */ lw $v1, 0x138($a0) /* 0EA838 802C5E88 00021080 */ sll $v0, $v0, 2 /* 0EA83C 802C5E8C 00431021 */ addu $v0, $v0, $v1 /* 0EA840 802C5E90 8C460000 */ lw $a2, ($v0) -/* 0EA844 802C5E94 0C0B2026 */ jal func_802C8098 +/* 0EA844 802C5E94 0C0B2026 */ jal set_variable /* 0EA848 802C5E98 0220282D */ daddu $a1, $s1, $zero /* 0EA84C 802C5E9C 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA850 802C5EA0 8FB10014 */ lw $s1, 0x14($sp) @@ -1633,7 +1633,7 @@ func_802C5E5C: /* 0EA85C 802C5EAC 03E00008 */ jr $ra /* 0EA860 802C5EB0 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5EB4: +si_handle_get_1_float: /* 0EA864 802C5EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA868 802C5EB8 AFB00010 */ sw $s0, 0x10($sp) /* 0EA86C 802C5EBC 0080802D */ daddu $s0, $a0, $zero @@ -1644,11 +1644,11 @@ func_802C5EB4: /* 0EA880 802C5ED0 8C710000 */ lw $s1, ($v1) /* 0EA884 802C5ED4 8C450000 */ lw $a1, ($v0) /* 0EA888 802C5ED8 24420004 */ addiu $v0, $v0, 4 -/* 0EA88C 802C5EDC 0C0B210B */ jal func_802C842C +/* 0EA88C 802C5EDC 0C0B210B */ jal get_float_variable /* 0EA890 802C5EE0 AE020138 */ sw $v0, 0x138($s0) /* 0EA894 802C5EE4 0200202D */ daddu $a0, $s0, $zero /* 0EA898 802C5EE8 44060000 */ mfc1 $a2, $f0 -/* 0EA89C 802C5EEC 0C0B2190 */ jal func_802C8640 +/* 0EA89C 802C5EEC 0C0B2190 */ jal set_float_variable /* 0EA8A0 802C5EF0 0220282D */ daddu $a1, $s1, $zero /* 0EA8A4 802C5EF4 8FBF0018 */ lw $ra, 0x18($sp) /* 0EA8A8 802C5EF8 8FB10014 */ lw $s1, 0x14($sp) @@ -1657,7 +1657,7 @@ func_802C5EB4: /* 0EA8B4 802C5F04 03E00008 */ jr $ra /* 0EA8B8 802C5F08 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5F0C: +si_handle_get_2_float: /* 0EA8BC 802C5F0C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA8C0 802C5F10 AFB00010 */ sw $s0, 0x10($sp) /* 0EA8C4 802C5F14 0080802D */ daddu $s0, $a0, $zero @@ -1670,22 +1670,22 @@ func_802C5F0C: /* 0EA8E0 802C5F30 26310004 */ addiu $s1, $s1, 4 /* 0EA8E4 802C5F34 8C450000 */ lw $a1, ($v0) /* 0EA8E8 802C5F38 24420004 */ addiu $v0, $v0, 4 -/* 0EA8EC 802C5F3C 0C0B210B */ jal func_802C842C +/* 0EA8EC 802C5F3C 0C0B210B */ jal get_float_variable /* 0EA8F0 802C5F40 AE020138 */ sw $v0, 0x138($s0) /* 0EA8F4 802C5F44 0200202D */ daddu $a0, $s0, $zero /* 0EA8F8 802C5F48 44060000 */ mfc1 $a2, $f0 -/* 0EA8FC 802C5F4C 0C0B2190 */ jal func_802C8640 +/* 0EA8FC 802C5F4C 0C0B2190 */ jal set_float_variable /* 0EA900 802C5F50 0240282D */ daddu $a1, $s2, $zero /* 0EA904 802C5F54 0200202D */ daddu $a0, $s0, $zero /* 0EA908 802C5F58 8E020138 */ lw $v0, 0x138($s0) /* 0EA90C 802C5F5C 8E310000 */ lw $s1, ($s1) /* 0EA910 802C5F60 8C450000 */ lw $a1, ($v0) /* 0EA914 802C5F64 24420004 */ addiu $v0, $v0, 4 -/* 0EA918 802C5F68 0C0B210B */ jal func_802C842C +/* 0EA918 802C5F68 0C0B210B */ jal get_float_variable /* 0EA91C 802C5F6C AE020138 */ sw $v0, 0x138($s0) /* 0EA920 802C5F70 0200202D */ daddu $a0, $s0, $zero /* 0EA924 802C5F74 44060000 */ mfc1 $a2, $f0 -/* 0EA928 802C5F78 0C0B2190 */ jal func_802C8640 +/* 0EA928 802C5F78 0C0B2190 */ jal set_float_variable /* 0EA92C 802C5F7C 0220282D */ daddu $a1, $s1, $zero /* 0EA930 802C5F80 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA934 802C5F84 8FB20018 */ lw $s2, 0x18($sp) @@ -1695,7 +1695,7 @@ func_802C5F0C: /* 0EA944 802C5F94 03E00008 */ jr $ra /* 0EA948 802C5F98 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C5F9C: +si_handle_get_3_float: /* 0EA94C 802C5F9C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EA950 802C5FA0 AFB00010 */ sw $s0, 0x10($sp) /* 0EA954 802C5FA4 0080802D */ daddu $s0, $a0, $zero @@ -1708,11 +1708,11 @@ func_802C5F9C: /* 0EA970 802C5FC0 26310004 */ addiu $s1, $s1, 4 /* 0EA974 802C5FC4 8C450000 */ lw $a1, ($v0) /* 0EA978 802C5FC8 24420004 */ addiu $v0, $v0, 4 -/* 0EA97C 802C5FCC 0C0B210B */ jal func_802C842C +/* 0EA97C 802C5FCC 0C0B210B */ jal get_float_variable /* 0EA980 802C5FD0 AE020138 */ sw $v0, 0x138($s0) /* 0EA984 802C5FD4 0200202D */ daddu $a0, $s0, $zero /* 0EA988 802C5FD8 44060000 */ mfc1 $a2, $f0 -/* 0EA98C 802C5FDC 0C0B2190 */ jal func_802C8640 +/* 0EA98C 802C5FDC 0C0B2190 */ jal set_float_variable /* 0EA990 802C5FE0 0240282D */ daddu $a1, $s2, $zero /* 0EA994 802C5FE4 8E320000 */ lw $s2, ($s1) /* 0EA998 802C5FE8 26310004 */ addiu $s1, $s1, 4 @@ -1720,22 +1720,22 @@ func_802C5F9C: /* 0EA9A0 802C5FF0 0200202D */ daddu $a0, $s0, $zero /* 0EA9A4 802C5FF4 8C450000 */ lw $a1, ($v0) /* 0EA9A8 802C5FF8 24420004 */ addiu $v0, $v0, 4 -/* 0EA9AC 802C5FFC 0C0B210B */ jal func_802C842C +/* 0EA9AC 802C5FFC 0C0B210B */ jal get_float_variable /* 0EA9B0 802C6000 AE020138 */ sw $v0, 0x138($s0) /* 0EA9B4 802C6004 0200202D */ daddu $a0, $s0, $zero /* 0EA9B8 802C6008 44060000 */ mfc1 $a2, $f0 -/* 0EA9BC 802C600C 0C0B2190 */ jal func_802C8640 +/* 0EA9BC 802C600C 0C0B2190 */ jal set_float_variable /* 0EA9C0 802C6010 0240282D */ daddu $a1, $s2, $zero /* 0EA9C4 802C6014 0200202D */ daddu $a0, $s0, $zero /* 0EA9C8 802C6018 8E020138 */ lw $v0, 0x138($s0) /* 0EA9CC 802C601C 8E310000 */ lw $s1, ($s1) /* 0EA9D0 802C6020 8C450000 */ lw $a1, ($v0) /* 0EA9D4 802C6024 24420004 */ addiu $v0, $v0, 4 -/* 0EA9D8 802C6028 0C0B210B */ jal func_802C842C +/* 0EA9D8 802C6028 0C0B210B */ jal get_float_variable /* 0EA9DC 802C602C AE020138 */ sw $v0, 0x138($s0) /* 0EA9E0 802C6030 0200202D */ daddu $a0, $s0, $zero /* 0EA9E4 802C6034 44060000 */ mfc1 $a2, $f0 -/* 0EA9E8 802C6038 0C0B2190 */ jal func_802C8640 +/* 0EA9E8 802C6038 0C0B2190 */ jal set_float_variable /* 0EA9EC 802C603C 0220282D */ daddu $a1, $s1, $zero /* 0EA9F0 802C6040 8FBF001C */ lw $ra, 0x1c($sp) /* 0EA9F4 802C6044 8FB20018 */ lw $s2, 0x18($sp) @@ -1745,7 +1745,7 @@ func_802C5F9C: /* 0EAA04 802C6054 03E00008 */ jr $ra /* 0EAA08 802C6058 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C605C: +si_handle_get_4_float: /* 0EAA0C 802C605C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAA10 802C6060 AFB00010 */ sw $s0, 0x10($sp) /* 0EAA14 802C6064 0080802D */ daddu $s0, $a0, $zero @@ -1758,11 +1758,11 @@ func_802C605C: /* 0EAA30 802C6080 26310004 */ addiu $s1, $s1, 4 /* 0EAA34 802C6084 8C450000 */ lw $a1, ($v0) /* 0EAA38 802C6088 24420004 */ addiu $v0, $v0, 4 -/* 0EAA3C 802C608C 0C0B210B */ jal func_802C842C +/* 0EAA3C 802C608C 0C0B210B */ jal get_float_variable /* 0EAA40 802C6090 AE020138 */ sw $v0, 0x138($s0) /* 0EAA44 802C6094 0200202D */ daddu $a0, $s0, $zero /* 0EAA48 802C6098 44060000 */ mfc1 $a2, $f0 -/* 0EAA4C 802C609C 0C0B2190 */ jal func_802C8640 +/* 0EAA4C 802C609C 0C0B2190 */ jal set_float_variable /* 0EAA50 802C60A0 0240282D */ daddu $a1, $s2, $zero /* 0EAA54 802C60A4 8E320000 */ lw $s2, ($s1) /* 0EAA58 802C60A8 26310004 */ addiu $s1, $s1, 4 @@ -1770,11 +1770,11 @@ func_802C605C: /* 0EAA60 802C60B0 0200202D */ daddu $a0, $s0, $zero /* 0EAA64 802C60B4 8C450000 */ lw $a1, ($v0) /* 0EAA68 802C60B8 24420004 */ addiu $v0, $v0, 4 -/* 0EAA6C 802C60BC 0C0B210B */ jal func_802C842C +/* 0EAA6C 802C60BC 0C0B210B */ jal get_float_variable /* 0EAA70 802C60C0 AE020138 */ sw $v0, 0x138($s0) /* 0EAA74 802C60C4 0200202D */ daddu $a0, $s0, $zero /* 0EAA78 802C60C8 44060000 */ mfc1 $a2, $f0 -/* 0EAA7C 802C60CC 0C0B2190 */ jal func_802C8640 +/* 0EAA7C 802C60CC 0C0B2190 */ jal set_float_variable /* 0EAA80 802C60D0 0240282D */ daddu $a1, $s2, $zero /* 0EAA84 802C60D4 8E320000 */ lw $s2, ($s1) /* 0EAA88 802C60D8 26310004 */ addiu $s1, $s1, 4 @@ -1782,22 +1782,22 @@ func_802C605C: /* 0EAA90 802C60E0 0200202D */ daddu $a0, $s0, $zero /* 0EAA94 802C60E4 8C450000 */ lw $a1, ($v0) /* 0EAA98 802C60E8 24420004 */ addiu $v0, $v0, 4 -/* 0EAA9C 802C60EC 0C0B210B */ jal func_802C842C +/* 0EAA9C 802C60EC 0C0B210B */ jal get_float_variable /* 0EAAA0 802C60F0 AE020138 */ sw $v0, 0x138($s0) /* 0EAAA4 802C60F4 0200202D */ daddu $a0, $s0, $zero /* 0EAAA8 802C60F8 44060000 */ mfc1 $a2, $f0 -/* 0EAAAC 802C60FC 0C0B2190 */ jal func_802C8640 +/* 0EAAAC 802C60FC 0C0B2190 */ jal set_float_variable /* 0EAAB0 802C6100 0240282D */ daddu $a1, $s2, $zero /* 0EAAB4 802C6104 0200202D */ daddu $a0, $s0, $zero /* 0EAAB8 802C6108 8E020138 */ lw $v0, 0x138($s0) /* 0EAABC 802C610C 8E310000 */ lw $s1, ($s1) /* 0EAAC0 802C6110 8C450000 */ lw $a1, ($v0) /* 0EAAC4 802C6114 24420004 */ addiu $v0, $v0, 4 -/* 0EAAC8 802C6118 0C0B210B */ jal func_802C842C +/* 0EAAC8 802C6118 0C0B210B */ jal get_float_variable /* 0EAACC 802C611C AE020138 */ sw $v0, 0x138($s0) /* 0EAAD0 802C6120 0200202D */ daddu $a0, $s0, $zero /* 0EAAD4 802C6124 44060000 */ mfc1 $a2, $f0 -/* 0EAAD8 802C6128 0C0B2190 */ jal func_802C8640 +/* 0EAAD8 802C6128 0C0B2190 */ jal set_float_variable /* 0EAADC 802C612C 0220282D */ daddu $a1, $s1, $zero /* 0EAAE0 802C6130 8FBF001C */ lw $ra, 0x1c($sp) /* 0EAAE4 802C6134 8FB20018 */ lw $s2, 0x18($sp) @@ -1807,7 +1807,7 @@ func_802C605C: /* 0EAAF4 802C6144 03E00008 */ jr $ra /* 0EAAF8 802C6148 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C614C: +si_handle_get_Nth_float: /* 0EAAFC 802C614C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAB00 802C6150 AFB00010 */ sw $s0, 0x10($sp) /* 0EAB04 802C6154 0080802D */ daddu $s0, $a0, $zero @@ -1815,7 +1815,7 @@ func_802C614C: /* 0EAB0C 802C615C AFB10014 */ sw $s1, 0x14($sp) /* 0EAB10 802C6160 8E02000C */ lw $v0, 0xc($s0) /* 0EAB14 802C6164 8C450004 */ lw $a1, 4($v0) -/* 0EAB18 802C6168 0C0B1EAF */ jal func_802C7ABC +/* 0EAB18 802C6168 0C0B1EAF */ jal get_variable /* 0EAB1C 802C616C 8C510000 */ lw $s1, ($v0) /* 0EAB20 802C6170 0200202D */ daddu $a0, $s0, $zero /* 0EAB24 802C6174 8C830138 */ lw $v1, 0x138($a0) @@ -1824,7 +1824,7 @@ func_802C614C: /* 0EAB30 802C6180 C4420000 */ lwc1 $f2, ($v0) /* 0EAB34 802C6184 468010A0 */ cvt.s.w $f2, $f2 /* 0EAB38 802C6188 44061000 */ mfc1 $a2, $f2 -/* 0EAB3C 802C618C 0C0B2190 */ jal func_802C8640 +/* 0EAB3C 802C618C 0C0B2190 */ jal set_float_variable /* 0EAB40 802C6190 0220282D */ daddu $a1, $s1, $zero /* 0EAB44 802C6194 8FBF0018 */ lw $ra, 0x18($sp) /* 0EAB48 802C6198 8FB10014 */ lw $s1, 0x14($sp) @@ -1833,13 +1833,13 @@ func_802C614C: /* 0EAB54 802C61A4 03E00008 */ jr $ra /* 0EAB58 802C61A8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C61AC: +si_handle_set_array: /* 0EAB5C 802C61AC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EAB60 802C61B0 AFB00010 */ sw $s0, 0x10($sp) /* 0EAB64 802C61B4 0080802D */ daddu $s0, $a0, $zero /* 0EAB68 802C61B8 AFBF0014 */ sw $ra, 0x14($sp) /* 0EAB6C 802C61BC 8E02000C */ lw $v0, 0xc($s0) -/* 0EAB70 802C61C0 0C0B1EAF */ jal func_802C7ABC +/* 0EAB70 802C61C0 0C0B1EAF */ jal get_variable /* 0EAB74 802C61C4 8C450000 */ lw $a1, ($v0) /* 0EAB78 802C61C8 AE02013C */ sw $v0, 0x13c($s0) /* 0EAB7C 802C61CC 8FBF0014 */ lw $ra, 0x14($sp) @@ -1848,13 +1848,13 @@ func_802C61AC: /* 0EAB88 802C61D8 03E00008 */ jr $ra /* 0EAB8C 802C61DC 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C61E0: +si_handle_set_flag_array: /* 0EAB90 802C61E0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EAB94 802C61E4 AFB00010 */ sw $s0, 0x10($sp) /* 0EAB98 802C61E8 0080802D */ daddu $s0, $a0, $zero /* 0EAB9C 802C61EC AFBF0014 */ sw $ra, 0x14($sp) /* 0EABA0 802C61F0 8E02000C */ lw $v0, 0xc($s0) -/* 0EABA4 802C61F4 0C0B1EAF */ jal func_802C7ABC +/* 0EABA4 802C61F4 0C0B1EAF */ jal get_variable /* 0EABA8 802C61F8 8C450000 */ lw $a1, ($v0) /* 0EABAC 802C61FC AE020140 */ sw $v0, 0x140($s0) /* 0EABB0 802C6200 8FBF0014 */ lw $ra, 0x14($sp) @@ -1863,7 +1863,7 @@ func_802C61E0: /* 0EABBC 802C620C 03E00008 */ jr $ra /* 0EABC0 802C6210 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6214: +si_handle_allocate_array: /* 0EABC4 802C6214 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EABC8 802C6218 AFB10014 */ sw $s1, 0x14($sp) /* 0EABCC 802C621C 0080882D */ daddu $s1, $a0, $zero @@ -1871,15 +1871,15 @@ func_802C6214: /* 0EABD4 802C6224 AFB00010 */ sw $s0, 0x10($sp) /* 0EABD8 802C6228 8E30000C */ lw $s0, 0xc($s1) /* 0EABDC 802C622C 8E050000 */ lw $a1, ($s0) -/* 0EABE0 802C6230 0C0B1EAF */ jal func_802C7ABC +/* 0EABE0 802C6230 0C0B1EAF */ jal get_variable /* 0EABE4 802C6234 26100004 */ addiu $s0, $s0, 4 /* 0EABE8 802C6238 8E100000 */ lw $s0, ($s0) -/* 0EABEC 802C623C 0C00AB39 */ jal func_8002ACE4 +/* 0EABEC 802C623C 0C00AB39 */ jal heap_malloc /* 0EABF0 802C6240 00022080 */ sll $a0, $v0, 2 /* 0EABF4 802C6244 0220202D */ daddu $a0, $s1, $zero /* 0EABF8 802C6248 0040302D */ daddu $a2, $v0, $zero /* 0EABFC 802C624C AC82013C */ sw $v0, 0x13c($a0) -/* 0EAC00 802C6250 0C0B2026 */ jal func_802C8098 +/* 0EAC00 802C6250 0C0B2026 */ jal set_variable /* 0EAC04 802C6254 0200282D */ daddu $a1, $s0, $zero /* 0EAC08 802C6258 8FBF0018 */ lw $ra, 0x18($sp) /* 0EAC0C 802C625C 8FB10014 */ lw $s1, 0x14($sp) @@ -1888,7 +1888,7 @@ func_802C6214: /* 0EAC18 802C6268 03E00008 */ jr $ra /* 0EAC1C 802C626C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C6270: +si_handle_AND: /* 0EAC20 802C6270 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAC24 802C6274 AFB10014 */ sw $s1, 0x14($sp) /* 0EAC28 802C6278 0080882D */ daddu $s1, $a0, $zero @@ -1897,15 +1897,15 @@ func_802C6270: /* 0EAC34 802C6284 AFB00010 */ sw $s0, 0x10($sp) /* 0EAC38 802C6288 8E22000C */ lw $v0, 0xc($s1) /* 0EAC3C 802C628C 8C450004 */ lw $a1, 4($v0) -/* 0EAC40 802C6290 0C0B1EAF */ jal func_802C7ABC +/* 0EAC40 802C6290 0C0B1EAF */ jal get_variable /* 0EAC44 802C6294 8C520000 */ lw $s2, ($v0) /* 0EAC48 802C6298 0040802D */ daddu $s0, $v0, $zero /* 0EAC4C 802C629C 0220202D */ daddu $a0, $s1, $zero -/* 0EAC50 802C62A0 0C0B1EAF */ jal func_802C7ABC +/* 0EAC50 802C62A0 0C0B1EAF */ jal get_variable /* 0EAC54 802C62A4 0240282D */ daddu $a1, $s2, $zero /* 0EAC58 802C62A8 0220202D */ daddu $a0, $s1, $zero /* 0EAC5C 802C62AC 0240282D */ daddu $a1, $s2, $zero -/* 0EAC60 802C62B0 0C0B2026 */ jal func_802C8098 +/* 0EAC60 802C62B0 0C0B2026 */ jal set_variable /* 0EAC64 802C62B4 02023024 */ and $a2, $s0, $v0 /* 0EAC68 802C62B8 8FBF001C */ lw $ra, 0x1c($sp) /* 0EAC6C 802C62BC 8FB20018 */ lw $s2, 0x18($sp) @@ -1915,7 +1915,7 @@ func_802C6270: /* 0EAC7C 802C62CC 03E00008 */ jr $ra /* 0EAC80 802C62D0 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C62D4: +si_handle_AND_const: /* 0EAC84 802C62D4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAC88 802C62D8 AFB10014 */ sw $s1, 0x14($sp) /* 0EAC8C 802C62DC 0080882D */ daddu $s1, $a0, $zero @@ -1925,11 +1925,11 @@ func_802C62D4: /* 0EAC9C 802C62EC 8E22000C */ lw $v0, 0xc($s1) /* 0EACA0 802C62F0 8C520000 */ lw $s2, ($v0) /* 0EACA4 802C62F4 8C500004 */ lw $s0, 4($v0) -/* 0EACA8 802C62F8 0C0B1EAF */ jal func_802C7ABC +/* 0EACA8 802C62F8 0C0B1EAF */ jal get_variable /* 0EACAC 802C62FC 0240282D */ daddu $a1, $s2, $zero /* 0EACB0 802C6300 0220202D */ daddu $a0, $s1, $zero /* 0EACB4 802C6304 0240282D */ daddu $a1, $s2, $zero -/* 0EACB8 802C6308 0C0B2026 */ jal func_802C8098 +/* 0EACB8 802C6308 0C0B2026 */ jal set_variable /* 0EACBC 802C630C 02023024 */ and $a2, $s0, $v0 /* 0EACC0 802C6310 8FBF001C */ lw $ra, 0x1c($sp) /* 0EACC4 802C6314 8FB20018 */ lw $s2, 0x18($sp) @@ -1939,7 +1939,7 @@ func_802C62D4: /* 0EACD4 802C6324 03E00008 */ jr $ra /* 0EACD8 802C6328 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C632C: +si_handle_OR: /* 0EACDC 802C632C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EACE0 802C6330 AFB10014 */ sw $s1, 0x14($sp) /* 0EACE4 802C6334 0080882D */ daddu $s1, $a0, $zero @@ -1948,15 +1948,15 @@ func_802C632C: /* 0EACF0 802C6340 AFB00010 */ sw $s0, 0x10($sp) /* 0EACF4 802C6344 8E22000C */ lw $v0, 0xc($s1) /* 0EACF8 802C6348 8C450004 */ lw $a1, 4($v0) -/* 0EACFC 802C634C 0C0B1EAF */ jal func_802C7ABC +/* 0EACFC 802C634C 0C0B1EAF */ jal get_variable /* 0EAD00 802C6350 8C520000 */ lw $s2, ($v0) /* 0EAD04 802C6354 0040802D */ daddu $s0, $v0, $zero /* 0EAD08 802C6358 0220202D */ daddu $a0, $s1, $zero -/* 0EAD0C 802C635C 0C0B1EAF */ jal func_802C7ABC +/* 0EAD0C 802C635C 0C0B1EAF */ jal get_variable /* 0EAD10 802C6360 0240282D */ daddu $a1, $s2, $zero /* 0EAD14 802C6364 0220202D */ daddu $a0, $s1, $zero /* 0EAD18 802C6368 0240282D */ daddu $a1, $s2, $zero -/* 0EAD1C 802C636C 0C0B2026 */ jal func_802C8098 +/* 0EAD1C 802C636C 0C0B2026 */ jal set_variable /* 0EAD20 802C6370 02023025 */ or $a2, $s0, $v0 /* 0EAD24 802C6374 8FBF001C */ lw $ra, 0x1c($sp) /* 0EAD28 802C6378 8FB20018 */ lw $s2, 0x18($sp) @@ -1966,7 +1966,7 @@ func_802C632C: /* 0EAD38 802C6388 03E00008 */ jr $ra /* 0EAD3C 802C638C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C6390: +si_handle_OR_const: /* 0EAD40 802C6390 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAD44 802C6394 AFB10014 */ sw $s1, 0x14($sp) /* 0EAD48 802C6398 0080882D */ daddu $s1, $a0, $zero @@ -1976,11 +1976,11 @@ func_802C6390: /* 0EAD58 802C63A8 8E22000C */ lw $v0, 0xc($s1) /* 0EAD5C 802C63AC 8C520000 */ lw $s2, ($v0) /* 0EAD60 802C63B0 8C500004 */ lw $s0, 4($v0) -/* 0EAD64 802C63B4 0C0B1EAF */ jal func_802C7ABC +/* 0EAD64 802C63B4 0C0B1EAF */ jal get_variable /* 0EAD68 802C63B8 0240282D */ daddu $a1, $s2, $zero /* 0EAD6C 802C63BC 0220202D */ daddu $a0, $s1, $zero /* 0EAD70 802C63C0 0240282D */ daddu $a1, $s2, $zero -/* 0EAD74 802C63C4 0C0B2026 */ jal func_802C8098 +/* 0EAD74 802C63C4 0C0B2026 */ jal set_variable /* 0EAD78 802C63C8 02023025 */ or $a2, $s0, $v0 /* 0EAD7C 802C63CC 8FBF001C */ lw $ra, 0x1c($sp) /* 0EAD80 802C63D0 8FB20018 */ lw $s2, 0x18($sp) @@ -1990,7 +1990,7 @@ func_802C6390: /* 0EAD90 802C63E0 03E00008 */ jr $ra /* 0EAD94 802C63E4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C63E8: +si_handle_call: /* 0EAD98 802C63E8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAD9C 802C63EC AFB10014 */ sw $s1, 0x14($sp) /* 0EADA0 802C63F0 0080882D */ daddu $s1, $a0, $zero @@ -2007,7 +2007,7 @@ func_802C63E8: .L802C6418: /* 0EADC8 802C6418 8E050000 */ lw $a1, ($s0) /* 0EADCC 802C641C 26100004 */ addiu $s0, $s0, 4 -/* 0EADD0 802C6420 0C0B1EAF */ jal func_802C7ABC +/* 0EADD0 802C6420 0C0B1EAF */ jal get_variable /* 0EADD4 802C6424 0220202D */ daddu $a0, $s1, $zero /* 0EADD8 802C6428 0220202D */ daddu $a0, $s1, $zero /* 0EADDC 802C642C AC820080 */ sw $v0, 0x80($a0) @@ -2028,18 +2028,18 @@ func_802C6450: /* 0EAE14 802C6464 03E00008 */ jr $ra /* 0EAE18 802C6468 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C646C: +si_handle_exec1: /* 0EAE1C 802C646C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EAE20 802C6470 AFB00010 */ sw $s0, 0x10($sp) /* 0EAE24 802C6474 0080802D */ daddu $s0, $a0, $zero /* 0EAE28 802C6478 AFBF0014 */ sw $ra, 0x14($sp) /* 0EAE2C 802C647C 8E02000C */ lw $v0, 0xc($s0) -/* 0EAE30 802C6480 0C0B1EAF */ jal func_802C7ABC +/* 0EAE30 802C6480 0C0B1EAF */ jal get_variable /* 0EAE34 802C6484 8C450000 */ lw $a1, ($v0) /* 0EAE38 802C6488 0040202D */ daddu $a0, $v0, $zero /* 0EAE3C 802C648C 92050003 */ lbu $a1, 3($s0) /* 0EAE40 802C6490 92070004 */ lbu $a3, 4($s0) -/* 0EAE44 802C6494 0C0B0D74 */ jal func_802C35D0 +/* 0EAE44 802C6494 0C0B0D74 */ jal start_script_in_group /* 0EAE48 802C6498 0000302D */ daddu $a2, $zero, $zero /* 0EAE4C 802C649C 0000202D */ daddu $a0, $zero, $zero /* 0EAE50 802C64A0 0200282D */ daddu $a1, $s0, $zero @@ -2078,7 +2078,7 @@ func_802C646C: /* 0EAECC 802C651C 03E00008 */ jr $ra /* 0EAED0 802C6520 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6524: +si_handle_exec2: /* 0EAED4 802C6524 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EAED8 802C6528 AFB10014 */ sw $s1, 0x14($sp) /* 0EAEDC 802C652C 0080882D */ daddu $s1, $a0, $zero @@ -2086,13 +2086,13 @@ func_802C6524: /* 0EAEE4 802C6534 AFB00010 */ sw $s0, 0x10($sp) /* 0EAEE8 802C6538 8E30000C */ lw $s0, 0xc($s1) /* 0EAEEC 802C653C 8E050000 */ lw $a1, ($s0) -/* 0EAEF0 802C6540 0C0B1EAF */ jal func_802C7ABC +/* 0EAEF0 802C6540 0C0B1EAF */ jal get_variable /* 0EAEF4 802C6544 26100004 */ addiu $s0, $s0, 4 /* 0EAEF8 802C6548 0040202D */ daddu $a0, $v0, $zero /* 0EAEFC 802C654C 92250003 */ lbu $a1, 3($s1) /* 0EAF00 802C6550 92270004 */ lbu $a3, 4($s1) /* 0EAF04 802C6554 8E100000 */ lw $s0, ($s0) -/* 0EAF08 802C6558 0C0B0D74 */ jal func_802C35D0 +/* 0EAF08 802C6558 0C0B0D74 */ jal start_script_in_group /* 0EAF0C 802C655C 0000302D */ daddu $a2, $zero, $zero /* 0EAF10 802C6560 0000202D */ daddu $a0, $zero, $zero /* 0EAF14 802C6564 0220282D */ daddu $a1, $s1, $zero @@ -2127,7 +2127,7 @@ func_802C6524: /* 0EAF80 802C65D0 ACE2013C */ sw $v0, 0x13c($a3) /* 0EAF84 802C65D4 8C820140 */ lw $v0, 0x140($a0) /* 0EAF88 802C65D8 0200282D */ daddu $a1, $s0, $zero -/* 0EAF8C 802C65DC 0C0B2026 */ jal func_802C8098 +/* 0EAF8C 802C65DC 0C0B2026 */ jal set_variable /* 0EAF90 802C65E0 ACE20140 */ sw $v0, 0x140($a3) /* 0EAF94 802C65E4 8FBF0018 */ lw $ra, 0x18($sp) /* 0EAF98 802C65E8 8FB10014 */ lw $s1, 0x14($sp) @@ -2136,17 +2136,17 @@ func_802C6524: /* 0EAFA4 802C65F4 03E00008 */ jr $ra /* 0EAFA8 802C65F8 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C65FC: +si_handle_exec_wait: /* 0EAFAC 802C65FC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EAFB0 802C6600 AFB00010 */ sw $s0, 0x10($sp) /* 0EAFB4 802C6604 0080802D */ daddu $s0, $a0, $zero /* 0EAFB8 802C6608 AFBF0014 */ sw $ra, 0x14($sp) /* 0EAFBC 802C660C 8E02000C */ lw $v0, 0xc($s0) -/* 0EAFC0 802C6610 0C0B1EAF */ jal func_802C7ABC +/* 0EAFC0 802C6610 0C0B1EAF */ jal get_variable /* 0EAFC4 802C6614 8C450000 */ lw $a1, ($v0) /* 0EAFC8 802C6618 0200202D */ daddu $a0, $s0, $zero /* 0EAFCC 802C661C 0040282D */ daddu $a1, $v0, $zero -/* 0EAFD0 802C6620 0C0B0DF2 */ jal func_802C37C8 +/* 0EAFD0 802C6620 0C0B0DF2 */ jal start_child_script /* 0EAFD4 802C6624 0000302D */ daddu $a2, $zero, $zero /* 0EAFD8 802C6628 A2000002 */ sb $zero, 2($s0) /* 0EAFDC 802C662C 8FBF0014 */ lw $ra, 0x14($sp) @@ -2155,16 +2155,16 @@ func_802C65FC: /* 0EAFE8 802C6638 03E00008 */ jr $ra /* 0EAFEC 802C663C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6640: +si_handle_jump: /* 0EAFF0 802C6640 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EAFF4 802C6644 AFB00010 */ sw $s0, 0x10($sp) /* 0EAFF8 802C6648 0080802D */ daddu $s0, $a0, $zero /* 0EAFFC 802C664C AFBF0014 */ sw $ra, 0x14($sp) /* 0EB000 802C6650 8E02000C */ lw $v0, 0xc($s0) -/* 0EB004 802C6654 0C0B1EAF */ jal func_802C7ABC +/* 0EB004 802C6654 0C0B1EAF */ jal get_variable /* 0EB008 802C6658 8C450000 */ lw $a1, ($v0) /* 0EB00C 802C665C 0200202D */ daddu $a0, $s0, $zero -/* 0EB010 802C6660 0C0B0F41 */ jal func_802C3D04 +/* 0EB010 802C6660 0C0B0F41 */ jal restart_script /* 0EB014 802C6664 AC82015C */ sw $v0, 0x15c($a0) /* 0EB018 802C6668 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB01C 802C666C 8FB00010 */ lw $s0, 0x10($sp) @@ -2172,6 +2172,7 @@ func_802C6640: /* 0EB024 802C6674 03E00008 */ jr $ra /* 0EB028 802C6678 27BD0018 */ addiu $sp, $sp, 0x18 +_bound_script_trigger_handler: /* 0EB02C 802C667C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EB030 802C6680 AFB00010 */ sw $s0, 0x10($sp) /* 0EB034 802C6684 0080802D */ daddu $s0, $a0, $zero @@ -2181,13 +2182,13 @@ func_802C6640: /* 0EB044 802C6694 14400014 */ bnez $v0, .L802C66E8 /* 0EB048 802C6698 00000000 */ nop /* 0EB04C 802C669C 8E110010 */ lw $s1, 0x10($s0) -/* 0EB050 802C66A0 0C05171B */ jal func_80145C6C +/* 0EB050 802C66A0 0C05171B */ jal is_trigger_bound /* 0EB054 802C66A4 0220282D */ daddu $a1, $s1, $zero /* 0EB058 802C66A8 14400015 */ bnez $v0, .L802C6700 /* 0EB05C 802C66AC 0000102D */ daddu $v0, $zero, $zero /* 0EB060 802C66B0 0220202D */ daddu $a0, $s1, $zero /* 0EB064 802C66B4 8E050018 */ lw $a1, 0x18($s0) -/* 0EB068 802C66B8 0C0B0CF8 */ jal func_802C33E0 +/* 0EB068 802C66B8 0C0B0CF8 */ jal start_script /* 0EB06C 802C66BC 24060020 */ addiu $a2, $zero, 0x20 /* 0EB070 802C66C0 AE020014 */ sw $v0, 0x14($s0) /* 0EB074 802C66C4 8C430144 */ lw $v1, 0x144($v0) @@ -2200,7 +2201,7 @@ func_802C6640: /* 0EB090 802C66E0 AC50014C */ sw $s0, 0x14c($v0) /* 0EB094 802C66E4 AC43008C */ sw $v1, 0x8c($v0) .L802C66E8: -/* 0EB098 802C66E8 0C0B1059 */ jal func_802C4164 +/* 0EB098 802C66E8 0C0B1059 */ jal does_script_exist /* 0EB09C 802C66EC 8E040034 */ lw $a0, 0x34($s0) /* 0EB0A0 802C66F0 14400003 */ bnez $v0, .L802C6700 /* 0EB0A4 802C66F4 24020001 */ addiu $v0, $zero, 1 @@ -2213,7 +2214,7 @@ func_802C6640: /* 0EB0BC 802C670C 03E00008 */ jr $ra /* 0EB0C0 802C6710 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C6714: +si_handle_bind: /* 0EB0C4 802C6714 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0EB0C8 802C6718 AFB3003C */ sw $s3, 0x3c($sp) /* 0EB0CC 802C671C 0080982D */ daddu $s3, $a0, $zero @@ -2224,7 +2225,7 @@ func_802C6714: /* 0EB0E0 802C6730 AFB00030 */ sw $s0, 0x30($sp) /* 0EB0E4 802C6734 8E70000C */ lw $s0, 0xc($s3) /* 0EB0E8 802C6738 8E050000 */ lw $a1, ($s0) -/* 0EB0EC 802C673C 0C0B1EAF */ jal func_802C7ABC +/* 0EB0EC 802C673C 0C0B1EAF */ jal get_variable /* 0EB0F0 802C6740 26100004 */ addiu $s0, $s0, 4 /* 0EB0F4 802C6744 8E030000 */ lw $v1, ($s0) /* 0EB0F8 802C6748 26100004 */ addiu $s0, $s0, 4 @@ -2237,11 +2238,11 @@ func_802C6714: /* 0EB114 802C6764 0040802D */ daddu $s0, $v0, $zero /* 0EB118 802C6768 0220282D */ daddu $a1, $s1, $zero /* 0EB11C 802C676C 00661825 */ or $v1, $v1, $a2 -/* 0EB120 802C6770 0C0B1EAF */ jal func_802C7ABC +/* 0EB120 802C6770 0C0B1EAF */ jal get_variable /* 0EB124 802C6774 AFA30010 */ sw $v1, 0x10($sp) /* 0EB128 802C6778 0260202D */ daddu $a0, $s3, $zero /* 0EB12C 802C677C 0220282D */ daddu $a1, $s1, $zero -/* 0EB130 802C6780 0C0B1F6A */ jal func_802C7DA8 +/* 0EB130 802C6780 0C0B1F6A */ jal get_variable_index /* 0EB134 802C6784 AFA20018 */ sw $v0, 0x18($sp) /* 0EB138 802C6788 27A40010 */ addiu $a0, $sp, 0x10 /* 0EB13C 802C678C A7A20014 */ sh $v0, 0x14($sp) @@ -2249,7 +2250,7 @@ func_802C6714: /* 0EB144 802C6794 2442667C */ addiu $v0, $v0, 0x667c /* 0EB148 802C6798 AFB20028 */ sw $s2, 0x28($sp) /* 0EB14C 802C679C AFA00024 */ sw $zero, 0x24($sp) -/* 0EB150 802C67A0 0C0515DB */ jal func_8014576C +/* 0EB150 802C67A0 0C0515DB */ jal create_trigger /* 0EB154 802C67A4 AFA2001C */ sw $v0, 0x1c($sp) /* 0EB158 802C67A8 0040882D */ daddu $s1, $v0, $zero /* 0EB15C 802C67AC AE300010 */ sw $s0, 0x10($s1) @@ -2257,21 +2258,21 @@ func_802C6714: /* 0EB164 802C67B4 92620003 */ lbu $v0, 3($s3) /* 0EB168 802C67B8 AE220018 */ sw $v0, 0x18($s1) /* 0EB16C 802C67BC 8E650084 */ lw $a1, 0x84($s3) -/* 0EB170 802C67C0 0C0B1EAF */ jal func_802C7ABC +/* 0EB170 802C67C0 0C0B1EAF */ jal get_variable /* 0EB174 802C67C4 0260202D */ daddu $a0, $s3, $zero /* 0EB178 802C67C8 AE22001C */ sw $v0, 0x1c($s1) /* 0EB17C 802C67CC 8E650088 */ lw $a1, 0x88($s3) -/* 0EB180 802C67D0 0C0B1EAF */ jal func_802C7ABC +/* 0EB180 802C67D0 0C0B1EAF */ jal get_variable /* 0EB184 802C67D4 0260202D */ daddu $a0, $s3, $zero /* 0EB188 802C67D8 AE220020 */ sw $v0, 0x20($s1) /* 0EB18C 802C67DC 8E65008C */ lw $a1, 0x8c($s3) -/* 0EB190 802C67E0 0C0B1EAF */ jal func_802C7ABC +/* 0EB190 802C67E0 0C0B1EAF */ jal get_variable /* 0EB194 802C67E4 0260202D */ daddu $a0, $s3, $zero /* 0EB198 802C67E8 12800005 */ beqz $s4, .L802C6800 /* 0EB19C 802C67EC AE220024 */ sw $v0, 0x24($s1) /* 0EB1A0 802C67F0 0260202D */ daddu $a0, $s3, $zero /* 0EB1A4 802C67F4 0280282D */ daddu $a1, $s4, $zero -/* 0EB1A8 802C67F8 0C0B2026 */ jal func_802C8098 +/* 0EB1A8 802C67F8 0C0B2026 */ jal set_variable /* 0EB1AC 802C67FC 0220302D */ daddu $a2, $s1, $zero .L802C6800: /* 0EB1B0 802C6800 8FBF0044 */ lw $ra, 0x44($sp) @@ -2284,51 +2285,52 @@ func_802C6714: /* 0EB1CC 802C681C 03E00008 */ jr $ra /* 0EB1D0 802C6820 27BD0048 */ addiu $sp, $sp, 0x48 +DeleteTrigger: /* 0EB1D4 802C6824 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB1D8 802C6828 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB1DC 802C682C 8C82000C */ lw $v0, 0xc($a0) -/* 0EB1E0 802C6830 0C0B1EAF */ jal func_802C7ABC +/* 0EB1E0 802C6830 0C0B1EAF */ jal get_variable /* 0EB1E4 802C6834 8C450000 */ lw $a1, ($v0) -/* 0EB1E8 802C6838 0C0516FD */ jal func_80145BF4 +/* 0EB1E8 802C6838 0C0516FD */ jal delete_trigger /* 0EB1EC 802C683C 0040202D */ daddu $a0, $v0, $zero /* 0EB1F0 802C6840 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB1F4 802C6844 24020002 */ addiu $v0, $zero, 2 /* 0EB1F8 802C6848 03E00008 */ jr $ra /* 0EB1FC 802C684C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6850: +si_handle_unbind: /* 0EB200 802C6850 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB204 802C6854 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EB208 802C6858 0C0516FD */ jal func_80145BF4 +/* 0EB208 802C6858 0C0516FD */ jal delete_trigger /* 0EB20C 802C685C 8C84014C */ lw $a0, 0x14c($a0) /* 0EB210 802C6860 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB214 802C6864 24020002 */ addiu $v0, $zero, 2 /* 0EB218 802C6868 03E00008 */ jr $ra /* 0EB21C 802C686C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6870: +si_handle_kill: /* 0EB220 802C6870 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB224 802C6874 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB228 802C6878 8C82000C */ lw $v0, 0xc($a0) -/* 0EB22C 802C687C 0C0B1EAF */ jal func_802C7ABC +/* 0EB22C 802C687C 0C0B1EAF */ jal get_variable /* 0EB230 802C6880 8C450000 */ lw $a1, ($v0) -/* 0EB234 802C6884 0C0B102B */ jal func_802C40AC +/* 0EB234 802C6884 0C0B102B */ jal kill_script_by_ID /* 0EB238 802C6888 0040202D */ daddu $a0, $v0, $zero /* 0EB23C 802C688C 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB240 802C6890 24020002 */ addiu $v0, $zero, 2 /* 0EB244 802C6894 03E00008 */ jr $ra /* 0EB248 802C6898 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C689C: +si_handle_set_priority: /* 0EB24C 802C689C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB250 802C68A0 AFB00010 */ sw $s0, 0x10($sp) /* 0EB254 802C68A4 0080802D */ daddu $s0, $a0, $zero /* 0EB258 802C68A8 AFBF0014 */ sw $ra, 0x14($sp) /* 0EB25C 802C68AC 8E02000C */ lw $v0, 0xc($s0) -/* 0EB260 802C68B0 0C0B1EAF */ jal func_802C7ABC +/* 0EB260 802C68B0 0C0B1EAF */ jal get_variable /* 0EB264 802C68B4 8C450000 */ lw $a1, ($v0) /* 0EB268 802C68B8 0200202D */ daddu $a0, $s0, $zero -/* 0EB26C 802C68BC 0C0B1076 */ jal func_802C41D8 +/* 0EB26C 802C68BC 0C0B1076 */ jal set_script_priority /* 0EB270 802C68C0 0040282D */ daddu $a1, $v0, $zero /* 0EB274 802C68C4 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB278 802C68C8 8FB00010 */ lw $s0, 0x10($sp) @@ -2336,16 +2338,16 @@ func_802C689C: /* 0EB280 802C68D0 03E00008 */ jr $ra /* 0EB284 802C68D4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C68D8: +si_handle_set_timescale: /* 0EB288 802C68D8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB28C 802C68DC AFB00010 */ sw $s0, 0x10($sp) /* 0EB290 802C68E0 0080802D */ daddu $s0, $a0, $zero /* 0EB294 802C68E4 AFBF0014 */ sw $ra, 0x14($sp) /* 0EB298 802C68E8 8E02000C */ lw $v0, 0xc($s0) -/* 0EB29C 802C68EC 0C0B210B */ jal func_802C842C +/* 0EB29C 802C68EC 0C0B210B */ jal get_float_variable /* 0EB2A0 802C68F0 8C450000 */ lw $a1, ($v0) /* 0EB2A4 802C68F4 44050000 */ mfc1 $a1, $f0 -/* 0EB2A8 802C68F8 0C0B1078 */ jal func_802C41E0 +/* 0EB2A8 802C68F8 0C0B1078 */ jal set_script_timescale /* 0EB2AC 802C68FC 0200202D */ daddu $a0, $s0, $zero /* 0EB2B0 802C6900 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB2B4 802C6904 8FB00010 */ lw $s0, 0x10($sp) @@ -2353,16 +2355,16 @@ func_802C68D8: /* 0EB2BC 802C690C 03E00008 */ jr $ra /* 0EB2C0 802C6910 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6914: +si_handle_set_group: /* 0EB2C4 802C6914 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB2C8 802C6918 AFB00010 */ sw $s0, 0x10($sp) /* 0EB2CC 802C691C 0080802D */ daddu $s0, $a0, $zero /* 0EB2D0 802C6920 AFBF0014 */ sw $ra, 0x14($sp) /* 0EB2D4 802C6924 8E02000C */ lw $v0, 0xc($s0) -/* 0EB2D8 802C6928 0C0B1EAF */ jal func_802C7ABC +/* 0EB2D8 802C6928 0C0B1EAF */ jal get_variable /* 0EB2DC 802C692C 8C450000 */ lw $a1, ($v0) /* 0EB2E0 802C6930 0200202D */ daddu $a0, $s0, $zero -/* 0EB2E4 802C6934 0C0B1086 */ jal func_802C4218 +/* 0EB2E4 802C6934 0C0B1086 */ jal set_script_group /* 0EB2E8 802C6938 0040282D */ daddu $a1, $v0, $zero /* 0EB2EC 802C693C 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB2F0 802C6940 8FB00010 */ lw $s0, 0x10($sp) @@ -2370,42 +2372,42 @@ func_802C6914: /* 0EB2F8 802C6948 03E00008 */ jr $ra /* 0EB2FC 802C694C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6950: +si_handle_suspend_all: /* 0EB300 802C6950 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB304 802C6954 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB308 802C6958 8C82000C */ lw $v0, 0xc($a0) -/* 0EB30C 802C695C 0C0B1EAF */ jal func_802C7ABC +/* 0EB30C 802C695C 0C0B1EAF */ jal get_variable /* 0EB310 802C6960 8C450000 */ lw $a1, ($v0) -/* 0EB314 802C6964 0C0B117A */ jal func_802C45E8 +/* 0EB314 802C6964 0C0B117A */ jal suspend_all_group /* 0EB318 802C6968 0040202D */ daddu $a0, $v0, $zero /* 0EB31C 802C696C 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB320 802C6970 24020002 */ addiu $v0, $zero, 2 /* 0EB324 802C6974 03E00008 */ jr $ra /* 0EB328 802C6978 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C697C: +si_handle_resume_all: /* 0EB32C 802C697C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB330 802C6980 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB334 802C6984 8C82000C */ lw $v0, 0xc($a0) -/* 0EB338 802C6988 0C0B1EAF */ jal func_802C7ABC +/* 0EB338 802C6988 0C0B1EAF */ jal get_variable /* 0EB33C 802C698C 8C450000 */ lw $a1, ($v0) -/* 0EB340 802C6990 0C0B1192 */ jal func_802C4648 +/* 0EB340 802C6990 0C0B1192 */ jal resume_all_group /* 0EB344 802C6994 0040202D */ daddu $a0, $v0, $zero /* 0EB348 802C6998 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB34C 802C699C 24020002 */ addiu $v0, $zero, 2 /* 0EB350 802C69A0 03E00008 */ jr $ra /* 0EB354 802C69A4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C69A8: +si_handle_suspend_others: /* 0EB358 802C69A8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB35C 802C69AC AFB00010 */ sw $s0, 0x10($sp) /* 0EB360 802C69B0 0080802D */ daddu $s0, $a0, $zero /* 0EB364 802C69B4 AFBF0014 */ sw $ra, 0x14($sp) /* 0EB368 802C69B8 8E02000C */ lw $v0, 0xc($s0) -/* 0EB36C 802C69BC 0C0B1EAF */ jal func_802C7ABC +/* 0EB36C 802C69BC 0C0B1EAF */ jal get_variable /* 0EB370 802C69C0 8C450000 */ lw $a1, ($v0) /* 0EB374 802C69C4 0200202D */ daddu $a0, $s0, $zero -/* 0EB378 802C69C8 0C0B11AA */ jal func_802C46A8 +/* 0EB378 802C69C8 0C0B11AA */ jal suspend_group_others /* 0EB37C 802C69CC 0040282D */ daddu $a1, $v0, $zero /* 0EB380 802C69D0 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB384 802C69D4 8FB00010 */ lw $s0, 0x10($sp) @@ -2413,16 +2415,16 @@ func_802C69A8: /* 0EB38C 802C69DC 03E00008 */ jr $ra /* 0EB390 802C69E0 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C69E4: +si_handle_resume_others: /* 0EB394 802C69E4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB398 802C69E8 AFB00010 */ sw $s0, 0x10($sp) /* 0EB39C 802C69EC 0080802D */ daddu $s0, $a0, $zero /* 0EB3A0 802C69F0 AFBF0014 */ sw $ra, 0x14($sp) /* 0EB3A4 802C69F4 8E02000C */ lw $v0, 0xc($s0) -/* 0EB3A8 802C69F8 0C0B1EAF */ jal func_802C7ABC +/* 0EB3A8 802C69F8 0C0B1EAF */ jal get_variable /* 0EB3AC 802C69FC 8C450000 */ lw $a1, ($v0) /* 0EB3B0 802C6A00 0200202D */ daddu $a0, $s0, $zero -/* 0EB3B4 802C6A04 0C0B11C7 */ jal func_802C471C +/* 0EB3B4 802C6A04 0C0B11C7 */ jal resume_group_others /* 0EB3B8 802C6A08 0040282D */ daddu $a1, $v0, $zero /* 0EB3BC 802C6A0C 8FBF0014 */ lw $ra, 0x14($sp) /* 0EB3C0 802C6A10 8FB00010 */ lw $s0, 0x10($sp) @@ -2430,33 +2432,33 @@ func_802C69E4: /* 0EB3C8 802C6A18 03E00008 */ jr $ra /* 0EB3CC 802C6A1C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6A20: +si_handle_suspend: /* 0EB3D0 802C6A20 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB3D4 802C6A24 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB3D8 802C6A28 8C82000C */ lw $v0, 0xc($a0) -/* 0EB3DC 802C6A2C 0C0B1EAF */ jal func_802C7ABC +/* 0EB3DC 802C6A2C 0C0B1EAF */ jal get_variable /* 0EB3E0 802C6A30 8C450000 */ lw $a1, ($v0) -/* 0EB3E4 802C6A34 0C0B1108 */ jal func_802C4420 +/* 0EB3E4 802C6A34 0C0B1108 */ jal suspend_all_script /* 0EB3E8 802C6A38 0040202D */ daddu $a0, $v0, $zero /* 0EB3EC 802C6A3C 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB3F0 802C6A40 24020002 */ addiu $v0, $zero, 2 /* 0EB3F4 802C6A44 03E00008 */ jr $ra /* 0EB3F8 802C6A48 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6A4C: +si_handle_resume: /* 0EB3FC 802C6A4C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB400 802C6A50 AFBF0010 */ sw $ra, 0x10($sp) /* 0EB404 802C6A54 8C82000C */ lw $v0, 0xc($a0) -/* 0EB408 802C6A58 0C0B1EAF */ jal func_802C7ABC +/* 0EB408 802C6A58 0C0B1EAF */ jal get_variable /* 0EB40C 802C6A5C 8C450000 */ lw $a1, ($v0) -/* 0EB410 802C6A60 0C0B1123 */ jal func_802C448C +/* 0EB410 802C6A60 0C0B1123 */ jal resume_all_script /* 0EB414 802C6A64 0040202D */ daddu $a0, $v0, $zero /* 0EB418 802C6A68 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB41C 802C6A6C 24020002 */ addiu $v0, $zero, 2 /* 0EB420 802C6A70 03E00008 */ jr $ra /* 0EB424 802C6A74 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6A78: +si_handle_does_script_exist: /* 0EB428 802C6A78 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EB42C 802C6A7C AFB10014 */ sw $s1, 0x14($sp) /* 0EB430 802C6A80 0080882D */ daddu $s1, $a0, $zero @@ -2464,14 +2466,14 @@ func_802C6A78: /* 0EB438 802C6A88 AFB00010 */ sw $s0, 0x10($sp) /* 0EB43C 802C6A8C 8E30000C */ lw $s0, 0xc($s1) /* 0EB440 802C6A90 8E050000 */ lw $a1, ($s0) -/* 0EB444 802C6A94 0C0B1EAF */ jal func_802C7ABC +/* 0EB444 802C6A94 0C0B1EAF */ jal get_variable /* 0EB448 802C6A98 26100004 */ addiu $s0, $s0, 4 /* 0EB44C 802C6A9C 8E100000 */ lw $s0, ($s0) -/* 0EB450 802C6AA0 0C0B1059 */ jal func_802C4164 +/* 0EB450 802C6AA0 0C0B1059 */ jal does_script_exist /* 0EB454 802C6AA4 0040202D */ daddu $a0, $v0, $zero /* 0EB458 802C6AA8 0220202D */ daddu $a0, $s1, $zero /* 0EB45C 802C6AAC 0040302D */ daddu $a2, $v0, $zero -/* 0EB460 802C6AB0 0C0B2026 */ jal func_802C8098 +/* 0EB460 802C6AB0 0C0B2026 */ jal set_variable /* 0EB464 802C6AB4 0200282D */ daddu $a1, $s0, $zero /* 0EB468 802C6AB8 8FBF0018 */ lw $ra, 0x18($sp) /* 0EB46C 802C6ABC 8FB10014 */ lw $s1, 0x14($sp) @@ -2489,7 +2491,7 @@ func_802C6A78: /* 0EB498 802C6AE8 00000000 */ nop /* 0EB49C 802C6AEC 8E040010 */ lw $a0, 0x10($s0) /* 0EB4A0 802C6AF0 8E050018 */ lw $a1, 0x18($s0) -/* 0EB4A4 802C6AF4 0C0B0CF8 */ jal func_802C33E0 +/* 0EB4A4 802C6AF4 0C0B0CF8 */ jal start_script /* 0EB4A8 802C6AF8 24060020 */ addiu $a2, $zero, 0x20 /* 0EB4AC 802C6AFC AE020014 */ sw $v0, 0x14($s0) /* 0EB4B0 802C6B00 8C430144 */ lw $v1, 0x144($v0) @@ -2502,7 +2504,7 @@ func_802C6A78: /* 0EB4CC 802C6B1C AC50014C */ sw $s0, 0x14c($v0) /* 0EB4D0 802C6B20 AC43008C */ sw $v1, 0x8c($v0) .L802C6B24: -/* 0EB4D4 802C6B24 0C0B1059 */ jal func_802C4164 +/* 0EB4D4 802C6B24 0C0B1059 */ jal does_script_exist /* 0EB4D8 802C6B28 8E040034 */ lw $a0, 0x34($s0) /* 0EB4DC 802C6B2C 14400005 */ bnez $v0, .L802C6B44 /* 0EB4E0 802C6B30 2403FFFD */ addiu $v1, $zero, -3 @@ -2516,7 +2518,7 @@ func_802C6A78: /* 0EB4FC 802C6B4C 03E00008 */ jr $ra /* 0EB500 802C6B50 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6B54: +si_handle_bind_lock: /* 0EB504 802C6B54 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0EB508 802C6B58 AFB10034 */ sw $s1, 0x34($sp) /* 0EB50C 802C6B5C 0080882D */ daddu $s1, $a0, $zero @@ -2529,7 +2531,7 @@ func_802C6B54: /* 0EB528 802C6B78 AFB00030 */ sw $s0, 0x30($sp) /* 0EB52C 802C6B7C 8E30000C */ lw $s0, 0xc($s1) /* 0EB530 802C6B80 8E050000 */ lw $a1, ($s0) -/* 0EB534 802C6B84 0C0B1EAF */ jal func_802C7ABC +/* 0EB534 802C6B84 0C0B1EAF */ jal get_variable /* 0EB538 802C6B88 26100004 */ addiu $s0, $s0, 4 /* 0EB53C 802C6B8C 8E120000 */ lw $s2, ($s0) /* 0EB540 802C6B90 26100004 */ addiu $s0, $s0, 4 @@ -2538,7 +2540,7 @@ func_802C6B54: /* 0EB54C 802C6B9C 8E050000 */ lw $a1, ($s0) /* 0EB550 802C6BA0 26100004 */ addiu $s0, $s0, 4 /* 0EB554 802C6BA4 0220202D */ daddu $a0, $s1, $zero -/* 0EB558 802C6BA8 0C0B1EAF */ jal func_802C7ABC +/* 0EB558 802C6BA8 0C0B1EAF */ jal get_variable /* 0EB55C 802C6BAC 0040B02D */ daddu $s6, $v0, $zero /* 0EB560 802C6BB0 0220202D */ daddu $a0, $s1, $zero /* 0EB564 802C6BB4 0260282D */ daddu $a1, $s3, $zero @@ -2547,11 +2549,11 @@ func_802C6B54: /* 0EB570 802C6BC0 8E140000 */ lw $s4, ($s0) /* 0EB574 802C6BC4 8E150004 */ lw $s5, 4($s0) /* 0EB578 802C6BC8 0040802D */ daddu $s0, $v0, $zero -/* 0EB57C 802C6BCC 0C0B1EAF */ jal func_802C7ABC +/* 0EB57C 802C6BCC 0C0B1EAF */ jal get_variable /* 0EB580 802C6BD0 AFB20010 */ sw $s2, 0x10($sp) /* 0EB584 802C6BD4 0220202D */ daddu $a0, $s1, $zero /* 0EB588 802C6BD8 0260282D */ daddu $a1, $s3, $zero -/* 0EB58C 802C6BDC 0C0B1F6A */ jal func_802C7DA8 +/* 0EB58C 802C6BDC 0C0B1F6A */ jal get_variable_index /* 0EB590 802C6BE0 AFA20018 */ sw $v0, 0x18($sp) /* 0EB594 802C6BE4 27A40010 */ addiu $a0, $sp, 0x10 /* 0EB598 802C6BE8 A7A20014 */ sh $v0, 0x14($sp) @@ -2560,7 +2562,7 @@ func_802C6B54: /* 0EB5A4 802C6BF4 AFB0002C */ sw $s0, 0x2c($sp) /* 0EB5A8 802C6BF8 AFA2001C */ sw $v0, 0x1c($sp) /* 0EB5AC 802C6BFC AFB40024 */ sw $s4, 0x24($sp) -/* 0EB5B0 802C6C00 0C0515DB */ jal func_8014576C +/* 0EB5B0 802C6C00 0C0515DB */ jal create_trigger /* 0EB5B4 802C6C04 AFB50028 */ sw $s5, 0x28($sp) /* 0EB5B8 802C6C08 0040802D */ daddu $s0, $v0, $zero /* 0EB5BC 802C6C0C AE160010 */ sw $s6, 0x10($s0) @@ -2568,15 +2570,15 @@ func_802C6B54: /* 0EB5C4 802C6C14 92220003 */ lbu $v0, 3($s1) /* 0EB5C8 802C6C18 AE020018 */ sw $v0, 0x18($s0) /* 0EB5CC 802C6C1C 8E250084 */ lw $a1, 0x84($s1) -/* 0EB5D0 802C6C20 0C0B1EAF */ jal func_802C7ABC +/* 0EB5D0 802C6C20 0C0B1EAF */ jal get_variable /* 0EB5D4 802C6C24 0220202D */ daddu $a0, $s1, $zero /* 0EB5D8 802C6C28 AE02001C */ sw $v0, 0x1c($s0) /* 0EB5DC 802C6C2C 8E250088 */ lw $a1, 0x88($s1) -/* 0EB5E0 802C6C30 0C0B1EAF */ jal func_802C7ABC +/* 0EB5E0 802C6C30 0C0B1EAF */ jal get_variable /* 0EB5E4 802C6C34 0220202D */ daddu $a0, $s1, $zero /* 0EB5E8 802C6C38 AE020020 */ sw $v0, 0x20($s0) /* 0EB5EC 802C6C3C 8E25008C */ lw $a1, 0x8c($s1) -/* 0EB5F0 802C6C40 0C0B1EAF */ jal func_802C7ABC +/* 0EB5F0 802C6C40 0C0B1EAF */ jal get_variable /* 0EB5F4 802C6C44 0220202D */ daddu $a0, $s1, $zero /* 0EB5F8 802C6C48 AE020024 */ sw $v0, 0x24($s0) /* 0EB5FC 802C6C4C 8FBF004C */ lw $ra, 0x4c($sp) @@ -2591,7 +2593,7 @@ func_802C6B54: /* 0EB620 802C6C70 03E00008 */ jr $ra /* 0EB624 802C6C74 27BD0050 */ addiu $sp, $sp, 0x50 -func_802C6C78: +si_handle_thread: /* 0EB628 802C6C78 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB62C 802C6C7C AFB00010 */ sw $s0, 0x10($sp) /* 0EB630 802C6C80 0080802D */ daddu $s0, $a0, $zero @@ -2610,7 +2612,7 @@ func_802C6C78: /* 0EB660 802C6CB0 AE050008 */ sw $a1, 8($s0) /* 0EB664 802C6CB4 92050003 */ lbu $a1, 3($s0) /* 0EB668 802C6CB8 92070004 */ lbu $a3, 4($s0) -/* 0EB66C 802C6CBC 0C0B0D74 */ jal func_802C35D0 +/* 0EB66C 802C6CBC 0C0B0D74 */ jal start_script_in_group /* 0EB670 802C6CC0 24060060 */ addiu $a2, $zero, 0x60 /* 0EB674 802C6CC4 8E030148 */ lw $v1, 0x148($s0) /* 0EB678 802C6CC8 0040302D */ daddu $a2, $v0, $zero @@ -2649,17 +2651,17 @@ func_802C6C78: /* 0EB6F4 802C6D44 03E00008 */ jr $ra /* 0EB6F8 802C6D48 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6D4C: +si_handle_end_thread: /* 0EB6FC 802C6D4C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB700 802C6D50 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EB704 802C6D54 0C0B0FCF */ jal func_802C3F3C +/* 0EB704 802C6D54 0C0B0FCF */ jal kill_script /* 0EB708 802C6D58 00000000 */ nop /* 0EB70C 802C6D5C 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB710 802C6D60 240200FF */ addiu $v0, $zero, 0xff /* 0EB714 802C6D64 03E00008 */ jr $ra /* 0EB718 802C6D68 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6D6C: +si_handle_child_thread: /* 0EB71C 802C6D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB720 802C6D70 AFB00010 */ sw $s0, 0x10($sp) /* 0EB724 802C6D74 0080802D */ daddu $s0, $a0, $zero @@ -2696,10 +2698,10 @@ func_802C6D6C: /* 0EB79C 802C6DEC 03E00008 */ jr $ra /* 0EB7A0 802C6DF0 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C6DF4: +si_handle_end_child_thread: /* 0EB7A4 802C6DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EB7A8 802C6DF8 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EB7AC 802C6DFC 0C0B0FCF */ jal func_802C3F3C +/* 0EB7AC 802C6DFC 0C0B0FCF */ jal kill_script /* 0EB7B0 802C6E00 00000000 */ nop /* 0EB7B4 802C6E04 8FBF0010 */ lw $ra, 0x10($sp) /* 0EB7B8 802C6E08 0000102D */ daddu $v0, $zero, $zero @@ -2710,7 +2712,7 @@ func_802C6E14: /* 0EB7C4 802C6E14 03E00008 */ jr $ra /* 0EB7C8 802C6E18 24020002 */ addiu $v0, $zero, 2 -func_802C6E1C: +si_handle_print_debug_var: /* 0EB7CC 802C6E1C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EB7D0 802C6E20 0080382D */ daddu $a3, $a0, $zero /* 0EB7D4 802C6E24 AFBF0024 */ sw $ra, 0x24($sp) @@ -2736,7 +2738,7 @@ func_802C6E1C: /* 0EB81C 802C6E6C 0250102A */ slt $v0, $s2, $s0 /* 0EB820 802C6E70 1440000D */ bnez $v0, .L802C6EA8 /* 0EB824 802C6E74 3C02F414 */ lui $v0, 0xf414 -/* 0EB828 802C6E78 0C0B1248 */ jal func_802C4920 +/* 0EB828 802C6E78 0C0B1248 */ jal fixed_var_to_float /* 0EB82C 802C6E7C 0200202D */ daddu $a0, $s0, $zero /* 0EB830 802C6E80 3C04802E */ lui $a0, 0x802e /* 0EB834 802C6E84 2484ACA0 */ addiu $a0, $a0, -0x5360 @@ -2802,7 +2804,7 @@ func_802C6E1C: .L802C6F5C: /* 0EB90C 802C6F5C 1440000A */ bnez $v0, .L802C6F88 /* 0EB910 802C6F60 00000000 */ nop -/* 0EB914 802C6F64 0C0B1248 */ jal func_802C4920 +/* 0EB914 802C6F64 0C0B1248 */ jal fixed_var_to_float /* 0EB918 802C6F68 00E0202D */ daddu $a0, $a3, $zero /* 0EB91C 802C6F6C 46000021 */ cvt.d.s $f0, $f0 /* 0EB920 802C6F70 F7A00010 */ sdc1 $f0, 0x10($sp) @@ -2827,7 +2829,7 @@ func_802C6E1C: /* 0EB95C 802C6FAC 3C020A21 */ lui $v0, 0xa21 /* 0EB960 802C6FB0 3442FE80 */ ori $v0, $v0, 0xfe80 /* 0EB964 802C6FB4 02028021 */ addu $s0, $s0, $v0 -/* 0EB968 802C6FB8 0C05154E */ jal func_80145538 +/* 0EB968 802C6FB8 0C05154E */ jal get_global_byte /* 0EB96C 802C6FBC 0200202D */ daddu $a0, $s0, $zero /* 0EB970 802C6FC0 0040382D */ daddu $a3, $v0, $zero /* 0EB974 802C6FC4 0227102A */ slt $v0, $s1, $a3 @@ -2843,7 +2845,7 @@ func_802C6E1C: .L802C6FE8: /* 0EB998 802C6FE8 1440000A */ bnez $v0, .L802C7014 /* 0EB99C 802C6FEC 00000000 */ nop -/* 0EB9A0 802C6FF0 0C0B1248 */ jal func_802C4920 +/* 0EB9A0 802C6FF0 0C0B1248 */ jal fixed_var_to_float /* 0EB9A4 802C6FF4 00E0202D */ daddu $a0, $a3, $zero /* 0EB9A8 802C6FF8 46000021 */ cvt.d.s $f0, $f0 /* 0EB9AC 802C6FFC F7A00010 */ sdc1 $f0, 0x10($sp) @@ -2868,7 +2870,7 @@ func_802C6E1C: /* 0EB9E8 802C7038 3C0208F0 */ lui $v0, 0x8f0 /* 0EB9EC 802C703C 3442D180 */ ori $v0, $v0, 0xd180 /* 0EB9F0 802C7040 02028021 */ addu $s0, $s0, $v0 -/* 0EB9F4 802C7044 0C051594 */ jal func_80145650 +/* 0EB9F4 802C7044 0C051594 */ jal get_area_byte /* 0EB9F8 802C7048 0200202D */ daddu $a0, $s0, $zero /* 0EB9FC 802C704C 0040382D */ daddu $a3, $v0, $zero /* 0EBA00 802C7050 0227102A */ slt $v0, $s1, $a3 @@ -2884,7 +2886,7 @@ func_802C6E1C: .L802C7074: /* 0EBA24 802C7074 1440000A */ bnez $v0, .L802C70A0 /* 0EBA28 802C7078 00000000 */ nop -/* 0EBA2C 802C707C 0C0B1248 */ jal func_802C4920 +/* 0EBA2C 802C707C 0C0B1248 */ jal fixed_var_to_float /* 0EBA30 802C7080 00E0202D */ daddu $a0, $a3, $zero /* 0EBA34 802C7084 46000021 */ cvt.d.s $f0, $f0 /* 0EBA38 802C7088 F7A00010 */ sdc1 $f0, 0x10($sp) @@ -2909,7 +2911,7 @@ func_802C6E1C: /* 0EBA74 802C70C4 3C0207BF */ lui $v0, 0x7bf /* 0EBA78 802C70C8 3442A480 */ ori $v0, $v0, 0xa480 /* 0EBA7C 802C70CC 02028021 */ addu $s0, $s0, $v0 -/* 0EBA80 802C70D0 0C05152F */ jal func_801454BC +/* 0EBA80 802C70D0 0C05152F */ jal get_global_flag /* 0EBA84 802C70D4 0200202D */ daddu $a0, $s0, $zero /* 0EBA88 802C70D8 3C04802E */ lui $a0, 0x802e /* 0EBA8C 802C70DC 2484ACA0 */ addiu $a0, $a0, -0x5360 @@ -2926,7 +2928,7 @@ func_802C6E1C: /* 0EBAB0 802C7100 3C02068E */ lui $v0, 0x68e /* 0EBAB4 802C7104 34427780 */ ori $v0, $v0, 0x7780 /* 0EBAB8 802C7108 02028021 */ addu $s0, $s0, $v0 -/* 0EBABC 802C710C 0C05157C */ jal func_801455F0 +/* 0EBABC 802C710C 0C05157C */ jal get_area_flag /* 0EBAC0 802C7110 0200202D */ daddu $a0, $s0, $zero /* 0EBAC4 802C7114 3C04802E */ lui $a0, 0x802e /* 0EBAC8 802C7118 2484ACA0 */ addiu $a0, $a0, -0x5360 @@ -3030,7 +3032,7 @@ func_802C71FC: /* 0EBC20 802C7270 0047102A */ slt $v0, $v0, $a3 /* 0EBC24 802C7274 1440000A */ bnez $v0, .L802C72A0 /* 0EBC28 802C7278 00000000 */ nop -/* 0EBC2C 802C727C 0C0B1248 */ jal func_802C4920 +/* 0EBC2C 802C727C 0C0B1248 */ jal fixed_var_to_float /* 0EBC30 802C7280 00E0202D */ daddu $a0, $a3, $zero /* 0EBC34 802C7284 46000021 */ cvt.d.s $f0, $f0 /* 0EBC38 802C7288 F7A00010 */ sdc1 $f0, 0x10($sp) @@ -3075,7 +3077,7 @@ func_802C71FC: /* 0EBCBC 802C730C 0047102A */ slt $v0, $v0, $a3 /* 0EBCC0 802C7310 1440000D */ bnez $v0, .L802C7348 /* 0EBCC4 802C7314 00000000 */ nop -/* 0EBCC8 802C7318 0C0B1248 */ jal func_802C4920 +/* 0EBCC8 802C7318 0C0B1248 */ jal fixed_var_to_float /* 0EBCCC 802C731C 00E0202D */ daddu $a0, $a3, $zero /* 0EBCD0 802C7320 46000021 */ cvt.d.s $f0, $f0 /* 0EBCD4 802C7324 F7A00010 */ sdc1 $f0, 0x10($sp) @@ -3136,7 +3138,7 @@ func_802C73B8: /* 0EBD78 802C73C8 0000802D */ daddu $s0, $zero, $zero /* 0EBD7C 802C73CC AFBF0018 */ sw $ra, 0x18($sp) .L802C73D0: -/* 0EBD80 802C73D0 0C0B11E4 */ jal func_802C4790 +/* 0EBD80 802C73D0 0C0B11E4 */ jal get_script_by_index /* 0EBD84 802C73D4 0200202D */ daddu $a0, $s0, $zero /* 0EBD88 802C73D8 12220004 */ beq $s1, $v0, .L802C73EC /* 0EBD8C 802C73DC 26100001 */ addiu $s0, $s0, 1 @@ -3151,7 +3153,7 @@ func_802C73B8: /* 0EBDAC 802C73FC 03E00008 */ jr $ra /* 0EBDB0 802C7400 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C7404: +si_execute_next_command: /* 0EBDB4 802C7404 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EBDB8 802C7408 AFB00010 */ sw $s0, 0x10($sp) /* 0EBDBC 802C740C 0080802D */ daddu $s0, $a0, $zero @@ -3181,472 +3183,472 @@ func_802C7404: /* 0EBE18 802C7468 00041080 */ sll $v0, $a0, 2 /* 0EBE1C 802C746C 00621821 */ addu $v1, $v1, $v0 /* 0EBE20 802C7470 A2040001 */ sb $a0, 1($s0) -/* 0EBE24 802C7474 080B1E95 */ j func_802C7A54 +/* 0EBE24 802C7474 080B1E95 */ j si_handle_end /* 0EBE28 802C7478 AE030008 */ sw $v1, 8($s0) -/* 0EBE2C 802C747C 0C0B1266 */ jal func_802C4998 +/* 0EBE2C 802C747C 0C0B1266 */ jal si_handle_return /* 0EBE30 802C7480 0200202D */ daddu $a0, $s0, $zero -/* 0EBE34 802C7484 080B1E95 */ j func_802C7A54 +/* 0EBE34 802C7484 080B1E95 */ j si_handle_end /* 0EBE38 802C7488 0040282D */ daddu $a1, $v0, $zero -/* 0EBE3C 802C748C 0C0B126E */ jal func_802C49B8 +/* 0EBE3C 802C748C 0C0B126E */ jal si_handle_label /* 0EBE40 802C7490 0200202D */ daddu $a0, $s0, $zero -/* 0EBE44 802C7494 080B1E95 */ j func_802C7A54 +/* 0EBE44 802C7494 080B1E95 */ j si_handle_end /* 0EBE48 802C7498 0040282D */ daddu $a1, $v0, $zero -/* 0EBE4C 802C749C 0C0B1270 */ jal func_802C49C0 +/* 0EBE4C 802C749C 0C0B1270 */ jal si_handle_goto /* 0EBE50 802C74A0 0200202D */ daddu $a0, $s0, $zero -/* 0EBE54 802C74A4 080B1E95 */ j func_802C7A54 +/* 0EBE54 802C74A4 080B1E95 */ j si_handle_end /* 0EBE58 802C74A8 0040282D */ daddu $a1, $v0, $zero -/* 0EBE5C 802C74AC 0C0B1280 */ jal func_802C4A00 +/* 0EBE5C 802C74AC 0C0B1280 */ jal si_handle_Loop /* 0EBE60 802C74B0 0200202D */ daddu $a0, $s0, $zero -/* 0EBE64 802C74B4 080B1E95 */ j func_802C7A54 +/* 0EBE64 802C74B4 080B1E95 */ j si_handle_end /* 0EBE68 802C74B8 0040282D */ daddu $a1, $v0, $zero -/* 0EBE6C 802C74BC 0C0B1292 */ jal func_802C4A48 +/* 0EBE6C 802C74BC 0C0B1292 */ jal si_handle_end_loop /* 0EBE70 802C74C0 0200202D */ daddu $a0, $s0, $zero -/* 0EBE74 802C74C4 080B1E95 */ j func_802C7A54 +/* 0EBE74 802C74C4 080B1E95 */ j si_handle_end /* 0EBE78 802C74C8 0040282D */ daddu $a1, $v0, $zero -/* 0EBE7C 802C74CC 0C0B12C3 */ jal func_802C4B0C +/* 0EBE7C 802C74CC 0C0B12C3 */ jal si_handle_break_loop /* 0EBE80 802C74D0 0200202D */ daddu $a0, $s0, $zero -/* 0EBE84 802C74D4 080B1E95 */ j func_802C7A54 +/* 0EBE84 802C74D4 080B1E95 */ j si_handle_end /* 0EBE88 802C74D8 0040282D */ daddu $a1, $v0, $zero -/* 0EBE8C 802C74DC 0C0B12D7 */ jal func_802C4B5C +/* 0EBE8C 802C74DC 0C0B12D7 */ jal si_handle_wait /* 0EBE90 802C74E0 0200202D */ daddu $a0, $s0, $zero -/* 0EBE94 802C74E4 080B1E95 */ j func_802C7A54 +/* 0EBE94 802C74E4 080B1E95 */ j si_handle_end /* 0EBE98 802C74E8 0040282D */ daddu $a1, $v0, $zero -/* 0EBE9C 802C74EC 0C0B12EE */ jal func_802C4BB8 +/* 0EBE9C 802C74EC 0C0B12EE */ jal si_handle_wait_seconds /* 0EBEA0 802C74F0 0200202D */ daddu $a0, $s0, $zero -/* 0EBEA4 802C74F4 080B1E95 */ j func_802C7A54 +/* 0EBEA4 802C74F4 080B1E95 */ j si_handle_end /* 0EBEA8 802C74F8 0040282D */ daddu $a1, $v0, $zero -/* 0EBEAC 802C74FC 0C0B1310 */ jal func_802C4C40 +/* 0EBEAC 802C74FC 0C0B1310 */ jal si_handle_if_equal /* 0EBEB0 802C7500 0200202D */ daddu $a0, $s0, $zero -/* 0EBEB4 802C7504 080B1E95 */ j func_802C7A54 +/* 0EBEB4 802C7504 080B1E95 */ j si_handle_end /* 0EBEB8 802C7508 0040282D */ daddu $a1, $v0, $zero -/* 0EBEBC 802C750C 0C0B1328 */ jal func_802C4CA0 +/* 0EBEBC 802C750C 0C0B1328 */ jal si_handle_if_not_equal /* 0EBEC0 802C7510 0200202D */ daddu $a0, $s0, $zero -/* 0EBEC4 802C7514 080B1E95 */ j func_802C7A54 +/* 0EBEC4 802C7514 080B1E95 */ j si_handle_end /* 0EBEC8 802C7518 0040282D */ daddu $a1, $v0, $zero -/* 0EBECC 802C751C 0C0B1340 */ jal func_802C4D00 +/* 0EBECC 802C751C 0C0B1340 */ jal si_handle_if_less /* 0EBED0 802C7520 0200202D */ daddu $a0, $s0, $zero -/* 0EBED4 802C7524 080B1E95 */ j func_802C7A54 +/* 0EBED4 802C7524 080B1E95 */ j si_handle_end /* 0EBED8 802C7528 0040282D */ daddu $a1, $v0, $zero -/* 0EBEDC 802C752C 0C0B1359 */ jal func_802C4D64 +/* 0EBEDC 802C752C 0C0B1359 */ jal si_handle_if_greater /* 0EBEE0 802C7530 0200202D */ daddu $a0, $s0, $zero -/* 0EBEE4 802C7534 080B1E95 */ j func_802C7A54 +/* 0EBEE4 802C7534 080B1E95 */ j si_handle_end /* 0EBEE8 802C7538 0040282D */ daddu $a1, $v0, $zero -/* 0EBEEC 802C753C 0C0B1372 */ jal func_802C4DC8 +/* 0EBEEC 802C753C 0C0B1372 */ jal si_handle_if_less_equal /* 0EBEF0 802C7540 0200202D */ daddu $a0, $s0, $zero -/* 0EBEF4 802C7544 080B1E95 */ j func_802C7A54 +/* 0EBEF4 802C7544 080B1E95 */ j si_handle_end /* 0EBEF8 802C7548 0040282D */ daddu $a1, $v0, $zero -/* 0EBEFC 802C754C 0C0B138B */ jal func_802C4E2C +/* 0EBEFC 802C754C 0C0B138B */ jal si_handle_if_greater_equal /* 0EBF00 802C7550 0200202D */ daddu $a0, $s0, $zero -/* 0EBF04 802C7554 080B1E95 */ j func_802C7A54 +/* 0EBF04 802C7554 080B1E95 */ j si_handle_end /* 0EBF08 802C7558 0040282D */ daddu $a1, $v0, $zero -/* 0EBF0C 802C755C 0C0B13A4 */ jal func_802C4E90 +/* 0EBF0C 802C755C 0C0B13A4 */ jal si_handle_if_AND /* 0EBF10 802C7560 0200202D */ daddu $a0, $s0, $zero -/* 0EBF14 802C7564 080B1E95 */ j func_802C7A54 +/* 0EBF14 802C7564 080B1E95 */ j si_handle_end /* 0EBF18 802C7568 0040282D */ daddu $a1, $v0, $zero -/* 0EBF1C 802C756C 0C0B13BA */ jal func_802C4EE8 +/* 0EBF1C 802C756C 0C0B13BA */ jal si_handle_if_not_AND /* 0EBF20 802C7570 0200202D */ daddu $a0, $s0, $zero -/* 0EBF24 802C7574 080B1E95 */ j func_802C7A54 +/* 0EBF24 802C7574 080B1E95 */ j si_handle_end /* 0EBF28 802C7578 0040282D */ daddu $a1, $v0, $zero -/* 0EBF2C 802C757C 0C0B13D0 */ jal func_802C4F40 +/* 0EBF2C 802C757C 0C0B13D0 */ jal si_handle_else /* 0EBF30 802C7580 0200202D */ daddu $a0, $s0, $zero -/* 0EBF34 802C7584 080B1E95 */ j func_802C7A54 +/* 0EBF34 802C7584 080B1E95 */ j si_handle_end /* 0EBF38 802C7588 0040282D */ daddu $a1, $v0, $zero -/* 0EBF3C 802C758C 0C0B13DB */ jal func_802C4F6C +/* 0EBF3C 802C758C 0C0B13DB */ jal si_handle_end_if /* 0EBF40 802C7590 0200202D */ daddu $a0, $s0, $zero -/* 0EBF44 802C7594 080B1E95 */ j func_802C7A54 +/* 0EBF44 802C7594 080B1E95 */ j si_handle_end /* 0EBF48 802C7598 0040282D */ daddu $a1, $v0, $zero -/* 0EBF4C 802C759C 0C0B13DD */ jal func_802C4F74 +/* 0EBF4C 802C759C 0C0B13DD */ jal si_handle_switch /* 0EBF50 802C75A0 0200202D */ daddu $a0, $s0, $zero -/* 0EBF54 802C75A4 080B1E95 */ j func_802C7A54 +/* 0EBF54 802C75A4 080B1E95 */ j si_handle_end /* 0EBF58 802C75A8 0040282D */ daddu $a1, $v0, $zero -/* 0EBF5C 802C75AC 0C0B13F9 */ jal func_802C4FE4 +/* 0EBF5C 802C75AC 0C0B13F9 */ jal si_handle_switch_const /* 0EBF60 802C75B0 0200202D */ daddu $a0, $s0, $zero -/* 0EBF64 802C75B4 080B1E95 */ j func_802C7A54 +/* 0EBF64 802C75B4 080B1E95 */ j si_handle_end /* 0EBF68 802C75B8 0040282D */ daddu $a1, $v0, $zero -/* 0EBF6C 802C75BC 0C0B140C */ jal func_802C5030 +/* 0EBF6C 802C75BC 0C0B140C */ jal si_handle_case_equal /* 0EBF70 802C75C0 0200202D */ daddu $a0, $s0, $zero -/* 0EBF74 802C75C4 080B1E95 */ j func_802C7A54 +/* 0EBF74 802C75C4 080B1E95 */ j si_handle_end /* 0EBF78 802C75C8 0040282D */ daddu $a1, $v0, $zero -/* 0EBF7C 802C75CC 0C0B142F */ jal func_802C50BC +/* 0EBF7C 802C75CC 0C0B142F */ jal si_handle_case_not_equal /* 0EBF80 802C75D0 0200202D */ daddu $a0, $s0, $zero -/* 0EBF84 802C75D4 080B1E95 */ j func_802C7A54 +/* 0EBF84 802C75D4 080B1E95 */ j si_handle_end /* 0EBF88 802C75D8 0040282D */ daddu $a1, $v0, $zero -/* 0EBF8C 802C75DC 0C0B1452 */ jal func_802C5148 +/* 0EBF8C 802C75DC 0C0B1452 */ jal si_handle_case_less /* 0EBF90 802C75E0 0200202D */ daddu $a0, $s0, $zero -/* 0EBF94 802C75E4 080B1E95 */ j func_802C7A54 +/* 0EBF94 802C75E4 080B1E95 */ j si_handle_end /* 0EBF98 802C75E8 0040282D */ daddu $a1, $v0, $zero -/* 0EBF9C 802C75EC 0C0B1476 */ jal func_802C51D8 +/* 0EBF9C 802C75EC 0C0B1476 */ jal si_handle_case_less_equal /* 0EBFA0 802C75F0 0200202D */ daddu $a0, $s0, $zero -/* 0EBFA4 802C75F4 080B1E95 */ j func_802C7A54 +/* 0EBFA4 802C75F4 080B1E95 */ j si_handle_end /* 0EBFA8 802C75F8 0040282D */ daddu $a1, $v0, $zero -/* 0EBFAC 802C75FC 0C0B149A */ jal func_802C5268 +/* 0EBFAC 802C75FC 0C0B149A */ jal si_handle_case_greater /* 0EBFB0 802C7600 0200202D */ daddu $a0, $s0, $zero -/* 0EBFB4 802C7604 080B1E95 */ j func_802C7A54 +/* 0EBFB4 802C7604 080B1E95 */ j si_handle_end /* 0EBFB8 802C7608 0040282D */ daddu $a1, $v0, $zero -/* 0EBFBC 802C760C 0C0B14BE */ jal func_802C52F8 +/* 0EBFBC 802C760C 0C0B14BE */ jal si_handle_case_greater_equal /* 0EBFC0 802C7610 0200202D */ daddu $a0, $s0, $zero -/* 0EBFC4 802C7614 080B1E95 */ j func_802C7A54 +/* 0EBFC4 802C7614 080B1E95 */ j si_handle_end /* 0EBFC8 802C7618 0040282D */ daddu $a1, $v0, $zero -/* 0EBFCC 802C761C 0C0B1511 */ jal func_802C5444 +/* 0EBFCC 802C761C 0C0B1511 */ jal si_handle_case_default /* 0EBFD0 802C7620 0200202D */ daddu $a0, $s0, $zero -/* 0EBFD4 802C7624 080B1E95 */ j func_802C7A54 +/* 0EBFD4 802C7624 080B1E95 */ j si_handle_end /* 0EBFD8 802C7628 0040282D */ daddu $a1, $v0, $zero -/* 0EBFDC 802C762C 0C0B15B5 */ jal func_802C56D4 +/* 0EBFDC 802C762C 0C0B15B5 */ jal si_handle_break_case /* 0EBFE0 802C7630 0200202D */ daddu $a0, $s0, $zero -/* 0EBFE4 802C7634 080B1E95 */ j func_802C7A54 +/* 0EBFE4 802C7634 080B1E95 */ j si_handle_end /* 0EBFE8 802C7638 0040282D */ daddu $a1, $v0, $zero -/* 0EBFEC 802C763C 0C0B1546 */ jal func_802C5518 +/* 0EBFEC 802C763C 0C0B1546 */ jal si_handle_case_equal_OR /* 0EBFF0 802C7640 0200202D */ daddu $a0, $s0, $zero -/* 0EBFF4 802C7644 080B1E95 */ j func_802C7A54 +/* 0EBFF4 802C7644 080B1E95 */ j si_handle_end /* 0EBFF8 802C7648 0040282D */ daddu $a1, $v0, $zero -/* 0EBFFC 802C764C 0C0B1597 */ jal func_802C565C +/* 0EBFFC 802C764C 0C0B1597 */ jal si_handle_end_case_group /* 0EC000 802C7650 0200202D */ daddu $a0, $s0, $zero -/* 0EC004 802C7654 080B1E95 */ j func_802C7A54 +/* 0EC004 802C7654 080B1E95 */ j si_handle_end /* 0EC008 802C7658 0040282D */ daddu $a1, $v0, $zero -/* 0EC00C 802C765C 0C0B156E */ jal func_802C55B8 +/* 0EC00C 802C765C 0C0B156E */ jal si_handle_case_equal_AND /* 0EC010 802C7660 0200202D */ daddu $a0, $s0, $zero -/* 0EC014 802C7664 080B1E95 */ j func_802C7A54 +/* 0EC014 802C7664 080B1E95 */ j si_handle_end /* 0EC018 802C7668 0040282D */ daddu $a1, $v0, $zero -/* 0EC01C 802C766C 0C0B1527 */ jal func_802C549C +/* 0EC01C 802C766C 0C0B1527 */ jal si_handle_case_AND /* 0EC020 802C7670 0200202D */ daddu $a0, $s0, $zero -/* 0EC024 802C7674 080B1E95 */ j func_802C7A54 +/* 0EC024 802C7674 080B1E95 */ j si_handle_end /* 0EC028 802C7678 0040282D */ daddu $a1, $v0, $zero -/* 0EC02C 802C767C 0C0B14E2 */ jal func_802C5388 +/* 0EC02C 802C767C 0C0B14E2 */ jal si_handle_case_range /* 0EC030 802C7680 0200202D */ daddu $a0, $s0, $zero -/* 0EC034 802C7684 080B1E95 */ j func_802C7A54 +/* 0EC034 802C7684 080B1E95 */ j si_handle_end /* 0EC038 802C7688 0040282D */ daddu $a1, $v0, $zero -/* 0EC03C 802C768C 0C0B15C6 */ jal func_802C5718 +/* 0EC03C 802C768C 0C0B15C6 */ jal si_handle_end_switch /* 0EC040 802C7690 0200202D */ daddu $a0, $s0, $zero -/* 0EC044 802C7694 080B1E95 */ j func_802C7A54 +/* 0EC044 802C7694 080B1E95 */ j si_handle_end /* 0EC048 802C7698 0040282D */ daddu $a1, $v0, $zero -/* 0EC04C 802C769C 0C0B15D1 */ jal func_802C5744 +/* 0EC04C 802C769C 0C0B15D1 */ jal si_handle_set_var /* 0EC050 802C76A0 0200202D */ daddu $a0, $s0, $zero -/* 0EC054 802C76A4 080B1E95 */ j func_802C7A54 +/* 0EC054 802C76A4 080B1E95 */ j si_handle_end /* 0EC058 802C76A8 0040282D */ daddu $a1, $v0, $zero -/* 0EC05C 802C76AC 0C0B15E4 */ jal func_802C5790 +/* 0EC05C 802C76AC 0C0B15E4 */ jal si_handle_set_const /* 0EC060 802C76B0 0200202D */ daddu $a0, $s0, $zero -/* 0EC064 802C76B4 080B1E95 */ j func_802C7A54 +/* 0EC064 802C76B4 080B1E95 */ j si_handle_end /* 0EC068 802C76B8 0040282D */ daddu $a1, $v0, $zero -/* 0EC06C 802C76BC 0C0B15EE */ jal func_802C57B8 +/* 0EC06C 802C76BC 0C0B15EE */ jal si_handle_set_float /* 0EC070 802C76C0 0200202D */ daddu $a0, $s0, $zero -/* 0EC074 802C76C4 080B1E95 */ j func_802C7A54 +/* 0EC074 802C76C4 080B1E95 */ j si_handle_end /* 0EC078 802C76C8 0040282D */ daddu $a1, $v0, $zero -/* 0EC07C 802C76CC 0C0B1601 */ jal func_802C5804 +/* 0EC07C 802C76CC 0C0B1601 */ jal si_handle_add /* 0EC080 802C76D0 0200202D */ daddu $a0, $s0, $zero -/* 0EC084 802C76D4 080B1E95 */ j func_802C7A54 +/* 0EC084 802C76D4 080B1E95 */ j si_handle_end /* 0EC088 802C76D8 0040282D */ daddu $a1, $v0, $zero -/* 0EC08C 802C76DC 0C0B161A */ jal func_802C5868 +/* 0EC08C 802C76DC 0C0B161A */ jal si_handle_subtract /* 0EC090 802C76E0 0200202D */ daddu $a0, $s0, $zero -/* 0EC094 802C76E4 080B1E95 */ j func_802C7A54 +/* 0EC094 802C76E4 080B1E95 */ j si_handle_end /* 0EC098 802C76E8 0040282D */ daddu $a1, $v0, $zero -/* 0EC09C 802C76EC 0C0B1633 */ jal func_802C58CC +/* 0EC09C 802C76EC 0C0B1633 */ jal si_handle_multiply /* 0EC0A0 802C76F0 0200202D */ daddu $a0, $s0, $zero -/* 0EC0A4 802C76F4 080B1E95 */ j func_802C7A54 +/* 0EC0A4 802C76F4 080B1E95 */ j si_handle_end /* 0EC0A8 802C76F8 0040282D */ daddu $a1, $v0, $zero -/* 0EC0AC 802C76FC 0C0B164D */ jal func_802C5934 +/* 0EC0AC 802C76FC 0C0B164D */ jal si_handle_divide /* 0EC0B0 802C7700 0200202D */ daddu $a0, $s0, $zero -/* 0EC0B4 802C7704 080B1E95 */ j func_802C7A54 +/* 0EC0B4 802C7704 080B1E95 */ j si_handle_end /* 0EC0B8 802C7708 0040282D */ daddu $a1, $v0, $zero -/* 0EC0BC 802C770C 0C0B166F */ jal func_802C59BC +/* 0EC0BC 802C770C 0C0B166F */ jal si_handle_mod /* 0EC0C0 802C7710 0200202D */ daddu $a0, $s0, $zero -/* 0EC0C4 802C7714 080B1E95 */ j func_802C7A54 +/* 0EC0C4 802C7714 080B1E95 */ j si_handle_end /* 0EC0C8 802C7718 0040282D */ daddu $a1, $v0, $zero -/* 0EC0CC 802C771C 0C0B16A1 */ jal func_802C5A84 +/* 0EC0CC 802C771C 0C0B16A1 */ jal si_handle_addF /* 0EC0D0 802C7720 0200202D */ daddu $a0, $s0, $zero -/* 0EC0D4 802C7724 080B1E95 */ j func_802C7A54 +/* 0EC0D4 802C7724 080B1E95 */ j si_handle_end /* 0EC0D8 802C7728 0040282D */ daddu $a1, $v0, $zero -/* 0EC0DC 802C772C 0C0B16BB */ jal func_802C5AEC +/* 0EC0DC 802C772C 0C0B16BB */ jal si_handle_subtractF /* 0EC0E0 802C7730 0200202D */ daddu $a0, $s0, $zero -/* 0EC0E4 802C7734 080B1E95 */ j func_802C7A54 +/* 0EC0E4 802C7734 080B1E95 */ j si_handle_end /* 0EC0E8 802C7738 0040282D */ daddu $a1, $v0, $zero -/* 0EC0EC 802C773C 0C0B16D5 */ jal func_802C5B54 +/* 0EC0EC 802C773C 0C0B16D5 */ jal si_handle_multiplyF /* 0EC0F0 802C7740 0200202D */ daddu $a0, $s0, $zero -/* 0EC0F4 802C7744 080B1E95 */ j func_802C7A54 +/* 0EC0F4 802C7744 080B1E95 */ j si_handle_end /* 0EC0F8 802C7748 0040282D */ daddu $a1, $v0, $zero -/* 0EC0FC 802C774C 0C0B16F0 */ jal func_802C5BC0 +/* 0EC0FC 802C774C 0C0B16F0 */ jal si_handle_divideF /* 0EC100 802C7750 0200202D */ daddu $a0, $s0, $zero -/* 0EC104 802C7754 080B1E95 */ j func_802C7A54 +/* 0EC104 802C7754 080B1E95 */ j si_handle_end /* 0EC108 802C7758 0040282D */ daddu $a1, $v0, $zero -/* 0EC10C 802C775C 0C0B170A */ jal func_802C5C28 +/* 0EC10C 802C775C 0C0B170A */ jal si_handle_set_int_buffer_ptr /* 0EC110 802C7760 0200202D */ daddu $a0, $s0, $zero -/* 0EC114 802C7764 080B1E95 */ j func_802C7A54 +/* 0EC114 802C7764 080B1E95 */ j si_handle_end /* 0EC118 802C7768 0040282D */ daddu $a1, $v0, $zero -/* 0EC11C 802C776C 0C0B1724 */ jal func_802C5C90 +/* 0EC11C 802C776C 0C0B1724 */ jal si_handle_get_1_word /* 0EC120 802C7770 0200202D */ daddu $a0, $s0, $zero -/* 0EC124 802C7774 080B1E95 */ j func_802C7A54 +/* 0EC124 802C7774 080B1E95 */ j si_handle_end /* 0EC128 802C7778 0040282D */ daddu $a1, $v0, $zero -/* 0EC12C 802C777C 0C0B1731 */ jal func_802C5CC4 +/* 0EC12C 802C777C 0C0B1731 */ jal si_handle_get_2_word /* 0EC130 802C7780 0200202D */ daddu $a0, $s0, $zero -/* 0EC134 802C7784 080B1E95 */ j func_802C7A54 +/* 0EC134 802C7784 080B1E95 */ j si_handle_end /* 0EC138 802C7788 0040282D */ daddu $a1, $v0, $zero -/* 0EC13C 802C778C 0C0B174B */ jal func_802C5D2C +/* 0EC13C 802C778C 0C0B174B */ jal si_handle_get_3_word /* 0EC140 802C7790 0200202D */ daddu $a0, $s0, $zero -/* 0EC144 802C7794 080B1E95 */ j func_802C7A54 +/* 0EC144 802C7794 080B1E95 */ j si_handle_end /* 0EC148 802C7798 0040282D */ daddu $a1, $v0, $zero -/* 0EC14C 802C779C 0C0B176D */ jal func_802C5DB4 +/* 0EC14C 802C779C 0C0B176D */ jal si_handle_get_4_word /* 0EC150 802C77A0 0200202D */ daddu $a0, $s0, $zero -/* 0EC154 802C77A4 080B1E95 */ j func_802C7A54 +/* 0EC154 802C77A4 080B1E95 */ j si_handle_end /* 0EC158 802C77A8 0040282D */ daddu $a1, $v0, $zero -/* 0EC15C 802C77AC 0C0B1797 */ jal func_802C5E5C +/* 0EC15C 802C77AC 0C0B1797 */ jal si_handle_get_Nth_word /* 0EC160 802C77B0 0200202D */ daddu $a0, $s0, $zero -/* 0EC164 802C77B4 080B1E95 */ j func_802C7A54 +/* 0EC164 802C77B4 080B1E95 */ j si_handle_end /* 0EC168 802C77B8 0040282D */ daddu $a1, $v0, $zero -/* 0EC16C 802C77BC 0C0B1717 */ jal func_802C5C5C +/* 0EC16C 802C77BC 0C0B1717 */ jal si_handle_set_float_buffer_ptr /* 0EC170 802C77C0 0200202D */ daddu $a0, $s0, $zero -/* 0EC174 802C77C4 080B1E95 */ j func_802C7A54 +/* 0EC174 802C77C4 080B1E95 */ j si_handle_end /* 0EC178 802C77C8 0040282D */ daddu $a1, $v0, $zero -/* 0EC17C 802C77CC 0C0B17AD */ jal func_802C5EB4 +/* 0EC17C 802C77CC 0C0B17AD */ jal si_handle_get_1_float /* 0EC180 802C77D0 0200202D */ daddu $a0, $s0, $zero -/* 0EC184 802C77D4 080B1E95 */ j func_802C7A54 +/* 0EC184 802C77D4 080B1E95 */ j si_handle_end /* 0EC188 802C77D8 0040282D */ daddu $a1, $v0, $zero -/* 0EC18C 802C77DC 0C0B17C3 */ jal func_802C5F0C +/* 0EC18C 802C77DC 0C0B17C3 */ jal si_handle_get_2_float /* 0EC190 802C77E0 0200202D */ daddu $a0, $s0, $zero -/* 0EC194 802C77E4 080B1E95 */ j func_802C7A54 +/* 0EC194 802C77E4 080B1E95 */ j si_handle_end /* 0EC198 802C77E8 0040282D */ daddu $a1, $v0, $zero -/* 0EC19C 802C77EC 0C0B17E7 */ jal func_802C5F9C +/* 0EC19C 802C77EC 0C0B17E7 */ jal si_handle_get_3_float /* 0EC1A0 802C77F0 0200202D */ daddu $a0, $s0, $zero -/* 0EC1A4 802C77F4 080B1E95 */ j func_802C7A54 +/* 0EC1A4 802C77F4 080B1E95 */ j si_handle_end /* 0EC1A8 802C77F8 0040282D */ daddu $a1, $v0, $zero -/* 0EC1AC 802C77FC 0C0B1817 */ jal func_802C605C +/* 0EC1AC 802C77FC 0C0B1817 */ jal si_handle_get_4_float /* 0EC1B0 802C7800 0200202D */ daddu $a0, $s0, $zero -/* 0EC1B4 802C7804 080B1E95 */ j func_802C7A54 +/* 0EC1B4 802C7804 080B1E95 */ j si_handle_end /* 0EC1B8 802C7808 0040282D */ daddu $a1, $v0, $zero -/* 0EC1BC 802C780C 0C0B1853 */ jal func_802C614C +/* 0EC1BC 802C780C 0C0B1853 */ jal si_handle_get_Nth_float /* 0EC1C0 802C7810 0200202D */ daddu $a0, $s0, $zero -/* 0EC1C4 802C7814 080B1E95 */ j func_802C7A54 +/* 0EC1C4 802C7814 080B1E95 */ j si_handle_end /* 0EC1C8 802C7818 0040282D */ daddu $a1, $v0, $zero -/* 0EC1CC 802C781C 0C0B186B */ jal func_802C61AC +/* 0EC1CC 802C781C 0C0B186B */ jal si_handle_set_array /* 0EC1D0 802C7820 0200202D */ daddu $a0, $s0, $zero -/* 0EC1D4 802C7824 080B1E95 */ j func_802C7A54 +/* 0EC1D4 802C7824 080B1E95 */ j si_handle_end /* 0EC1D8 802C7828 0040282D */ daddu $a1, $v0, $zero -/* 0EC1DC 802C782C 0C0B1878 */ jal func_802C61E0 +/* 0EC1DC 802C782C 0C0B1878 */ jal si_handle_set_flag_array /* 0EC1E0 802C7830 0200202D */ daddu $a0, $s0, $zero -/* 0EC1E4 802C7834 080B1E95 */ j func_802C7A54 +/* 0EC1E4 802C7834 080B1E95 */ j si_handle_end /* 0EC1E8 802C7838 0040282D */ daddu $a1, $v0, $zero -/* 0EC1EC 802C783C 0C0B1885 */ jal func_802C6214 +/* 0EC1EC 802C783C 0C0B1885 */ jal si_handle_allocate_array /* 0EC1F0 802C7840 0200202D */ daddu $a0, $s0, $zero -/* 0EC1F4 802C7844 080B1E95 */ j func_802C7A54 +/* 0EC1F4 802C7844 080B1E95 */ j si_handle_end /* 0EC1F8 802C7848 0040282D */ daddu $a1, $v0, $zero -/* 0EC1FC 802C784C 0C0B1A1C */ jal func_802C6870 +/* 0EC1FC 802C784C 0C0B1A1C */ jal si_handle_kill /* 0EC200 802C7850 0200202D */ daddu $a0, $s0, $zero -/* 0EC204 802C7854 080B1E95 */ j func_802C7A54 +/* 0EC204 802C7854 080B1E95 */ j si_handle_end /* 0EC208 802C7858 0040282D */ daddu $a1, $v0, $zero -/* 0EC20C 802C785C 0C0B189C */ jal func_802C6270 +/* 0EC20C 802C785C 0C0B189C */ jal si_handle_AND /* 0EC210 802C7860 0200202D */ daddu $a0, $s0, $zero -/* 0EC214 802C7864 080B1E95 */ j func_802C7A54 +/* 0EC214 802C7864 080B1E95 */ j si_handle_end /* 0EC218 802C7868 0040282D */ daddu $a1, $v0, $zero -/* 0EC21C 802C786C 0C0B18B5 */ jal func_802C62D4 +/* 0EC21C 802C786C 0C0B18B5 */ jal si_handle_AND_const /* 0EC220 802C7870 0200202D */ daddu $a0, $s0, $zero -/* 0EC224 802C7874 080B1E95 */ j func_802C7A54 +/* 0EC224 802C7874 080B1E95 */ j si_handle_end /* 0EC228 802C7878 0040282D */ daddu $a1, $v0, $zero -/* 0EC22C 802C787C 0C0B18CB */ jal func_802C632C +/* 0EC22C 802C787C 0C0B18CB */ jal si_handle_OR /* 0EC230 802C7880 0200202D */ daddu $a0, $s0, $zero -/* 0EC234 802C7884 080B1E95 */ j func_802C7A54 +/* 0EC234 802C7884 080B1E95 */ j si_handle_end /* 0EC238 802C7888 0040282D */ daddu $a1, $v0, $zero -/* 0EC23C 802C788C 0C0B18E4 */ jal func_802C6390 +/* 0EC23C 802C788C 0C0B18E4 */ jal si_handle_OR_const /* 0EC240 802C7890 0200202D */ daddu $a0, $s0, $zero -/* 0EC244 802C7894 080B1E95 */ j func_802C7A54 +/* 0EC244 802C7894 080B1E95 */ j si_handle_end /* 0EC248 802C7898 0040282D */ daddu $a1, $v0, $zero -/* 0EC24C 802C789C 0C0B18FA */ jal func_802C63E8 +/* 0EC24C 802C789C 0C0B18FA */ jal si_handle_call /* 0EC250 802C78A0 0200202D */ daddu $a0, $s0, $zero -/* 0EC254 802C78A4 080B1E95 */ j func_802C7A54 +/* 0EC254 802C78A4 080B1E95 */ j si_handle_end /* 0EC258 802C78A8 0040282D */ daddu $a1, $v0, $zero -/* 0EC25C 802C78AC 0C0B191B */ jal func_802C646C +/* 0EC25C 802C78AC 0C0B191B */ jal si_handle_exec1 /* 0EC260 802C78B0 0200202D */ daddu $a0, $s0, $zero -/* 0EC264 802C78B4 080B1E95 */ j func_802C7A54 +/* 0EC264 802C78B4 080B1E95 */ j si_handle_end /* 0EC268 802C78B8 0040282D */ daddu $a1, $v0, $zero -/* 0EC26C 802C78BC 0C0B1949 */ jal func_802C6524 +/* 0EC26C 802C78BC 0C0B1949 */ jal si_handle_exec2 /* 0EC270 802C78C0 0200202D */ daddu $a0, $s0, $zero -/* 0EC274 802C78C4 080B1E95 */ j func_802C7A54 +/* 0EC274 802C78C4 080B1E95 */ j si_handle_end /* 0EC278 802C78C8 0040282D */ daddu $a1, $v0, $zero -/* 0EC27C 802C78CC 0C0B197F */ jal func_802C65FC +/* 0EC27C 802C78CC 0C0B197F */ jal si_handle_exec_wait /* 0EC280 802C78D0 0200202D */ daddu $a0, $s0, $zero -/* 0EC284 802C78D4 080B1E95 */ j func_802C7A54 +/* 0EC284 802C78D4 080B1E95 */ j si_handle_end /* 0EC288 802C78D8 0040282D */ daddu $a1, $v0, $zero -/* 0EC28C 802C78DC 0C0B19C5 */ jal func_802C6714 +/* 0EC28C 802C78DC 0C0B19C5 */ jal si_handle_bind /* 0EC290 802C78E0 0200202D */ daddu $a0, $s0, $zero -/* 0EC294 802C78E4 080B1E95 */ j func_802C7A54 +/* 0EC294 802C78E4 080B1E95 */ j si_handle_end /* 0EC298 802C78E8 0040282D */ daddu $a1, $v0, $zero -/* 0EC29C 802C78EC 0C0B1A14 */ jal func_802C6850 +/* 0EC29C 802C78EC 0C0B1A14 */ jal si_handle_unbind /* 0EC2A0 802C78F0 0200202D */ daddu $a0, $s0, $zero -/* 0EC2A4 802C78F4 080B1E95 */ j func_802C7A54 +/* 0EC2A4 802C78F4 080B1E95 */ j si_handle_end /* 0EC2A8 802C78F8 0040282D */ daddu $a1, $v0, $zero -/* 0EC2AC 802C78FC 0C0B1A27 */ jal func_802C689C +/* 0EC2AC 802C78FC 0C0B1A27 */ jal si_handle_set_priority /* 0EC2B0 802C7900 0200202D */ daddu $a0, $s0, $zero -/* 0EC2B4 802C7904 080B1E95 */ j func_802C7A54 +/* 0EC2B4 802C7904 080B1E95 */ j si_handle_end /* 0EC2B8 802C7908 0040282D */ daddu $a1, $v0, $zero -/* 0EC2BC 802C790C 0C0B1A36 */ jal func_802C68D8 +/* 0EC2BC 802C790C 0C0B1A36 */ jal si_handle_set_timescale /* 0EC2C0 802C7910 0200202D */ daddu $a0, $s0, $zero -/* 0EC2C4 802C7914 080B1E95 */ j func_802C7A54 +/* 0EC2C4 802C7914 080B1E95 */ j si_handle_end /* 0EC2C8 802C7918 0040282D */ daddu $a1, $v0, $zero -/* 0EC2CC 802C791C 0C0B1A45 */ jal func_802C6914 +/* 0EC2CC 802C791C 0C0B1A45 */ jal si_handle_set_group /* 0EC2D0 802C7920 0200202D */ daddu $a0, $s0, $zero -/* 0EC2D4 802C7924 080B1E95 */ j func_802C7A54 +/* 0EC2D4 802C7924 080B1E95 */ j si_handle_end /* 0EC2D8 802C7928 0040282D */ daddu $a1, $v0, $zero -/* 0EC2DC 802C792C 0C0B1990 */ jal func_802C6640 +/* 0EC2DC 802C792C 0C0B1990 */ jal si_handle_jump /* 0EC2E0 802C7930 0200202D */ daddu $a0, $s0, $zero -/* 0EC2E4 802C7934 080B1E95 */ j func_802C7A54 +/* 0EC2E4 802C7934 080B1E95 */ j si_handle_end /* 0EC2E8 802C7938 0040282D */ daddu $a1, $v0, $zero -/* 0EC2EC 802C793C 0C0B1AD5 */ jal func_802C6B54 +/* 0EC2EC 802C793C 0C0B1AD5 */ jal si_handle_bind_lock /* 0EC2F0 802C7940 0200202D */ daddu $a0, $s0, $zero -/* 0EC2F4 802C7944 080B1E95 */ j func_802C7A54 +/* 0EC2F4 802C7944 080B1E95 */ j si_handle_end /* 0EC2F8 802C7948 0040282D */ daddu $a1, $v0, $zero -/* 0EC2FC 802C794C 0C0B1A54 */ jal func_802C6950 +/* 0EC2FC 802C794C 0C0B1A54 */ jal si_handle_suspend_all /* 0EC300 802C7950 0200202D */ daddu $a0, $s0, $zero -/* 0EC304 802C7954 080B1E95 */ j func_802C7A54 +/* 0EC304 802C7954 080B1E95 */ j si_handle_end /* 0EC308 802C7958 0040282D */ daddu $a1, $v0, $zero -/* 0EC30C 802C795C 0C0B1A5F */ jal func_802C697C +/* 0EC30C 802C795C 0C0B1A5F */ jal si_handle_resume_all /* 0EC310 802C7960 0200202D */ daddu $a0, $s0, $zero -/* 0EC314 802C7964 080B1E95 */ j func_802C7A54 +/* 0EC314 802C7964 080B1E95 */ j si_handle_end /* 0EC318 802C7968 0040282D */ daddu $a1, $v0, $zero -/* 0EC31C 802C796C 0C0B1A6A */ jal func_802C69A8 +/* 0EC31C 802C796C 0C0B1A6A */ jal si_handle_suspend_others /* 0EC320 802C7970 0200202D */ daddu $a0, $s0, $zero -/* 0EC324 802C7974 080B1E95 */ j func_802C7A54 +/* 0EC324 802C7974 080B1E95 */ j si_handle_end /* 0EC328 802C7978 0040282D */ daddu $a1, $v0, $zero -/* 0EC32C 802C797C 0C0B1A79 */ jal func_802C69E4 +/* 0EC32C 802C797C 0C0B1A79 */ jal si_handle_resume_others /* 0EC330 802C7980 0200202D */ daddu $a0, $s0, $zero -/* 0EC334 802C7984 080B1E95 */ j func_802C7A54 +/* 0EC334 802C7984 080B1E95 */ j si_handle_end /* 0EC338 802C7988 0040282D */ daddu $a1, $v0, $zero -/* 0EC33C 802C798C 0C0B1A88 */ jal func_802C6A20 +/* 0EC33C 802C798C 0C0B1A88 */ jal si_handle_suspend /* 0EC340 802C7990 0200202D */ daddu $a0, $s0, $zero -/* 0EC344 802C7994 080B1E95 */ j func_802C7A54 +/* 0EC344 802C7994 080B1E95 */ j si_handle_end /* 0EC348 802C7998 0040282D */ daddu $a1, $v0, $zero -/* 0EC34C 802C799C 0C0B1A93 */ jal func_802C6A4C +/* 0EC34C 802C799C 0C0B1A93 */ jal si_handle_resume /* 0EC350 802C79A0 0200202D */ daddu $a0, $s0, $zero -/* 0EC354 802C79A4 080B1E95 */ j func_802C7A54 +/* 0EC354 802C79A4 080B1E95 */ j si_handle_end /* 0EC358 802C79A8 0040282D */ daddu $a1, $v0, $zero -/* 0EC35C 802C79AC 0C0B1A9E */ jal func_802C6A78 +/* 0EC35C 802C79AC 0C0B1A9E */ jal si_handle_does_script_exist /* 0EC360 802C79B0 0200202D */ daddu $a0, $s0, $zero -/* 0EC364 802C79B4 080B1E95 */ j func_802C7A54 +/* 0EC364 802C79B4 080B1E95 */ j si_handle_end /* 0EC368 802C79B8 0040282D */ daddu $a1, $v0, $zero -/* 0EC36C 802C79BC 0C0B1B1E */ jal func_802C6C78 +/* 0EC36C 802C79BC 0C0B1B1E */ jal si_handle_thread /* 0EC370 802C79C0 0200202D */ daddu $a0, $s0, $zero -/* 0EC374 802C79C4 080B1E95 */ j func_802C7A54 +/* 0EC374 802C79C4 080B1E95 */ j si_handle_end /* 0EC378 802C79C8 0040282D */ daddu $a1, $v0, $zero -/* 0EC37C 802C79CC 0C0B1B53 */ jal func_802C6D4C +/* 0EC37C 802C79CC 0C0B1B53 */ jal si_handle_end_thread /* 0EC380 802C79D0 0200202D */ daddu $a0, $s0, $zero -/* 0EC384 802C79D4 080B1E95 */ j func_802C7A54 +/* 0EC384 802C79D4 080B1E95 */ j si_handle_end /* 0EC388 802C79D8 0040282D */ daddu $a1, $v0, $zero -/* 0EC38C 802C79DC 0C0B1B5B */ jal func_802C6D6C +/* 0EC38C 802C79DC 0C0B1B5B */ jal si_handle_child_thread /* 0EC390 802C79E0 0200202D */ daddu $a0, $s0, $zero -/* 0EC394 802C79E4 080B1E95 */ j func_802C7A54 +/* 0EC394 802C79E4 080B1E95 */ j si_handle_end /* 0EC398 802C79E8 0040282D */ daddu $a1, $v0, $zero -/* 0EC39C 802C79EC 0C0B1B7D */ jal func_802C6DF4 +/* 0EC39C 802C79EC 0C0B1B7D */ jal si_handle_end_child_thread /* 0EC3A0 802C79F0 0200202D */ daddu $a0, $s0, $zero -/* 0EC3A4 802C79F4 080B1E95 */ j func_802C7A54 +/* 0EC3A4 802C79F4 080B1E95 */ j si_handle_end /* 0EC3A8 802C79F8 0040282D */ daddu $a1, $v0, $zero /* 0EC3AC 802C79FC 0C0B1B85 */ jal func_802C6E14 /* 0EC3B0 802C7A00 0200202D */ daddu $a0, $s0, $zero -/* 0EC3B4 802C7A04 080B1E95 */ j func_802C7A54 +/* 0EC3B4 802C7A04 080B1E95 */ j si_handle_end /* 0EC3B8 802C7A08 0040282D */ daddu $a1, $v0, $zero -/* 0EC3BC 802C7A0C 0C0B1B87 */ jal func_802C6E1C +/* 0EC3BC 802C7A0C 0C0B1B87 */ jal si_handle_print_debug_var /* 0EC3C0 802C7A10 0200202D */ daddu $a0, $s0, $zero -/* 0EC3C4 802C7A14 080B1E95 */ j func_802C7A54 +/* 0EC3C4 802C7A14 080B1E95 */ j si_handle_end /* 0EC3C8 802C7A18 0040282D */ daddu $a1, $v0, $zero /* 0EC3CC 802C7A1C 0C0B1CE7 */ jal func_802C739C /* 0EC3D0 802C7A20 0200202D */ daddu $a0, $s0, $zero -/* 0EC3D4 802C7A24 080B1E95 */ j func_802C7A54 +/* 0EC3D4 802C7A24 080B1E95 */ j si_handle_end /* 0EC3D8 802C7A28 0040282D */ daddu $a1, $v0, $zero /* 0EC3DC 802C7A2C 0C0B1CEC */ jal func_802C73B0 /* 0EC3E0 802C7A30 0200202D */ daddu $a0, $s0, $zero -/* 0EC3E4 802C7A34 080B1E95 */ j func_802C7A54 +/* 0EC3E4 802C7A34 080B1E95 */ j si_handle_end /* 0EC3E8 802C7A38 0040282D */ daddu $a1, $v0, $zero /* 0EC3EC 802C7A3C 0C0B1CEE */ jal func_802C73B8 /* 0EC3F0 802C7A40 0200202D */ daddu $a0, $s0, $zero -/* 0EC3F4 802C7A44 080B1E95 */ j func_802C7A54 +/* 0EC3F4 802C7A44 080B1E95 */ j si_handle_end /* 0EC3F8 802C7A48 0040282D */ daddu $a1, $v0, $zero func_802C7A4C: @@ -3654,7 +3656,7 @@ func_802C7A4C: /* 0EC3FC 802C7A4C 080B1E93 */ j func_802C7A4C /* 0EC400 802C7A50 00000000 */ nop -func_802C7A54: +si_handle_end: /* 0EC404 802C7A54 24020003 */ addiu $v0, $zero, 3 /* 0EC408 802C7A58 10A2FE6E */ beq $a1, $v0, .L802C7414 /* 0EC40C 802C7A5C 240200FF */ addiu $v0, $zero, 0xff @@ -3686,7 +3688,7 @@ func_802C7AA8: /* 0EC464 802C7AB4 03E00008 */ jr $ra /* 0EC468 802C7AB8 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C7ABC: +get_variable: /* 0EC46C 802C7ABC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EC470 802C7AC0 3C07EFE8 */ lui $a3, 0xefe8 /* 0EC474 802C7AC4 34E72080 */ ori $a3, $a3, 0x2080 @@ -3702,7 +3704,7 @@ func_802C7ABC: /* 0EC49C 802C7AEC 00C5102A */ slt $v0, $a2, $a1 /* 0EC4A0 802C7AF0 14400007 */ bnez $v0, .L802C7B10 /* 0EC4A4 802C7AF4 3C02F414 */ lui $v0, 0xf414 -/* 0EC4A8 802C7AF8 0C0B1248 */ jal func_802C4920 +/* 0EC4A8 802C7AF8 0C0B1248 */ jal fixed_var_to_float /* 0EC4AC 802C7AFC 00A0202D */ daddu $a0, $a1, $zero /* 0EC4B0 802C7B00 4600008D */ trunc.w.s $f2, $f0 /* 0EC4B4 802C7B04 44021000 */ mfc1 $v0, $f2 @@ -3757,7 +3759,7 @@ func_802C7ABC: /* 0EC55C 802C7BAC 3C02F7A7 */ lui $v0, 0xf7a7 /* 0EC560 802C7BB0 3C040A21 */ lui $a0, 0xa21 /* 0EC564 802C7BB4 3484FE80 */ ori $a0, $a0, 0xfe80 -/* 0EC568 802C7BB8 0C05154E */ jal func_80145538 +/* 0EC568 802C7BB8 0C05154E */ jal get_global_byte /* 0EC56C 802C7BBC 00A42021 */ addu $a0, $a1, $a0 /* 0EC570 802C7BC0 080B1F67 */ j func_802C7D9C /* 0EC574 802C7BC4 00000000 */ nop @@ -3769,7 +3771,7 @@ func_802C7ABC: /* 0EC584 802C7BD4 3C02F8D8 */ lui $v0, 0xf8d8 /* 0EC588 802C7BD8 3C0408F0 */ lui $a0, 0x8f0 /* 0EC58C 802C7BDC 3484D180 */ ori $a0, $a0, 0xd180 -/* 0EC590 802C7BE0 0C051594 */ jal func_80145650 +/* 0EC590 802C7BE0 0C051594 */ jal get_area_byte /* 0EC594 802C7BE4 00A42021 */ addu $a0, $a1, $a0 /* 0EC598 802C7BE8 080B1F67 */ j func_802C7D9C /* 0EC59C 802C7BEC 00000000 */ nop @@ -3781,7 +3783,7 @@ func_802C7ABC: /* 0EC5AC 802C7BFC 3C02FA0A */ lui $v0, 0xfa0a /* 0EC5B0 802C7C00 3C0407BF */ lui $a0, 0x7bf /* 0EC5B4 802C7C04 3484A480 */ ori $a0, $a0, 0xa480 -/* 0EC5B8 802C7C08 0C05152F */ jal func_801454BC +/* 0EC5B8 802C7C08 0C05152F */ jal get_global_flag /* 0EC5BC 802C7C0C 00A42021 */ addu $a0, $a1, $a0 /* 0EC5C0 802C7C10 080B1F67 */ j func_802C7D9C /* 0EC5C4 802C7C14 00000000 */ nop @@ -3793,7 +3795,7 @@ func_802C7ABC: /* 0EC5D4 802C7C24 3C02FB3B */ lui $v0, 0xfb3b /* 0EC5D8 802C7C28 3C04068E */ lui $a0, 0x68e /* 0EC5DC 802C7C2C 34847780 */ ori $a0, $a0, 0x7780 -/* 0EC5E0 802C7C30 0C05157C */ jal func_801455F0 +/* 0EC5E0 802C7C30 0C05157C */ jal get_area_flag /* 0EC5E4 802C7C34 00A42021 */ addu $a0, $a1, $a0 /* 0EC5E8 802C7C38 080B1F67 */ j func_802C7D9C /* 0EC5EC 802C7C3C 00000000 */ nop @@ -3891,7 +3893,7 @@ func_802C7D78: func_802C7D7C: /* 0EC72C 802C7D7C 14400007 */ bnez $v0, .L802C7D9C /* 0EC730 802C7D80 00A0102D */ daddu $v0, $a1, $zero -/* 0EC734 802C7D84 0C0B1248 */ jal func_802C4920 +/* 0EC734 802C7D84 0C0B1248 */ jal fixed_var_to_float /* 0EC738 802C7D88 00A0202D */ daddu $a0, $a1, $zero /* 0EC73C 802C7D8C 4600008D */ trunc.w.s $f2, $f0 /* 0EC740 802C7D90 44051000 */ mfc1 $a1, $f2 @@ -3904,7 +3906,7 @@ func_802C7D9C: /* 0EC750 802C7DA0 03E00008 */ jr $ra /* 0EC754 802C7DA4 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C7DA8: +get_variable_index: /* 0EC758 802C7DA8 3C02EFE8 */ lui $v0, 0xefe8 /* 0EC75C 802C7DAC 34422080 */ ori $v0, $v0, 0x2080 /* 0EC760 802C7DB0 0045102A */ slt $v0, $v0, $a1 @@ -4021,6 +4023,7 @@ func_802C7DA8: /* 0EC8C8 802C7F18 03E00008 */ jr $ra /* 0EC8CC 802C7F1C 00A21021 */ addu $v0, $a1, $v0 +get_variable_index_alt: /* 0EC8D0 802C7F20 3C02EFE8 */ lui $v0, 0xefe8 /* 0EC8D4 802C7F24 34422080 */ ori $v0, $v0, 0x2080 /* 0EC8D8 802C7F28 0044102A */ slt $v0, $v0, $a0 @@ -4137,7 +4140,7 @@ func_802C7DA8: /* 0ECA40 802C8090 03E00008 */ jr $ra /* 0ECA44 802C8094 00821021 */ addu $v0, $a0, $v0 -func_802C8098: +set_variable: /* 0ECA48 802C8098 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0ECA4C 802C809C 0080382D */ daddu $a3, $a0, $zero /* 0ECA50 802C80A0 AFB00010 */ sw $s0, 0x10($sp) @@ -4155,7 +4158,7 @@ func_802C8098: /* 0ECA80 802C80D0 0050102A */ slt $v0, $v0, $s0 /* 0ECA84 802C80D4 14400007 */ bnez $v0, .L802C80F4 /* 0ECA88 802C80D8 3C02F414 */ lui $v0, 0xf414 -/* 0ECA8C 802C80DC 0C0B1248 */ jal func_802C4920 +/* 0ECA8C 802C80DC 0C0B1248 */ jal fixed_var_to_float /* 0ECA90 802C80E0 0240202D */ daddu $a0, $s2, $zero /* 0ECA94 802C80E4 4600008D */ trunc.w.s $f2, $f0 /* 0ECA98 802C80E8 44021000 */ mfc1 $v0, $f2 @@ -4216,11 +4219,11 @@ func_802C8098: /* 0ECB50 802C81A0 3C020A21 */ lui $v0, 0xa21 /* 0ECB54 802C81A4 3442FE80 */ ori $v0, $v0, 0xfe80 /* 0ECB58 802C81A8 02028021 */ addu $s0, $s0, $v0 -/* 0ECB5C 802C81AC 0C05154E */ jal func_80145538 +/* 0ECB5C 802C81AC 0C05154E */ jal get_global_byte /* 0ECB60 802C81B0 0200202D */ daddu $a0, $s0, $zero /* 0ECB64 802C81B4 0040882D */ daddu $s1, $v0, $zero /* 0ECB68 802C81B8 0200202D */ daddu $a0, $s0, $zero -/* 0ECB6C 802C81BC 0C051548 */ jal func_80145520 +/* 0ECB6C 802C81BC 0C051548 */ jal set_global_byte /* 0ECB70 802C81C0 0240282D */ daddu $a1, $s2, $zero /* 0ECB74 802C81C4 080B2105 */ j func_802C8414 /* 0ECB78 802C81C8 0220102D */ daddu $v0, $s1, $zero @@ -4233,11 +4236,11 @@ func_802C8098: /* 0ECB8C 802C81DC 3C0208F0 */ lui $v0, 0x8f0 /* 0ECB90 802C81E0 3442D180 */ ori $v0, $v0, 0xd180 /* 0ECB94 802C81E4 02028021 */ addu $s0, $s0, $v0 -/* 0ECB98 802C81E8 0C051594 */ jal func_80145650 +/* 0ECB98 802C81E8 0C051594 */ jal get_area_byte /* 0ECB9C 802C81EC 0200202D */ daddu $a0, $s0, $zero /* 0ECBA0 802C81F0 0040882D */ daddu $s1, $v0, $zero /* 0ECBA4 802C81F4 0200202D */ daddu $a0, $s0, $zero -/* 0ECBA8 802C81F8 0C05158E */ jal func_80145638 +/* 0ECBA8 802C81F8 0C05158E */ jal set_area_byte /* 0ECBAC 802C81FC 0240282D */ daddu $a1, $s2, $zero /* 0ECBB0 802C8200 080B2105 */ j func_802C8414 /* 0ECBB4 802C8204 0220102D */ daddu $v0, $s1, $zero @@ -4250,17 +4253,17 @@ func_802C8098: /* 0ECBC8 802C8218 3C0207BF */ lui $v0, 0x7bf /* 0ECBCC 802C821C 3442A480 */ ori $v0, $v0, 0xa480 /* 0ECBD0 802C8220 02028021 */ addu $s0, $s0, $v0 -/* 0ECBD4 802C8224 0C05152F */ jal func_801454BC +/* 0ECBD4 802C8224 0C05152F */ jal get_global_flag /* 0ECBD8 802C8228 0200202D */ daddu $a0, $s0, $zero /* 0ECBDC 802C822C 12400005 */ beqz $s2, .L802C8244 /* 0ECBE0 802C8230 0040882D */ daddu $s1, $v0, $zero -/* 0ECBE4 802C8234 0C051514 */ jal func_80145450 +/* 0ECBE4 802C8234 0C051514 */ jal set_global_flag /* 0ECBE8 802C8238 0200202D */ daddu $a0, $s0, $zero /* 0ECBEC 802C823C 080B2105 */ j func_802C8414 /* 0ECBF0 802C8240 0220102D */ daddu $v0, $s1, $zero .L802C8244: -/* 0ECBF4 802C8244 0C0514F8 */ jal func_801453E0 +/* 0ECBF4 802C8244 0C0514F8 */ jal clear_global_flag /* 0ECBF8 802C8248 0200202D */ daddu $a0, $s0, $zero /* 0ECBFC 802C824C 080B2105 */ j func_802C8414 /* 0ECC00 802C8250 0220102D */ daddu $v0, $s1, $zero @@ -4273,17 +4276,17 @@ func_802C8098: /* 0ECC14 802C8264 3C02068E */ lui $v0, 0x68e /* 0ECC18 802C8268 34427780 */ ori $v0, $v0, 0x7780 /* 0ECC1C 802C826C 02028021 */ addu $s0, $s0, $v0 -/* 0ECC20 802C8270 0C05157C */ jal func_801455F0 +/* 0ECC20 802C8270 0C05157C */ jal get_area_flag /* 0ECC24 802C8274 0200202D */ daddu $a0, $s0, $zero /* 0ECC28 802C8278 12400005 */ beqz $s2, .L802C8290 /* 0ECC2C 802C827C 0040882D */ daddu $s1, $v0, $zero -/* 0ECC30 802C8280 0C051568 */ jal func_801455A0 +/* 0ECC30 802C8280 0C051568 */ jal set_area_flag /* 0ECC34 802C8284 0200202D */ daddu $a0, $s0, $zero /* 0ECC38 802C8288 080B2105 */ j func_802C8414 /* 0ECC3C 802C828C 0220102D */ daddu $v0, $s1, $zero .L802C8290: -/* 0ECC40 802C8290 0C051553 */ jal func_8014554C +/* 0ECC40 802C8290 0C051553 */ jal clear_area_flag /* 0ECC44 802C8294 0200202D */ daddu $a0, $s0, $zero /* 0ECC48 802C8298 080B2105 */ j func_802C8414 /* 0ECC4C 802C829C 0220102D */ daddu $v0, $s1, $zero @@ -4409,7 +4412,7 @@ func_802C8414: /* 0ECDD4 802C8424 03E00008 */ jr $ra /* 0ECDD8 802C8428 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C842C: +get_float_variable: /* 0ECDDC 802C842C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0ECDE0 802C8430 3C02EFE8 */ lui $v0, 0xefe8 /* 0ECDE4 802C8434 34422080 */ ori $v0, $v0, 0x2080 @@ -4456,7 +4459,7 @@ func_802C842C: /* 0ECE6C 802C84BC 3C02F7A7 */ lui $v0, 0xf7a7 /* 0ECE70 802C84C0 3C040A21 */ lui $a0, 0xa21 /* 0ECE74 802C84C4 3484FE80 */ ori $a0, $a0, 0xfe80 -/* 0ECE78 802C84C8 0C05154E */ jal func_80145538 +/* 0ECE78 802C84C8 0C05154E */ jal get_global_byte /* 0ECE7C 802C84CC 00A42021 */ addu $a0, $a1, $a0 /* 0ECE80 802C84D0 080B218B */ j func_802C862C /* 0ECE84 802C84D4 0040202D */ daddu $a0, $v0, $zero @@ -4468,7 +4471,7 @@ func_802C842C: /* 0ECE94 802C84E4 3C02FB3B */ lui $v0, 0xfb3b /* 0ECE98 802C84E8 3C0408F0 */ lui $a0, 0x8f0 /* 0ECE9C 802C84EC 3484D180 */ ori $a0, $a0, 0xd180 -/* 0ECEA0 802C84F0 0C051594 */ jal func_80145650 +/* 0ECEA0 802C84F0 0C051594 */ jal get_area_byte /* 0ECEA4 802C84F4 00A42021 */ addu $a0, $a1, $a0 /* 0ECEA8 802C84F8 080B218B */ j func_802C862C /* 0ECEAC 802C84FC 0040202D */ daddu $a0, $v0, $zero @@ -4561,7 +4564,7 @@ func_802C85B4: /* 0ECFD4 802C8624 00821021 */ addu $v0, $a0, $v0 /* 0ECFD8 802C8628 8C440084 */ lw $a0, 0x84($v0) func_802C862C: -/* 0ECFDC 802C862C 0C0B1248 */ jal func_802C4920 +/* 0ECFDC 802C862C 0C0B1248 */ jal fixed_var_to_float /* 0ECFE0 802C8630 00000000 */ nop func_802C8634: .L802C8634: @@ -4569,7 +4572,7 @@ func_802C8634: /* 0ECFE8 802C8638 03E00008 */ jr $ra /* 0ECFEC 802C863C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802C8640: +set_float_variable: /* 0ECFF0 802C8640 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0ECFF4 802C8644 AFB10014 */ sw $s1, 0x14($sp) /* 0ECFF8 802C8648 0080882D */ daddu $s1, $a0, $zero @@ -4596,7 +4599,7 @@ func_802C8640: /* 0ED04C 802C869C 8E22013C */ lw $v0, 0x13c($s1) /* 0ED050 802C86A0 00058080 */ sll $s0, $a1, 2 /* 0ED054 802C86A4 02021021 */ addu $v0, $s0, $v0 -/* 0ED058 802C86A8 0C0B125B */ jal func_802C496C +/* 0ED058 802C86A8 0C0B125B */ jal float_to_fixed_var /* 0ED05C 802C86AC 8C520000 */ lw $s2, ($v0) /* 0ED060 802C86B0 8E23013C */ lw $v1, 0x13c($s1) /* 0ED064 802C86B4 0240202D */ daddu $a0, $s2, $zero @@ -4706,7 +4709,7 @@ func_802C87E8: /* 0ED1C4 802C8814 8E220000 */ lw $v0, ($s1) /* 0ED1C8 802C8818 00058080 */ sll $s0, $a1, 2 /* 0ED1CC 802C881C 02021021 */ addu $v0, $s0, $v0 -/* 0ED1D0 802C8820 0C0B125B */ jal func_802C496C +/* 0ED1D0 802C8820 0C0B125B */ jal float_to_fixed_var /* 0ED1D4 802C8824 8C520000 */ lw $s2, ($v0) /* 0ED1D8 802C8828 8E230000 */ lw $v1, ($s1) /* 0ED1DC 802C882C 0240202D */ daddu $a0, $s2, $zero @@ -4724,12 +4727,12 @@ func_802C87E8: /* 0ED204 802C8854 00A22821 */ addu $a1, $a1, $v0 /* 0ED208 802C8858 00058080 */ sll $s0, $a1, 2 /* 0ED20C 802C885C 02308021 */ addu $s0, $s1, $s0 -/* 0ED210 802C8860 0C0B125B */ jal func_802C496C +/* 0ED210 802C8860 0C0B125B */ jal float_to_fixed_var /* 0ED214 802C8864 8E120084 */ lw $s2, 0x84($s0) /* 0ED218 802C8868 AE020084 */ sw $v0, 0x84($s0) /* 0ED21C 802C886C 0240202D */ daddu $a0, $s2, $zero func_802C8870: -/* 0ED220 802C8870 0C0B1248 */ jal func_802C4920 +/* 0ED220 802C8870 0C0B1248 */ jal fixed_var_to_float /* 0ED224 802C8874 00000000 */ nop func_802C8878: .L802C8878: @@ -4740,7 +4743,7 @@ func_802C8878: /* 0ED238 802C8888 03E00008 */ jr $ra /* 0ED23C 802C888C 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C8890: +si_goto_label: /* 0ED240 802C8890 8C86000C */ lw $a2, 0xc($a0) /* 0ED244 802C8894 3C02EFE8 */ lui $v0, 0xefe8 /* 0ED248 802C8898 34422080 */ ori $v0, $v0, 0x2080 @@ -4778,7 +4781,7 @@ func_802C88EC: /* 0ED2A4 802C88F4 03E00008 */ jr $ra /* 0ED2A8 802C88F8 00C0102D */ daddu $v0, $a2, $zero -func_802C88FC: +si_skip_if: /* 0ED2AC 802C88FC 0000282D */ daddu $a1, $zero, $zero /* 0ED2B0 802C8900 8C840008 */ lw $a0, 8($a0) /* 0ED2B4 802C8904 3C06802E */ lui $a2, 0x802e @@ -4817,7 +4820,7 @@ func_802C8944: /* 0ED320 802C8970 03E00008 */ jr $ra /* 0ED324 802C8974 00000000 */ nop -func_802C8978: +si_skip_else: /* 0ED328 802C8978 0000282D */ daddu $a1, $zero, $zero /* 0ED32C 802C897C 8C840008 */ lw $a0, 8($a0) /* 0ED330 802C8980 3C06802E */ lui $a2, 0x802e @@ -4851,7 +4854,7 @@ func_802C89C0: /* 0ED38C 802C89DC 080B2262 */ j func_802C8988 /* 0ED390 802C89E0 24A50001 */ addiu $a1, $a1, 1 -func_802C89E4: +si_goto_end_case: /* 0ED394 802C89E4 24050001 */ addiu $a1, $zero, 1 /* 0ED398 802C89E8 8C860008 */ lw $a2, 8($a0) /* 0ED39C 802C89EC 24090014 */ addiu $t1, $zero, 0x14 @@ -4897,7 +4900,7 @@ func_802C8A40: /* 0ED408 802C8A58 03E00008 */ jr $ra /* 0ED40C 802C8A5C 0080102D */ daddu $v0, $a0, $zero -func_802C8A60: +si_goto_next_case: /* 0ED410 802C8A60 24050001 */ addiu $a1, $zero, 1 /* 0ED414 802C8A64 8C860008 */ lw $a2, 8($a0) /* 0ED418 802C8A68 3C08802E */ lui $t0, 0x802e @@ -4938,7 +4941,7 @@ func_802C8AB0: /* 0ED48C 802C8ADC 03E00008 */ jr $ra /* 0ED490 802C8AE0 0080102D */ daddu $v0, $a0, $zero -func_802C8AE4: +si_goto_end_loop: /* 0ED494 802C8AE4 0000282D */ daddu $a1, $zero, $zero /* 0ED498 802C8AE8 8C830008 */ lw $v1, 8($a0) /* 0ED49C 802C8AEC 24080005 */ addiu $t0, $zero, 5 @@ -4982,6 +4985,7 @@ func_802C8B40: /* 0ED508 802C8B58 080B22BE */ j func_802C8AF8 /* 0ED50C 802C8B5C 24A50001 */ addiu $a1, $a1, 1 +TranslateModel: /* 0ED510 802C8B60 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0ED514 802C8B64 AFB20058 */ sw $s2, 0x58($sp) /* 0ED518 802C8B68 0080902D */ daddu $s2, $a0, $zero @@ -4993,26 +4997,26 @@ func_802C8B40: /* 0ED530 802C8B80 F7B40060 */ sdc1 $f20, 0x60($sp) /* 0ED534 802C8B84 8E50000C */ lw $s0, 0xc($s2) /* 0ED538 802C8B88 8E050000 */ lw $a1, ($s0) -/* 0ED53C 802C8B8C 0C0B1EAF */ jal func_802C7ABC +/* 0ED53C 802C8B8C 0C0B1EAF */ jal get_variable /* 0ED540 802C8B90 26100004 */ addiu $s0, $s0, 4 -/* 0ED544 802C8B94 0C046C04 */ jal func_8011B010 +/* 0ED544 802C8B94 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED548 802C8B98 0040202D */ daddu $a0, $v0, $zero /* 0ED54C 802C8B9C 8E050000 */ lw $a1, ($s0) /* 0ED550 802C8BA0 26100004 */ addiu $s0, $s0, 4 /* 0ED554 802C8BA4 0240202D */ daddu $a0, $s2, $zero -/* 0ED558 802C8BA8 0C0B210B */ jal func_802C842C +/* 0ED558 802C8BA8 0C0B210B */ jal get_float_variable /* 0ED55C 802C8BAC 0040882D */ daddu $s1, $v0, $zero /* 0ED560 802C8BB0 8E050000 */ lw $a1, ($s0) /* 0ED564 802C8BB4 26100004 */ addiu $s0, $s0, 4 /* 0ED568 802C8BB8 0240202D */ daddu $a0, $s2, $zero -/* 0ED56C 802C8BBC 0C0B210B */ jal func_802C842C +/* 0ED56C 802C8BBC 0C0B210B */ jal get_float_variable /* 0ED570 802C8BC0 46000606 */ mov.s $f24, $f0 /* 0ED574 802C8BC4 0240202D */ daddu $a0, $s2, $zero /* 0ED578 802C8BC8 8E050000 */ lw $a1, ($s0) -/* 0ED57C 802C8BCC 0C0B210B */ jal func_802C842C +/* 0ED57C 802C8BCC 0C0B210B */ jal get_float_variable /* 0ED580 802C8BD0 46000586 */ mov.s $f22, $f0 /* 0ED584 802C8BD4 0220202D */ daddu $a0, $s1, $zero -/* 0ED588 802C8BD8 0C046B4C */ jal func_8011AD30 +/* 0ED588 802C8BD8 0C046B4C */ jal get_model_from_list_index /* 0ED58C 802C8BDC 46000506 */ mov.s $f20, $f0 /* 0ED590 802C8BE0 0040802D */ daddu $s0, $v0, $zero /* 0ED594 802C8BE4 96020000 */ lhu $v0, ($s0) @@ -5051,6 +5055,7 @@ func_802C8C3C: /* 0ED60C 802C8C5C 03E00008 */ jr $ra /* 0ED610 802C8C60 27BD0078 */ addiu $sp, $sp, 0x78 +RotateModel: /* 0ED614 802C8C64 27BDFF78 */ addiu $sp, $sp, -0x88 /* 0ED618 802C8C68 AFB1005C */ sw $s1, 0x5c($sp) /* 0ED61C 802C8C6C 0080882D */ daddu $s1, $a0, $zero @@ -5063,31 +5068,31 @@ func_802C8C3C: /* 0ED638 802C8C88 F7B40068 */ sdc1 $f20, 0x68($sp) /* 0ED63C 802C8C8C 8E30000C */ lw $s0, 0xc($s1) /* 0ED640 802C8C90 8E050000 */ lw $a1, ($s0) -/* 0ED644 802C8C94 0C0B1EAF */ jal func_802C7ABC +/* 0ED644 802C8C94 0C0B1EAF */ jal get_variable /* 0ED648 802C8C98 26100004 */ addiu $s0, $s0, 4 -/* 0ED64C 802C8C9C 0C046C04 */ jal func_8011B010 +/* 0ED64C 802C8C9C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED650 802C8CA0 0040202D */ daddu $a0, $v0, $zero /* 0ED654 802C8CA4 8E050000 */ lw $a1, ($s0) /* 0ED658 802C8CA8 26100004 */ addiu $s0, $s0, 4 /* 0ED65C 802C8CAC 0220202D */ daddu $a0, $s1, $zero -/* 0ED660 802C8CB0 0C0B210B */ jal func_802C842C +/* 0ED660 802C8CB0 0C0B210B */ jal get_float_variable /* 0ED664 802C8CB4 0040902D */ daddu $s2, $v0, $zero /* 0ED668 802C8CB8 8E050000 */ lw $a1, ($s0) /* 0ED66C 802C8CBC 26100004 */ addiu $s0, $s0, 4 /* 0ED670 802C8CC0 0220202D */ daddu $a0, $s1, $zero -/* 0ED674 802C8CC4 0C0B210B */ jal func_802C842C +/* 0ED674 802C8CC4 0C0B210B */ jal get_float_variable /* 0ED678 802C8CC8 46000686 */ mov.s $f26, $f0 /* 0ED67C 802C8CCC 8E050000 */ lw $a1, ($s0) /* 0ED680 802C8CD0 26100004 */ addiu $s0, $s0, 4 /* 0ED684 802C8CD4 0220202D */ daddu $a0, $s1, $zero -/* 0ED688 802C8CD8 0C0B210B */ jal func_802C842C +/* 0ED688 802C8CD8 0C0B210B */ jal get_float_variable /* 0ED68C 802C8CDC 46000606 */ mov.s $f24, $f0 /* 0ED690 802C8CE0 0220202D */ daddu $a0, $s1, $zero /* 0ED694 802C8CE4 8E050000 */ lw $a1, ($s0) -/* 0ED698 802C8CE8 0C0B210B */ jal func_802C842C +/* 0ED698 802C8CE8 0C0B210B */ jal get_float_variable /* 0ED69C 802C8CEC 46000506 */ mov.s $f20, $f0 /* 0ED6A0 802C8CF0 0240202D */ daddu $a0, $s2, $zero -/* 0ED6A4 802C8CF4 0C046B4C */ jal func_8011AD30 +/* 0ED6A4 802C8CF4 0C046B4C */ jal get_model_from_list_index /* 0ED6A8 802C8CF8 46000586 */ mov.s $f22, $f0 /* 0ED6AC 802C8CFC 0040802D */ daddu $s0, $v0, $zero /* 0ED6B0 802C8D00 96020000 */ lhu $v0, ($s0) @@ -5128,6 +5133,7 @@ func_802C8D5C: /* 0ED730 802C8D80 03E00008 */ jr $ra /* 0ED734 802C8D84 27BD0088 */ addiu $sp, $sp, 0x88 +ScaleModel: /* 0ED738 802C8D88 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0ED73C 802C8D8C AFB20058 */ sw $s2, 0x58($sp) /* 0ED740 802C8D90 0080902D */ daddu $s2, $a0, $zero @@ -5139,26 +5145,26 @@ func_802C8D5C: /* 0ED758 802C8DA8 F7B40060 */ sdc1 $f20, 0x60($sp) /* 0ED75C 802C8DAC 8E50000C */ lw $s0, 0xc($s2) /* 0ED760 802C8DB0 8E050000 */ lw $a1, ($s0) -/* 0ED764 802C8DB4 0C0B1EAF */ jal func_802C7ABC +/* 0ED764 802C8DB4 0C0B1EAF */ jal get_variable /* 0ED768 802C8DB8 26100004 */ addiu $s0, $s0, 4 -/* 0ED76C 802C8DBC 0C046C04 */ jal func_8011B010 +/* 0ED76C 802C8DBC 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED770 802C8DC0 0040202D */ daddu $a0, $v0, $zero /* 0ED774 802C8DC4 8E050000 */ lw $a1, ($s0) /* 0ED778 802C8DC8 26100004 */ addiu $s0, $s0, 4 /* 0ED77C 802C8DCC 0240202D */ daddu $a0, $s2, $zero -/* 0ED780 802C8DD0 0C0B210B */ jal func_802C842C +/* 0ED780 802C8DD0 0C0B210B */ jal get_float_variable /* 0ED784 802C8DD4 0040882D */ daddu $s1, $v0, $zero /* 0ED788 802C8DD8 8E050000 */ lw $a1, ($s0) /* 0ED78C 802C8DDC 26100004 */ addiu $s0, $s0, 4 /* 0ED790 802C8DE0 0240202D */ daddu $a0, $s2, $zero -/* 0ED794 802C8DE4 0C0B210B */ jal func_802C842C +/* 0ED794 802C8DE4 0C0B210B */ jal get_float_variable /* 0ED798 802C8DE8 46000606 */ mov.s $f24, $f0 /* 0ED79C 802C8DEC 0240202D */ daddu $a0, $s2, $zero /* 0ED7A0 802C8DF0 8E050000 */ lw $a1, ($s0) -/* 0ED7A4 802C8DF4 0C0B210B */ jal func_802C842C +/* 0ED7A4 802C8DF4 0C0B210B */ jal get_float_variable /* 0ED7A8 802C8DF8 46000586 */ mov.s $f22, $f0 /* 0ED7AC 802C8DFC 0220202D */ daddu $a0, $s1, $zero -/* 0ED7B0 802C8E00 0C046B4C */ jal func_8011AD30 +/* 0ED7B0 802C8E00 0C046B4C */ jal get_model_from_list_index /* 0ED7B4 802C8E04 46000506 */ mov.s $f20, $f0 /* 0ED7B8 802C8E08 0040802D */ daddu $s0, $v0, $zero /* 0ED7BC 802C8E0C 96020000 */ lhu $v0, ($s0) @@ -5197,6 +5203,7 @@ func_802C8E64: /* 0ED834 802C8E84 03E00008 */ jr $ra /* 0ED838 802C8E88 27BD0078 */ addiu $sp, $sp, 0x78 +GetModelIndex: /* 0ED83C 802C8E8C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0ED840 802C8E90 AFB10014 */ sw $s1, 0x14($sp) /* 0ED844 802C8E94 0080882D */ daddu $s1, $a0, $zero @@ -5204,14 +5211,14 @@ func_802C8E64: /* 0ED84C 802C8E9C AFB00010 */ sw $s0, 0x10($sp) /* 0ED850 802C8EA0 8E30000C */ lw $s0, 0xc($s1) /* 0ED854 802C8EA4 8E050000 */ lw $a1, ($s0) -/* 0ED858 802C8EA8 0C0B1EAF */ jal func_802C7ABC +/* 0ED858 802C8EA8 0C0B1EAF */ jal get_variable /* 0ED85C 802C8EAC 26100004 */ addiu $s0, $s0, 4 /* 0ED860 802C8EB0 8E100000 */ lw $s0, ($s0) -/* 0ED864 802C8EB4 0C046C04 */ jal func_8011B010 +/* 0ED864 802C8EB4 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED868 802C8EB8 0040202D */ daddu $a0, $v0, $zero /* 0ED86C 802C8EBC 0220202D */ daddu $a0, $s1, $zero /* 0ED870 802C8EC0 0040302D */ daddu $a2, $v0, $zero -/* 0ED874 802C8EC4 0C0B2026 */ jal func_802C8098 +/* 0ED874 802C8EC4 0C0B2026 */ jal set_variable /* 0ED878 802C8EC8 0200282D */ daddu $a1, $s0, $zero /* 0ED87C 802C8ECC 8FBF0018 */ lw $ra, 0x18($sp) /* 0ED880 802C8ED0 8FB10014 */ lw $s1, 0x14($sp) @@ -5223,11 +5230,11 @@ func_802C8E64: /* 0ED894 802C8EE4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0ED898 802C8EE8 AFBF0010 */ sw $ra, 0x10($sp) /* 0ED89C 802C8EEC 8C82000C */ lw $v0, 0xc($a0) -/* 0ED8A0 802C8EF0 0C0B1EAF */ jal func_802C7ABC +/* 0ED8A0 802C8EF0 0C0B1EAF */ jal get_variable /* 0ED8A4 802C8EF4 8C450000 */ lw $a1, ($v0) -/* 0ED8A8 802C8EF8 0C046C04 */ jal func_8011B010 +/* 0ED8A8 802C8EF8 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED8AC 802C8EFC 0040202D */ daddu $a0, $v0, $zero -/* 0ED8B0 802C8F00 0C046B4C */ jal func_8011AD30 +/* 0ED8B0 802C8F00 0C046B4C */ jal get_model_from_list_index /* 0ED8B4 802C8F04 0040202D */ daddu $a0, $v0, $zero /* 0ED8B8 802C8F08 0040202D */ daddu $a0, $v0, $zero /* 0ED8BC 802C8F0C 94830000 */ lhu $v1, ($a0) @@ -5238,6 +5245,7 @@ func_802C8E64: /* 0ED8D0 802C8F20 03E00008 */ jr $ra /* 0ED8D4 802C8F24 27BD0018 */ addiu $sp, $sp, 0x18 +CloneModel: /* 0ED8D8 802C8F28 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0ED8DC 802C8F2C AFB10014 */ sw $s1, 0x14($sp) /* 0ED8E0 802C8F30 0080882D */ daddu $s1, $a0, $zero @@ -5245,14 +5253,14 @@ func_802C8E64: /* 0ED8E8 802C8F38 AFB00010 */ sw $s0, 0x10($sp) /* 0ED8EC 802C8F3C 8E30000C */ lw $s0, 0xc($s1) /* 0ED8F0 802C8F40 8E050000 */ lw $a1, ($s0) -/* 0ED8F4 802C8F44 0C0B1EAF */ jal func_802C7ABC +/* 0ED8F4 802C8F44 0C0B1EAF */ jal get_variable /* 0ED8F8 802C8F48 26100004 */ addiu $s0, $s0, 4 /* 0ED8FC 802C8F4C 0220202D */ daddu $a0, $s1, $zero /* 0ED900 802C8F50 8E050000 */ lw $a1, ($s0) -/* 0ED904 802C8F54 0C0B1EAF */ jal func_802C7ABC +/* 0ED904 802C8F54 0C0B1EAF */ jal get_variable /* 0ED908 802C8F58 0040802D */ daddu $s0, $v0, $zero /* 0ED90C 802C8F5C 3204FFFF */ andi $a0, $s0, 0xffff -/* 0ED910 802C8F60 0C046DBC */ jal func_8011B6F0 +/* 0ED910 802C8F60 0C046DBC */ jal clone_model /* 0ED914 802C8F64 3045FFFF */ andi $a1, $v0, 0xffff /* 0ED918 802C8F68 8FBF0018 */ lw $ra, 0x18($sp) /* 0ED91C 802C8F6C 8FB10014 */ lw $s1, 0x14($sp) @@ -5261,12 +5269,13 @@ func_802C8E64: /* 0ED928 802C8F78 03E00008 */ jr $ra /* 0ED92C 802C8F7C 27BD0020 */ addiu $sp, $sp, 0x20 +GetModelCenter: /* 0ED930 802C8F80 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0ED934 802C8F84 AFB00038 */ sw $s0, 0x38($sp) /* 0ED938 802C8F88 0080802D */ daddu $s0, $a0, $zero /* 0ED93C 802C8F8C AFBF003C */ sw $ra, 0x3c($sp) /* 0ED940 802C8F90 8E02000C */ lw $v0, 0xc($s0) -/* 0ED944 802C8F94 0C0B1EAF */ jal func_802C7ABC +/* 0ED944 802C8F94 0C0B1EAF */ jal get_variable /* 0ED948 802C8F98 8C450000 */ lw $a1, ($v0) /* 0ED94C 802C8F9C 3044FFFF */ andi $a0, $v0, 0xffff /* 0ED950 802C8FA0 27A50020 */ addiu $a1, $sp, 0x20 @@ -5277,7 +5286,7 @@ func_802C8E64: /* 0ED964 802C8FB4 27A20034 */ addiu $v0, $sp, 0x34 /* 0ED968 802C8FB8 27A60024 */ addiu $a2, $sp, 0x24 /* 0ED96C 802C8FBC 27A70028 */ addiu $a3, $sp, 0x28 -/* 0ED970 802C8FC0 0C046C3B */ jal func_8011B0EC +/* 0ED970 802C8FC0 0C046C3B */ jal get_model_center_and_size /* 0ED974 802C8FC4 AFA20018 */ sw $v0, 0x18($sp) /* 0ED978 802C8FC8 C7A00020 */ lwc1 $f0, 0x20($sp) /* 0ED97C 802C8FCC 4600010D */ trunc.w.s $f4, $f0 @@ -5294,6 +5303,7 @@ func_802C8E64: /* 0ED9A8 802C8FF8 03E00008 */ jr $ra /* 0ED9AC 802C8FFC 27BD0040 */ addiu $sp, $sp, 0x40 +SetTexPanner: /* 0ED9B0 802C9000 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0ED9B4 802C9004 AFB10014 */ sw $s1, 0x14($sp) /* 0ED9B8 802C9008 0080882D */ daddu $s1, $a0, $zero @@ -5301,20 +5311,20 @@ func_802C8E64: /* 0ED9C0 802C9010 AFB00010 */ sw $s0, 0x10($sp) /* 0ED9C4 802C9014 8E30000C */ lw $s0, 0xc($s1) /* 0ED9C8 802C9018 8E050000 */ lw $a1, ($s0) -/* 0ED9CC 802C901C 0C0B1EAF */ jal func_802C7ABC +/* 0ED9CC 802C901C 0C0B1EAF */ jal get_variable /* 0ED9D0 802C9020 26100004 */ addiu $s0, $s0, 4 /* 0ED9D4 802C9024 0220202D */ daddu $a0, $s1, $zero /* 0ED9D8 802C9028 8E050000 */ lw $a1, ($s0) -/* 0ED9DC 802C902C 0C0B1EAF */ jal func_802C7ABC +/* 0ED9DC 802C902C 0C0B1EAF */ jal get_variable /* 0ED9E0 802C9030 0040802D */ daddu $s0, $v0, $zero /* 0ED9E4 802C9034 0200202D */ daddu $a0, $s0, $zero -/* 0ED9E8 802C9038 0C046C04 */ jal func_8011B010 +/* 0ED9E8 802C9038 0C046C04 */ jal get_model_list_index_from_tree_index /* 0ED9EC 802C903C 0040882D */ daddu $s1, $v0, $zero -/* 0ED9F0 802C9040 0C046B4C */ jal func_8011AD30 +/* 0ED9F0 802C9040 0C046B4C */ jal get_model_from_list_index /* 0ED9F4 802C9044 0040202D */ daddu $a0, $v0, $zero /* 0ED9F8 802C9048 0040802D */ daddu $s0, $v0, $zero /* 0ED9FC 802C904C 0200202D */ daddu $a0, $s0, $zero -/* 0EDA00 802C9050 0C046F05 */ jal func_8011BC14 +/* 0EDA00 802C9050 0C046F05 */ jal set_tex_panner /* 0EDA04 802C9054 0220282D */ daddu $a1, $s1, $zero /* 0EDA08 802C9058 96030000 */ lhu $v1, ($s0) /* 0EDA0C 802C905C 34630800 */ ori $v1, $v1, 0x800 @@ -5326,6 +5336,7 @@ func_802C8E64: /* 0EDA24 802C9074 03E00008 */ jr $ra /* 0EDA28 802C9078 27BD0020 */ addiu $sp, $sp, 0x20 +SetModelFlag10: /* 0EDA2C 802C907C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EDA30 802C9080 AFB10014 */ sw $s1, 0x14($sp) /* 0EDA34 802C9084 0080882D */ daddu $s1, $a0, $zero @@ -5333,16 +5344,16 @@ func_802C8E64: /* 0EDA3C 802C908C AFB00010 */ sw $s0, 0x10($sp) /* 0EDA40 802C9090 8E30000C */ lw $s0, 0xc($s1) /* 0EDA44 802C9094 8E050000 */ lw $a1, ($s0) -/* 0EDA48 802C9098 0C0B1EAF */ jal func_802C7ABC +/* 0EDA48 802C9098 0C0B1EAF */ jal get_variable /* 0EDA4C 802C909C 26100004 */ addiu $s0, $s0, 4 /* 0EDA50 802C90A0 0220202D */ daddu $a0, $s1, $zero /* 0EDA54 802C90A4 8E050000 */ lw $a1, ($s0) -/* 0EDA58 802C90A8 0C0B1EAF */ jal func_802C7ABC +/* 0EDA58 802C90A8 0C0B1EAF */ jal get_variable /* 0EDA5C 802C90AC 0040802D */ daddu $s0, $v0, $zero /* 0EDA60 802C90B0 0200202D */ daddu $a0, $s0, $zero -/* 0EDA64 802C90B4 0C046C04 */ jal func_8011B010 +/* 0EDA64 802C90B4 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDA68 802C90B8 0040802D */ daddu $s0, $v0, $zero -/* 0EDA6C 802C90BC 0C046B4C */ jal func_8011AD30 +/* 0EDA6C 802C90BC 0C046B4C */ jal get_model_from_list_index /* 0EDA70 802C90C0 0040202D */ daddu $a0, $v0, $zero /* 0EDA74 802C90C4 12000004 */ beqz $s0, .L802C90D8 /* 0EDA78 802C90C8 0040182D */ daddu $v1, $v0, $zero @@ -5370,21 +5381,21 @@ func_802C90E0: /* 0EDAC0 802C9110 AFB00010 */ sw $s0, 0x10($sp) /* 0EDAC4 802C9114 8E50000C */ lw $s0, 0xc($s2) /* 0EDAC8 802C9118 8E050000 */ lw $a1, ($s0) -/* 0EDACC 802C911C 0C0B1EAF */ jal func_802C7ABC +/* 0EDACC 802C911C 0C0B1EAF */ jal get_variable /* 0EDAD0 802C9120 26100004 */ addiu $s0, $s0, 4 /* 0EDAD4 802C9124 8E050000 */ lw $a1, ($s0) /* 0EDAD8 802C9128 26100004 */ addiu $s0, $s0, 4 /* 0EDADC 802C912C 0240202D */ daddu $a0, $s2, $zero -/* 0EDAE0 802C9130 0C0B1EAF */ jal func_802C7ABC +/* 0EDAE0 802C9130 0C0B1EAF */ jal get_variable /* 0EDAE4 802C9134 0040882D */ daddu $s1, $v0, $zero /* 0EDAE8 802C9138 0240202D */ daddu $a0, $s2, $zero /* 0EDAEC 802C913C 8E050000 */ lw $a1, ($s0) -/* 0EDAF0 802C9140 0C0B1EAF */ jal func_802C7ABC +/* 0EDAF0 802C9140 0C0B1EAF */ jal get_variable /* 0EDAF4 802C9144 0040902D */ daddu $s2, $v0, $zero /* 0EDAF8 802C9148 0220202D */ daddu $a0, $s1, $zero -/* 0EDAFC 802C914C 0C046C04 */ jal func_8011B010 +/* 0EDAFC 802C914C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDB00 802C9150 0040802D */ daddu $s0, $v0, $zero -/* 0EDB04 802C9154 0C046B4C */ jal func_8011AD30 +/* 0EDB04 802C9154 0C046B4C */ jal get_model_from_list_index /* 0EDB08 802C9158 0040202D */ daddu $a0, $v0, $zero /* 0EDB0C 802C915C 0040882D */ daddu $s1, $v0, $zero /* 0EDB10 802C9160 0220202D */ daddu $a0, $s1, $zero @@ -5413,16 +5424,16 @@ func_802C90E0: /* 0EDB64 802C91B4 AFB00010 */ sw $s0, 0x10($sp) /* 0EDB68 802C91B8 8E30000C */ lw $s0, 0xc($s1) /* 0EDB6C 802C91BC 8E050000 */ lw $a1, ($s0) -/* 0EDB70 802C91C0 0C0B1EAF */ jal func_802C7ABC +/* 0EDB70 802C91C0 0C0B1EAF */ jal get_variable /* 0EDB74 802C91C4 26100004 */ addiu $s0, $s0, 4 /* 0EDB78 802C91C8 0220202D */ daddu $a0, $s1, $zero /* 0EDB7C 802C91CC 8E050000 */ lw $a1, ($s0) -/* 0EDB80 802C91D0 0C0B1EAF */ jal func_802C7ABC +/* 0EDB80 802C91D0 0C0B1EAF */ jal get_variable /* 0EDB84 802C91D4 0040802D */ daddu $s0, $v0, $zero /* 0EDB88 802C91D8 0200202D */ daddu $a0, $s0, $zero -/* 0EDB8C 802C91DC 0C046C04 */ jal func_8011B010 +/* 0EDB8C 802C91DC 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDB90 802C91E0 0040802D */ daddu $s0, $v0, $zero -/* 0EDB94 802C91E4 0C046B4C */ jal func_8011AD30 +/* 0EDB94 802C91E4 0C046B4C */ jal get_model_from_list_index /* 0EDB98 802C91E8 0040202D */ daddu $a0, $v0, $zero /* 0EDB9C 802C91EC A05000A9 */ sb $s0, 0xa9($v0) /* 0EDBA0 802C91F0 8FBF0018 */ lw $ra, 0x18($sp) @@ -5432,6 +5443,7 @@ func_802C90E0: /* 0EDBB0 802C9200 03E00008 */ jr $ra /* 0EDBB4 802C9204 27BD0020 */ addiu $sp, $sp, 0x20 +EnableTexPanning: /* 0EDBB8 802C9208 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EDBBC 802C920C AFB10014 */ sw $s1, 0x14($sp) /* 0EDBC0 802C9210 0080882D */ daddu $s1, $a0, $zero @@ -5439,16 +5451,16 @@ func_802C90E0: /* 0EDBC8 802C9218 AFB00010 */ sw $s0, 0x10($sp) /* 0EDBCC 802C921C 8E30000C */ lw $s0, 0xc($s1) /* 0EDBD0 802C9220 8E050000 */ lw $a1, ($s0) -/* 0EDBD4 802C9224 0C0B1EAF */ jal func_802C7ABC +/* 0EDBD4 802C9224 0C0B1EAF */ jal get_variable /* 0EDBD8 802C9228 26100004 */ addiu $s0, $s0, 4 /* 0EDBDC 802C922C 0220202D */ daddu $a0, $s1, $zero /* 0EDBE0 802C9230 8E050000 */ lw $a1, ($s0) -/* 0EDBE4 802C9234 0C0B1EAF */ jal func_802C7ABC +/* 0EDBE4 802C9234 0C0B1EAF */ jal get_variable /* 0EDBE8 802C9238 0040802D */ daddu $s0, $v0, $zero /* 0EDBEC 802C923C 0200202D */ daddu $a0, $s0, $zero -/* 0EDBF0 802C9240 0C046C04 */ jal func_8011B010 +/* 0EDBF0 802C9240 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDBF4 802C9244 0040802D */ daddu $s0, $v0, $zero -/* 0EDBF8 802C9248 0C046B4C */ jal func_8011AD30 +/* 0EDBF8 802C9248 0C046B4C */ jal get_model_from_list_index /* 0EDBFC 802C924C 0040202D */ daddu $a0, $v0, $zero /* 0EDC00 802C9250 12000004 */ beqz $s0, .L802C9264 /* 0EDC04 802C9254 0040182D */ daddu $v1, $v0, $zero @@ -5468,6 +5480,7 @@ func_802C926C: /* 0EDC30 802C9280 03E00008 */ jr $ra /* 0EDC34 802C9284 27BD0020 */ addiu $sp, $sp, 0x20 +EnableModel: /* 0EDC38 802C9288 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EDC3C 802C928C AFB10014 */ sw $s1, 0x14($sp) /* 0EDC40 802C9290 0080882D */ daddu $s1, $a0, $zero @@ -5475,16 +5488,16 @@ func_802C926C: /* 0EDC48 802C9298 AFB00010 */ sw $s0, 0x10($sp) /* 0EDC4C 802C929C 8E30000C */ lw $s0, 0xc($s1) /* 0EDC50 802C92A0 8E050000 */ lw $a1, ($s0) -/* 0EDC54 802C92A4 0C0B1EAF */ jal func_802C7ABC +/* 0EDC54 802C92A4 0C0B1EAF */ jal get_variable /* 0EDC58 802C92A8 26100004 */ addiu $s0, $s0, 4 -/* 0EDC5C 802C92AC 0C046C04 */ jal func_8011B010 +/* 0EDC5C 802C92AC 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDC60 802C92B0 0040202D */ daddu $a0, $v0, $zero /* 0EDC64 802C92B4 0220202D */ daddu $a0, $s1, $zero /* 0EDC68 802C92B8 8E050000 */ lw $a1, ($s0) -/* 0EDC6C 802C92BC 0C0B1EAF */ jal func_802C7ABC +/* 0EDC6C 802C92BC 0C0B1EAF */ jal get_variable /* 0EDC70 802C92C0 0040802D */ daddu $s0, $v0, $zero /* 0EDC74 802C92C4 0200202D */ daddu $a0, $s0, $zero -/* 0EDC78 802C92C8 0C046B4C */ jal func_8011AD30 +/* 0EDC78 802C92C8 0C046B4C */ jal get_model_from_list_index /* 0EDC7C 802C92CC 0040802D */ daddu $s0, $v0, $zero /* 0EDC80 802C92D0 12000004 */ beqz $s0, .L802C92E4 /* 0EDC84 802C92D4 0040182D */ daddu $v1, $v0, $zero @@ -5504,6 +5517,7 @@ func_802C92EC: /* 0EDCB0 802C9300 03E00008 */ jr $ra /* 0EDCB4 802C9304 27BD0020 */ addiu $sp, $sp, 0x20 +SetGroupEnabled: /* 0EDCB8 802C9308 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EDCBC 802C930C AFB10014 */ sw $s1, 0x14($sp) /* 0EDCC0 802C9310 0080882D */ daddu $s1, $a0, $zero @@ -5511,11 +5525,11 @@ func_802C92EC: /* 0EDCC8 802C9318 AFB00010 */ sw $s0, 0x10($sp) /* 0EDCCC 802C931C 8E30000C */ lw $s0, 0xc($s1) /* 0EDCD0 802C9320 8E050000 */ lw $a1, ($s0) -/* 0EDCD4 802C9324 0C0B1EAF */ jal func_802C7ABC +/* 0EDCD4 802C9324 0C0B1EAF */ jal get_variable /* 0EDCD8 802C9328 26100004 */ addiu $s0, $s0, 4 /* 0EDCDC 802C932C 0220202D */ daddu $a0, $s1, $zero /* 0EDCE0 802C9330 8E050000 */ lw $a1, ($s0) -/* 0EDCE4 802C9334 0C0B1EAF */ jal func_802C7ABC +/* 0EDCE4 802C9334 0C0B1EAF */ jal get_variable /* 0EDCE8 802C9338 0040802D */ daddu $s0, $v0, $zero /* 0EDCEC 802C933C 3204FFFF */ andi $a0, $s0, 0xffff /* 0EDCF0 802C9340 24050002 */ addiu $a1, $zero, 2 @@ -5528,6 +5542,7 @@ func_802C92EC: /* 0EDD0C 802C935C 03E00008 */ jr $ra /* 0EDD10 802C9360 27BD0020 */ addiu $sp, $sp, 0x20 +SetTexPanOffset: /* 0EDD14 802C9364 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EDD18 802C9368 AFB10014 */ sw $s1, 0x14($sp) /* 0EDD1C 802C936C 0080882D */ daddu $s1, $a0, $zero @@ -5537,39 +5552,39 @@ func_802C92EC: /* 0EDD2C 802C937C AFB00010 */ sw $s0, 0x10($sp) /* 0EDD30 802C9380 8E30000C */ lw $s0, 0xc($s1) /* 0EDD34 802C9384 8E050000 */ lw $a1, ($s0) -/* 0EDD38 802C9388 0C0B1EAF */ jal func_802C7ABC +/* 0EDD38 802C9388 0C0B1EAF */ jal get_variable /* 0EDD3C 802C938C 26100004 */ addiu $s0, $s0, 4 /* 0EDD40 802C9390 8E050000 */ lw $a1, ($s0) /* 0EDD44 802C9394 26100004 */ addiu $s0, $s0, 4 /* 0EDD48 802C9398 0220202D */ daddu $a0, $s1, $zero -/* 0EDD4C 802C939C 0C0B1EAF */ jal func_802C7ABC +/* 0EDD4C 802C939C 0C0B1EAF */ jal get_variable /* 0EDD50 802C93A0 0040982D */ daddu $s3, $v0, $zero /* 0EDD54 802C93A4 8E050000 */ lw $a1, ($s0) /* 0EDD58 802C93A8 26100004 */ addiu $s0, $s0, 4 /* 0EDD5C 802C93AC 0220202D */ daddu $a0, $s1, $zero -/* 0EDD60 802C93B0 0C0B1EAF */ jal func_802C7ABC +/* 0EDD60 802C93B0 0C0B1EAF */ jal get_variable /* 0EDD64 802C93B4 0040902D */ daddu $s2, $v0, $zero /* 0EDD68 802C93B8 0220202D */ daddu $a0, $s1, $zero /* 0EDD6C 802C93BC 8E050000 */ lw $a1, ($s0) -/* 0EDD70 802C93C0 0C0B1EAF */ jal func_802C7ABC +/* 0EDD70 802C93C0 0C0B1EAF */ jal get_variable /* 0EDD74 802C93C4 0040802D */ daddu $s0, $v0, $zero /* 0EDD78 802C93C8 16400009 */ bnez $s2, .L802C93F0 /* 0EDD7C 802C93CC 0040882D */ daddu $s1, $v0, $zero /* 0EDD80 802C93D0 0260202D */ daddu $a0, $s3, $zero -/* 0EDD84 802C93D4 0C046F07 */ jal func_8011BC1C +/* 0EDD84 802C93D4 0C046F07 */ jal set_main_pan_u /* 0EDD88 802C93D8 0200282D */ daddu $a1, $s0, $zero /* 0EDD8C 802C93DC 0260202D */ daddu $a0, $s3, $zero -/* 0EDD90 802C93E0 0C046F0D */ jal func_8011BC34 +/* 0EDD90 802C93E0 0C046F0D */ jal set_main_pan_v /* 0EDD94 802C93E4 0220282D */ daddu $a1, $s1, $zero /* 0EDD98 802C93E8 080B2502 */ j func_802C9408 /* 0EDD9C 802C93EC 00000000 */ nop .L802C93F0: /* 0EDDA0 802C93F0 0260202D */ daddu $a0, $s3, $zero -/* 0EDDA4 802C93F4 0C046F13 */ jal func_8011BC4C +/* 0EDDA4 802C93F4 0C046F13 */ jal set_aux_pan_u /* 0EDDA8 802C93F8 0200282D */ daddu $a1, $s0, $zero /* 0EDDAC 802C93FC 0260202D */ daddu $a0, $s3, $zero -/* 0EDDB0 802C9400 0C046F19 */ jal func_8011BC64 +/* 0EDDB0 802C9400 0C046F19 */ jal set_aux_pan_v /* 0EDDB4 802C9404 0220282D */ daddu $a1, $s1, $zero func_802C9408: /* 0EDDB8 802C9408 8FBF0020 */ lw $ra, 0x20($sp) @@ -5589,16 +5604,16 @@ func_802C9408: /* 0EDDEC 802C943C AFB00010 */ sw $s0, 0x10($sp) /* 0EDDF0 802C9440 8E30000C */ lw $s0, 0xc($s1) /* 0EDDF4 802C9444 8E050000 */ lw $a1, ($s0) -/* 0EDDF8 802C9448 0C0B1EAF */ jal func_802C7ABC +/* 0EDDF8 802C9448 0C0B1EAF */ jal get_variable /* 0EDDFC 802C944C 26100004 */ addiu $s0, $s0, 4 /* 0EDE00 802C9450 8E050000 */ lw $a1, ($s0) /* 0EDE04 802C9454 26100004 */ addiu $s0, $s0, 4 /* 0EDE08 802C9458 0220202D */ daddu $a0, $s1, $zero -/* 0EDE0C 802C945C 0C0B1EAF */ jal func_802C7ABC +/* 0EDE0C 802C945C 0C0B1EAF */ jal get_variable /* 0EDE10 802C9460 0040902D */ daddu $s2, $v0, $zero /* 0EDE14 802C9464 0220202D */ daddu $a0, $s1, $zero /* 0EDE18 802C9468 8E050000 */ lw $a1, ($s0) -/* 0EDE1C 802C946C 0C0B1EAF */ jal func_802C7ABC +/* 0EDE1C 802C946C 0C0B1EAF */ jal get_variable /* 0EDE20 802C9470 0040802D */ daddu $s0, $v0, $zero /* 0EDE24 802C9474 0240202D */ daddu $a0, $s2, $zero /* 0EDE28 802C9478 0200282D */ daddu $a1, $s0, $zero @@ -5620,16 +5635,16 @@ func_802C9408: /* 0EDE64 802C94B4 AFB00010 */ sw $s0, 0x10($sp) /* 0EDE68 802C94B8 8E30000C */ lw $s0, 0xc($s1) /* 0EDE6C 802C94BC 8E050000 */ lw $a1, ($s0) -/* 0EDE70 802C94C0 0C0B1EAF */ jal func_802C7ABC +/* 0EDE70 802C94C0 0C0B1EAF */ jal get_variable /* 0EDE74 802C94C4 26100004 */ addiu $s0, $s0, 4 /* 0EDE78 802C94C8 8E050000 */ lw $a1, ($s0) /* 0EDE7C 802C94CC 26100004 */ addiu $s0, $s0, 4 /* 0EDE80 802C94D0 0220202D */ daddu $a0, $s1, $zero -/* 0EDE84 802C94D4 0C0B1EAF */ jal func_802C7ABC +/* 0EDE84 802C94D4 0C0B1EAF */ jal get_variable /* 0EDE88 802C94D8 0040902D */ daddu $s2, $v0, $zero /* 0EDE8C 802C94DC 0220202D */ daddu $a0, $s1, $zero /* 0EDE90 802C94E0 8E050000 */ lw $a1, ($s0) -/* 0EDE94 802C94E4 0C0B1EAF */ jal func_802C7ABC +/* 0EDE94 802C94E4 0C0B1EAF */ jal get_variable /* 0EDE98 802C94E8 0040802D */ daddu $s0, $v0, $zero /* 0EDE9C 802C94EC 0240202D */ daddu $a0, $s2, $zero /* 0EDEA0 802C94F0 0200282D */ daddu $a1, $s0, $zero @@ -5643,6 +5658,7 @@ func_802C9408: /* 0EDEC0 802C9510 03E00008 */ jr $ra /* 0EDEC4 802C9514 27BD0020 */ addiu $sp, $sp, 0x20 +SetModelFlags: /* 0EDEC8 802C9518 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EDECC 802C951C AFB00010 */ sw $s0, 0x10($sp) /* 0EDED0 802C9520 0080802D */ daddu $s0, $a0, $zero @@ -5650,17 +5666,17 @@ func_802C9408: /* 0EDED8 802C9528 AFB10014 */ sw $s1, 0x14($sp) /* 0EDEDC 802C952C 8E11000C */ lw $s1, 0xc($s0) /* 0EDEE0 802C9530 8E250000 */ lw $a1, ($s1) -/* 0EDEE4 802C9534 0C0B1EAF */ jal func_802C7ABC +/* 0EDEE4 802C9534 0C0B1EAF */ jal get_variable /* 0EDEE8 802C9538 26310004 */ addiu $s1, $s1, 4 -/* 0EDEEC 802C953C 0C046C04 */ jal func_8011B010 +/* 0EDEEC 802C953C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EDEF0 802C9540 0040202D */ daddu $a0, $v0, $zero /* 0EDEF4 802C9544 0200202D */ daddu $a0, $s0, $zero /* 0EDEF8 802C9548 8E250004 */ lw $a1, 4($s1) /* 0EDEFC 802C954C 8E310000 */ lw $s1, ($s1) -/* 0EDF00 802C9550 0C0B1EAF */ jal func_802C7ABC +/* 0EDF00 802C9550 0C0B1EAF */ jal get_variable /* 0EDF04 802C9554 0040802D */ daddu $s0, $v0, $zero /* 0EDF08 802C9558 0200202D */ daddu $a0, $s0, $zero -/* 0EDF0C 802C955C 0C046B4C */ jal func_8011AD30 +/* 0EDF0C 802C955C 0C046B4C */ jal get_model_from_list_index /* 0EDF10 802C9560 0040802D */ daddu $s0, $v0, $zero /* 0EDF14 802C9564 12000004 */ beqz $s0, .L802C9578 /* 0EDF18 802C9568 0040202D */ daddu $a0, $v0, $zero @@ -5694,7 +5710,7 @@ func_802C95A0: /* 0EDF74 802C95C4 8E62000C */ lw $v0, 0xc($s3) /* 0EDF78 802C95C8 2411FFFF */ addiu $s1, $zero, -1 /* 0EDF7C 802C95CC 8C450000 */ lw $a1, ($v0) -/* 0EDF80 802C95D0 0C0B1EAF */ jal func_802C7ABC +/* 0EDF80 802C95D0 0C0B1EAF */ jal get_variable /* 0EDF84 802C95D4 0260202D */ daddu $a0, $s3, $zero /* 0EDF88 802C95D8 0040282D */ daddu $a1, $v0, $zero /* 0EDF8C 802C95DC 3C06800A */ lui $a2, 0x800a @@ -5791,7 +5807,7 @@ func_802C965C: /* 0EE0CC 802C971C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EE0D0 802C9720 AFBF0010 */ sw $ra, 0x10($sp) /* 0EE0D4 802C9724 8C82000C */ lw $v0, 0xc($a0) -/* 0EE0D8 802C9728 0C0B1EAF */ jal func_802C7ABC +/* 0EE0D8 802C9728 0C0B1EAF */ jal get_variable /* 0EE0DC 802C972C 8C450000 */ lw $a1, ($v0) /* 0EE0E0 802C9730 0C046CDF */ jal func_8011B37C /* 0EE0E4 802C9734 3044FFFF */ andi $a0, $v0, 0xffff @@ -5807,11 +5823,11 @@ func_802C965C: /* 0EE108 802C9758 AFB10014 */ sw $s1, 0x14($sp) /* 0EE10C 802C975C 8E11000C */ lw $s1, 0xc($s0) /* 0EE110 802C9760 8E250000 */ lw $a1, ($s1) -/* 0EE114 802C9764 0C0B1EAF */ jal func_802C7ABC +/* 0EE114 802C9764 0C0B1EAF */ jal get_variable /* 0EE118 802C9768 26310004 */ addiu $s1, $s1, 4 /* 0EE11C 802C976C 0200202D */ daddu $a0, $s0, $zero /* 0EE120 802C9770 8E250000 */ lw $a1, ($s1) -/* 0EE124 802C9774 0C0B1EAF */ jal func_802C7ABC +/* 0EE124 802C9774 0C0B1EAF */ jal get_variable /* 0EE128 802C9778 0040802D */ daddu $s0, $v0, $zero /* 0EE12C 802C977C 10400005 */ beqz $v0, .L802C9794 /* 0EE130 802C9780 00000000 */ nop @@ -5831,6 +5847,7 @@ func_802C979C: /* 0EE15C 802C97AC 03E00008 */ jr $ra /* 0EE160 802C97B0 27BD0020 */ addiu $sp, $sp, 0x20 +TranslateGroup: /* 0EE164 802C97B4 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0EE168 802C97B8 AFB20058 */ sw $s2, 0x58($sp) /* 0EE16C 802C97BC 0080902D */ daddu $s2, $a0, $zero @@ -5841,7 +5858,7 @@ func_802C979C: /* 0EE180 802C97D0 F7B60068 */ sdc1 $f22, 0x68($sp) /* 0EE184 802C97D4 F7B40060 */ sdc1 $f20, 0x60($sp) /* 0EE188 802C97D8 8E50000C */ lw $s0, 0xc($s2) -/* 0EE18C 802C97DC 0C0B1EAF */ jal func_802C7ABC +/* 0EE18C 802C97DC 0C0B1EAF */ jal get_variable /* 0EE190 802C97E0 8E050000 */ lw $a1, ($s0) /* 0EE194 802C97E4 0C046C24 */ jal func_8011B090 /* 0EE198 802C97E8 0040202D */ daddu $a0, $v0, $zero @@ -5859,16 +5876,16 @@ func_802C979C: .L802C9814: /* 0EE1C4 802C9814 8E050000 */ lw $a1, ($s0) /* 0EE1C8 802C9818 26100004 */ addiu $s0, $s0, 4 -/* 0EE1CC 802C981C 0C0B210B */ jal func_802C842C +/* 0EE1CC 802C981C 0C0B210B */ jal get_float_variable /* 0EE1D0 802C9820 0240202D */ daddu $a0, $s2, $zero /* 0EE1D4 802C9824 8E050000 */ lw $a1, ($s0) /* 0EE1D8 802C9828 26100004 */ addiu $s0, $s0, 4 /* 0EE1DC 802C982C 0240202D */ daddu $a0, $s2, $zero -/* 0EE1E0 802C9830 0C0B210B */ jal func_802C842C +/* 0EE1E0 802C9830 0C0B210B */ jal get_float_variable /* 0EE1E4 802C9834 46000606 */ mov.s $f24, $f0 /* 0EE1E8 802C9838 0240202D */ daddu $a0, $s2, $zero /* 0EE1EC 802C983C 8E050000 */ lw $a1, ($s0) -/* 0EE1F0 802C9840 0C0B210B */ jal func_802C842C +/* 0EE1F0 802C9840 0C0B210B */ jal get_float_variable /* 0EE1F4 802C9844 46000586 */ mov.s $f22, $f0 /* 0EE1F8 802C9848 0220202D */ daddu $a0, $s1, $zero /* 0EE1FC 802C984C 0C046C70 */ jal func_8011B1C0 @@ -5911,6 +5928,7 @@ func_802C98B4: /* 0EE280 802C98D0 03E00008 */ jr $ra /* 0EE284 802C98D4 27BD0078 */ addiu $sp, $sp, 0x78 +RotateGroup: /* 0EE288 802C98D8 27BDFF78 */ addiu $sp, $sp, -0x88 /* 0EE28C 802C98DC AFB1005C */ sw $s1, 0x5c($sp) /* 0EE290 802C98E0 0080882D */ daddu $s1, $a0, $zero @@ -5922,7 +5940,7 @@ func_802C98B4: /* 0EE2A8 802C98F8 F7B60070 */ sdc1 $f22, 0x70($sp) /* 0EE2AC 802C98FC F7B40068 */ sdc1 $f20, 0x68($sp) /* 0EE2B0 802C9900 8E30000C */ lw $s0, 0xc($s1) -/* 0EE2B4 802C9904 0C0B1EAF */ jal func_802C7ABC +/* 0EE2B4 802C9904 0C0B1EAF */ jal get_variable /* 0EE2B8 802C9908 8E050000 */ lw $a1, ($s0) /* 0EE2BC 802C990C 0C046C24 */ jal func_8011B090 /* 0EE2C0 802C9910 0040202D */ daddu $a0, $v0, $zero @@ -5940,21 +5958,21 @@ func_802C98B4: .L802C993C: /* 0EE2EC 802C993C 8E050000 */ lw $a1, ($s0) /* 0EE2F0 802C9940 26100004 */ addiu $s0, $s0, 4 -/* 0EE2F4 802C9944 0C0B210B */ jal func_802C842C +/* 0EE2F4 802C9944 0C0B210B */ jal get_float_variable /* 0EE2F8 802C9948 0220202D */ daddu $a0, $s1, $zero /* 0EE2FC 802C994C 8E050000 */ lw $a1, ($s0) /* 0EE300 802C9950 26100004 */ addiu $s0, $s0, 4 /* 0EE304 802C9954 0220202D */ daddu $a0, $s1, $zero -/* 0EE308 802C9958 0C0B210B */ jal func_802C842C +/* 0EE308 802C9958 0C0B210B */ jal get_float_variable /* 0EE30C 802C995C 46000686 */ mov.s $f26, $f0 /* 0EE310 802C9960 8E050000 */ lw $a1, ($s0) /* 0EE314 802C9964 26100004 */ addiu $s0, $s0, 4 /* 0EE318 802C9968 0220202D */ daddu $a0, $s1, $zero -/* 0EE31C 802C996C 0C0B210B */ jal func_802C842C +/* 0EE31C 802C996C 0C0B210B */ jal get_float_variable /* 0EE320 802C9970 46000606 */ mov.s $f24, $f0 /* 0EE324 802C9974 0220202D */ daddu $a0, $s1, $zero /* 0EE328 802C9978 8E050000 */ lw $a1, ($s0) -/* 0EE32C 802C997C 0C0B210B */ jal func_802C842C +/* 0EE32C 802C997C 0C0B210B */ jal get_float_variable /* 0EE330 802C9980 46000506 */ mov.s $f20, $f0 /* 0EE334 802C9984 0240202D */ daddu $a0, $s2, $zero /* 0EE338 802C9988 0C046C70 */ jal func_8011B1C0 @@ -5999,6 +6017,7 @@ func_802C99F4: /* 0EE3C4 802C9A14 03E00008 */ jr $ra /* 0EE3C8 802C9A18 27BD0088 */ addiu $sp, $sp, 0x88 +ScaleGroup: /* 0EE3CC 802C9A1C 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0EE3D0 802C9A20 AFB20058 */ sw $s2, 0x58($sp) /* 0EE3D4 802C9A24 0080902D */ daddu $s2, $a0, $zero @@ -6009,7 +6028,7 @@ func_802C99F4: /* 0EE3E8 802C9A38 F7B60068 */ sdc1 $f22, 0x68($sp) /* 0EE3EC 802C9A3C F7B40060 */ sdc1 $f20, 0x60($sp) /* 0EE3F0 802C9A40 8E50000C */ lw $s0, 0xc($s2) -/* 0EE3F4 802C9A44 0C0B1EAF */ jal func_802C7ABC +/* 0EE3F4 802C9A44 0C0B1EAF */ jal get_variable /* 0EE3F8 802C9A48 8E050000 */ lw $a1, ($s0) /* 0EE3FC 802C9A4C 0C046C24 */ jal func_8011B090 /* 0EE400 802C9A50 0040202D */ daddu $a0, $v0, $zero @@ -6027,16 +6046,16 @@ func_802C99F4: .L802C9A7C: /* 0EE42C 802C9A7C 8E050000 */ lw $a1, ($s0) /* 0EE430 802C9A80 26100004 */ addiu $s0, $s0, 4 -/* 0EE434 802C9A84 0C0B210B */ jal func_802C842C +/* 0EE434 802C9A84 0C0B210B */ jal get_float_variable /* 0EE438 802C9A88 0240202D */ daddu $a0, $s2, $zero /* 0EE43C 802C9A8C 8E050000 */ lw $a1, ($s0) /* 0EE440 802C9A90 26100004 */ addiu $s0, $s0, 4 /* 0EE444 802C9A94 0240202D */ daddu $a0, $s2, $zero -/* 0EE448 802C9A98 0C0B210B */ jal func_802C842C +/* 0EE448 802C9A98 0C0B210B */ jal get_float_variable /* 0EE44C 802C9A9C 46000606 */ mov.s $f24, $f0 /* 0EE450 802C9AA0 0240202D */ daddu $a0, $s2, $zero /* 0EE454 802C9AA4 8E050000 */ lw $a1, ($s0) -/* 0EE458 802C9AA8 0C0B210B */ jal func_802C842C +/* 0EE458 802C9AA8 0C0B210B */ jal get_float_variable /* 0EE45C 802C9AAC 46000586 */ mov.s $f22, $f0 /* 0EE460 802C9AB0 0220202D */ daddu $a0, $s1, $zero /* 0EE464 802C9AB4 0C046C70 */ jal func_8011B1C0 @@ -6086,14 +6105,14 @@ func_802C9B1C: /* 0EE500 802C9B50 AFB00010 */ sw $s0, 0x10($sp) /* 0EE504 802C9B54 8E30000C */ lw $s0, 0xc($s1) /* 0EE508 802C9B58 8E050000 */ lw $a1, ($s0) -/* 0EE50C 802C9B5C 0C0B1EAF */ jal func_802C7ABC +/* 0EE50C 802C9B5C 0C0B1EAF */ jal get_variable /* 0EE510 802C9B60 26100004 */ addiu $s0, $s0, 4 /* 0EE514 802C9B64 8E100000 */ lw $s0, ($s0) /* 0EE518 802C9B68 0C046C24 */ jal func_8011B090 /* 0EE51C 802C9B6C 0040202D */ daddu $a0, $v0, $zero /* 0EE520 802C9B70 0220202D */ daddu $a0, $s1, $zero /* 0EE524 802C9B74 0040302D */ daddu $a2, $v0, $zero -/* 0EE528 802C9B78 0C0B2026 */ jal func_802C8098 +/* 0EE528 802C9B78 0C0B2026 */ jal set_variable /* 0EE52C 802C9B7C 0200282D */ daddu $a1, $s0, $zero /* 0EE530 802C9B80 8FBF0018 */ lw $ra, 0x18($sp) /* 0EE534 802C9B84 8FB10014 */ lw $s1, 0x14($sp) @@ -6102,6 +6121,7 @@ func_802C9B1C: /* 0EE540 802C9B90 03E00008 */ jr $ra /* 0EE544 802C9B94 27BD0020 */ addiu $sp, $sp, 0x20 +EnableGroup: /* 0EE548 802C9B98 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EE54C 802C9B9C AFB20018 */ sw $s2, 0x18($sp) /* 0EE550 802C9BA0 0080902D */ daddu $s2, $a0, $zero @@ -6109,7 +6129,7 @@ func_802C9B1C: /* 0EE558 802C9BA8 AFB10014 */ sw $s1, 0x14($sp) /* 0EE55C 802C9BAC AFB00010 */ sw $s0, 0x10($sp) /* 0EE560 802C9BB0 8E51000C */ lw $s1, 0xc($s2) -/* 0EE564 802C9BB4 0C0B1EAF */ jal func_802C7ABC +/* 0EE564 802C9BB4 0C0B1EAF */ jal get_variable /* 0EE568 802C9BB8 8E250000 */ lw $a1, ($s1) /* 0EE56C 802C9BBC 0C046C24 */ jal func_8011B090 /* 0EE570 802C9BC0 0040202D */ daddu $a0, $v0, $zero @@ -6126,7 +6146,7 @@ func_802C9B1C: .L802C9BEC: /* 0EE59C 802C9BEC 8E250004 */ lw $a1, 4($s1) -/* 0EE5A0 802C9BF0 0C0B1EAF */ jal func_802C7ABC +/* 0EE5A0 802C9BF0 0C0B1EAF */ jal get_variable /* 0EE5A4 802C9BF4 0240202D */ daddu $a0, $s2, $zero /* 0EE5A8 802C9BF8 0200202D */ daddu $a0, $s0, $zero /* 0EE5AC 802C9BFC 0C046C70 */ jal func_8011B1C0 @@ -6138,7 +6158,7 @@ func_802C9B1C: /* 0EE5C4 802C9C14 14400010 */ bnez $v0, .L802C9C58 /* 0EE5C8 802C9C18 24020002 */ addiu $v0, $zero, 2 .L802C9C1C: -/* 0EE5CC 802C9C1C 0C046B4C */ jal func_8011AD30 +/* 0EE5CC 802C9C1C 0C046B4C */ jal get_model_from_list_index /* 0EE5D0 802C9C20 0200202D */ daddu $a0, $s0, $zero /* 0EE5D4 802C9C24 12400004 */ beqz $s2, .L802C9C38 /* 0EE5D8 802C9C28 0040182D */ daddu $v1, $v0, $zero @@ -6173,16 +6193,16 @@ func_802C9C58: /* 0EE634 802C9C84 AFB00010 */ sw $s0, 0x10($sp) /* 0EE638 802C9C88 8E30000C */ lw $s0, 0xc($s1) /* 0EE63C 802C9C8C 8E050000 */ lw $a1, ($s0) -/* 0EE640 802C9C90 0C0B1EAF */ jal func_802C7ABC +/* 0EE640 802C9C90 0C0B1EAF */ jal get_variable /* 0EE644 802C9C94 26100004 */ addiu $s0, $s0, 4 /* 0EE648 802C9C98 8E050000 */ lw $a1, ($s0) /* 0EE64C 802C9C9C 26100004 */ addiu $s0, $s0, 4 /* 0EE650 802C9CA0 0220202D */ daddu $a0, $s1, $zero -/* 0EE654 802C9CA4 0C0B1EAF */ jal func_802C7ABC +/* 0EE654 802C9CA4 0C0B1EAF */ jal get_variable /* 0EE658 802C9CA8 0040902D */ daddu $s2, $v0, $zero /* 0EE65C 802C9CAC 0220202D */ daddu $a0, $s1, $zero /* 0EE660 802C9CB0 8E050000 */ lw $a1, ($s0) -/* 0EE664 802C9CB4 0C0B1EAF */ jal func_802C7ABC +/* 0EE664 802C9CB4 0C0B1EAF */ jal get_variable /* 0EE668 802C9CB8 0040802D */ daddu $s0, $v0, $zero /* 0EE66C 802C9CBC 0240202D */ daddu $a0, $s2, $zero /* 0EE670 802C9CC0 3205FFFF */ andi $a1, $s0, 0xffff @@ -6196,7 +6216,7 @@ func_802C9C58: /* 0EE690 802C9CE0 03E00008 */ jr $ra /* 0EE694 802C9CE4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802C9CE8: +modify_collider_family_flags: /* 0EE698 802C9CE8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EE69C 802C9CEC AFB20018 */ sw $s2, 0x18($sp) /* 0EE6A0 802C9CF0 00A0902D */ daddu $s2, $a1, $zero @@ -6212,13 +6232,13 @@ func_802C9CE8: /* 0EE6C8 802C9D18 86040004 */ lh $a0, 4($s0) /* 0EE6CC 802C9D1C 04800003 */ bltz $a0, .L802C9D2C /* 0EE6D0 802C9D20 00C0882D */ daddu $s1, $a2, $zero -/* 0EE6D4 802C9D24 0C0B273A */ jal func_802C9CE8 +/* 0EE6D4 802C9D24 0C0B273A */ jal modify_collider_family_flags /* 0EE6D8 802C9D28 00000000 */ nop .L802C9D2C: /* 0EE6DC 802C9D2C 86040006 */ lh $a0, 6($s0) /* 0EE6E0 802C9D30 04800003 */ bltz $a0, .L802C9D40 /* 0EE6E4 802C9D34 0240282D */ daddu $a1, $s2, $zero -/* 0EE6E8 802C9D38 0C0B273A */ jal func_802C9CE8 +/* 0EE6E8 802C9D38 0C0B273A */ jal modify_collider_family_flags /* 0EE6EC 802C9D3C 0220302D */ daddu $a2, $s1, $zero .L802C9D40: /* 0EE6F0 802C9D40 24020001 */ addiu $v0, $zero, 1 @@ -6269,6 +6289,7 @@ func_802C9DB4: /* 0EE774 802C9DC4 03E00008 */ jr $ra /* 0EE778 802C9DC8 27BD0020 */ addiu $sp, $sp, 0x20 +ModifyColliderFlags: /* 0EE77C 802C9DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EE780 802C9DD0 AFB10014 */ sw $s1, 0x14($sp) /* 0EE784 802C9DD4 0080882D */ daddu $s1, $a0, $zero @@ -6277,16 +6298,16 @@ func_802C9DB4: /* 0EE790 802C9DE0 AFB00010 */ sw $s0, 0x10($sp) /* 0EE794 802C9DE4 8E30000C */ lw $s0, 0xc($s1) /* 0EE798 802C9DE8 8E050000 */ lw $a1, ($s0) -/* 0EE79C 802C9DEC 0C0B1EAF */ jal func_802C7ABC +/* 0EE79C 802C9DEC 0C0B1EAF */ jal get_variable /* 0EE7A0 802C9DF0 26100004 */ addiu $s0, $s0, 4 /* 0EE7A4 802C9DF4 8E050000 */ lw $a1, ($s0) /* 0EE7A8 802C9DF8 26100004 */ addiu $s0, $s0, 4 /* 0EE7AC 802C9DFC 0220202D */ daddu $a0, $s1, $zero -/* 0EE7B0 802C9E00 0C0B1EAF */ jal func_802C7ABC +/* 0EE7B0 802C9E00 0C0B1EAF */ jal get_variable /* 0EE7B4 802C9E04 0040902D */ daddu $s2, $v0, $zero /* 0EE7B8 802C9E08 0220202D */ daddu $a0, $s1, $zero /* 0EE7BC 802C9E0C 8E050000 */ lw $a1, ($s0) -/* 0EE7C0 802C9E10 0C0B1EAF */ jal func_802C7ABC +/* 0EE7C0 802C9E10 0C0B1EAF */ jal get_variable /* 0EE7C4 802C9E14 0040802D */ daddu $s0, $v0, $zero /* 0EE7C8 802C9E18 001018C0 */ sll $v1, $s0, 3 /* 0EE7CC 802C9E1C 00701823 */ subu $v1, $v1, $s0 @@ -6298,7 +6319,7 @@ func_802C9DB4: /* 0EE7E4 802C9E34 04800004 */ bltz $a0, .L802C9E48 /* 0EE7E8 802C9E38 0040882D */ daddu $s1, $v0, $zero /* 0EE7EC 802C9E3C 0220282D */ daddu $a1, $s1, $zero -/* 0EE7F0 802C9E40 0C0B273A */ jal func_802C9CE8 +/* 0EE7F0 802C9E40 0C0B273A */ jal modify_collider_family_flags /* 0EE7F4 802C9E44 0240302D */ daddu $a2, $s2, $zero .L802C9E48: /* 0EE7F8 802C9E48 24020001 */ addiu $v0, $zero, 1 @@ -6350,6 +6371,7 @@ func_802C9EBC: /* 0EE880 802C9ED0 03E00008 */ jr $ra /* 0EE884 802C9ED4 27BD0020 */ addiu $sp, $sp, 0x20 +ResetFromLava: /* 0EE888 802C9ED8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EE88C 802C9EDC AFBF0020 */ sw $ra, 0x20($sp) /* 0EE890 802C9EE0 AFB3001C */ sw $s3, 0x1c($sp) @@ -6361,7 +6383,7 @@ func_802C9EBC: /* 0EE8A8 802C9EF8 8C450000 */ lw $a1, ($v0) /* 0EE8AC 802C9EFC 3C12800B */ lui $s2, 0x800b /* 0EE8B0 802C9F00 265242E0 */ addiu $s2, $s2, 0x42e0 -/* 0EE8B4 802C9F04 0C0B1EAF */ jal func_802C7ABC +/* 0EE8B4 802C9F04 0C0B1EAF */ jal get_variable /* 0EE8B8 802C9F08 2413FFFF */ addiu $s3, $zero, -1 /* 0EE8BC 802C9F0C 0040882D */ daddu $s1, $v0, $zero /* 0EE8C0 802C9F10 3C01802E */ lui $at, 0x802e @@ -6377,7 +6399,7 @@ func_802C9F18: /* 0EE8E4 802C9F34 86040006 */ lh $a0, 6($s0) /* 0EE8E8 802C9F38 04800003 */ bltz $a0, .L802C9F48 /* 0EE8EC 802C9F3C 24050100 */ addiu $a1, $zero, 0x100 -/* 0EE8F0 802C9F40 0C0B273A */ jal func_802C9CE8 +/* 0EE8F0 802C9F40 0C0B273A */ jal modify_collider_family_flags /* 0EE8F4 802C9F44 0000302D */ daddu $a2, $zero, $zero .L802C9F48: /* 0EE8F8 802C9F48 8E020000 */ lw $v0, ($s0) @@ -6435,7 +6457,7 @@ func_802C9F18: /* 0EE9B4 802CA004 8CA5ADA0 */ lw $a1, -0x5260($a1) /* 0EE9B8 802CA008 14620018 */ bne $v1, $v0, .L802CA06C /* 0EE9BC 802CA00C 00C0902D */ daddu $s2, $a2, $zero -/* 0EE9C0 802CA010 0C016AFA */ jal func_8005ABE8 +/* 0EE9C0 802CA010 0C016AFA */ jal get_current_map_header /* 0EE9C4 802CA014 00000000 */ nop /* 0EE9C8 802CA018 3C038007 */ lui $v1, 0x8007 /* 0EE9CC 802CA01C 8C63419C */ lw $v1, 0x419c($v1) @@ -6483,17 +6505,18 @@ func_802CA094: /* 0EEA54 802CA0A4 03E00008 */ jr $ra /* 0EEA58 802CA0A8 27BD0020 */ addiu $sp, $sp, 0x20 +GetColliderCenter: /* 0EEA5C 802CA0AC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EEA60 802CA0B0 AFB00020 */ sw $s0, 0x20($sp) /* 0EEA64 802CA0B4 0080802D */ daddu $s0, $a0, $zero /* 0EEA68 802CA0B8 AFBF0024 */ sw $ra, 0x24($sp) /* 0EEA6C 802CA0BC 8E02000C */ lw $v0, 0xc($s0) -/* 0EEA70 802CA0C0 0C0B1EAF */ jal func_802C7ABC +/* 0EEA70 802CA0C0 0C0B1EAF */ jal get_variable /* 0EEA74 802CA0C4 8C450000 */ lw $a1, ($v0) /* 0EEA78 802CA0C8 0040202D */ daddu $a0, $v0, $zero /* 0EEA7C 802CA0CC 27A50010 */ addiu $a1, $sp, 0x10 /* 0EEA80 802CA0D0 27A60014 */ addiu $a2, $sp, 0x14 -/* 0EEA84 802CA0D4 0C016F84 */ jal func_8005BE10 +/* 0EEA84 802CA0D4 0C016F84 */ jal get_collider_center /* 0EEA88 802CA0D8 27A70018 */ addiu $a3, $sp, 0x18 /* 0EEA8C 802CA0DC C7A00010 */ lwc1 $f0, 0x10($sp) /* 0EEA90 802CA0E0 4600010D */ trunc.w.s $f4, $f0 @@ -6510,6 +6533,7 @@ func_802CA094: /* 0EEABC 802CA10C 03E00008 */ jr $ra /* 0EEAC0 802CA110 27BD0028 */ addiu $sp, $sp, 0x28 +ParentColliderToModel: /* 0EEAC4 802CA114 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EEAC8 802CA118 AFB10014 */ sw $s1, 0x14($sp) /* 0EEACC 802CA11C 0080882D */ daddu $s1, $a0, $zero @@ -6517,21 +6541,21 @@ func_802CA094: /* 0EEAD4 802CA124 AFB00010 */ sw $s0, 0x10($sp) /* 0EEAD8 802CA128 8E30000C */ lw $s0, 0xc($s1) /* 0EEADC 802CA12C 8E050000 */ lw $a1, ($s0) -/* 0EEAE0 802CA130 0C0B1EAF */ jal func_802C7ABC +/* 0EEAE0 802CA130 0C0B1EAF */ jal get_variable /* 0EEAE4 802CA134 26100004 */ addiu $s0, $s0, 4 /* 0EEAE8 802CA138 0220202D */ daddu $a0, $s1, $zero /* 0EEAEC 802CA13C 8E050000 */ lw $a1, ($s0) -/* 0EEAF0 802CA140 0C0B1EAF */ jal func_802C7ABC +/* 0EEAF0 802CA140 0C0B1EAF */ jal get_variable /* 0EEAF4 802CA144 0040802D */ daddu $s0, $v0, $zero -/* 0EEAF8 802CA148 0C046C04 */ jal func_8011B010 +/* 0EEAF8 802CA148 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EEAFC 802CA14C 0040202D */ daddu $a0, $v0, $zero /* 0EEB00 802CA150 00108400 */ sll $s0, $s0, 0x10 /* 0EEB04 802CA154 00108403 */ sra $s0, $s0, 0x10 /* 0EEB08 802CA158 0200202D */ daddu $a0, $s0, $zero /* 0EEB0C 802CA15C 00021400 */ sll $v0, $v0, 0x10 -/* 0EEB10 802CA160 0C016DE0 */ jal func_8005B780 +/* 0EEB10 802CA160 0C016DE0 */ jal parent_collider_to_model /* 0EEB14 802CA164 00022C03 */ sra $a1, $v0, 0x10 -/* 0EEB18 802CA168 0C016E89 */ jal func_8005BA24 +/* 0EEB18 802CA168 0C016E89 */ jal update_collider_transform /* 0EEB1C 802CA16C 0200202D */ daddu $a0, $s0, $zero /* 0EEB20 802CA170 8FBF0018 */ lw $ra, 0x18($sp) /* 0EEB24 802CA174 8FB10014 */ lw $s1, 0x14($sp) @@ -6540,13 +6564,14 @@ func_802CA094: /* 0EEB30 802CA180 03E00008 */ jr $ra /* 0EEB34 802CA184 27BD0020 */ addiu $sp, $sp, 0x20 +UpdateColliderTransform: /* 0EEB38 802CA188 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEB3C 802CA18C AFBF0010 */ sw $ra, 0x10($sp) /* 0EEB40 802CA190 8C82000C */ lw $v0, 0xc($a0) -/* 0EEB44 802CA194 0C0B1EAF */ jal func_802C7ABC +/* 0EEB44 802CA194 0C0B1EAF */ jal get_variable /* 0EEB48 802CA198 8C450000 */ lw $a1, ($v0) /* 0EEB4C 802CA19C 00021400 */ sll $v0, $v0, 0x10 -/* 0EEB50 802CA1A0 0C016E89 */ jal func_8005BA24 +/* 0EEB50 802CA1A0 0C016E89 */ jal update_collider_transform /* 0EEB54 802CA1A4 00022403 */ sra $a0, $v0, 0x10 /* 0EEB58 802CA1A8 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEB5C 802CA1AC 24020002 */ addiu $v0, $zero, 2 @@ -6609,11 +6634,11 @@ func_802CA240: /* 0EEC14 802CA264 AFB00010 */ sw $s0, 0x10($sp) /* 0EEC18 802CA268 8E30000C */ lw $s0, 0xc($s1) /* 0EEC1C 802CA26C 8E050000 */ lw $a1, ($s0) -/* 0EEC20 802CA270 0C0B1EAF */ jal func_802C7ABC +/* 0EEC20 802CA270 0C0B1EAF */ jal get_variable /* 0EEC24 802CA274 26100004 */ addiu $s0, $s0, 4 /* 0EEC28 802CA278 0220202D */ daddu $a0, $s1, $zero /* 0EEC2C 802CA27C 8E050000 */ lw $a1, ($s0) -/* 0EEC30 802CA280 0C0B1EAF */ jal func_802C7ABC +/* 0EEC30 802CA280 0C0B1EAF */ jal get_variable /* 0EEC34 802CA284 0040802D */ daddu $s0, $v0, $zero /* 0EEC38 802CA288 001018C0 */ sll $v1, $s0, 3 /* 0EEC3C 802CA28C 00701823 */ subu $v1, $v1, $s0 @@ -6654,7 +6679,7 @@ func_802CA2EC: /* 0EECAC 802CA2FC 03E00008 */ jr $ra /* 0EECB0 802CA300 27BD0020 */ addiu $sp, $sp, 0x20 -func_802CA304: +goto_map: /* 0EECB4 802CA304 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0EECB8 802CA308 AFB20020 */ sw $s2, 0x20($sp) /* 0EECBC 802CA30C 0080902D */ daddu $s2, $a0, $zero @@ -6669,12 +6694,12 @@ func_802CA304: /* 0EECE0 802CA330 1682000B */ bne $s4, $v0, .L802CA360 /* 0EECE4 802CA334 0000982D */ daddu $s3, $zero, $zero /* 0EECE8 802CA338 8E250000 */ lw $a1, ($s1) -/* 0EECEC 802CA33C 0C0B1EAF */ jal func_802C7ABC +/* 0EECEC 802CA33C 0C0B1EAF */ jal get_variable /* 0EECF0 802CA340 26310004 */ addiu $s1, $s1, 4 /* 0EECF4 802CA344 A7A20010 */ sh $v0, 0x10($sp) /* 0EECF8 802CA348 8E250000 */ lw $a1, ($s1) /* 0EECFC 802CA34C 26310004 */ addiu $s1, $s1, 4 -/* 0EED00 802CA350 0C0B1EAF */ jal func_802C7ABC +/* 0EED00 802CA350 0C0B1EAF */ jal get_variable /* 0EED04 802CA354 0240202D */ daddu $a0, $s2, $zero /* 0EED08 802CA358 080B28E0 */ j func_802CA380 /* 0EED0C 802CA35C A7A20012 */ sh $v0, 0x12($sp) @@ -6682,11 +6707,11 @@ func_802CA304: .L802CA360: /* 0EED10 802CA360 8E250000 */ lw $a1, ($s1) /* 0EED14 802CA364 26310004 */ addiu $s1, $s1, 4 -/* 0EED18 802CA368 0C0B1EAF */ jal func_802C7ABC +/* 0EED18 802CA368 0C0B1EAF */ jal get_variable /* 0EED1C 802CA36C 0240202D */ daddu $a0, $s2, $zero /* 0EED20 802CA370 0040202D */ daddu $a0, $v0, $zero /* 0EED24 802CA374 27A50010 */ addiu $a1, $sp, 0x10 -/* 0EED28 802CA378 0C016AFE */ jal func_8005ABF8 +/* 0EED28 802CA378 0C016AFE */ jal get_map_IDs_by_name /* 0EED2C 802CA37C 27A60012 */ addiu $a2, $sp, 0x12 func_802CA380: /* 0EED30 802CA380 3C108007 */ lui $s0, 0x8007 @@ -6697,7 +6722,7 @@ func_802CA380: /* 0EED44 802CA394 A4820086 */ sh $v0, 0x86($a0) /* 0EED48 802CA398 A483008C */ sh $v1, 0x8c($a0) /* 0EED4C 802CA39C 8E250000 */ lw $a1, ($s1) -/* 0EED50 802CA3A0 0C0B1EAF */ jal func_802C7ABC +/* 0EED50 802CA3A0 0C0B1EAF */ jal get_variable /* 0EED54 802CA3A4 0240202D */ daddu $a0, $s2, $zero /* 0EED58 802CA3A8 8E030000 */ lw $v1, ($s0) /* 0EED5C 802CA3AC A462008E */ sh $v0, 0x8e($v1) @@ -6705,14 +6730,14 @@ func_802CA380: /* 0EED64 802CA3B4 16820005 */ bne $s4, $v0, .L802CA3CC /* 0EED68 802CA3B8 26310004 */ addiu $s1, $s1, 4 /* 0EED6C 802CA3BC 8E250000 */ lw $a1, ($s1) -/* 0EED70 802CA3C0 0C0B1EAF */ jal func_802C7ABC +/* 0EED70 802CA3C0 0C0B1EAF */ jal get_variable /* 0EED74 802CA3C4 0240202D */ daddu $a0, $s2, $zero /* 0EED78 802CA3C8 0040982D */ daddu $s3, $v0, $zero .L802CA3CC: /* 0EED7C 802CA3CC 00132400 */ sll $a0, $s3, 0x10 -/* 0EED80 802CA3D0 0C04E0A8 */ jal func_801382A0 +/* 0EED80 802CA3D0 0C04E0A8 */ jal set_map_transition_effect /* 0EED84 802CA3D4 00042403 */ sra $a0, $a0, 0x10 -/* 0EED88 802CA3D8 0C00CD3C */ jal func_800334F0 +/* 0EED88 802CA3D8 0C00CD3C */ jal set_game_mode /* 0EED8C 802CA3DC 24040005 */ addiu $a0, $zero, 5 /* 0EED90 802CA3E0 8FBF002C */ lw $ra, 0x2c($sp) /* 0EED94 802CA3E4 8FB40028 */ lw $s4, 0x28($sp) @@ -6723,59 +6748,65 @@ func_802CA380: /* 0EEDA8 802CA3F8 03E00008 */ jr $ra /* 0EEDAC 802CA3FC 27BD0030 */ addiu $sp, $sp, 0x30 +GotoMap: /* 0EEDB0 802CA400 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEDB4 802CA404 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EEDB8 802CA408 0C0B28C1 */ jal func_802CA304 +/* 0EEDB8 802CA408 0C0B28C1 */ jal goto_map /* 0EEDBC 802CA40C 0000282D */ daddu $a1, $zero, $zero /* 0EEDC0 802CA410 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEDC4 802CA414 24020001 */ addiu $v0, $zero, 1 /* 0EEDC8 802CA418 03E00008 */ jr $ra /* 0EEDCC 802CA41C 27BD0018 */ addiu $sp, $sp, 0x18 +GotoMapSpecial: /* 0EEDD0 802CA420 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEDD4 802CA424 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EEDD8 802CA428 0C0B28C1 */ jal func_802CA304 +/* 0EEDD8 802CA428 0C0B28C1 */ jal goto_map /* 0EEDDC 802CA42C 24050001 */ addiu $a1, $zero, 1 /* 0EEDE0 802CA430 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEDE4 802CA434 24020001 */ addiu $v0, $zero, 1 /* 0EEDE8 802CA438 03E00008 */ jr $ra /* 0EEDEC 802CA43C 27BD0018 */ addiu $sp, $sp, 0x18 +GotoMapByID: /* 0EEDF0 802CA440 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEDF4 802CA444 AFBF0010 */ sw $ra, 0x10($sp) -/* 0EEDF8 802CA448 0C0B28C1 */ jal func_802CA304 +/* 0EEDF8 802CA448 0C0B28C1 */ jal goto_map /* 0EEDFC 802CA44C 24050002 */ addiu $a1, $zero, 2 /* 0EEE00 802CA450 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEE04 802CA454 24020001 */ addiu $v0, $zero, 1 /* 0EEE08 802CA458 03E00008 */ jr $ra /* 0EEE0C 802CA45C 27BD0018 */ addiu $sp, $sp, 0x18 +GetEntryID: /* 0EEE10 802CA460 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEE14 802CA464 AFBF0010 */ sw $ra, 0x10($sp) /* 0EEE18 802CA468 8C82000C */ lw $v0, 0xc($a0) /* 0EEE1C 802CA46C 3C038007 */ lui $v1, 0x8007 /* 0EEE20 802CA470 8C63419C */ lw $v1, 0x419c($v1) /* 0EEE24 802CA474 8C450000 */ lw $a1, ($v0) -/* 0EEE28 802CA478 0C0B2026 */ jal func_802C8098 +/* 0EEE28 802CA478 0C0B2026 */ jal set_variable /* 0EEE2C 802CA47C 8466008E */ lh $a2, 0x8e($v1) /* 0EEE30 802CA480 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEE34 802CA484 24020002 */ addiu $v0, $zero, 2 /* 0EEE38 802CA488 03E00008 */ jr $ra /* 0EEE3C 802CA48C 27BD0018 */ addiu $sp, $sp, 0x18 +GetMapID: /* 0EEE40 802CA490 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0EEE44 802CA494 AFBF0010 */ sw $ra, 0x10($sp) /* 0EEE48 802CA498 8C82000C */ lw $v0, 0xc($a0) /* 0EEE4C 802CA49C 3C038007 */ lui $v1, 0x8007 /* 0EEE50 802CA4A0 8C63419C */ lw $v1, 0x419c($v1) /* 0EEE54 802CA4A4 8C450000 */ lw $a1, ($v0) -/* 0EEE58 802CA4A8 0C0B2026 */ jal func_802C8098 +/* 0EEE58 802CA4A8 0C0B2026 */ jal set_variable /* 0EEE5C 802CA4AC 8466008C */ lh $a2, 0x8c($v1) /* 0EEE60 802CA4B0 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEE64 802CA4B4 24020002 */ addiu $v0, $zero, 2 /* 0EEE68 802CA4B8 03E00008 */ jr $ra /* 0EEE6C 802CA4BC 27BD0018 */ addiu $sp, $sp, 0x18 +GetLoadType: /* 0EEE70 802CA4C0 3C028007 */ lui $v0, 0x8007 /* 0EEE74 802CA4C4 8C42419C */ lw $v0, 0x419c($v0) /* 0EEE78 802CA4C8 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -6783,13 +6814,14 @@ func_802CA380: /* 0EEE80 802CA4D0 8C83000C */ lw $v1, 0xc($a0) /* 0EEE84 802CA4D4 90460167 */ lbu $a2, 0x167($v0) /* 0EEE88 802CA4D8 8C650000 */ lw $a1, ($v1) -/* 0EEE8C 802CA4DC 0C0B2026 */ jal func_802C8098 +/* 0EEE8C 802CA4DC 0C0B2026 */ jal set_variable /* 0EEE90 802CA4E0 0006302B */ sltu $a2, $zero, $a2 /* 0EEE94 802CA4E4 8FBF0010 */ lw $ra, 0x10($sp) /* 0EEE98 802CA4E8 24020002 */ addiu $v0, $zero, 2 /* 0EEE9C 802CA4EC 03E00008 */ jr $ra /* 0EEEA0 802CA4F0 27BD0018 */ addiu $sp, $sp, 0x18 +SetRenderMode: /* 0EEEA4 802CA4F4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EEEA8 802CA4F8 AFB10014 */ sw $s1, 0x14($sp) /* 0EEEAC 802CA4FC 0080882D */ daddu $s1, $a0, $zero @@ -6797,16 +6829,16 @@ func_802CA380: /* 0EEEB4 802CA504 AFB00010 */ sw $s0, 0x10($sp) /* 0EEEB8 802CA508 8E30000C */ lw $s0, 0xc($s1) /* 0EEEBC 802CA50C 8E050000 */ lw $a1, ($s0) -/* 0EEEC0 802CA510 0C0B1EAF */ jal func_802C7ABC +/* 0EEEC0 802CA510 0C0B1EAF */ jal get_variable /* 0EEEC4 802CA514 26100004 */ addiu $s0, $s0, 4 /* 0EEEC8 802CA518 0220202D */ daddu $a0, $s1, $zero /* 0EEECC 802CA51C 8E050000 */ lw $a1, ($s0) -/* 0EEED0 802CA520 0C0B1EAF */ jal func_802C7ABC +/* 0EEED0 802CA520 0C0B1EAF */ jal get_variable /* 0EEED4 802CA524 0040802D */ daddu $s0, $v0, $zero /* 0EEED8 802CA528 0200202D */ daddu $a0, $s0, $zero -/* 0EEEDC 802CA52C 0C046C04 */ jal func_8011B010 +/* 0EEEDC 802CA52C 0C046C04 */ jal get_model_list_index_from_tree_index /* 0EEEE0 802CA530 0040802D */ daddu $s0, $v0, $zero -/* 0EEEE4 802CA534 0C046B4C */ jal func_8011AD30 +/* 0EEEE4 802CA534 0C046B4C */ jal get_model_from_list_index /* 0EEEE8 802CA538 0040202D */ daddu $a0, $v0, $zero /* 0EEEEC 802CA53C A05000A6 */ sb $s0, 0xa6($v0) /* 0EEEF0 802CA540 8FBF0018 */ lw $ra, 0x18($sp) @@ -6816,6 +6848,7 @@ func_802CA380: /* 0EEF00 802CA550 03E00008 */ jr $ra /* 0EEF04 802CA554 27BD0020 */ addiu $sp, $sp, 0x20 +PlaySoundAtModel: /* 0EEF08 802CA558 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0EEF0C 802CA55C AFB1003C */ sw $s1, 0x3c($sp) /* 0EEF10 802CA560 0080882D */ daddu $s1, $a0, $zero @@ -6824,16 +6857,16 @@ func_802CA380: /* 0EEF1C 802CA56C AFB00038 */ sw $s0, 0x38($sp) /* 0EEF20 802CA570 8E30000C */ lw $s0, 0xc($s1) /* 0EEF24 802CA574 8E050000 */ lw $a1, ($s0) -/* 0EEF28 802CA578 0C0B1EAF */ jal func_802C7ABC +/* 0EEF28 802CA578 0C0B1EAF */ jal get_variable /* 0EEF2C 802CA57C 26100004 */ addiu $s0, $s0, 4 /* 0EEF30 802CA580 8E050000 */ lw $a1, ($s0) /* 0EEF34 802CA584 26100004 */ addiu $s0, $s0, 4 /* 0EEF38 802CA588 0220202D */ daddu $a0, $s1, $zero -/* 0EEF3C 802CA58C 0C0B1EAF */ jal func_802C7ABC +/* 0EEF3C 802CA58C 0C0B1EAF */ jal get_variable /* 0EEF40 802CA590 0040902D */ daddu $s2, $v0, $zero /* 0EEF44 802CA594 0220202D */ daddu $a0, $s1, $zero /* 0EEF48 802CA598 8E050000 */ lw $a1, ($s0) -/* 0EEF4C 802CA59C 0C0B1EAF */ jal func_802C7ABC +/* 0EEF4C 802CA59C 0C0B1EAF */ jal get_variable /* 0EEF50 802CA5A0 0040882D */ daddu $s1, $v0, $zero /* 0EEF54 802CA5A4 3244FFFF */ andi $a0, $s2, 0xffff /* 0EEF58 802CA5A8 27A50020 */ addiu $a1, $sp, 0x20 @@ -6845,7 +6878,7 @@ func_802CA380: /* 0EEF70 802CA5C0 AFA30014 */ sw $v1, 0x14($sp) /* 0EEF74 802CA5C4 27A30034 */ addiu $v1, $sp, 0x34 /* 0EEF78 802CA5C8 0040802D */ daddu $s0, $v0, $zero -/* 0EEF7C 802CA5CC 0C046C3B */ jal func_8011B0EC +/* 0EEF7C 802CA5CC 0C046C3B */ jal get_model_center_and_size /* 0EEF80 802CA5D0 AFA30018 */ sw $v1, 0x18($sp) /* 0EEF84 802CA5D4 0220202D */ daddu $a0, $s1, $zero /* 0EEF88 802CA5D8 C7A00020 */ lwc1 $f0, 0x20($sp) @@ -6854,7 +6887,7 @@ func_802CA380: /* 0EEF94 802CA5E4 44071000 */ mfc1 $a3, $f2 /* 0EEF98 802CA5E8 C7A00028 */ lwc1 $f0, 0x28($sp) /* 0EEF9C 802CA5EC 0200282D */ daddu $a1, $s0, $zero -/* 0EEFA0 802CA5F0 0C052757 */ jal func_80149D5C +/* 0EEFA0 802CA5F0 0C052757 */ jal play_sound_at_position /* 0EEFA4 802CA5F4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0EEFA8 802CA5F8 8FBF0044 */ lw $ra, 0x44($sp) /* 0EEFAC 802CA5FC 8FB20040 */ lw $s2, 0x40($sp) @@ -6864,6 +6897,7 @@ func_802CA380: /* 0EEFBC 802CA60C 03E00008 */ jr $ra /* 0EEFC0 802CA610 27BD0048 */ addiu $sp, $sp, 0x48 +PlaySoundAtCollider: /* 0EEFC4 802CA614 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0EEFC8 802CA618 AFB1002C */ sw $s1, 0x2c($sp) /* 0EEFCC 802CA61C 0080882D */ daddu $s1, $a0, $zero @@ -6872,22 +6906,22 @@ func_802CA380: /* 0EEFD8 802CA628 AFB00028 */ sw $s0, 0x28($sp) /* 0EEFDC 802CA62C 8E30000C */ lw $s0, 0xc($s1) /* 0EEFE0 802CA630 8E050000 */ lw $a1, ($s0) -/* 0EEFE4 802CA634 0C0B1EAF */ jal func_802C7ABC +/* 0EEFE4 802CA634 0C0B1EAF */ jal get_variable /* 0EEFE8 802CA638 26100004 */ addiu $s0, $s0, 4 /* 0EEFEC 802CA63C 8E050000 */ lw $a1, ($s0) /* 0EEFF0 802CA640 26100004 */ addiu $s0, $s0, 4 /* 0EEFF4 802CA644 0220202D */ daddu $a0, $s1, $zero -/* 0EEFF8 802CA648 0C0B1EAF */ jal func_802C7ABC +/* 0EEFF8 802CA648 0C0B1EAF */ jal get_variable /* 0EEFFC 802CA64C 0040902D */ daddu $s2, $v0, $zero /* 0EF000 802CA650 0220202D */ daddu $a0, $s1, $zero /* 0EF004 802CA654 8E050000 */ lw $a1, ($s0) -/* 0EF008 802CA658 0C0B1EAF */ jal func_802C7ABC +/* 0EF008 802CA658 0C0B1EAF */ jal get_variable /* 0EF00C 802CA65C 0040802D */ daddu $s0, $v0, $zero /* 0EF010 802CA660 0240202D */ daddu $a0, $s2, $zero /* 0EF014 802CA664 27A50018 */ addiu $a1, $sp, 0x18 /* 0EF018 802CA668 27A6001C */ addiu $a2, $sp, 0x1c /* 0EF01C 802CA66C 27A70020 */ addiu $a3, $sp, 0x20 -/* 0EF020 802CA670 0C016F84 */ jal func_8005BE10 +/* 0EF020 802CA670 0C016F84 */ jal get_collider_center /* 0EF024 802CA674 0040882D */ daddu $s1, $v0, $zero /* 0EF028 802CA678 0200202D */ daddu $a0, $s0, $zero /* 0EF02C 802CA67C C7A00018 */ lwc1 $f0, 0x18($sp) @@ -6896,7 +6930,7 @@ func_802CA380: /* 0EF038 802CA688 44071000 */ mfc1 $a3, $f2 /* 0EF03C 802CA68C C7A00020 */ lwc1 $f0, 0x20($sp) /* 0EF040 802CA690 0220282D */ daddu $a1, $s1, $zero -/* 0EF044 802CA694 0C052757 */ jal func_80149D5C +/* 0EF044 802CA694 0C052757 */ jal play_sound_at_position /* 0EF048 802CA698 E7A00010 */ swc1 $f0, 0x10($sp) /* 0EF04C 802CA69C 8FBF0034 */ lw $ra, 0x34($sp) /* 0EF050 802CA6A0 8FB20030 */ lw $s2, 0x30($sp) diff --git a/papermario/asm/code_e940_len_290.s b/papermario/asm/code_e940_len_290.s index d72a966ebd..ff9d393898 100644 --- a/papermario/asm/code_e940_len_290.s +++ b/papermario/asm/code_e940_len_290.s @@ -47,15 +47,15 @@ /* 00E9E0 800335E0 8E020000 */ lw $v0, ($s0) /* 00E9E4 800335E4 A04300A9 */ sb $v1, 0xa9($v0) /* 00E9E8 800335E8 8E020000 */ lw $v0, ($s0) -/* 00E9EC 800335EC 0C00AB00 */ jal func_8002AC00 +/* 00E9EC 800335EC 0C00AB00 */ jal general_heap_create /* 00E9F0 800335F0 A0400071 */ sb $zero, 0x71($v0) /* 00E9F4 800335F4 0C047624 */ jal func_8011D890 /* 00E9F8 800335F8 00000000 */ nop /* 00E9FC 800335FC 0C048C2E */ jal func_801230B8 /* 00EA00 80033600 00000000 */ nop -/* 00EA04 80033604 0C0B0C77 */ jal func_802C31DC +/* 00EA04 80033604 0C0B0C77 */ jal clear_script_list /* 00EA08 80033608 00000000 */ nop -/* 00EA0C 8003360C 0C00B7BD */ jal func_8002DEF4 +/* 00EA0C 8003360C 0C00B7BD */ jal create_cameras_a /* 00EA10 80033610 00000000 */ nop /* 00EA14 80033614 0C0B763E */ jal func_802DD8F8 /* 00EA18 80033618 0000202D */ daddu $a0, $zero, $zero @@ -63,7 +63,7 @@ /* 00EA20 80033620 00000000 */ nop /* 00EA24 80033624 0C047889 */ jal func_8011E224 /* 00EA28 80033628 00000000 */ nop -/* 00EA2C 8003362C 0C045751 */ jal func_80115D44 +/* 00EA2C 8003362C 0C045751 */ jal clear_model_data /* 00EA30 80033630 00000000 */ nop /* 00EA34 80033634 0C052010 */ jal func_80148040 /* 00EA38 80033638 00000000 */ nop @@ -74,19 +74,19 @@ /* 00EA4C 8003364C 0080282D */ daddu $a1, $a0, $zero /* 00EA50 80033650 0C050440 */ jal func_80141100 /* 00EA54 80033654 00000000 */ nop -/* 00EA58 80033658 0C0515A0 */ jal func_80145680 +/* 00EA58 80033658 0C0515A0 */ jal clear_trigger_data /* 00EA5C 8003365C 00000000 */ nop -/* 00EA60 80033660 0C048D9D */ jal func_80123674 +/* 00EA60 80033660 0C048D9D */ jal clear_printers /* 00EA64 80033664 00000000 */ nop /* 00EA68 80033668 0C04432E */ jal func_80110CB8 /* 00EA6C 8003366C 0000202D */ daddu $a0, $zero, $zero /* 00EA70 80033670 0C04E042 */ jal func_80138108 /* 00EA74 80033674 00000000 */ nop -/* 00EA78 80033678 0C037F14 */ jal func_800DFC50 +/* 00EA78 80033678 0C037F14 */ jal clear_player_status /* 00EA7C 8003367C 00000000 */ nop /* 00EA80 80033680 0C00E12F */ jal func_800384BC /* 00EA84 80033684 00000000 */ nop -/* 00EA88 80033688 0C039CE8 */ jal func_800E73A0 +/* 00EA88 80033688 0C039CE8 */ jal clear_player_data /* 00EA8C 8003368C 00000000 */ nop /* 00EA90 80033690 0C01CACC */ jal func_80072B30 /* 00EA94 80033694 00000000 */ nop @@ -94,11 +94,11 @@ /* 00EA9C 8003369C 00000000 */ nop /* 00EAA0 800336A0 0C016727 */ jal func_80059C9C /* 00EAA4 800336A4 00000000 */ nop -/* 00EAA8 800336A8 0C04C3FC */ jal func_80130FF0 +/* 00EAA8 800336A8 0C04C3FC */ jal clear_item_entity_data /* 00EAAC 800336AC 00000000 */ nop -/* 00EAB0 800336B0 0C0514C8 */ jal func_80145320 +/* 00EAB0 800336B0 0C0514C8 */ jal clear_saved_variables /* 00EAB4 800336B4 00000000 */ nop -/* 00EAB8 800336B8 0C016BE5 */ jal func_8005AF94 +/* 00EAB8 800336B8 0C016BE5 */ jal initialize_collision /* 00EABC 800336BC 00000000 */ nop /* 00EAC0 800336C0 0C052B02 */ jal func_8014AC08 /* 00EAC4 800336C4 00000000 */ nop @@ -123,7 +123,7 @@ /* 00EB0C 8003370C 28820004 */ slti $v0, $a0, 4 /* 00EB10 80033710 1440FFFB */ bnez $v0, .L80033700 /* 00EB14 80033714 24630002 */ addiu $v1, $v1, 2 -/* 00EB18 80033718 0C00ABF6 */ jal func_8002AFD8 +/* 00EB18 80033718 0C00ABF6 */ jal fio_has_valid_backup /* 00EB1C 8003371C 00000000 */ nop /* 00EB20 80033720 3C02800E */ lui $v0, 0x800e /* 00EB24 80033724 8C429620 */ lw $v0, -0x69e0($v0) @@ -148,7 +148,7 @@ func_8003375C: /* 00EB64 80033764 8C430000 */ lw $v1, ($v0) /* 00EB68 80033768 2405FFF7 */ addiu $a1, $zero, -9 /* 00EB6C 8003376C 00651824 */ and $v1, $v1, $a1 -/* 00EB70 80033770 0C00CD3C */ jal func_800334F0 +/* 00EB70 80033770 0C00CD3C */ jal set_game_mode /* 00EB74 80033774 AC430000 */ sw $v1, ($v0) func_80033778: /* 00EB78 80033778 8FBF0014 */ lw $ra, 0x14($sp) diff --git a/papermario/asm/code_ebd0_len_6a0.s b/papermario/asm/code_ebd0_len_6a0.s index 15805b9377..5e8b40d884 100644 --- a/papermario/asm/code_ebd0_len_6a0.s +++ b/papermario/asm/code_ebd0_len_6a0.s @@ -81,12 +81,14 @@ func_80033874: /* 00ECC8 800338C8 03E00008 */ jr $ra /* 00ECCC 800338CC 27BD0018 */ addiu $sp, $sp, 0x18 +start_battle_countdown: /* 00ECD0 800338D0 24020005 */ addiu $v0, $zero, 5 /* 00ECD4 800338D4 3C01800A */ lui $at, 0x800a /* 00ECD8 800338D8 A0220900 */ sb $v0, 0x900($at) /* 00ECDC 800338DC 03E00008 */ jr $ra /* 00ECE0 800338E0 00000000 */ nop +step_battle: /* 00ECE4 800338E4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00ECE8 800338E8 AFB00010 */ sw $s0, 0x10($sp) /* 00ECEC 800338EC 3C10800A */ lui $s0, 0x800a @@ -136,7 +138,7 @@ func_80033874: /* 00ED90 80033990 2610419C */ addiu $s0, $s0, 0x419c /* 00ED94 80033994 8E030000 */ lw $v1, ($s0) /* 00ED98 80033998 24020001 */ addiu $v0, $zero, 1 -/* 00ED9C 8003399C 0C016BA8 */ jal func_8005AEA0 +/* 00ED9C 8003399C 0C016BA8 */ jal allocate_hit_tables /* 00EDA0 800339A0 A0620070 */ sb $v0, 0x70($v1) /* 00EDA4 800339A4 0C00B458 */ jal func_8002D160 /* 00EDA8 800339A8 00000000 */ nop @@ -165,7 +167,7 @@ func_80033874: .L80033A00: /* 00EE00 80033A00 0C0B763E */ jal func_802DD8F8 /* 00EE04 80033A04 00000000 */ nop -/* 00EE08 80033A08 0C045751 */ jal func_80115D44 +/* 00EE08 80033A08 0C045751 */ jal clear_model_data /* 00EE0C 80033A0C 00000000 */ nop /* 00EE10 80033A10 0C052010 */ jal func_80148040 /* 00EE14 80033A14 00000000 */ nop @@ -182,17 +184,17 @@ func_80033874: /* 00EE40 80033A40 0080282D */ daddu $a1, $a0, $zero /* 00EE44 80033A44 0C050440 */ jal func_80141100 /* 00EE48 80033A48 00000000 */ nop -/* 00EE4C 80033A4C 0C03A6EC */ jal func_800E9BB0 +/* 00EE4C 80033A4C 0C03A6EC */ jal reset_status_menu /* 00EE50 80033A50 00000000 */ nop -/* 00EE54 80033A54 0C04C3FC */ jal func_80130FF0 +/* 00EE54 80033A54 0C04C3FC */ jal clear_item_entity_data /* 00EE58 80033A58 00000000 */ nop -/* 00EE5C 80033A5C 0C0B0C77 */ jal func_802C31DC +/* 00EE5C 80033A5C 0C0B0C77 */ jal clear_script_list /* 00EE60 80033A60 00000000 */ nop /* 00EE64 80033A64 0C00E12F */ jal func_800384BC /* 00EE68 80033A68 00000000 */ nop /* 00EE6C 80033A6C 0C04432E */ jal func_80110CB8 /* 00EE70 80033A70 24040001 */ addiu $a0, $zero, 1 -/* 00EE74 80033A74 0C0515A0 */ jal func_80145680 +/* 00EE74 80033A74 0C0515A0 */ jal clear_trigger_data /* 00EE78 80033A78 00000000 */ nop /* 00EE7C 80033A7C 3C040017 */ lui $a0, 0x17 /* 00EE80 80033A80 2484C8E0 */ addiu $a0, $a0, -0x3720 @@ -200,7 +202,7 @@ func_80033874: /* 00EE88 80033A88 24A5C310 */ addiu $a1, $a1, -0x3cf0 /* 00EE8C 80033A8C 3C068024 */ lui $a2, 0x8024 /* 00EE90 80033A90 24C6E000 */ addiu $a2, $a2, -0x2000 -/* 00EE94 80033A94 0C00A5CF */ jal func_8002973C +/* 00EE94 80033A94 0C00A5CF */ jal dma_copy /* 00EE98 80033A98 00000000 */ nop /* 00EE9C 80033A9C 0C08F84C */ jal func_8023E130 /* 00EEA0 80033AA0 00000000 */ nop @@ -237,13 +239,13 @@ func_80033874: /* 00EF18 80033B18 00000000 */ nop /* 00EF1C 80033B1C 0C00E64C */ jal func_80039930 /* 00EF20 80033B20 00000000 */ nop -/* 00EF24 80033B24 0C04C7BB */ jal func_80131EEC +/* 00EF24 80033B24 0C04C7BB */ jal update_item_entities /* 00EF28 80033B28 00000000 */ nop /* 00EF2C 80033B2C 0C016754 */ jal func_80059D50 /* 00EF30 80033B30 00000000 */ nop /* 00EF34 80033B34 0C04599D */ jal func_80116674 /* 00EF38 80033B38 00000000 */ nop -/* 00EF3C 80033B3C 0C00B500 */ jal func_8002D400 +/* 00EF3C 80033B3C 0C00B500 */ jal update_cameras /* 00EF40 80033B40 00000000 */ nop func_80033B44: .L80033B44: @@ -314,7 +316,7 @@ func_80033B44: /* 00F034 80033C34 AC820000 */ sw $v0, ($a0) /* 00F038 80033C38 0C05260E */ jal func_80149838 /* 00F03C 80033C3C 00000000 */ nop -/* 00F040 80033C40 0C016AFA */ jal func_8005ABE8 +/* 00F040 80033C40 0C016AFA */ jal get_current_map_header /* 00F044 80033C44 00000000 */ nop /* 00F048 80033C48 3C108007 */ lui $s0, 0x8007 /* 00F04C 80033C4C 2610419C */ addiu $s0, $s0, 0x419c @@ -339,12 +341,12 @@ func_80033B44: /* 00F098 80033C98 8E030000 */ lw $v1, ($s0) /* 00F09C 80033C9C 9062007E */ lbu $v0, 0x7e($v1) /* 00F0A0 80033CA0 304200FE */ andi $v0, $v0, 0xfe -/* 00F0A4 80033CA4 0C00AB28 */ jal func_8002ACA0 +/* 00F0A4 80033CA4 0C00AB28 */ jal battle_heap_create /* 00F0A8 80033CA8 A062007E */ sb $v0, 0x7e($v1) /* 00F0AC 80033CAC 8E020000 */ lw $v0, ($s0) /* 00F0B0 80033CB0 0C0B763E */ jal func_802DD8F8 /* 00F0B4 80033CB4 80440084 */ lb $a0, 0x84($v0) -/* 00F0B8 80033CB8 0C0457FA */ jal func_80115FE8 +/* 00F0B8 80033CB8 0C0457FA */ jal init_model_data /* 00F0BC 80033CBC 00000000 */ nop /* 00F0C0 80033CC0 0C05203C */ jal func_801480F0 /* 00F0C4 80033CC4 00000000 */ nop @@ -357,17 +359,17 @@ func_80033B44: /* 00F0E0 80033CE0 0000202D */ daddu $a0, $zero, $zero /* 00F0E4 80033CE4 0C0514BA */ jal func_801452E8 /* 00F0E8 80033CE8 0080282D */ daddu $a1, $a0, $zero -/* 00F0EC 80033CEC 0C0504C0 */ jal func_80141300 +/* 00F0EC 80033CEC 0C0504C0 */ jal init_menu_icon_list /* 00F0F0 80033CF0 00000000 */ nop -/* 00F0F4 80033CF4 0C04C433 */ jal func_801310CC +/* 00F0F4 80033CF4 0C04C433 */ jal init_item_entity_list /* 00F0F8 80033CF8 00000000 */ nop -/* 00F0FC 80033CFC 0C0B0CBB */ jal func_802C32EC +/* 00F0FC 80033CFC 0C0B0CBB */ jal init_script_list /* 00F100 80033D00 00000000 */ nop -/* 00F104 80033D04 0C00E14B */ jal func_8003852C +/* 00F104 80033D04 0C00E14B */ jal init_npc_list /* 00F108 80033D08 00000000 */ nop /* 00F10C 80033D0C 0C044396 */ jal func_80110E58 /* 00F110 80033D10 00000000 */ nop -/* 00F114 80033D14 0C0515CA */ jal func_80145728 +/* 00F114 80033D14 0C0515CA */ jal init_trigger_list /* 00F118 80033D18 00000000 */ nop /* 00F11C 80033D1C 8E020000 */ lw $v0, ($s0) /* 00F120 80033D20 904200AA */ lbu $v0, 0xaa($v0) @@ -387,36 +389,36 @@ func_80033B44: /* 00F150 80033D50 2442F290 */ addiu $v0, $v0, -0xd70 /* 00F154 80033D54 0C03AC80 */ jal func_800EB200 /* 00F158 80033D58 80440012 */ lb $a0, 0x12($v0) -/* 00F15C 80033D5C 0C0169B0 */ jal func_8005A6C0 +/* 00F15C 80033D5C 0C0169B0 */ jal load_map_script_lib /* 00F160 80033D60 00000000 */ nop /* 00F164 80033D64 3C04800E */ lui $a0, 0x800e /* 00F168 80033D68 24849230 */ addiu $a0, $a0, -0x6dd0 -/* 00F16C 80033D6C 0C016B3A */ jal func_8005ACE8 +/* 00F16C 80033D6C 0C016B3A */ jal load_asset_by_name /* 00F170 80033D70 27A50010 */ addiu $a1, $sp, 0x10 /* 00F174 80033D74 0040802D */ daddu $s0, $v0, $zero /* 00F178 80033D78 3C058021 */ lui $a1, 0x8021 /* 00F17C 80033D7C 24A50000 */ addiu $a1, $a1, 0 /* 00F180 80033D80 0C01BB7C */ jal decode_yay0 /* 00F184 80033D84 0200202D */ daddu $a0, $s0, $zero -/* 00F188 80033D88 0C00AB1E */ jal func_8002AC78 +/* 00F188 80033D88 0C00AB1E */ jal general_heap_free /* 00F18C 80033D8C 0200202D */ daddu $a0, $s0, $zero -/* 00F190 80033D90 0C016BE5 */ jal func_8005AF94 +/* 00F190 80033D90 0C016BE5 */ jal initialize_collision /* 00F194 80033D94 00000000 */ nop -/* 00F198 80033D98 0C016C16 */ jal func_8005B058 +/* 00F198 80033D98 0C016C16 */ jal load_collision /* 00F19C 80033D9C 00000000 */ nop /* 00F1A0 80033DA0 8E240008 */ lw $a0, 8($s1) /* 00F1A4 80033DA4 10800004 */ beqz $a0, .L80033DB8 /* 00F1A8 80033DA8 00000000 */ nop /* 00F1AC 80033DAC 8E25000C */ lw $a1, 0xc($s1) -/* 00F1B0 80033DB0 0C00A5CF */ jal func_8002973C +/* 00F1B0 80033DB0 0C00A5CF */ jal dma_copy /* 00F1B4 80033DB4 8E260010 */ lw $a2, 0x10($s1) .L80033DB8: -/* 00F1B8 80033DB8 0C05175C */ jal func_80145D70 +/* 00F1B8 80033DB8 0C05175C */ jal load_map_bg /* 00F1BC 80033DBC 8E240014 */ lw $a0, 0x14($s1) /* 00F1C0 80033DC0 8E440038 */ lw $a0, 0x38($s2) /* 00F1C4 80033DC4 50800005 */ beql $a0, $zero, .L80033DDC /* 00F1C8 80033DC8 24040128 */ addiu $a0, $zero, 0x128 -/* 00F1CC 80033DCC 0C05178A */ jal func_80145E28 +/* 00F1CC 80033DCC 0C05178A */ jal read_background_size /* 00F1D0 80033DD0 00000000 */ nop /* 00F1D4 80033DD4 0800CF7B */ j func_80033DEC /* 00F1D8 80033DD8 00000000 */ nop @@ -424,18 +426,18 @@ func_80033B44: .L80033DDC: /* 00F1DC 80033DDC 240500C8 */ addiu $a1, $zero, 0xc8 /* 00F1E0 80033DE0 2406000C */ addiu $a2, $zero, 0xc -/* 00F1E4 80033DE4 0C05179C */ jal func_80145E70 +/* 00F1E4 80033DE4 0C05179C */ jal set_background_size /* 00F1E8 80033DE8 24070014 */ addiu $a3, $zero, 0x14 func_80033DEC: /* 00F1EC 80033DEC 3C04800B */ lui $a0, 0x800b /* 00F1F0 80033DF0 24840CF0 */ addiu $a0, $a0, 0xcf0 -/* 00F1F4 80033DF4 0C016B74 */ jal func_8005ADD0 +/* 00F1F4 80033DF4 0C016B74 */ jal get_asset_offset /* 00F1F8 80033DF8 27A50010 */ addiu $a1, $sp, 0x10 /* 00F1FC 80033DFC 8E440000 */ lw $a0, ($s2) /* 00F200 80033E00 8FA60010 */ lw $a2, 0x10($sp) -/* 00F204 80033E04 0C045709 */ jal func_80115C24 +/* 00F204 80033E04 0C045709 */ jal load_model_textures /* 00F208 80033E08 0040282D */ daddu $a1, $v0, $zero -/* 00F20C 80033E0C 0C04584B */ jal func_8011612C +/* 00F20C 80033E0C 0C04584B */ jal calculate_model_sizes /* 00F210 80033E10 00000000 */ nop /* 00F214 80033E14 0C00EC6C */ jal func_8003B1B0 /* 00F218 80033E18 00000000 */ nop @@ -450,7 +452,7 @@ func_80033DEC: .L80033E3C: /* 00F23C 80033E3C 24040004 */ addiu $a0, $zero, 4 func_80033E40: -/* 00F240 80033E40 0C00CD3C */ jal func_800334F0 +/* 00F240 80033E40 0C00CD3C */ jal set_game_mode /* 00F244 80033E44 00000000 */ nop .L80033E48: /* 00F248 80033E48 8FBF0028 */ lw $ra, 0x28($sp) diff --git a/papermario/asm/code_ef070_len_3400.s b/papermario/asm/code_ef070_len_3400.s index 8f1fbb8fc6..85ddf8e70e 100644 --- a/papermario/asm/code_ef070_len_3400.s +++ b/papermario/asm/code_ef070_len_3400.s @@ -1,6 +1,7 @@ .section .text802CA6C0, "ax" +SetCamEnabled: /* 0EF070 802CA6C0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EF074 802CA6C4 AFB00010 */ sw $s0, 0x10($sp) /* 0EF078 802CA6C8 0080802D */ daddu $s0, $a0, $zero @@ -8,11 +9,11 @@ /* 0EF080 802CA6D0 AFB10014 */ sw $s1, 0x14($sp) /* 0EF084 802CA6D4 8E11000C */ lw $s1, 0xc($s0) /* 0EF088 802CA6D8 8E250000 */ lw $a1, ($s1) -/* 0EF08C 802CA6DC 0C0B1EAF */ jal func_802C7ABC +/* 0EF08C 802CA6DC 0C0B1EAF */ jal get_variable /* 0EF090 802CA6E0 26310004 */ addiu $s1, $s1, 4 /* 0EF094 802CA6E4 0200202D */ daddu $a0, $s0, $zero /* 0EF098 802CA6E8 8E250000 */ lw $a1, ($s1) -/* 0EF09C 802CA6EC 0C0B1EAF */ jal func_802C7ABC +/* 0EF09C 802CA6EC 0C0B1EAF */ jal get_variable /* 0EF0A0 802CA6F0 0040802D */ daddu $s0, $v0, $zero /* 0EF0A4 802CA6F4 1440000D */ bnez $v0, .L802CA72C /* 0EF0A8 802CA6F8 00101080 */ sll $v0, $s0, 2 @@ -50,6 +51,7 @@ func_802CA758: /* 0EF11C 802CA76C 03E00008 */ jr $ra /* 0EF120 802CA770 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamFlag80: /* 0EF124 802CA774 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EF128 802CA778 AFB00010 */ sw $s0, 0x10($sp) /* 0EF12C 802CA77C 0080802D */ daddu $s0, $a0, $zero @@ -57,11 +59,11 @@ func_802CA758: /* 0EF134 802CA784 AFB10014 */ sw $s1, 0x14($sp) /* 0EF138 802CA788 8E11000C */ lw $s1, 0xc($s0) /* 0EF13C 802CA78C 8E250000 */ lw $a1, ($s1) -/* 0EF140 802CA790 0C0B1EAF */ jal func_802C7ABC +/* 0EF140 802CA790 0C0B1EAF */ jal get_variable /* 0EF144 802CA794 26310004 */ addiu $s1, $s1, 4 /* 0EF148 802CA798 0200202D */ daddu $a0, $s0, $zero /* 0EF14C 802CA79C 8E250000 */ lw $a1, ($s1) -/* 0EF150 802CA7A0 0C0B1EAF */ jal func_802C7ABC +/* 0EF150 802CA7A0 0C0B1EAF */ jal get_variable /* 0EF154 802CA7A4 0040802D */ daddu $s0, $v0, $zero /* 0EF158 802CA7A8 1440000D */ bnez $v0, .L802CA7E0 /* 0EF15C 802CA7AC 00101080 */ sll $v0, $s0, 2 @@ -99,6 +101,7 @@ func_802CA80C: /* 0EF1D0 802CA820 03E00008 */ jr $ra /* 0EF1D4 802CA824 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamPerspective: /* 0EF1D8 802CA828 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0EF1DC 802CA82C AFB10014 */ sw $s1, 0x14($sp) /* 0EF1E0 802CA830 0080882D */ daddu $s1, $a0, $zero @@ -109,26 +112,26 @@ func_802CA80C: /* 0EF1F4 802CA844 F7B40028 */ sdc1 $f20, 0x28($sp) /* 0EF1F8 802CA848 8E30000C */ lw $s0, 0xc($s1) /* 0EF1FC 802CA84C 8E050000 */ lw $a1, ($s0) -/* 0EF200 802CA850 0C0B1EAF */ jal func_802C7ABC +/* 0EF200 802CA850 0C0B1EAF */ jal get_variable /* 0EF204 802CA854 26100004 */ addiu $s0, $s0, 4 /* 0EF208 802CA858 8E050000 */ lw $a1, ($s0) /* 0EF20C 802CA85C 26100004 */ addiu $s0, $s0, 4 /* 0EF210 802CA860 0220202D */ daddu $a0, $s1, $zero -/* 0EF214 802CA864 0C0B1EAF */ jal func_802C7ABC +/* 0EF214 802CA864 0C0B1EAF */ jal get_variable /* 0EF218 802CA868 0040902D */ daddu $s2, $v0, $zero /* 0EF21C 802CA86C 8E050000 */ lw $a1, ($s0) /* 0EF220 802CA870 26100004 */ addiu $s0, $s0, 4 /* 0EF224 802CA874 0220202D */ daddu $a0, $s1, $zero -/* 0EF228 802CA878 0C0B210B */ jal func_802C842C +/* 0EF228 802CA878 0C0B210B */ jal get_float_variable /* 0EF22C 802CA87C 0040982D */ daddu $s3, $v0, $zero /* 0EF230 802CA880 8E050000 */ lw $a1, ($s0) /* 0EF234 802CA884 26100004 */ addiu $s0, $s0, 4 /* 0EF238 802CA888 0220202D */ daddu $a0, $s1, $zero -/* 0EF23C 802CA88C 0C0B1EAF */ jal func_802C7ABC +/* 0EF23C 802CA88C 0C0B1EAF */ jal get_variable /* 0EF240 802CA890 46000506 */ mov.s $f20, $f0 /* 0EF244 802CA894 0220202D */ daddu $a0, $s1, $zero /* 0EF248 802CA898 8E050000 */ lw $a1, ($s0) -/* 0EF24C 802CA89C 0C0B1EAF */ jal func_802C7ABC +/* 0EF24C 802CA89C 0C0B1EAF */ jal get_variable /* 0EF250 802CA8A0 0040802D */ daddu $s0, $v0, $zero /* 0EF254 802CA8A4 3C05800B */ lui $a1, 0x800b /* 0EF258 802CA8A8 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -164,11 +167,11 @@ func_802CA80C: /* 0EF2CC 802CA91C AFB00010 */ sw $s0, 0x10($sp) /* 0EF2D0 802CA920 8E30000C */ lw $s0, 0xc($s1) /* 0EF2D4 802CA924 8E050000 */ lw $a1, ($s0) -/* 0EF2D8 802CA928 0C0B1EAF */ jal func_802C7ABC +/* 0EF2D8 802CA928 0C0B1EAF */ jal get_variable /* 0EF2DC 802CA92C 26100004 */ addiu $s0, $s0, 4 /* 0EF2E0 802CA930 0220202D */ daddu $a0, $s1, $zero /* 0EF2E4 802CA934 8E050000 */ lw $a1, ($s0) -/* 0EF2E8 802CA938 0C0B1EAF */ jal func_802C7ABC +/* 0EF2E8 802CA938 0C0B1EAF */ jal get_variable /* 0EF2EC 802CA93C 0040802D */ daddu $s0, $v0, $zero /* 0EF2F0 802CA940 3C05800B */ lui $a1, 0x800b /* 0EF2F4 802CA944 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -200,7 +203,7 @@ func_802CA80C: /* 0EF358 802CA9A8 AFB00010 */ sw $s0, 0x10($sp) /* 0EF35C 802CA9AC 8E50000C */ lw $s0, 0xc($s2) /* 0EF360 802CA9B0 8E050000 */ lw $a1, ($s0) -/* 0EF364 802CA9B4 0C0B1EAF */ jal func_802C7ABC +/* 0EF364 802CA9B4 0C0B1EAF */ jal get_variable /* 0EF368 802CA9B8 26100004 */ addiu $s0, $s0, 4 /* 0EF36C 802CA9BC 8E140000 */ lw $s4, ($s0) /* 0EF370 802CA9C0 26100004 */ addiu $s0, $s0, 4 @@ -221,7 +224,7 @@ func_802CA80C: /* 0EF3AC 802CA9FC 8E100004 */ lw $s0, 4($s0) /* 0EF3B0 802CAA00 24020002 */ addiu $v0, $zero, 2 /* 0EF3B4 802CAA04 A6220004 */ sh $v0, 4($s1) -/* 0EF3B8 802CAA08 0C00A6B1 */ jal func_80029AC4 +/* 0EF3B8 802CAA08 0C00A6B1 */ jal round /* 0EF3BC 802CAA0C A6200006 */ sh $zero, 6($s1) /* 0EF3C0 802CAA10 C6220048 */ lwc1 $f2, 0x48($s1) /* 0EF3C4 802CAA14 C620003C */ lwc1 $f0, 0x3c($s1) @@ -254,7 +257,7 @@ func_802CA80C: /* 0EF430 802CAA80 0C0187BC */ jal sqrtf /* 0EF434 802CAA84 00000000 */ nop .L802CAA88: -/* 0EF438 802CAA88 0C00A6B1 */ jal func_80029AC4 +/* 0EF438 802CAA88 0C00A6B1 */ jal round /* 0EF43C 802CAA8C 46000306 */ mov.s $f12, $f0 /* 0EF440 802CAA90 0240202D */ daddu $a0, $s2, $zero /* 0EF444 802CAA94 8626001C */ lh $a2, 0x1c($s1) @@ -266,19 +269,19 @@ func_802CA80C: /* 0EF45C 802CAAAC A6200022 */ sh $zero, 0x22($s1) /* 0EF460 802CAAB0 E6200054 */ swc1 $f0, 0x54($s1) /* 0EF464 802CAAB4 E6220058 */ swc1 $f2, 0x58($s1) -/* 0EF468 802CAAB8 0C0B2026 */ jal func_802C8098 +/* 0EF468 802CAAB8 0C0B2026 */ jal set_variable /* 0EF46C 802CAABC E624005C */ swc1 $f4, 0x5c($s1) /* 0EF470 802CAAC0 0240202D */ daddu $a0, $s2, $zero /* 0EF474 802CAAC4 8626001E */ lh $a2, 0x1e($s1) -/* 0EF478 802CAAC8 0C0B2026 */ jal func_802C8098 +/* 0EF478 802CAAC8 0C0B2026 */ jal set_variable /* 0EF47C 802CAACC 02A0282D */ daddu $a1, $s5, $zero /* 0EF480 802CAAD0 0240202D */ daddu $a0, $s2, $zero /* 0EF484 802CAAD4 86260020 */ lh $a2, 0x20($s1) -/* 0EF488 802CAAD8 0C0B2026 */ jal func_802C8098 +/* 0EF488 802CAAD8 0C0B2026 */ jal set_variable /* 0EF48C 802CAADC 0260282D */ daddu $a1, $s3, $zero /* 0EF490 802CAAE0 0240202D */ daddu $a0, $s2, $zero /* 0EF494 802CAAE4 86260022 */ lh $a2, 0x22($s1) -/* 0EF498 802CAAE8 0C0B2026 */ jal func_802C8098 +/* 0EF498 802CAAE8 0C0B2026 */ jal set_variable /* 0EF49C 802CAAEC 0200282D */ daddu $a1, $s0, $zero /* 0EF4A0 802CAAF0 8FBF0028 */ lw $ra, 0x28($sp) /* 0EF4A4 802CAAF4 8FB50024 */ lw $s5, 0x24($sp) @@ -291,6 +294,7 @@ func_802CA80C: /* 0EF4C0 802CAB10 03E00008 */ jr $ra /* 0EF4C4 802CAB14 27BD0030 */ addiu $sp, $sp, 0x30 +SetCamViewport: /* 0EF4C8 802CAB18 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0EF4CC 802CAB1C AFB1001C */ sw $s1, 0x1c($sp) /* 0EF4D0 802CAB20 0080882D */ daddu $s1, $a0, $zero @@ -301,26 +305,26 @@ func_802CA80C: /* 0EF4E4 802CAB34 AFB00018 */ sw $s0, 0x18($sp) /* 0EF4E8 802CAB38 8E30000C */ lw $s0, 0xc($s1) /* 0EF4EC 802CAB3C 8E050000 */ lw $a1, ($s0) -/* 0EF4F0 802CAB40 0C0B1EAF */ jal func_802C7ABC +/* 0EF4F0 802CAB40 0C0B1EAF */ jal get_variable /* 0EF4F4 802CAB44 26100004 */ addiu $s0, $s0, 4 /* 0EF4F8 802CAB48 8E050000 */ lw $a1, ($s0) /* 0EF4FC 802CAB4C 26100004 */ addiu $s0, $s0, 4 /* 0EF500 802CAB50 0220202D */ daddu $a0, $s1, $zero -/* 0EF504 802CAB54 0C0B1EAF */ jal func_802C7ABC +/* 0EF504 802CAB54 0C0B1EAF */ jal get_variable /* 0EF508 802CAB58 0040A02D */ daddu $s4, $v0, $zero /* 0EF50C 802CAB5C 8E050000 */ lw $a1, ($s0) /* 0EF510 802CAB60 26100004 */ addiu $s0, $s0, 4 /* 0EF514 802CAB64 0220202D */ daddu $a0, $s1, $zero -/* 0EF518 802CAB68 0C0B1EAF */ jal func_802C7ABC +/* 0EF518 802CAB68 0C0B1EAF */ jal get_variable /* 0EF51C 802CAB6C 0040902D */ daddu $s2, $v0, $zero /* 0EF520 802CAB70 8E050000 */ lw $a1, ($s0) /* 0EF524 802CAB74 26100004 */ addiu $s0, $s0, 4 /* 0EF528 802CAB78 0220202D */ daddu $a0, $s1, $zero -/* 0EF52C 802CAB7C 0C0B1EAF */ jal func_802C7ABC +/* 0EF52C 802CAB7C 0C0B1EAF */ jal get_variable /* 0EF530 802CAB80 0040982D */ daddu $s3, $v0, $zero /* 0EF534 802CAB84 0220202D */ daddu $a0, $s1, $zero /* 0EF538 802CAB88 8E050000 */ lw $a1, ($s0) -/* 0EF53C 802CAB8C 0C0B1EAF */ jal func_802C7ABC +/* 0EF53C 802CAB8C 0C0B1EAF */ jal get_variable /* 0EF540 802CAB90 0040802D */ daddu $s0, $v0, $zero /* 0EF544 802CAB94 0014A400 */ sll $s4, $s4, 0x10 /* 0EF548 802CAB98 00142403 */ sra $a0, $s4, 0x10 @@ -332,7 +336,7 @@ func_802CA80C: /* 0EF560 802CABB0 00108400 */ sll $s0, $s0, 0x10 /* 0EF564 802CABB4 00133403 */ sra $a2, $s3, 0x10 /* 0EF568 802CABB8 00103C03 */ sra $a3, $s0, 0x10 -/* 0EF56C 802CABBC 0C00B8C5 */ jal func_8002E314 +/* 0EF56C 802CABBC 0C00B8C5 */ jal set_cam_viewport /* 0EF570 802CABC0 AFA20010 */ sw $v0, 0x10($sp) /* 0EF574 802CABC4 8FBF002C */ lw $ra, 0x2c($sp) /* 0EF578 802CABC8 8FB40028 */ lw $s4, 0x28($sp) @@ -354,26 +358,26 @@ func_802CA80C: /* 0EF5B4 802CAC04 AFB00010 */ sw $s0, 0x10($sp) /* 0EF5B8 802CAC08 8E30000C */ lw $s0, 0xc($s1) /* 0EF5BC 802CAC0C 8E050000 */ lw $a1, ($s0) -/* 0EF5C0 802CAC10 0C0B1EAF */ jal func_802C7ABC +/* 0EF5C0 802CAC10 0C0B1EAF */ jal get_variable /* 0EF5C4 802CAC14 26100004 */ addiu $s0, $s0, 4 /* 0EF5C8 802CAC18 8E050000 */ lw $a1, ($s0) /* 0EF5CC 802CAC1C 26100004 */ addiu $s0, $s0, 4 /* 0EF5D0 802CAC20 0220202D */ daddu $a0, $s1, $zero -/* 0EF5D4 802CAC24 0C0B1EAF */ jal func_802C7ABC +/* 0EF5D4 802CAC24 0C0B1EAF */ jal get_variable /* 0EF5D8 802CAC28 0040902D */ daddu $s2, $v0, $zero /* 0EF5DC 802CAC2C 8E050000 */ lw $a1, ($s0) /* 0EF5E0 802CAC30 26100004 */ addiu $s0, $s0, 4 /* 0EF5E4 802CAC34 0220202D */ daddu $a0, $s1, $zero -/* 0EF5E8 802CAC38 0C0B1EAF */ jal func_802C7ABC +/* 0EF5E8 802CAC38 0C0B1EAF */ jal get_variable /* 0EF5EC 802CAC3C 0040A02D */ daddu $s4, $v0, $zero /* 0EF5F0 802CAC40 8E050000 */ lw $a1, ($s0) /* 0EF5F4 802CAC44 26100004 */ addiu $s0, $s0, 4 /* 0EF5F8 802CAC48 0220202D */ daddu $a0, $s1, $zero -/* 0EF5FC 802CAC4C 0C0B1EAF */ jal func_802C7ABC +/* 0EF5FC 802CAC4C 0C0B1EAF */ jal get_variable /* 0EF600 802CAC50 0040982D */ daddu $s3, $v0, $zero /* 0EF604 802CAC54 0220202D */ daddu $a0, $s1, $zero /* 0EF608 802CAC58 8E050000 */ lw $a1, ($s0) -/* 0EF60C 802CAC5C 0C0B1EAF */ jal func_802C7ABC +/* 0EF60C 802CAC5C 0C0B1EAF */ jal get_variable /* 0EF610 802CAC60 0040802D */ daddu $s0, $v0, $zero /* 0EF614 802CAC64 3C05800B */ lui $a1, 0x800b /* 0EF618 802CAC68 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -409,26 +413,26 @@ func_802CA80C: /* 0EF68C 802CACDC AFB00010 */ sw $s0, 0x10($sp) /* 0EF690 802CACE0 8E30000C */ lw $s0, 0xc($s1) /* 0EF694 802CACE4 8E050000 */ lw $a1, ($s0) -/* 0EF698 802CACE8 0C0B1EAF */ jal func_802C7ABC +/* 0EF698 802CACE8 0C0B1EAF */ jal get_variable /* 0EF69C 802CACEC 26100004 */ addiu $s0, $s0, 4 /* 0EF6A0 802CACF0 8E050000 */ lw $a1, ($s0) /* 0EF6A4 802CACF4 26100004 */ addiu $s0, $s0, 4 /* 0EF6A8 802CACF8 0220202D */ daddu $a0, $s1, $zero -/* 0EF6AC 802CACFC 0C0B1EAF */ jal func_802C7ABC +/* 0EF6AC 802CACFC 0C0B1EAF */ jal get_variable /* 0EF6B0 802CAD00 0040902D */ daddu $s2, $v0, $zero /* 0EF6B4 802CAD04 8E050000 */ lw $a1, ($s0) /* 0EF6B8 802CAD08 26100004 */ addiu $s0, $s0, 4 /* 0EF6BC 802CAD0C 0220202D */ daddu $a0, $s1, $zero -/* 0EF6C0 802CAD10 0C0B1EAF */ jal func_802C7ABC +/* 0EF6C0 802CAD10 0C0B1EAF */ jal get_variable /* 0EF6C4 802CAD14 0040A02D */ daddu $s4, $v0, $zero /* 0EF6C8 802CAD18 8E050000 */ lw $a1, ($s0) /* 0EF6CC 802CAD1C 26100004 */ addiu $s0, $s0, 4 /* 0EF6D0 802CAD20 0220202D */ daddu $a0, $s1, $zero -/* 0EF6D4 802CAD24 0C0B1EAF */ jal func_802C7ABC +/* 0EF6D4 802CAD24 0C0B1EAF */ jal get_variable /* 0EF6D8 802CAD28 0040982D */ daddu $s3, $v0, $zero /* 0EF6DC 802CAD2C 0220202D */ daddu $a0, $s1, $zero /* 0EF6E0 802CAD30 8E050000 */ lw $a1, ($s0) -/* 0EF6E4 802CAD34 0C0B1EAF */ jal func_802C7ABC +/* 0EF6E4 802CAD34 0C0B1EAF */ jal get_variable /* 0EF6E8 802CAD38 0040802D */ daddu $s0, $v0, $zero /* 0EF6EC 802CAD3C 3C05800B */ lui $a1, 0x800b /* 0EF6F0 802CAD40 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -454,6 +458,7 @@ func_802CA80C: /* 0EF740 802CAD90 03E00008 */ jr $ra /* 0EF744 802CAD94 27BD0028 */ addiu $sp, $sp, 0x28 +SetCamBGColor: /* 0EF748 802CAD98 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EF74C 802CAD9C AFB10014 */ sw $s1, 0x14($sp) /* 0EF750 802CADA0 0080882D */ daddu $s1, $a0, $zero @@ -463,21 +468,21 @@ func_802CA80C: /* 0EF760 802CADB0 AFB00010 */ sw $s0, 0x10($sp) /* 0EF764 802CADB4 8E30000C */ lw $s0, 0xc($s1) /* 0EF768 802CADB8 8E050000 */ lw $a1, ($s0) -/* 0EF76C 802CADBC 0C0B1EAF */ jal func_802C7ABC +/* 0EF76C 802CADBC 0C0B1EAF */ jal get_variable /* 0EF770 802CADC0 26100004 */ addiu $s0, $s0, 4 /* 0EF774 802CADC4 8E050000 */ lw $a1, ($s0) /* 0EF778 802CADC8 26100004 */ addiu $s0, $s0, 4 /* 0EF77C 802CADCC 0220202D */ daddu $a0, $s1, $zero -/* 0EF780 802CADD0 0C0B1EAF */ jal func_802C7ABC +/* 0EF780 802CADD0 0C0B1EAF */ jal get_variable /* 0EF784 802CADD4 0040902D */ daddu $s2, $v0, $zero /* 0EF788 802CADD8 8E050000 */ lw $a1, ($s0) /* 0EF78C 802CADDC 26100004 */ addiu $s0, $s0, 4 /* 0EF790 802CADE0 0220202D */ daddu $a0, $s1, $zero -/* 0EF794 802CADE4 0C0B1EAF */ jal func_802C7ABC +/* 0EF794 802CADE4 0C0B1EAF */ jal get_variable /* 0EF798 802CADE8 0040982D */ daddu $s3, $v0, $zero /* 0EF79C 802CADEC 0220202D */ daddu $a0, $s1, $zero /* 0EF7A0 802CADF0 8E050000 */ lw $a1, ($s0) -/* 0EF7A4 802CADF4 0C0B1EAF */ jal func_802C7ABC +/* 0EF7A4 802CADF4 0C0B1EAF */ jal get_variable /* 0EF7A8 802CADF8 0040802D */ daddu $s0, $v0, $zero /* 0EF7AC 802CADFC 3C05800B */ lui $a1, 0x800b /* 0EF7B0 802CAE00 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -510,21 +515,21 @@ func_802CA80C: /* 0EF818 802CAE68 AFB00010 */ sw $s0, 0x10($sp) /* 0EF81C 802CAE6C 8E30000C */ lw $s0, 0xc($s1) /* 0EF820 802CAE70 8E050000 */ lw $a1, ($s0) -/* 0EF824 802CAE74 0C0B1EAF */ jal func_802C7ABC +/* 0EF824 802CAE74 0C0B1EAF */ jal get_variable /* 0EF828 802CAE78 26100004 */ addiu $s0, $s0, 4 /* 0EF82C 802CAE7C 8E050000 */ lw $a1, ($s0) /* 0EF830 802CAE80 26100004 */ addiu $s0, $s0, 4 /* 0EF834 802CAE84 0220202D */ daddu $a0, $s1, $zero -/* 0EF838 802CAE88 0C0B1EAF */ jal func_802C7ABC +/* 0EF838 802CAE88 0C0B1EAF */ jal get_variable /* 0EF83C 802CAE8C 0040902D */ daddu $s2, $v0, $zero /* 0EF840 802CAE90 8E050000 */ lw $a1, ($s0) /* 0EF844 802CAE94 26100004 */ addiu $s0, $s0, 4 /* 0EF848 802CAE98 0220202D */ daddu $a0, $s1, $zero -/* 0EF84C 802CAE9C 0C0B1EAF */ jal func_802C7ABC +/* 0EF84C 802CAE9C 0C0B1EAF */ jal get_variable /* 0EF850 802CAEA0 0040982D */ daddu $s3, $v0, $zero /* 0EF854 802CAEA4 0220202D */ daddu $a0, $s1, $zero /* 0EF858 802CAEA8 8E050000 */ lw $a1, ($s0) -/* 0EF85C 802CAEAC 0C0B1EAF */ jal func_802C7ABC +/* 0EF85C 802CAEAC 0C0B1EAF */ jal get_variable /* 0EF860 802CAEB0 0040802D */ daddu $s0, $v0, $zero /* 0EF864 802CAEB4 44821000 */ mtc1 $v0, $f2 /* 0EF868 802CAEB8 00000000 */ nop @@ -557,6 +562,7 @@ func_802CA80C: /* 0EF8D4 802CAF24 03E00008 */ jr $ra /* 0EF8D8 802CAF28 27BD0028 */ addiu $sp, $sp, 0x28 +SetCamTarget: /* 0EF8DC 802CAF2C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0EF8E0 802CAF30 AFB10014 */ sw $s1, 0x14($sp) /* 0EF8E4 802CAF34 0080882D */ daddu $s1, $a0, $zero @@ -566,21 +572,21 @@ func_802CA80C: /* 0EF8F4 802CAF44 AFB00010 */ sw $s0, 0x10($sp) /* 0EF8F8 802CAF48 8E30000C */ lw $s0, 0xc($s1) /* 0EF8FC 802CAF4C 8E050000 */ lw $a1, ($s0) -/* 0EF900 802CAF50 0C0B1EAF */ jal func_802C7ABC +/* 0EF900 802CAF50 0C0B1EAF */ jal get_variable /* 0EF904 802CAF54 26100004 */ addiu $s0, $s0, 4 /* 0EF908 802CAF58 8E050000 */ lw $a1, ($s0) /* 0EF90C 802CAF5C 26100004 */ addiu $s0, $s0, 4 /* 0EF910 802CAF60 0220202D */ daddu $a0, $s1, $zero -/* 0EF914 802CAF64 0C0B1EAF */ jal func_802C7ABC +/* 0EF914 802CAF64 0C0B1EAF */ jal get_variable /* 0EF918 802CAF68 0040902D */ daddu $s2, $v0, $zero /* 0EF91C 802CAF6C 8E050000 */ lw $a1, ($s0) /* 0EF920 802CAF70 26100004 */ addiu $s0, $s0, 4 /* 0EF924 802CAF74 0220202D */ daddu $a0, $s1, $zero -/* 0EF928 802CAF78 0C0B1EAF */ jal func_802C7ABC +/* 0EF928 802CAF78 0C0B1EAF */ jal get_variable /* 0EF92C 802CAF7C 0040982D */ daddu $s3, $v0, $zero /* 0EF930 802CAF80 0220202D */ daddu $a0, $s1, $zero /* 0EF934 802CAF84 8E050000 */ lw $a1, ($s0) -/* 0EF938 802CAF88 0C0B1EAF */ jal func_802C7ABC +/* 0EF938 802CAF88 0C0B1EAF */ jal get_variable /* 0EF93C 802CAF8C 0040802D */ daddu $s0, $v0, $zero /* 0EF940 802CAF90 44821000 */ mtc1 $v0, $f2 /* 0EF944 802CAF94 00000000 */ nop @@ -626,34 +632,34 @@ func_802CA80C: /* 0EF9E0 802CB030 10A00066 */ beqz $a1, .L802CB1CC /* 0EF9E4 802CB034 8E72000C */ lw $s2, 0xc($s3) /* 0EF9E8 802CB038 8E450000 */ lw $a1, ($s2) -/* 0EF9EC 802CB03C 0C0B1EAF */ jal func_802C7ABC +/* 0EF9EC 802CB03C 0C0B1EAF */ jal get_variable /* 0EF9F0 802CB040 26520004 */ addiu $s2, $s2, 4 /* 0EF9F4 802CB044 8E450000 */ lw $a1, ($s2) /* 0EF9F8 802CB048 26520004 */ addiu $s2, $s2, 4 /* 0EF9FC 802CB04C 0260202D */ daddu $a0, $s3, $zero -/* 0EFA00 802CB050 0C0B1EAF */ jal func_802C7ABC +/* 0EFA00 802CB050 0C0B1EAF */ jal get_variable /* 0EFA04 802CB054 0040802D */ daddu $s0, $v0, $zero /* 0EFA08 802CB058 8E450000 */ lw $a1, ($s2) /* 0EFA0C 802CB05C 26520004 */ addiu $s2, $s2, 4 /* 0EFA10 802CB060 0260202D */ daddu $a0, $s3, $zero -/* 0EFA14 802CB064 0C0B1EAF */ jal func_802C7ABC +/* 0EFA14 802CB064 0C0B1EAF */ jal get_variable /* 0EFA18 802CB068 0040882D */ daddu $s1, $v0, $zero /* 0EFA1C 802CB06C 8E450000 */ lw $a1, ($s2) /* 0EFA20 802CB070 26520004 */ addiu $s2, $s2, 4 /* 0EFA24 802CB074 0260202D */ daddu $a0, $s3, $zero -/* 0EFA28 802CB078 0C0B1EAF */ jal func_802C7ABC +/* 0EFA28 802CB078 0C0B1EAF */ jal get_variable /* 0EFA2C 802CB07C 0040A02D */ daddu $s4, $v0, $zero /* 0EFA30 802CB080 8E450000 */ lw $a1, ($s2) /* 0EFA34 802CB084 26520004 */ addiu $s2, $s2, 4 /* 0EFA38 802CB088 0260202D */ daddu $a0, $s3, $zero -/* 0EFA3C 802CB08C 0C0B1EAF */ jal func_802C7ABC +/* 0EFA3C 802CB08C 0C0B1EAF */ jal get_variable /* 0EFA40 802CB090 0040A82D */ daddu $s5, $v0, $zero /* 0EFA44 802CB094 0260202D */ daddu $a0, $s3, $zero /* 0EFA48 802CB098 8E450000 */ lw $a1, ($s2) -/* 0EFA4C 802CB09C 0C0B1EAF */ jal func_802C7ABC +/* 0EFA4C 802CB09C 0C0B1EAF */ jal get_variable /* 0EFA50 802CB0A0 0040B02D */ daddu $s6, $v0, $zero /* 0EFA54 802CB0A4 24040018 */ addiu $a0, $zero, 0x18 -/* 0EFA58 802CB0A8 0C00AB39 */ jal func_8002ACE4 +/* 0EFA58 802CB0A8 0C00AB39 */ jal heap_malloc /* 0EFA5C 802CB0AC 0040902D */ daddu $s2, $v0, $zero /* 0EFA60 802CB0B0 0040282D */ daddu $a1, $v0, $zero /* 0EFA64 802CB0B4 3C04800B */ lui $a0, 0x800b @@ -781,7 +787,7 @@ func_802CB254: .L802CB26C: /* 0EFC1C 802CB26C 8E640060 */ lw $a0, 0x60($s3) -/* 0EFC20 802CB270 0C00AB4B */ jal func_8002AD2C +/* 0EFC20 802CB270 0C00AB4B */ jal heap_free /* 0EFC24 802CB274 00000000 */ nop /* 0EFC28 802CB278 24020002 */ addiu $v0, $zero, 2 /* 0EFC2C 802CB27C AE600060 */ sw $zero, 0x60($s3) @@ -797,6 +803,7 @@ func_802CB280: /* 0EFC50 802CB2A0 03E00008 */ jr $ra /* 0EFC54 802CB2A4 27BD0030 */ addiu $sp, $sp, 0x30 +ShakeCam: /* 0EFC58 802CB2A8 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0EFC5C 802CB2AC AFB5002C */ sw $s5, 0x2c($sp) /* 0EFC60 802CB2B0 0080A82D */ daddu $s5, $a0, $zero @@ -810,21 +817,21 @@ func_802CB280: /* 0EFC80 802CB2D0 F7B40038 */ sdc1 $f20, 0x38($sp) /* 0EFC84 802CB2D4 8EB0000C */ lw $s0, 0xc($s5) /* 0EFC88 802CB2D8 8E050000 */ lw $a1, ($s0) -/* 0EFC8C 802CB2DC 0C0B1EAF */ jal func_802C7ABC +/* 0EFC8C 802CB2DC 0C0B1EAF */ jal get_variable /* 0EFC90 802CB2E0 26100004 */ addiu $s0, $s0, 4 /* 0EFC94 802CB2E4 8E050000 */ lw $a1, ($s0) /* 0EFC98 802CB2E8 26100004 */ addiu $s0, $s0, 4 /* 0EFC9C 802CB2EC 02A0202D */ daddu $a0, $s5, $zero -/* 0EFCA0 802CB2F0 0C0B1EAF */ jal func_802C7ABC +/* 0EFCA0 802CB2F0 0C0B1EAF */ jal get_variable /* 0EFCA4 802CB2F4 0040882D */ daddu $s1, $v0, $zero /* 0EFCA8 802CB2F8 8E050000 */ lw $a1, ($s0) /* 0EFCAC 802CB2FC 26100004 */ addiu $s0, $s0, 4 /* 0EFCB0 802CB300 02A0202D */ daddu $a0, $s5, $zero -/* 0EFCB4 802CB304 0C0B1EAF */ jal func_802C7ABC +/* 0EFCB4 802CB304 0C0B1EAF */ jal get_variable /* 0EFCB8 802CB308 0040982D */ daddu $s3, $v0, $zero /* 0EFCBC 802CB30C 0040A02D */ daddu $s4, $v0, $zero /* 0EFCC0 802CB310 8E050000 */ lw $a1, ($s0) -/* 0EFCC4 802CB314 0C0B210B */ jal func_802C842C +/* 0EFCC4 802CB314 0C0B210B */ jal get_float_variable /* 0EFCC8 802CB318 02A0202D */ daddu $a0, $s5, $zero /* 0EFCCC 802CB31C 3C04800B */ lui $a0, 0x800b /* 0EFCD0 802CB320 24841D80 */ addiu $a0, $a0, 0x1d80 @@ -888,7 +895,7 @@ func_802CB280: /* 0EFDA8 802CB3F8 4600110D */ trunc.w.s $f4, $f2 /* 0EFDAC 802CB3FC 44042000 */ mfc1 $a0, $f4 /* 0EFDB0 802CB400 30A5FFFF */ andi $a1, $a1, 0xffff -/* 0EFDB4 802CB404 0C00A3C2 */ jal func_80028F08 +/* 0EFDB4 802CB404 0C00A3C2 */ jal start_rumble /* 0EFDB8 802CB408 00052840 */ sll $a1, $a1, 1 .L802CB40C: /* 0EFDBC 802CB40C 96020000 */ lhu $v0, ($s0) @@ -996,7 +1003,7 @@ func_802CB544: /* 0EFF14 802CB564 03E00008 */ jr $ra /* 0EFF18 802CB568 27BD0040 */ addiu $sp, $sp, 0x40 -func_802CB56C: +exec_ShakeCam1: /* 0EFF1C 802CB56C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0EFF20 802CB570 AFB00010 */ sw $s0, 0x10($sp) /* 0EFF24 802CB574 0080802D */ daddu $s0, $a0, $zero @@ -1009,7 +1016,7 @@ func_802CB56C: /* 0EFF40 802CB590 24050001 */ addiu $a1, $zero, 1 /* 0EFF44 802CB594 0000302D */ daddu $a2, $zero, $zero /* 0EFF48 802CB598 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EFF4C 802CB59C 0C0B0D74 */ jal func_802C35D0 +/* 0EFF4C 802CB59C 0C0B0D74 */ jal start_script_in_group /* 0EFF50 802CB5A0 24070004 */ addiu $a3, $zero, 4 /* 0EFF54 802CB5A4 AC500084 */ sw $s0, 0x84($v0) /* 0EFF58 802CB5A8 AC510088 */ sw $s1, 0x88($v0) @@ -1021,7 +1028,7 @@ func_802CB56C: /* 0EFF70 802CB5C0 03E00008 */ jr $ra /* 0EFF74 802CB5C4 27BD0020 */ addiu $sp, $sp, 0x20 -func_802CB5C8: +exec_ShakeCamX: /* 0EFF78 802CB5C8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0EFF7C 802CB5CC AFB10014 */ sw $s1, 0x14($sp) /* 0EFF80 802CB5D0 0080882D */ daddu $s1, $a0, $zero @@ -1037,28 +1044,28 @@ func_802CB5C8: /* 0EFFA8 802CB5F8 4487A000 */ mtc1 $a3, $f20 /* 0EFFAC 802CB5FC 24070004 */ addiu $a3, $zero, 4 /* 0EFFB0 802CB600 AFBF0020 */ sw $ra, 0x20($sp) -/* 0EFFB4 802CB604 0C0B0D74 */ jal func_802C35D0 +/* 0EFFB4 802CB604 0C0B0D74 */ jal start_script_in_group /* 0EFFB8 802CB608 AFB00010 */ sw $s0, 0x10($sp) /* 0EFFBC 802CB60C 0040802D */ daddu $s0, $v0, $zero /* 0EFFC0 802CB610 0200202D */ daddu $a0, $s0, $zero /* 0EFFC4 802CB614 3C05FE36 */ lui $a1, 0xfe36 /* 0EFFC8 802CB618 34A53C80 */ ori $a1, $a1, 0x3c80 -/* 0EFFCC 802CB61C 0C0B2026 */ jal func_802C8098 +/* 0EFFCC 802CB61C 0C0B2026 */ jal set_variable /* 0EFFD0 802CB620 0220302D */ daddu $a2, $s1, $zero /* 0EFFD4 802CB624 0200202D */ daddu $a0, $s0, $zero /* 0EFFD8 802CB628 3C05FE36 */ lui $a1, 0xfe36 /* 0EFFDC 802CB62C 34A53C81 */ ori $a1, $a1, 0x3c81 -/* 0EFFE0 802CB630 0C0B2026 */ jal func_802C8098 +/* 0EFFE0 802CB630 0C0B2026 */ jal set_variable /* 0EFFE4 802CB634 0240302D */ daddu $a2, $s2, $zero /* 0EFFE8 802CB638 0200202D */ daddu $a0, $s0, $zero /* 0EFFEC 802CB63C 3C05FE36 */ lui $a1, 0xfe36 /* 0EFFF0 802CB640 34A53C82 */ ori $a1, $a1, 0x3c82 -/* 0EFFF4 802CB644 0C0B2026 */ jal func_802C8098 +/* 0EFFF4 802CB644 0C0B2026 */ jal set_variable /* 0EFFF8 802CB648 0260302D */ daddu $a2, $s3, $zero /* 0EFFFC 802CB64C 0200202D */ daddu $a0, $s0, $zero /* 0F0000 802CB650 3C05FE36 */ lui $a1, 0xfe36 /* 0F0004 802CB654 4406A000 */ mfc1 $a2, $f20 -/* 0F0008 802CB658 0C0B2190 */ jal func_802C8640 +/* 0F0008 802CB658 0C0B2190 */ jal set_float_variable /* 0F000C 802CB65C 34A53C83 */ ori $a1, $a1, 0x3c83 /* 0F0010 802CB660 8FBF0020 */ lw $ra, 0x20($sp) /* 0F0014 802CB664 8FB3001C */ lw $s3, 0x1c($sp) @@ -1069,6 +1076,7 @@ func_802CB5C8: /* 0F0028 802CB678 03E00008 */ jr $ra /* 0F002C 802CB67C 27BD0030 */ addiu $sp, $sp, 0x30 +SetCamLeadPlayer: /* 0F0030 802CB680 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0034 802CB684 AFB10014 */ sw $s1, 0x14($sp) /* 0F0038 802CB688 0080882D */ daddu $s1, $a0, $zero @@ -1076,11 +1084,11 @@ func_802CB5C8: /* 0F0040 802CB690 AFB00010 */ sw $s0, 0x10($sp) /* 0F0044 802CB694 8E30000C */ lw $s0, 0xc($s1) /* 0F0048 802CB698 8E050000 */ lw $a1, ($s0) -/* 0F004C 802CB69C 0C0B1EAF */ jal func_802C7ABC +/* 0F004C 802CB69C 0C0B1EAF */ jal get_variable /* 0F0050 802CB6A0 26100004 */ addiu $s0, $s0, 4 /* 0F0054 802CB6A4 0220202D */ daddu $a0, $s1, $zero /* 0F0058 802CB6A8 8E050000 */ lw $a1, ($s0) -/* 0F005C 802CB6AC 0C0B1EAF */ jal func_802C7ABC +/* 0F005C 802CB6AC 0C0B1EAF */ jal get_variable /* 0F0060 802CB6B0 0040802D */ daddu $s0, $v0, $zero /* 0F0064 802CB6B4 3C05800B */ lui $a1, 0x800b /* 0F0068 802CB6B8 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -1116,11 +1124,11 @@ func_802CB6F4: /* 0F00D0 802CB720 AFB00010 */ sw $s0, 0x10($sp) /* 0F00D4 802CB724 8E30000C */ lw $s0, 0xc($s1) /* 0F00D8 802CB728 8E050000 */ lw $a1, ($s0) -/* 0F00DC 802CB72C 0C0B1EAF */ jal func_802C7ABC +/* 0F00DC 802CB72C 0C0B1EAF */ jal get_variable /* 0F00E0 802CB730 26100004 */ addiu $s0, $s0, 4 /* 0F00E4 802CB734 0220202D */ daddu $a0, $s1, $zero /* 0F00E8 802CB738 8E050000 */ lw $a1, ($s0) -/* 0F00EC 802CB73C 0C0B1EAF */ jal func_802C7ABC +/* 0F00EC 802CB73C 0C0B1EAF */ jal get_variable /* 0F00F0 802CB740 0040802D */ daddu $s0, $v0, $zero /* 0F00F4 802CB744 44821000 */ mtc1 $v0, $f2 /* 0F00F8 802CB748 00000000 */ nop @@ -1145,6 +1153,7 @@ func_802CB6F4: /* 0F0144 802CB794 03E00008 */ jr $ra /* 0F0148 802CB798 27BD0020 */ addiu $sp, $sp, 0x20 +PanToTarget: /* 0F014C 802CB79C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F0150 802CB7A0 AFB20018 */ sw $s2, 0x18($sp) /* 0F0154 802CB7A4 0080902D */ daddu $s2, $a0, $zero @@ -1154,16 +1163,16 @@ func_802CB6F4: /* 0F0164 802CB7B4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F0168 802CB7B8 8E50000C */ lw $s0, 0xc($s2) /* 0F016C 802CB7BC 8E050000 */ lw $a1, ($s0) -/* 0F0170 802CB7C0 0C0B1EAF */ jal func_802C7ABC +/* 0F0170 802CB7C0 0C0B1EAF */ jal get_variable /* 0F0174 802CB7C4 26100004 */ addiu $s0, $s0, 4 /* 0F0178 802CB7C8 8E050000 */ lw $a1, ($s0) /* 0F017C 802CB7CC 26100004 */ addiu $s0, $s0, 4 /* 0F0180 802CB7D0 0240202D */ daddu $a0, $s2, $zero -/* 0F0184 802CB7D4 0C0B210B */ jal func_802C842C +/* 0F0184 802CB7D4 0C0B210B */ jal get_float_variable /* 0F0188 802CB7D8 0040882D */ daddu $s1, $v0, $zero /* 0F018C 802CB7DC 0240202D */ daddu $a0, $s2, $zero /* 0F0190 802CB7E0 8E050000 */ lw $a1, ($s0) -/* 0F0194 802CB7E4 0C0B1EAF */ jal func_802C7ABC +/* 0F0194 802CB7E4 0C0B1EAF */ jal get_variable /* 0F0198 802CB7E8 46000506 */ mov.s $f20, $f0 /* 0F019C 802CB7EC 3C05800B */ lui $a1, 0x800b /* 0F01A0 802CB7F0 24A51D80 */ addiu $a1, $a1, 0x1d80 @@ -1198,6 +1207,7 @@ func_802CB840: /* 0F0208 802CB858 03E00008 */ jr $ra /* 0F020C 802CB85C 27BD0028 */ addiu $sp, $sp, 0x28 +UseSettingsFrom: /* 0F0210 802CB860 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0F0214 802CB864 AFB1005C */ sw $s1, 0x5c($sp) /* 0F0218 802CB868 0080882D */ daddu $s1, $a0, $zero @@ -1208,7 +1218,7 @@ func_802CB840: /* 0F022C 802CB87C F7B40068 */ sdc1 $f20, 0x68($sp) /* 0F0230 802CB880 8E30000C */ lw $s0, 0xc($s1) /* 0F0234 802CB884 8E050000 */ lw $a1, ($s0) -/* 0F0238 802CB888 0C0B1EAF */ jal func_802C7ABC +/* 0F0238 802CB888 0C0B1EAF */ jal get_variable /* 0F023C 802CB88C 26100004 */ addiu $s0, $s0, 4 /* 0F0240 802CB890 8E050000 */ lw $a1, ($s0) /* 0F0244 802CB894 26100004 */ addiu $s0, $s0, 4 @@ -1222,16 +1232,16 @@ func_802CB840: /* 0F0264 802CB8B4 000310C0 */ sll $v0, $v1, 3 /* 0F0268 802CB8B8 00621821 */ addu $v1, $v1, $v0 /* 0F026C 802CB8BC 000318C0 */ sll $v1, $v1, 3 -/* 0F0270 802CB8C0 0C0B210B */ jal func_802C842C +/* 0F0270 802CB8C0 0C0B210B */ jal get_float_variable /* 0F0274 802CB8C4 00669021 */ addu $s2, $v1, $a2 /* 0F0278 802CB8C8 8E050000 */ lw $a1, ($s0) /* 0F027C 802CB8CC 26100004 */ addiu $s0, $s0, 4 /* 0F0280 802CB8D0 0220202D */ daddu $a0, $s1, $zero -/* 0F0284 802CB8D4 0C0B210B */ jal func_802C842C +/* 0F0284 802CB8D4 0C0B210B */ jal get_float_variable /* 0F0288 802CB8D8 46000586 */ mov.s $f22, $f0 /* 0F028C 802CB8DC 0220202D */ daddu $a0, $s1, $zero /* 0F0290 802CB8E0 8E050000 */ lw $a1, ($s0) -/* 0F0294 802CB8E4 0C0B210B */ jal func_802C842C +/* 0F0294 802CB8E4 0C0B210B */ jal get_float_variable /* 0F0298 802CB8E8 46000506 */ mov.s $f20, $f0 /* 0F029C 802CB8EC 27A20038 */ addiu $v0, $sp, 0x38 /* 0F02A0 802CB8F0 3C0146FF */ lui $at, 0x46ff @@ -1261,7 +1271,7 @@ func_802CB840: /* 0F0300 802CB950 460EA380 */ add.s $f14, $f20, $f14 /* 0F0304 802CB954 E7A20010 */ swc1 $f2, 0x10($sp) /* 0F0308 802CB958 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0F030C 802CB95C 0C017449 */ jal func_8005D124 +/* 0F030C 802CB95C 0C017449 */ jal test_ray_zones /* 0F0310 802CB960 AFA20030 */ sw $v0, 0x30($sp) /* 0F0314 802CB964 0040182D */ daddu $v1, $v0, $zero /* 0F0318 802CB968 0460001A */ bltz $v1, .L802CB9D4 @@ -1303,6 +1313,7 @@ func_802CB840: /* 0F03A0 802CB9F0 03E00008 */ jr $ra /* 0F03A4 802CB9F4 27BD0078 */ addiu $sp, $sp, 0x78 +LoadSettings: /* 0F03A8 802CB9F8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F03AC 802CB9FC AFB10014 */ sw $s1, 0x14($sp) /* 0F03B0 802CBA00 0080882D */ daddu $s1, $a0, $zero @@ -1310,7 +1321,7 @@ func_802CB840: /* 0F03B8 802CBA08 AFB00010 */ sw $s0, 0x10($sp) /* 0F03BC 802CBA0C 8E30000C */ lw $s0, 0xc($s1) /* 0F03C0 802CBA10 8E050000 */ lw $a1, ($s0) -/* 0F03C4 802CBA14 0C0B1EAF */ jal func_802C7ABC +/* 0F03C4 802CBA14 0C0B1EAF */ jal get_variable /* 0F03C8 802CBA18 26100004 */ addiu $s0, $s0, 4 /* 0F03CC 802CBA1C 0220202D */ daddu $a0, $s1, $zero /* 0F03D0 802CBA20 3C03800B */ lui $v1, 0x800b @@ -1323,7 +1334,7 @@ func_802CB840: /* 0F03EC 802CBA3C 001010C0 */ sll $v0, $s0, 3 /* 0F03F0 802CBA40 02028021 */ addu $s0, $s0, $v0 /* 0F03F4 802CBA44 001080C0 */ sll $s0, $s0, 3 -/* 0F03F8 802CBA48 0C0B1EAF */ jal func_802C7ABC +/* 0F03F8 802CBA48 0C0B1EAF */ jal get_variable /* 0F03FC 802CBA4C 02038021 */ addu $s0, $s0, $v1 /* 0F0400 802CBA50 261004D8 */ addiu $s0, $s0, 0x4d8 /* 0F0404 802CBA54 24430020 */ addiu $v1, $v0, 0x20 @@ -1352,6 +1363,7 @@ func_802CB840: /* 0F045C 802CBAAC 03E00008 */ jr $ra /* 0F0460 802CBAB0 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamType: /* 0F0464 802CBAB4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0468 802CBAB8 AFB20018 */ sw $s2, 0x18($sp) /* 0F046C 802CBABC 0080902D */ daddu $s2, $a0, $zero @@ -1360,7 +1372,7 @@ func_802CB840: /* 0F0478 802CBAC8 AFB00010 */ sw $s0, 0x10($sp) /* 0F047C 802CBACC 8E51000C */ lw $s1, 0xc($s2) /* 0F0480 802CBAD0 8E250000 */ lw $a1, ($s1) -/* 0F0484 802CBAD4 0C0B1EAF */ jal func_802C7ABC +/* 0F0484 802CBAD4 0C0B1EAF */ jal get_variable /* 0F0488 802CBAD8 26310004 */ addiu $s1, $s1, 4 /* 0F048C 802CBADC 8E250000 */ lw $a1, ($s1) /* 0F0490 802CBAE0 26310004 */ addiu $s1, $s1, 4 @@ -1374,11 +1386,11 @@ func_802CB840: /* 0F04B0 802CBB00 001010C0 */ sll $v0, $s0, 3 /* 0F04B4 802CBB04 02028021 */ addu $s0, $s0, $v0 /* 0F04B8 802CBB08 001080C0 */ sll $s0, $s0, 3 -/* 0F04BC 802CBB0C 0C0B1EAF */ jal func_802C7ABC +/* 0F04BC 802CBB0C 0C0B1EAF */ jal get_variable /* 0F04C0 802CBB10 02038021 */ addu $s0, $s0, $v1 /* 0F04C4 802CBB14 0240202D */ daddu $a0, $s2, $zero /* 0F04C8 802CBB18 8E250000 */ lw $a1, ($s1) -/* 0F04CC 802CBB1C 0C0B1EAF */ jal func_802C7ABC +/* 0F04CC 802CBB1C 0C0B1EAF */ jal get_variable /* 0F04D0 802CBB20 0040882D */ daddu $s1, $v0, $zero /* 0F04D4 802CBB24 AE020500 */ sw $v0, 0x500($s0) /* 0F04D8 802CBB28 AE1104D8 */ sw $s1, 0x4d8($s0) @@ -1390,6 +1402,7 @@ func_802CB840: /* 0F04F0 802CBB40 03E00008 */ jr $ra /* 0F04F4 802CBB44 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamPitch: /* 0F04F8 802CBB48 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F04FC 802CBB4C AFB20018 */ sw $s2, 0x18($sp) /* 0F0500 802CBB50 0080902D */ daddu $s2, $a0, $zero @@ -1399,7 +1412,7 @@ func_802CB840: /* 0F0510 802CBB60 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F0514 802CBB64 8E51000C */ lw $s1, 0xc($s2) /* 0F0518 802CBB68 8E250000 */ lw $a1, ($s1) -/* 0F051C 802CBB6C 0C0B1EAF */ jal func_802C7ABC +/* 0F051C 802CBB6C 0C0B1EAF */ jal get_variable /* 0F0520 802CBB70 26310004 */ addiu $s1, $s1, 4 /* 0F0524 802CBB74 8E250000 */ lw $a1, ($s1) /* 0F0528 802CBB78 26310004 */ addiu $s1, $s1, 4 @@ -1413,11 +1426,11 @@ func_802CB840: /* 0F0548 802CBB98 001010C0 */ sll $v0, $s0, 3 /* 0F054C 802CBB9C 02028021 */ addu $s0, $s0, $v0 /* 0F0550 802CBBA0 001080C0 */ sll $s0, $s0, 3 -/* 0F0554 802CBBA4 0C0B210B */ jal func_802C842C +/* 0F0554 802CBBA4 0C0B210B */ jal get_float_variable /* 0F0558 802CBBA8 02038021 */ addu $s0, $s0, $v1 /* 0F055C 802CBBAC 0240202D */ daddu $a0, $s2, $zero /* 0F0560 802CBBB0 8E250000 */ lw $a1, ($s1) -/* 0F0564 802CBBB4 0C0B210B */ jal func_802C842C +/* 0F0564 802CBBB4 0C0B210B */ jal get_float_variable /* 0F0568 802CBBB8 46000506 */ mov.s $f20, $f0 /* 0F056C 802CBBBC E61404E0 */ swc1 $f20, 0x4e0($s0) /* 0F0570 802CBBC0 E60004FC */ swc1 $f0, 0x4fc($s0) @@ -1430,6 +1443,7 @@ func_802CB840: /* 0F058C 802CBBDC 03E00008 */ jr $ra /* 0F0590 802CBBE0 27BD0028 */ addiu $sp, $sp, 0x28 +SetCamDistance: /* 0F0594 802CBBE4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0598 802CBBE8 AFB10014 */ sw $s1, 0x14($sp) /* 0F059C 802CBBEC 0080882D */ daddu $s1, $a0, $zero @@ -1437,7 +1451,7 @@ func_802CB840: /* 0F05A4 802CBBF4 AFB00010 */ sw $s0, 0x10($sp) /* 0F05A8 802CBBF8 8E30000C */ lw $s0, 0xc($s1) /* 0F05AC 802CBBFC 8E050000 */ lw $a1, ($s0) -/* 0F05B0 802CBC00 0C0B1EAF */ jal func_802C7ABC +/* 0F05B0 802CBC00 0C0B1EAF */ jal get_variable /* 0F05B4 802CBC04 26100004 */ addiu $s0, $s0, 4 /* 0F05B8 802CBC08 0220202D */ daddu $a0, $s1, $zero /* 0F05BC 802CBC0C 3C03800B */ lui $v1, 0x800b @@ -1450,7 +1464,7 @@ func_802CB840: /* 0F05D8 802CBC28 001010C0 */ sll $v0, $s0, 3 /* 0F05DC 802CBC2C 02028021 */ addu $s0, $s0, $v0 /* 0F05E0 802CBC30 001080C0 */ sll $s0, $s0, 3 -/* 0F05E4 802CBC34 0C0B210B */ jal func_802C842C +/* 0F05E4 802CBC34 0C0B210B */ jal get_float_variable /* 0F05E8 802CBC38 02038021 */ addu $s0, $s0, $v1 /* 0F05EC 802CBC3C E60004DC */ swc1 $f0, 0x4dc($s0) /* 0F05F0 802CBC40 8FBF0018 */ lw $ra, 0x18($sp) @@ -1460,6 +1474,7 @@ func_802CB840: /* 0F0600 802CBC50 03E00008 */ jr $ra /* 0F0604 802CBC54 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamPosA: /* 0F0608 802CBC58 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F060C 802CBC5C AFB20018 */ sw $s2, 0x18($sp) /* 0F0610 802CBC60 0080902D */ daddu $s2, $a0, $zero @@ -1469,7 +1484,7 @@ func_802CB840: /* 0F0620 802CBC70 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F0624 802CBC74 8E51000C */ lw $s1, 0xc($s2) /* 0F0628 802CBC78 8E250000 */ lw $a1, ($s1) -/* 0F062C 802CBC7C 0C0B1EAF */ jal func_802C7ABC +/* 0F062C 802CBC7C 0C0B1EAF */ jal get_variable /* 0F0630 802CBC80 26310004 */ addiu $s1, $s1, 4 /* 0F0634 802CBC84 8E250000 */ lw $a1, ($s1) /* 0F0638 802CBC88 26310004 */ addiu $s1, $s1, 4 @@ -1483,11 +1498,11 @@ func_802CB840: /* 0F0658 802CBCA8 001010C0 */ sll $v0, $s0, 3 /* 0F065C 802CBCAC 02028021 */ addu $s0, $s0, $v0 /* 0F0660 802CBCB0 001080C0 */ sll $s0, $s0, 3 -/* 0F0664 802CBCB4 0C0B210B */ jal func_802C842C +/* 0F0664 802CBCB4 0C0B210B */ jal get_float_variable /* 0F0668 802CBCB8 02038021 */ addu $s0, $s0, $v1 /* 0F066C 802CBCBC 0240202D */ daddu $a0, $s2, $zero /* 0F0670 802CBCC0 8E250000 */ lw $a1, ($s1) -/* 0F0674 802CBCC4 0C0B210B */ jal func_802C842C +/* 0F0674 802CBCC4 0C0B210B */ jal get_float_variable /* 0F0678 802CBCC8 46000506 */ mov.s $f20, $f0 /* 0F067C 802CBCCC E61404E4 */ swc1 $f20, 0x4e4($s0) /* 0F0680 802CBCD0 E60004EC */ swc1 $f0, 0x4ec($s0) @@ -1500,6 +1515,7 @@ func_802CB840: /* 0F069C 802CBCEC 03E00008 */ jr $ra /* 0F06A0 802CBCF0 27BD0028 */ addiu $sp, $sp, 0x28 +SetCamPosB: /* 0F06A4 802CBCF4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F06A8 802CBCF8 AFB20018 */ sw $s2, 0x18($sp) /* 0F06AC 802CBCFC 0080902D */ daddu $s2, $a0, $zero @@ -1509,7 +1525,7 @@ func_802CB840: /* 0F06BC 802CBD0C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F06C0 802CBD10 8E51000C */ lw $s1, 0xc($s2) /* 0F06C4 802CBD14 8E250000 */ lw $a1, ($s1) -/* 0F06C8 802CBD18 0C0B1EAF */ jal func_802C7ABC +/* 0F06C8 802CBD18 0C0B1EAF */ jal get_variable /* 0F06CC 802CBD1C 26310004 */ addiu $s1, $s1, 4 /* 0F06D0 802CBD20 8E250000 */ lw $a1, ($s1) /* 0F06D4 802CBD24 26310004 */ addiu $s1, $s1, 4 @@ -1523,11 +1539,11 @@ func_802CB840: /* 0F06F4 802CBD44 001010C0 */ sll $v0, $s0, 3 /* 0F06F8 802CBD48 02028021 */ addu $s0, $s0, $v0 /* 0F06FC 802CBD4C 001080C0 */ sll $s0, $s0, 3 -/* 0F0700 802CBD50 0C0B210B */ jal func_802C842C +/* 0F0700 802CBD50 0C0B210B */ jal get_float_variable /* 0F0704 802CBD54 02038021 */ addu $s0, $s0, $v1 /* 0F0708 802CBD58 0240202D */ daddu $a0, $s2, $zero /* 0F070C 802CBD5C 8E250000 */ lw $a1, ($s1) -/* 0F0710 802CBD60 0C0B210B */ jal func_802C842C +/* 0F0710 802CBD60 0C0B210B */ jal get_float_variable /* 0F0714 802CBD64 46000506 */ mov.s $f20, $f0 /* 0F0718 802CBD68 E61404F0 */ swc1 $f20, 0x4f0($s0) /* 0F071C 802CBD6C E60004F8 */ swc1 $f0, 0x4f8($s0) @@ -1540,6 +1556,7 @@ func_802CB840: /* 0F0738 802CBD88 03E00008 */ jr $ra /* 0F073C 802CBD8C 27BD0028 */ addiu $sp, $sp, 0x28 +SetCamPosC: /* 0F0740 802CBD90 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F0744 802CBD94 AFB20018 */ sw $s2, 0x18($sp) /* 0F0748 802CBD98 0080902D */ daddu $s2, $a0, $zero @@ -1549,7 +1566,7 @@ func_802CB840: /* 0F0758 802CBDA8 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F075C 802CBDAC 8E51000C */ lw $s1, 0xc($s2) /* 0F0760 802CBDB0 8E250000 */ lw $a1, ($s1) -/* 0F0764 802CBDB4 0C0B1EAF */ jal func_802C7ABC +/* 0F0764 802CBDB4 0C0B1EAF */ jal get_variable /* 0F0768 802CBDB8 26310004 */ addiu $s1, $s1, 4 /* 0F076C 802CBDBC 8E250000 */ lw $a1, ($s1) /* 0F0770 802CBDC0 26310004 */ addiu $s1, $s1, 4 @@ -1563,11 +1580,11 @@ func_802CB840: /* 0F0790 802CBDE0 001010C0 */ sll $v0, $s0, 3 /* 0F0794 802CBDE4 02028021 */ addu $s0, $s0, $v0 /* 0F0798 802CBDE8 001080C0 */ sll $s0, $s0, 3 -/* 0F079C 802CBDEC 0C0B210B */ jal func_802C842C +/* 0F079C 802CBDEC 0C0B210B */ jal get_float_variable /* 0F07A0 802CBDF0 02038021 */ addu $s0, $s0, $v1 /* 0F07A4 802CBDF4 0240202D */ daddu $a0, $s2, $zero /* 0F07A8 802CBDF8 8E250000 */ lw $a1, ($s1) -/* 0F07AC 802CBDFC 0C0B210B */ jal func_802C842C +/* 0F07AC 802CBDFC 0C0B210B */ jal get_float_variable /* 0F07B0 802CBE00 46000506 */ mov.s $f20, $f0 /* 0F07B4 802CBE04 E61404E8 */ swc1 $f20, 0x4e8($s0) /* 0F07B8 802CBE08 E60004F4 */ swc1 $f0, 0x4f4($s0) @@ -1580,6 +1597,7 @@ func_802CB840: /* 0F07D4 802CBE24 03E00008 */ jr $ra /* 0F07D8 802CBE28 27BD0028 */ addiu $sp, $sp, 0x28 +SetPanTarget: /* 0F07DC 802CBE2C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F07E0 802CBE30 AFB20018 */ sw $s2, 0x18($sp) /* 0F07E4 802CBE34 0080902D */ daddu $s2, $a0, $zero @@ -1590,7 +1608,7 @@ func_802CB840: /* 0F07F8 802CBE48 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F07FC 802CBE4C 8E51000C */ lw $s1, 0xc($s2) /* 0F0800 802CBE50 8E250000 */ lw $a1, ($s1) -/* 0F0804 802CBE54 0C0B1EAF */ jal func_802C7ABC +/* 0F0804 802CBE54 0C0B1EAF */ jal get_variable /* 0F0808 802CBE58 26310004 */ addiu $s1, $s1, 4 /* 0F080C 802CBE5C 8E250000 */ lw $a1, ($s1) /* 0F0810 802CBE60 26310004 */ addiu $s1, $s1, 4 @@ -1604,16 +1622,16 @@ func_802CB840: /* 0F0830 802CBE80 001010C0 */ sll $v0, $s0, 3 /* 0F0834 802CBE84 02028021 */ addu $s0, $s0, $v0 /* 0F0838 802CBE88 001080C0 */ sll $s0, $s0, 3 -/* 0F083C 802CBE8C 0C0B210B */ jal func_802C842C +/* 0F083C 802CBE8C 0C0B210B */ jal get_float_variable /* 0F0840 802CBE90 02038021 */ addu $s0, $s0, $v1 /* 0F0844 802CBE94 8E250000 */ lw $a1, ($s1) /* 0F0848 802CBE98 26310004 */ addiu $s1, $s1, 4 /* 0F084C 802CBE9C 0240202D */ daddu $a0, $s2, $zero -/* 0F0850 802CBEA0 0C0B210B */ jal func_802C842C +/* 0F0850 802CBEA0 0C0B210B */ jal get_float_variable /* 0F0854 802CBEA4 46000586 */ mov.s $f22, $f0 /* 0F0858 802CBEA8 0240202D */ daddu $a0, $s2, $zero /* 0F085C 802CBEAC 8E250000 */ lw $a1, ($s1) -/* 0F0860 802CBEB0 0C0B210B */ jal func_802C842C +/* 0F0860 802CBEB0 0C0B210B */ jal get_float_variable /* 0F0864 802CBEB4 46000506 */ mov.s $f20, $f0 /* 0F0868 802CBEB8 24030001 */ addiu $v1, $zero, 1 /* 0F086C 802CBEBC E61604B0 */ swc1 $f22, 0x4b0($s0) @@ -1630,6 +1648,7 @@ func_802CB840: /* 0F0898 802CBEE8 03E00008 */ jr $ra /* 0F089C 802CBEEC 27BD0030 */ addiu $sp, $sp, 0x30 +SetCamSpeed: /* 0F08A0 802CBEF0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F08A4 802CBEF4 AFB10014 */ sw $s1, 0x14($sp) /* 0F08A8 802CBEF8 0080882D */ daddu $s1, $a0, $zero @@ -1637,11 +1656,11 @@ func_802CB840: /* 0F08B0 802CBF00 AFB00010 */ sw $s0, 0x10($sp) /* 0F08B4 802CBF04 8E30000C */ lw $s0, 0xc($s1) /* 0F08B8 802CBF08 8E050000 */ lw $a1, ($s0) -/* 0F08BC 802CBF0C 0C0B1EAF */ jal func_802C7ABC +/* 0F08BC 802CBF0C 0C0B1EAF */ jal get_variable /* 0F08C0 802CBF10 26100004 */ addiu $s0, $s0, 4 /* 0F08C4 802CBF14 0220202D */ daddu $a0, $s1, $zero /* 0F08C8 802CBF18 8E050000 */ lw $a1, ($s0) -/* 0F08CC 802CBF1C 0C0B210B */ jal func_802C842C +/* 0F08CC 802CBF1C 0C0B210B */ jal get_float_variable /* 0F08D0 802CBF20 0040802D */ daddu $s0, $v0, $zero /* 0F08D4 802CBF24 24020002 */ addiu $v0, $zero, 2 /* 0F08D8 802CBF28 00501804 */ sllv $v1, $s0, $v0 @@ -1660,6 +1679,7 @@ func_802CB840: /* 0F090C 802CBF5C 03E00008 */ jr $ra /* 0F0910 802CBF60 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamType: /* 0F0914 802CBF64 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0918 802CBF68 AFB20018 */ sw $s2, 0x18($sp) /* 0F091C 802CBF6C 0080902D */ daddu $s2, $a0, $zero @@ -1668,7 +1688,7 @@ func_802CB840: /* 0F0928 802CBF78 AFB00010 */ sw $s0, 0x10($sp) /* 0F092C 802CBF7C 8E51000C */ lw $s1, 0xc($s2) /* 0F0930 802CBF80 8E250000 */ lw $a1, ($s1) -/* 0F0934 802CBF84 0C0B1EAF */ jal func_802C7ABC +/* 0F0934 802CBF84 0C0B1EAF */ jal get_variable /* 0F0938 802CBF88 26310004 */ addiu $s1, $s1, 4 /* 0F093C 802CBF8C 3C03800B */ lui $v1, 0x800b /* 0F0940 802CBF90 24631D80 */ addiu $v1, $v1, 0x1d80 @@ -1683,11 +1703,11 @@ func_802CB840: /* 0F0964 802CBFB4 8E250000 */ lw $a1, ($s1) /* 0F0968 802CBFB8 8E0604D8 */ lw $a2, 0x4d8($s0) /* 0F096C 802CBFBC 8E310004 */ lw $s1, 4($s1) -/* 0F0970 802CBFC0 0C0B2026 */ jal func_802C8098 +/* 0F0970 802CBFC0 0C0B2026 */ jal set_variable /* 0F0974 802CBFC4 0240202D */ daddu $a0, $s2, $zero /* 0F0978 802CBFC8 0240202D */ daddu $a0, $s2, $zero /* 0F097C 802CBFCC 8E060500 */ lw $a2, 0x500($s0) -/* 0F0980 802CBFD0 0C0B2026 */ jal func_802C8098 +/* 0F0980 802CBFD0 0C0B2026 */ jal set_variable /* 0F0984 802CBFD4 0220282D */ daddu $a1, $s1, $zero /* 0F0988 802CBFD8 8FBF001C */ lw $ra, 0x1c($sp) /* 0F098C 802CBFDC 8FB20018 */ lw $s2, 0x18($sp) @@ -1697,6 +1717,7 @@ func_802CB840: /* 0F099C 802CBFEC 03E00008 */ jr $ra /* 0F09A0 802CBFF0 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamPitch: /* 0F09A4 802CBFF4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F09A8 802CBFF8 AFB20018 */ sw $s2, 0x18($sp) /* 0F09AC 802CBFFC 0080902D */ daddu $s2, $a0, $zero @@ -1705,7 +1726,7 @@ func_802CB840: /* 0F09B8 802CC008 AFB00010 */ sw $s0, 0x10($sp) /* 0F09BC 802CC00C 8E51000C */ lw $s1, 0xc($s2) /* 0F09C0 802CC010 8E250000 */ lw $a1, ($s1) -/* 0F09C4 802CC014 0C0B1EAF */ jal func_802C7ABC +/* 0F09C4 802CC014 0C0B1EAF */ jal get_variable /* 0F09C8 802CC018 26310004 */ addiu $s1, $s1, 4 /* 0F09CC 802CC01C 3C03800B */ lui $v1, 0x800b /* 0F09D0 802CC020 24631D80 */ addiu $v1, $v1, 0x1d80 @@ -1720,11 +1741,11 @@ func_802CB840: /* 0F09F4 802CC044 8E250000 */ lw $a1, ($s1) /* 0F09F8 802CC048 8E0604E0 */ lw $a2, 0x4e0($s0) /* 0F09FC 802CC04C 8E310004 */ lw $s1, 4($s1) -/* 0F0A00 802CC050 0C0B2190 */ jal func_802C8640 +/* 0F0A00 802CC050 0C0B2190 */ jal set_float_variable /* 0F0A04 802CC054 0240202D */ daddu $a0, $s2, $zero /* 0F0A08 802CC058 0240202D */ daddu $a0, $s2, $zero /* 0F0A0C 802CC05C 8E0604FC */ lw $a2, 0x4fc($s0) -/* 0F0A10 802CC060 0C0B2190 */ jal func_802C8640 +/* 0F0A10 802CC060 0C0B2190 */ jal set_float_variable /* 0F0A14 802CC064 0220282D */ daddu $a1, $s1, $zero /* 0F0A18 802CC068 8FBF001C */ lw $ra, 0x1c($sp) /* 0F0A1C 802CC06C 8FB20018 */ lw $s2, 0x18($sp) @@ -1734,6 +1755,7 @@ func_802CB840: /* 0F0A2C 802CC07C 03E00008 */ jr $ra /* 0F0A30 802CC080 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamDistance: /* 0F0A34 802CC084 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0A38 802CC088 AFB10014 */ sw $s1, 0x14($sp) /* 0F0A3C 802CC08C 0080882D */ daddu $s1, $a0, $zero @@ -1741,7 +1763,7 @@ func_802CB840: /* 0F0A44 802CC094 AFB00010 */ sw $s0, 0x10($sp) /* 0F0A48 802CC098 8E30000C */ lw $s0, 0xc($s1) /* 0F0A4C 802CC09C 8E050000 */ lw $a1, ($s0) -/* 0F0A50 802CC0A0 0C0B1EAF */ jal func_802C7ABC +/* 0F0A50 802CC0A0 0C0B1EAF */ jal get_variable /* 0F0A54 802CC0A4 26100004 */ addiu $s0, $s0, 4 /* 0F0A58 802CC0A8 00021880 */ sll $v1, $v0, 2 /* 0F0A5C 802CC0AC 00621821 */ addu $v1, $v1, $v0 @@ -1754,7 +1776,7 @@ func_802CB840: /* 0F0A78 802CC0C8 3C06800B */ lui $a2, 0x800b /* 0F0A7C 802CC0CC 00C33021 */ addu $a2, $a2, $v1 /* 0F0A80 802CC0D0 8CC6225C */ lw $a2, 0x225c($a2) -/* 0F0A84 802CC0D4 0C0B2190 */ jal func_802C8640 +/* 0F0A84 802CC0D4 0C0B2190 */ jal set_float_variable /* 0F0A88 802CC0D8 0220202D */ daddu $a0, $s1, $zero /* 0F0A8C 802CC0DC 8FBF0018 */ lw $ra, 0x18($sp) /* 0F0A90 802CC0E0 8FB10014 */ lw $s1, 0x14($sp) @@ -1763,6 +1785,7 @@ func_802CB840: /* 0F0A9C 802CC0EC 03E00008 */ jr $ra /* 0F0AA0 802CC0F0 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamPosA: /* 0F0AA4 802CC0F4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0AA8 802CC0F8 AFB20018 */ sw $s2, 0x18($sp) /* 0F0AAC 802CC0FC 0080902D */ daddu $s2, $a0, $zero @@ -1771,7 +1794,7 @@ func_802CB840: /* 0F0AB8 802CC108 AFB00010 */ sw $s0, 0x10($sp) /* 0F0ABC 802CC10C 8E51000C */ lw $s1, 0xc($s2) /* 0F0AC0 802CC110 8E250000 */ lw $a1, ($s1) -/* 0F0AC4 802CC114 0C0B1EAF */ jal func_802C7ABC +/* 0F0AC4 802CC114 0C0B1EAF */ jal get_variable /* 0F0AC8 802CC118 26310004 */ addiu $s1, $s1, 4 /* 0F0ACC 802CC11C 3C03800B */ lui $v1, 0x800b /* 0F0AD0 802CC120 24631D80 */ addiu $v1, $v1, 0x1d80 @@ -1786,11 +1809,11 @@ func_802CB840: /* 0F0AF4 802CC144 8E250000 */ lw $a1, ($s1) /* 0F0AF8 802CC148 8E0604E4 */ lw $a2, 0x4e4($s0) /* 0F0AFC 802CC14C 8E310004 */ lw $s1, 4($s1) -/* 0F0B00 802CC150 0C0B2190 */ jal func_802C8640 +/* 0F0B00 802CC150 0C0B2190 */ jal set_float_variable /* 0F0B04 802CC154 0240202D */ daddu $a0, $s2, $zero /* 0F0B08 802CC158 0240202D */ daddu $a0, $s2, $zero /* 0F0B0C 802CC15C 8E0604EC */ lw $a2, 0x4ec($s0) -/* 0F0B10 802CC160 0C0B2190 */ jal func_802C8640 +/* 0F0B10 802CC160 0C0B2190 */ jal set_float_variable /* 0F0B14 802CC164 0220282D */ daddu $a1, $s1, $zero /* 0F0B18 802CC168 8FBF001C */ lw $ra, 0x1c($sp) /* 0F0B1C 802CC16C 8FB20018 */ lw $s2, 0x18($sp) @@ -1800,6 +1823,7 @@ func_802CB840: /* 0F0B2C 802CC17C 03E00008 */ jr $ra /* 0F0B30 802CC180 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamPosB: /* 0F0B34 802CC184 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0B38 802CC188 AFB20018 */ sw $s2, 0x18($sp) /* 0F0B3C 802CC18C 0080902D */ daddu $s2, $a0, $zero @@ -1808,7 +1832,7 @@ func_802CB840: /* 0F0B48 802CC198 AFB00010 */ sw $s0, 0x10($sp) /* 0F0B4C 802CC19C 8E51000C */ lw $s1, 0xc($s2) /* 0F0B50 802CC1A0 8E250000 */ lw $a1, ($s1) -/* 0F0B54 802CC1A4 0C0B1EAF */ jal func_802C7ABC +/* 0F0B54 802CC1A4 0C0B1EAF */ jal get_variable /* 0F0B58 802CC1A8 26310004 */ addiu $s1, $s1, 4 /* 0F0B5C 802CC1AC 3C03800B */ lui $v1, 0x800b /* 0F0B60 802CC1B0 24631D80 */ addiu $v1, $v1, 0x1d80 @@ -1823,11 +1847,11 @@ func_802CB840: /* 0F0B84 802CC1D4 8E250000 */ lw $a1, ($s1) /* 0F0B88 802CC1D8 8E0604F0 */ lw $a2, 0x4f0($s0) /* 0F0B8C 802CC1DC 8E310004 */ lw $s1, 4($s1) -/* 0F0B90 802CC1E0 0C0B2190 */ jal func_802C8640 +/* 0F0B90 802CC1E0 0C0B2190 */ jal set_float_variable /* 0F0B94 802CC1E4 0240202D */ daddu $a0, $s2, $zero /* 0F0B98 802CC1E8 0240202D */ daddu $a0, $s2, $zero /* 0F0B9C 802CC1EC 8E0604F8 */ lw $a2, 0x4f8($s0) -/* 0F0BA0 802CC1F0 0C0B2190 */ jal func_802C8640 +/* 0F0BA0 802CC1F0 0C0B2190 */ jal set_float_variable /* 0F0BA4 802CC1F4 0220282D */ daddu $a1, $s1, $zero /* 0F0BA8 802CC1F8 8FBF001C */ lw $ra, 0x1c($sp) /* 0F0BAC 802CC1FC 8FB20018 */ lw $s2, 0x18($sp) @@ -1837,6 +1861,7 @@ func_802CB840: /* 0F0BBC 802CC20C 03E00008 */ jr $ra /* 0F0BC0 802CC210 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamPosC: /* 0F0BC4 802CC214 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0BC8 802CC218 AFB20018 */ sw $s2, 0x18($sp) /* 0F0BCC 802CC21C 0080902D */ daddu $s2, $a0, $zero @@ -1845,7 +1870,7 @@ func_802CB840: /* 0F0BD8 802CC228 AFB00010 */ sw $s0, 0x10($sp) /* 0F0BDC 802CC22C 8E51000C */ lw $s1, 0xc($s2) /* 0F0BE0 802CC230 8E250000 */ lw $a1, ($s1) -/* 0F0BE4 802CC234 0C0B1EAF */ jal func_802C7ABC +/* 0F0BE4 802CC234 0C0B1EAF */ jal get_variable /* 0F0BE8 802CC238 26310004 */ addiu $s1, $s1, 4 /* 0F0BEC 802CC23C 3C03800B */ lui $v1, 0x800b /* 0F0BF0 802CC240 24631D80 */ addiu $v1, $v1, 0x1d80 @@ -1860,11 +1885,11 @@ func_802CB840: /* 0F0C14 802CC264 8E250000 */ lw $a1, ($s1) /* 0F0C18 802CC268 8E0604E8 */ lw $a2, 0x4e8($s0) /* 0F0C1C 802CC26C 8E310004 */ lw $s1, 4($s1) -/* 0F0C20 802CC270 0C0B2190 */ jal func_802C8640 +/* 0F0C20 802CC270 0C0B2190 */ jal set_float_variable /* 0F0C24 802CC274 0240202D */ daddu $a0, $s2, $zero /* 0F0C28 802CC278 0240202D */ daddu $a0, $s2, $zero /* 0F0C2C 802CC27C 8E0604F4 */ lw $a2, 0x4f4($s0) -/* 0F0C30 802CC280 0C0B2190 */ jal func_802C8640 +/* 0F0C30 802CC280 0C0B2190 */ jal set_float_variable /* 0F0C34 802CC284 0220282D */ daddu $a1, $s1, $zero /* 0F0C38 802CC288 8FBF001C */ lw $ra, 0x1c($sp) /* 0F0C3C 802CC28C 8FB20018 */ lw $s2, 0x18($sp) @@ -1874,6 +1899,7 @@ func_802CB840: /* 0F0C4C 802CC29C 03E00008 */ jr $ra /* 0F0C50 802CC2A0 27BD0020 */ addiu $sp, $sp, 0x20 +GetCamPosition: /* 0F0C54 802CC2A4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F0C58 802CC2A8 AFB20018 */ sw $s2, 0x18($sp) /* 0F0C5C 802CC2AC 0080902D */ daddu $s2, $a0, $zero @@ -1883,7 +1909,7 @@ func_802CB840: /* 0F0C6C 802CC2BC AFB00010 */ sw $s0, 0x10($sp) /* 0F0C70 802CC2C0 8E51000C */ lw $s1, 0xc($s2) /* 0F0C74 802CC2C4 8E250000 */ lw $a1, ($s1) -/* 0F0C78 802CC2C8 0C0B1EAF */ jal func_802C7ABC +/* 0F0C78 802CC2C8 0C0B1EAF */ jal get_variable /* 0F0C7C 802CC2CC 26310004 */ addiu $s1, $s1, 4 /* 0F0C80 802CC2D0 8E250000 */ lw $a1, ($s1) /* 0F0C84 802CC2D4 26310004 */ addiu $s1, $s1, 4 @@ -1900,15 +1926,15 @@ func_802CB840: /* 0F0CB0 802CC300 8E0604B0 */ lw $a2, 0x4b0($s0) /* 0F0CB4 802CC304 8E330000 */ lw $s3, ($s1) /* 0F0CB8 802CC308 8E310004 */ lw $s1, 4($s1) -/* 0F0CBC 802CC30C 0C0B2190 */ jal func_802C8640 +/* 0F0CBC 802CC30C 0C0B2190 */ jal set_float_variable /* 0F0CC0 802CC310 0240202D */ daddu $a0, $s2, $zero /* 0F0CC4 802CC314 0240202D */ daddu $a0, $s2, $zero /* 0F0CC8 802CC318 8E0604B4 */ lw $a2, 0x4b4($s0) -/* 0F0CCC 802CC31C 0C0B2190 */ jal func_802C8640 +/* 0F0CCC 802CC31C 0C0B2190 */ jal set_float_variable /* 0F0CD0 802CC320 0260282D */ daddu $a1, $s3, $zero /* 0F0CD4 802CC324 0240202D */ daddu $a0, $s2, $zero /* 0F0CD8 802CC328 8E0604B8 */ lw $a2, 0x4b8($s0) -/* 0F0CDC 802CC32C 0C0B2190 */ jal func_802C8640 +/* 0F0CDC 802CC32C 0C0B2190 */ jal set_float_variable /* 0F0CE0 802CC330 0220282D */ daddu $a1, $s1, $zero /* 0F0CE4 802CC334 8FBF0020 */ lw $ra, 0x20($sp) /* 0F0CE8 802CC338 8FB3001C */ lw $s3, 0x1c($sp) @@ -1919,6 +1945,7 @@ func_802CB840: /* 0F0CFC 802CC34C 03E00008 */ jr $ra /* 0F0D00 802CC350 27BD0028 */ addiu $sp, $sp, 0x28 +WaitForCam: /* 0F0D04 802CC354 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F0D08 802CC358 AFB00010 */ sw $s0, 0x10($sp) /* 0F0D0C 802CC35C 0080802D */ daddu $s0, $a0, $zero @@ -1927,11 +1954,11 @@ func_802CB840: /* 0F0D18 802CC368 AFB10014 */ sw $s1, 0x14($sp) /* 0F0D1C 802CC36C 8E11000C */ lw $s1, 0xc($s0) /* 0F0D20 802CC370 00A0902D */ daddu $s2, $a1, $zero -/* 0F0D24 802CC374 0C0B1EAF */ jal func_802C7ABC +/* 0F0D24 802CC374 0C0B1EAF */ jal get_variable /* 0F0D28 802CC378 8E250000 */ lw $a1, ($s1) /* 0F0D2C 802CC37C 0200202D */ daddu $a0, $s0, $zero /* 0F0D30 802CC380 8E250004 */ lw $a1, 4($s1) -/* 0F0D34 802CC384 0C0B210B */ jal func_802C842C +/* 0F0D34 802CC384 0C0B210B */ jal get_float_variable /* 0F0D38 802CC388 0040802D */ daddu $s0, $v0, $zero /* 0F0D3C 802CC38C 46000086 */ mov.s $f2, $f0 /* 0F0D40 802CC390 3C04800B */ lui $a0, 0x800b @@ -1960,6 +1987,7 @@ func_802CB840: /* 0F0D94 802CC3E4 03E00008 */ jr $ra /* 0F0D98 802CC3E8 27BD0020 */ addiu $sp, $sp, 0x20 +SetCamProperties: /* 0F0D9C 802CC3EC 27BDFF60 */ addiu $sp, $sp, -0xa0 /* 0F0DA0 802CC3F0 AFB1005C */ sw $s1, 0x5c($sp) /* 0F0DA4 802CC3F4 0080882D */ daddu $s1, $a0, $zero @@ -1976,7 +2004,7 @@ func_802CB840: /* 0F0DD0 802CC420 F7B40070 */ sdc1 $f20, 0x70($sp) /* 0F0DD4 802CC424 8E30000C */ lw $s0, 0xc($s1) /* 0F0DD8 802CC428 8E050000 */ lw $a1, ($s0) -/* 0F0DDC 802CC42C 0C0B1EAF */ jal func_802C7ABC +/* 0F0DDC 802CC42C 0C0B1EAF */ jal get_variable /* 0F0DE0 802CC430 26100004 */ addiu $s0, $s0, 4 /* 0F0DE4 802CC434 8E050000 */ lw $a1, ($s0) /* 0F0DE8 802CC438 26100004 */ addiu $s0, $s0, 4 @@ -1990,36 +2018,36 @@ func_802CB840: /* 0F0E08 802CC458 000310C0 */ sll $v0, $v1, 3 /* 0F0E0C 802CC45C 00621821 */ addu $v1, $v1, $v0 /* 0F0E10 802CC460 000318C0 */ sll $v1, $v1, 3 -/* 0F0E14 802CC464 0C0B210B */ jal func_802C842C +/* 0F0E14 802CC464 0C0B210B */ jal get_float_variable /* 0F0E18 802CC468 00669821 */ addu $s3, $v1, $a2 /* 0F0E1C 802CC46C 8E050000 */ lw $a1, ($s0) /* 0F0E20 802CC470 26100004 */ addiu $s0, $s0, 4 /* 0F0E24 802CC474 0220202D */ daddu $a0, $s1, $zero -/* 0F0E28 802CC478 0C0B210B */ jal func_802C842C +/* 0F0E28 802CC478 0C0B210B */ jal get_float_variable /* 0F0E2C 802CC47C E7A00054 */ swc1 $f0, 0x54($sp) /* 0F0E30 802CC480 8E050000 */ lw $a1, ($s0) /* 0F0E34 802CC484 26100004 */ addiu $s0, $s0, 4 /* 0F0E38 802CC488 0220202D */ daddu $a0, $s1, $zero -/* 0F0E3C 802CC48C 0C0B210B */ jal func_802C842C +/* 0F0E3C 802CC48C 0C0B210B */ jal get_float_variable /* 0F0E40 802CC490 46000606 */ mov.s $f24, $f0 /* 0F0E44 802CC494 8E050000 */ lw $a1, ($s0) /* 0F0E48 802CC498 26100004 */ addiu $s0, $s0, 4 /* 0F0E4C 802CC49C 0220202D */ daddu $a0, $s1, $zero -/* 0F0E50 802CC4A0 0C0B210B */ jal func_802C842C +/* 0F0E50 802CC4A0 0C0B210B */ jal get_float_variable /* 0F0E54 802CC4A4 46000586 */ mov.s $f22, $f0 /* 0F0E58 802CC4A8 8E050000 */ lw $a1, ($s0) /* 0F0E5C 802CC4AC 26100004 */ addiu $s0, $s0, 4 /* 0F0E60 802CC4B0 0220202D */ daddu $a0, $s1, $zero -/* 0F0E64 802CC4B4 0C0B210B */ jal func_802C842C +/* 0F0E64 802CC4B4 0C0B210B */ jal get_float_variable /* 0F0E68 802CC4B8 46000506 */ mov.s $f20, $f0 /* 0F0E6C 802CC4BC 8E050000 */ lw $a1, ($s0) /* 0F0E70 802CC4C0 26100004 */ addiu $s0, $s0, 4 /* 0F0E74 802CC4C4 0220202D */ daddu $a0, $s1, $zero -/* 0F0E78 802CC4C8 0C0B210B */ jal func_802C842C +/* 0F0E78 802CC4C8 0C0B210B */ jal get_float_variable /* 0F0E7C 802CC4CC 46000786 */ mov.s $f30, $f0 /* 0F0E80 802CC4D0 0220202D */ daddu $a0, $s1, $zero /* 0F0E84 802CC4D4 8E050000 */ lw $a1, ($s0) -/* 0F0E88 802CC4D8 0C0B210B */ jal func_802C842C +/* 0F0E88 802CC4D8 0C0B210B */ jal get_float_variable /* 0F0E8C 802CC4DC 46000706 */ mov.s $f28, $f0 /* 0F0E90 802CC4E0 12400049 */ beqz $s2, .L802CC608 /* 0F0E94 802CC4E4 46000686 */ mov.s $f26, $f0 @@ -2051,7 +2079,7 @@ func_802CB840: /* 0F0EFC 802CC54C 460EB380 */ add.s $f14, $f22, $f14 /* 0F0F00 802CC550 E7A00010 */ swc1 $f0, 0x10($sp) /* 0F0F04 802CC554 E7A40014 */ swc1 $f4, 0x14($sp) -/* 0F0F08 802CC558 0C017449 */ jal func_8005D124 +/* 0F0F08 802CC558 0C017449 */ jal test_ray_zones /* 0F0F0C 802CC55C AFA20030 */ sw $v0, 0x30($sp) /* 0F0F10 802CC560 0040182D */ daddu $v1, $v0, $zero /* 0F0F14 802CC564 0460001A */ bltz $v1, .L802CC5D0 @@ -2124,6 +2152,7 @@ func_802CC62C: /* 0F1008 802CC658 03E00008 */ jr $ra /* 0F100C 802CC65C 27BD00A0 */ addiu $sp, $sp, 0xa0 +AdjustCam: /* 0F1010 802CC660 27BDFF58 */ addiu $sp, $sp, -0xa8 /* 0F1014 802CC664 AFB10064 */ sw $s1, 0x64($sp) /* 0F1018 802CC668 0080882D */ daddu $s1, $a0, $zero @@ -2140,7 +2169,7 @@ func_802CC62C: /* 0F1044 802CC694 F7B40078 */ sdc1 $f20, 0x78($sp) /* 0F1048 802CC698 8E30000C */ lw $s0, 0xc($s1) /* 0F104C 802CC69C 8E050000 */ lw $a1, ($s0) -/* 0F1050 802CC6A0 0C0B1EAF */ jal func_802C7ABC +/* 0F1050 802CC6A0 0C0B1EAF */ jal get_variable /* 0F1054 802CC6A4 26100004 */ addiu $s0, $s0, 4 /* 0F1058 802CC6A8 8E050000 */ lw $a1, ($s0) /* 0F105C 802CC6AC 26100004 */ addiu $s0, $s0, 4 @@ -2154,26 +2183,26 @@ func_802CC62C: /* 0F107C 802CC6CC 000310C0 */ sll $v0, $v1, 3 /* 0F1080 802CC6D0 00621821 */ addu $v1, $v1, $v0 /* 0F1084 802CC6D4 000318C0 */ sll $v1, $v1, 3 -/* 0F1088 802CC6D8 0C0B210B */ jal func_802C842C +/* 0F1088 802CC6D8 0C0B210B */ jal get_float_variable /* 0F108C 802CC6DC 00669821 */ addu $s3, $v1, $a2 /* 0F1090 802CC6E0 8E050000 */ lw $a1, ($s0) /* 0F1094 802CC6E4 26100004 */ addiu $s0, $s0, 4 /* 0F1098 802CC6E8 0220202D */ daddu $a0, $s1, $zero -/* 0F109C 802CC6EC 0C0B210B */ jal func_802C842C +/* 0F109C 802CC6EC 0C0B210B */ jal get_float_variable /* 0F10A0 802CC6F0 E7A00054 */ swc1 $f0, 0x54($sp) /* 0F10A4 802CC6F4 8E050000 */ lw $a1, ($s0) /* 0F10A8 802CC6F8 26100004 */ addiu $s0, $s0, 4 /* 0F10AC 802CC6FC 0220202D */ daddu $a0, $s1, $zero -/* 0F10B0 802CC700 0C0B210B */ jal func_802C842C +/* 0F10B0 802CC700 0C0B210B */ jal get_float_variable /* 0F10B4 802CC704 E7A00058 */ swc1 $f0, 0x58($sp) /* 0F10B8 802CC708 8E050000 */ lw $a1, ($s0) /* 0F10BC 802CC70C 26100004 */ addiu $s0, $s0, 4 /* 0F10C0 802CC710 0220202D */ daddu $a0, $s1, $zero -/* 0F10C4 802CC714 0C0B210B */ jal func_802C842C +/* 0F10C4 802CC714 0C0B210B */ jal get_float_variable /* 0F10C8 802CC718 46000786 */ mov.s $f30, $f0 /* 0F10CC 802CC71C 0220202D */ daddu $a0, $s1, $zero /* 0F10D0 802CC720 8E050000 */ lw $a1, ($s0) -/* 0F10D4 802CC724 0C0B210B */ jal func_802C842C +/* 0F10D4 802CC724 0C0B210B */ jal get_float_variable /* 0F10D8 802CC728 46000706 */ mov.s $f28, $f0 /* 0F10DC 802CC72C 3C038011 */ lui $v1, 0x8011 /* 0F10E0 802CC730 2463EFC8 */ addiu $v1, $v1, -0x1038 @@ -2210,7 +2239,7 @@ func_802CC62C: /* 0F115C 802CC7AC 44072000 */ mfc1 $a3, $f4 /* 0F1160 802CC7B0 460EB380 */ add.s $f14, $f22, $f14 /* 0F1164 802CC7B4 4406A000 */ mfc1 $a2, $f20 -/* 0F1168 802CC7B8 0C017449 */ jal func_8005D124 +/* 0F1168 802CC7B8 0C017449 */ jal test_ray_zones /* 0F116C 802CC7BC 4600C306 */ mov.s $f12, $f24 /* 0F1170 802CC7C0 0040182D */ daddu $v1, $v0, $zero /* 0F1174 802CC7C4 0460001A */ bltz $v1, .L802CC830 @@ -2285,6 +2314,7 @@ func_802CC894: /* 0F1270 802CC8C0 03E00008 */ jr $ra /* 0F1274 802CC8C4 27BD00A8 */ addiu $sp, $sp, 0xa8 +ResetCam: /* 0F1278 802CC8C8 27BDFF78 */ addiu $sp, $sp, -0x88 /* 0F127C 802CC8CC AFB1005C */ sw $s1, 0x5c($sp) /* 0F1280 802CC8D0 0080882D */ daddu $s1, $a0, $zero @@ -2298,7 +2328,7 @@ func_802CC894: /* 0F12A0 802CC8F0 F7B40068 */ sdc1 $f20, 0x68($sp) /* 0F12A4 802CC8F4 8E30000C */ lw $s0, 0xc($s1) /* 0F12A8 802CC8F8 8E050000 */ lw $a1, ($s0) -/* 0F12AC 802CC8FC 0C0B1EAF */ jal func_802C7ABC +/* 0F12AC 802CC8FC 0C0B1EAF */ jal get_variable /* 0F12B0 802CC900 26100004 */ addiu $s0, $s0, 4 /* 0F12B4 802CC904 0220202D */ daddu $a0, $s1, $zero /* 0F12B8 802CC908 3C06800B */ lui $a2, 0x800b @@ -2311,7 +2341,7 @@ func_802CC894: /* 0F12D4 802CC924 00621821 */ addu $v1, $v1, $v0 /* 0F12D8 802CC928 000318C0 */ sll $v1, $v1, 3 /* 0F12DC 802CC92C 8E050000 */ lw $a1, ($s0) -/* 0F12E0 802CC930 0C0B210B */ jal func_802C842C +/* 0F12E0 802CC930 0C0B210B */ jal get_float_variable /* 0F12E4 802CC934 00668021 */ addu $s0, $v1, $a2 /* 0F12E8 802CC938 3C038011 */ lui $v1, 0x8011 /* 0F12EC 802CC93C 2463EFC8 */ addiu $v1, $v1, -0x1038 @@ -2348,7 +2378,7 @@ func_802CC894: /* 0F1368 802CC9B8 44072000 */ mfc1 $a3, $f4 /* 0F136C 802CC9BC 460EC380 */ add.s $f14, $f24, $f14 /* 0F1370 802CC9C0 4406B000 */ mfc1 $a2, $f22 -/* 0F1374 802CC9C4 0C017449 */ jal func_8005D124 +/* 0F1374 802CC9C4 0C017449 */ jal test_ray_zones /* 0F1378 802CC9C8 4600A306 */ mov.s $f12, $f20 /* 0F137C 802CC9CC 0040182D */ daddu $v1, $v0, $zero /* 0F1380 802CC9D0 0460001A */ bltz $v1, .L802CCA3C @@ -2443,6 +2473,7 @@ func_802CCA94: /* 0F14C0 802CCB10 03E00008 */ jr $ra /* 0F14C4 802CCB14 27BD0018 */ addiu $sp, $sp, 0x18 +draw_anim_models: /* 0F14C8 802CCB18 27BDFDA8 */ addiu $sp, $sp, -0x258 /* 0F14CC 802CCB1C F7B60250 */ sdc1 $f22, 0x250($sp) /* 0F14D0 802CCB20 3C013F80 */ lui $at, 0x3f80 @@ -2567,6 +2598,7 @@ func_802CCCDC: /* 0F1694 802CCCE4 03E00008 */ jr $ra /* 0F1698 802CCCE8 24020002 */ addiu $v0, $zero, 2 +LoadModelAnimation: /* 0F169C 802CCCEC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F16A0 802CCCF0 AFB10014 */ sw $s1, 0x14($sp) /* 0F16A4 802CCCF4 0080882D */ daddu $s1, $a0, $zero @@ -2575,11 +2607,11 @@ func_802CCCDC: /* 0F16B0 802CCD00 AFB00010 */ sw $s0, 0x10($sp) /* 0F16B4 802CCD04 8E30000C */ lw $s0, 0xc($s1) /* 0F16B8 802CCD08 8E050000 */ lw $a1, ($s0) -/* 0F16BC 802CCD0C 0C0B1EAF */ jal func_802C7ABC +/* 0F16BC 802CCD0C 0C0B1EAF */ jal get_variable /* 0F16C0 802CCD10 26100004 */ addiu $s0, $s0, 4 /* 0F16C4 802CCD14 0220202D */ daddu $a0, $s1, $zero /* 0F16C8 802CCD18 8E050000 */ lw $a1, ($s0) -/* 0F16CC 802CCD1C 0C0B1EAF */ jal func_802C7ABC +/* 0F16CC 802CCD1C 0C0B1EAF */ jal get_variable /* 0F16D0 802CCD20 0040802D */ daddu $s0, $v0, $zero /* 0F16D4 802CCD24 0040902D */ daddu $s2, $v0, $zero /* 0F16D8 802CCD28 3C02802E */ lui $v0, 0x802e @@ -2624,11 +2656,11 @@ func_802CCCDC: /* 0F1770 802CCDC0 AFB00010 */ sw $s0, 0x10($sp) /* 0F1774 802CCDC4 8E30000C */ lw $s0, 0xc($s1) /* 0F1778 802CCDC8 8E050000 */ lw $a1, ($s0) -/* 0F177C 802CCDCC 0C0B1EAF */ jal func_802C7ABC +/* 0F177C 802CCDCC 0C0B1EAF */ jal get_variable /* 0F1780 802CCDD0 26100004 */ addiu $s0, $s0, 4 /* 0F1784 802CCDD4 0220202D */ daddu $a0, $s1, $zero /* 0F1788 802CCDD8 8E050000 */ lw $a1, ($s0) -/* 0F178C 802CCDDC 0C0B1EAF */ jal func_802C7ABC +/* 0F178C 802CCDDC 0C0B1EAF */ jal get_variable /* 0F1790 802CCDE0 0040802D */ daddu $s0, $v0, $zero /* 0F1794 802CCDE4 0040902D */ daddu $s2, $v0, $zero /* 0F1798 802CCDE8 3C02802E */ lui $v0, 0x802e @@ -2665,6 +2697,7 @@ func_802CCCDC: /* 0F1814 802CCE64 03E00008 */ jr $ra /* 0F1818 802CCE68 27BD0020 */ addiu $sp, $sp, 0x20 +PlayModelAnimation: /* 0F181C 802CCE6C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F1820 802CCE70 AFB10014 */ sw $s1, 0x14($sp) /* 0F1824 802CCE74 0080882D */ daddu $s1, $a0, $zero @@ -2672,11 +2705,11 @@ func_802CCCDC: /* 0F182C 802CCE7C AFB00010 */ sw $s0, 0x10($sp) /* 0F1830 802CCE80 8E30000C */ lw $s0, 0xc($s1) /* 0F1834 802CCE84 8E050000 */ lw $a1, ($s0) -/* 0F1838 802CCE88 0C0B1EAF */ jal func_802C7ABC +/* 0F1838 802CCE88 0C0B1EAF */ jal get_variable /* 0F183C 802CCE8C 26100004 */ addiu $s0, $s0, 4 /* 0F1840 802CCE90 0220202D */ daddu $a0, $s1, $zero /* 0F1844 802CCE94 8E050000 */ lw $a1, ($s0) -/* 0F1848 802CCE98 0C0B1EAF */ jal func_802C7ABC +/* 0F1848 802CCE98 0C0B1EAF */ jal get_variable /* 0F184C 802CCE9C 0040802D */ daddu $s0, $v0, $zero /* 0F1850 802CCEA0 3C03802E */ lui $v1, 0x802e /* 0F1854 802CCEA4 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -2685,7 +2718,7 @@ func_802CCCDC: /* 0F1860 802CCEB0 8E030000 */ lw $v1, ($s0) /* 0F1864 802CCEB4 8C640000 */ lw $a0, ($v1) /* 0F1868 802CCEB8 0040282D */ daddu $a1, $v0, $zero -/* 0F186C 802CCEBC 0C048052 */ jal func_80120148 +/* 0F186C 802CCEBC 0C048052 */ jal play_model_animation /* 0F1870 802CCEC0 AC650068 */ sw $a1, 0x68($v1) /* 0F1874 802CCEC4 8FBF0018 */ lw $ra, 0x18($sp) /* 0F1878 802CCEC8 8FB10014 */ lw $s1, 0x14($sp) @@ -2702,16 +2735,16 @@ func_802CCCDC: /* 0F18A0 802CCEF0 AFB00010 */ sw $s0, 0x10($sp) /* 0F18A4 802CCEF4 8E50000C */ lw $s0, 0xc($s2) /* 0F18A8 802CCEF8 8E050000 */ lw $a1, ($s0) -/* 0F18AC 802CCEFC 0C0B1EAF */ jal func_802C7ABC +/* 0F18AC 802CCEFC 0C0B1EAF */ jal get_variable /* 0F18B0 802CCF00 26100004 */ addiu $s0, $s0, 4 /* 0F18B4 802CCF04 8E050000 */ lw $a1, ($s0) /* 0F18B8 802CCF08 26100004 */ addiu $s0, $s0, 4 /* 0F18BC 802CCF0C 0240202D */ daddu $a0, $s2, $zero -/* 0F18C0 802CCF10 0C0B1EAF */ jal func_802C7ABC +/* 0F18C0 802CCF10 0C0B1EAF */ jal get_variable /* 0F18C4 802CCF14 0040882D */ daddu $s1, $v0, $zero /* 0F18C8 802CCF18 0240202D */ daddu $a0, $s2, $zero /* 0F18CC 802CCF1C 8E050000 */ lw $a1, ($s0) -/* 0F18D0 802CCF20 0C0B1EAF */ jal func_802C7ABC +/* 0F18D0 802CCF20 0C0B1EAF */ jal get_variable /* 0F18D4 802CCF24 0040802D */ daddu $s0, $v0, $zero /* 0F18D8 802CCF28 3C03802E */ lui $v1, 0x802e /* 0F18DC 802CCF2C 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -2731,6 +2764,7 @@ func_802CCCDC: /* 0F1914 802CCF64 03E00008 */ jr $ra /* 0F1918 802CCF68 27BD0020 */ addiu $sp, $sp, 0x20 +ChangeModelAnimation: /* 0F191C 802CCF6C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F1920 802CCF70 AFB10014 */ sw $s1, 0x14($sp) /* 0F1924 802CCF74 0080882D */ daddu $s1, $a0, $zero @@ -2738,11 +2772,11 @@ func_802CCCDC: /* 0F192C 802CCF7C AFB00010 */ sw $s0, 0x10($sp) /* 0F1930 802CCF80 8E30000C */ lw $s0, 0xc($s1) /* 0F1934 802CCF84 8E050000 */ lw $a1, ($s0) -/* 0F1938 802CCF88 0C0B1EAF */ jal func_802C7ABC +/* 0F1938 802CCF88 0C0B1EAF */ jal get_variable /* 0F193C 802CCF8C 26100004 */ addiu $s0, $s0, 4 /* 0F1940 802CCF90 0220202D */ daddu $a0, $s1, $zero /* 0F1944 802CCF94 8E050000 */ lw $a1, ($s0) -/* 0F1948 802CCF98 0C0B1EAF */ jal func_802C7ABC +/* 0F1948 802CCF98 0C0B1EAF */ jal get_variable /* 0F194C 802CCF9C 0040802D */ daddu $s0, $v0, $zero /* 0F1950 802CCFA0 3C03802E */ lui $v1, 0x802e /* 0F1954 802CCFA4 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -2753,7 +2787,7 @@ func_802CCCDC: /* 0F1968 802CCFB8 10620004 */ beq $v1, $v0, .L802CCFCC /* 0F196C 802CCFBC 0040282D */ daddu $a1, $v0, $zero /* 0F1970 802CCFC0 8E040000 */ lw $a0, ($s0) -/* 0F1974 802CCFC4 0C048052 */ jal func_80120148 +/* 0F1974 802CCFC4 0C048052 */ jal play_model_animation /* 0F1978 802CCFC8 AE050068 */ sw $a1, 0x68($s0) .L802CCFCC: /* 0F197C 802CCFCC 24020002 */ addiu $v0, $zero, 2 @@ -2763,6 +2797,7 @@ func_802CCCDC: /* 0F198C 802CCFDC 03E00008 */ jr $ra /* 0F1990 802CCFE0 27BD0020 */ addiu $sp, $sp, 0x20 +SetAnimModelPosition: /* 0F1994 802CCFE4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F1998 802CCFE8 AFB20018 */ sw $s2, 0x18($sp) /* 0F199C 802CCFEC 0080902D */ daddu $s2, $a0, $zero @@ -2773,21 +2808,21 @@ func_802CCCDC: /* 0F19B0 802CD000 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F19B4 802CD004 8E50000C */ lw $s0, 0xc($s2) /* 0F19B8 802CD008 8E050000 */ lw $a1, ($s0) -/* 0F19BC 802CD00C 0C0B1EAF */ jal func_802C7ABC +/* 0F19BC 802CD00C 0C0B1EAF */ jal get_variable /* 0F19C0 802CD010 26100004 */ addiu $s0, $s0, 4 /* 0F19C4 802CD014 8E050000 */ lw $a1, ($s0) /* 0F19C8 802CD018 26100004 */ addiu $s0, $s0, 4 /* 0F19CC 802CD01C 0240202D */ daddu $a0, $s2, $zero -/* 0F19D0 802CD020 0C0B210B */ jal func_802C842C +/* 0F19D0 802CD020 0C0B210B */ jal get_float_variable /* 0F19D4 802CD024 0040882D */ daddu $s1, $v0, $zero /* 0F19D8 802CD028 8E050000 */ lw $a1, ($s0) /* 0F19DC 802CD02C 26100004 */ addiu $s0, $s0, 4 /* 0F19E0 802CD030 0240202D */ daddu $a0, $s2, $zero -/* 0F19E4 802CD034 0C0B210B */ jal func_802C842C +/* 0F19E4 802CD034 0C0B210B */ jal get_float_variable /* 0F19E8 802CD038 46000586 */ mov.s $f22, $f0 /* 0F19EC 802CD03C 0240202D */ daddu $a0, $s2, $zero /* 0F19F0 802CD040 8E050000 */ lw $a1, ($s0) -/* 0F19F4 802CD044 0C0B210B */ jal func_802C842C +/* 0F19F4 802CD044 0C0B210B */ jal get_float_variable /* 0F19F8 802CD048 46000506 */ mov.s $f20, $f0 /* 0F19FC 802CD04C 3C02802E */ lui $v0, 0x802e /* 0F1A00 802CD050 8C42AE30 */ lw $v0, -0x51d0($v0) @@ -2807,6 +2842,7 @@ func_802CCCDC: /* 0F1A38 802CD088 03E00008 */ jr $ra /* 0F1A3C 802CD08C 27BD0030 */ addiu $sp, $sp, 0x30 +GetAnimModelPosition: /* 0F1A40 802CD090 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F1A44 802CD094 AFB20018 */ sw $s2, 0x18($sp) /* 0F1A48 802CD098 0080902D */ daddu $s2, $a0, $zero @@ -2816,7 +2852,7 @@ func_802CCCDC: /* 0F1A58 802CD0A8 AFB00010 */ sw $s0, 0x10($sp) /* 0F1A5C 802CD0AC 8E50000C */ lw $s0, 0xc($s2) /* 0F1A60 802CD0B0 8E050000 */ lw $a1, ($s0) -/* 0F1A64 802CD0B4 0C0B1EAF */ jal func_802C7ABC +/* 0F1A64 802CD0B4 0C0B1EAF */ jal get_variable /* 0F1A68 802CD0B8 26100004 */ addiu $s0, $s0, 4 /* 0F1A6C 802CD0BC 8E050000 */ lw $a1, ($s0) /* 0F1A70 802CD0C0 26100004 */ addiu $s0, $s0, 4 @@ -2828,15 +2864,15 @@ func_802CCCDC: /* 0F1A88 802CD0D8 8E130000 */ lw $s3, ($s0) /* 0F1A8C 802CD0DC 8E260004 */ lw $a2, 4($s1) /* 0F1A90 802CD0E0 8E100004 */ lw $s0, 4($s0) -/* 0F1A94 802CD0E4 0C0B2190 */ jal func_802C8640 +/* 0F1A94 802CD0E4 0C0B2190 */ jal set_float_variable /* 0F1A98 802CD0E8 0240202D */ daddu $a0, $s2, $zero /* 0F1A9C 802CD0EC 0240202D */ daddu $a0, $s2, $zero /* 0F1AA0 802CD0F0 8E260008 */ lw $a2, 8($s1) -/* 0F1AA4 802CD0F4 0C0B2190 */ jal func_802C8640 +/* 0F1AA4 802CD0F4 0C0B2190 */ jal set_float_variable /* 0F1AA8 802CD0F8 0260282D */ daddu $a1, $s3, $zero /* 0F1AAC 802CD0FC 0240202D */ daddu $a0, $s2, $zero /* 0F1AB0 802CD100 8E26000C */ lw $a2, 0xc($s1) -/* 0F1AB4 802CD104 0C0B2190 */ jal func_802C8640 +/* 0F1AB4 802CD104 0C0B2190 */ jal set_float_variable /* 0F1AB8 802CD108 0200282D */ daddu $a1, $s0, $zero /* 0F1ABC 802CD10C 8FBF0020 */ lw $ra, 0x20($sp) /* 0F1AC0 802CD110 8FB3001C */ lw $s3, 0x1c($sp) @@ -2847,6 +2883,7 @@ func_802CCCDC: /* 0F1AD4 802CD124 03E00008 */ jr $ra /* 0F1AD8 802CD128 27BD0028 */ addiu $sp, $sp, 0x28 +AddAnimModelPosition: /* 0F1ADC 802CD12C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F1AE0 802CD130 AFB20018 */ sw $s2, 0x18($sp) /* 0F1AE4 802CD134 0080902D */ daddu $s2, $a0, $zero @@ -2857,21 +2894,21 @@ func_802CCCDC: /* 0F1AF8 802CD148 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F1AFC 802CD14C 8E50000C */ lw $s0, 0xc($s2) /* 0F1B00 802CD150 8E050000 */ lw $a1, ($s0) -/* 0F1B04 802CD154 0C0B1EAF */ jal func_802C7ABC +/* 0F1B04 802CD154 0C0B1EAF */ jal get_variable /* 0F1B08 802CD158 26100004 */ addiu $s0, $s0, 4 /* 0F1B0C 802CD15C 8E050000 */ lw $a1, ($s0) /* 0F1B10 802CD160 26100004 */ addiu $s0, $s0, 4 /* 0F1B14 802CD164 0240202D */ daddu $a0, $s2, $zero -/* 0F1B18 802CD168 0C0B210B */ jal func_802C842C +/* 0F1B18 802CD168 0C0B210B */ jal get_float_variable /* 0F1B1C 802CD16C 0040882D */ daddu $s1, $v0, $zero /* 0F1B20 802CD170 8E050000 */ lw $a1, ($s0) /* 0F1B24 802CD174 26100004 */ addiu $s0, $s0, 4 /* 0F1B28 802CD178 0240202D */ daddu $a0, $s2, $zero -/* 0F1B2C 802CD17C 0C0B210B */ jal func_802C842C +/* 0F1B2C 802CD17C 0C0B210B */ jal get_float_variable /* 0F1B30 802CD180 46000586 */ mov.s $f22, $f0 /* 0F1B34 802CD184 0240202D */ daddu $a0, $s2, $zero /* 0F1B38 802CD188 8E050000 */ lw $a1, ($s0) -/* 0F1B3C 802CD18C 0C0B210B */ jal func_802C842C +/* 0F1B3C 802CD18C 0C0B210B */ jal get_float_variable /* 0F1B40 802CD190 46000506 */ mov.s $f20, $f0 /* 0F1B44 802CD194 3C02802E */ lui $v0, 0x802e /* 0F1B48 802CD198 8C42AE30 */ lw $v0, -0x51d0($v0) @@ -2897,6 +2934,7 @@ func_802CCCDC: /* 0F1B98 802CD1E8 03E00008 */ jr $ra /* 0F1B9C 802CD1EC 27BD0030 */ addiu $sp, $sp, 0x30 +SetAnimModelRotation: /* 0F1BA0 802CD1F0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F1BA4 802CD1F4 AFB20018 */ sw $s2, 0x18($sp) /* 0F1BA8 802CD1F8 0080902D */ daddu $s2, $a0, $zero @@ -2907,21 +2945,21 @@ func_802CCCDC: /* 0F1BBC 802CD20C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F1BC0 802CD210 8E50000C */ lw $s0, 0xc($s2) /* 0F1BC4 802CD214 8E050000 */ lw $a1, ($s0) -/* 0F1BC8 802CD218 0C0B1EAF */ jal func_802C7ABC +/* 0F1BC8 802CD218 0C0B1EAF */ jal get_variable /* 0F1BCC 802CD21C 26100004 */ addiu $s0, $s0, 4 /* 0F1BD0 802CD220 8E050000 */ lw $a1, ($s0) /* 0F1BD4 802CD224 26100004 */ addiu $s0, $s0, 4 /* 0F1BD8 802CD228 0240202D */ daddu $a0, $s2, $zero -/* 0F1BDC 802CD22C 0C0B210B */ jal func_802C842C +/* 0F1BDC 802CD22C 0C0B210B */ jal get_float_variable /* 0F1BE0 802CD230 0040882D */ daddu $s1, $v0, $zero /* 0F1BE4 802CD234 8E050000 */ lw $a1, ($s0) /* 0F1BE8 802CD238 26100004 */ addiu $s0, $s0, 4 /* 0F1BEC 802CD23C 0240202D */ daddu $a0, $s2, $zero -/* 0F1BF0 802CD240 0C0B210B */ jal func_802C842C +/* 0F1BF0 802CD240 0C0B210B */ jal get_float_variable /* 0F1BF4 802CD244 46000586 */ mov.s $f22, $f0 /* 0F1BF8 802CD248 0240202D */ daddu $a0, $s2, $zero /* 0F1BFC 802CD24C 8E050000 */ lw $a1, ($s0) -/* 0F1C00 802CD250 0C0B210B */ jal func_802C842C +/* 0F1C00 802CD250 0C0B210B */ jal get_float_variable /* 0F1C04 802CD254 46000506 */ mov.s $f20, $f0 /* 0F1C08 802CD258 3C02802E */ lui $v0, 0x802e /* 0F1C0C 802CD25C 8C42AE30 */ lw $v0, -0x51d0($v0) @@ -2941,6 +2979,7 @@ func_802CCCDC: /* 0F1C44 802CD294 03E00008 */ jr $ra /* 0F1C48 802CD298 27BD0030 */ addiu $sp, $sp, 0x30 +SetAnimModelScale: /* 0F1C4C 802CD29C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F1C50 802CD2A0 AFB20018 */ sw $s2, 0x18($sp) /* 0F1C54 802CD2A4 0080902D */ daddu $s2, $a0, $zero @@ -2951,21 +2990,21 @@ func_802CCCDC: /* 0F1C68 802CD2B8 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F1C6C 802CD2BC 8E50000C */ lw $s0, 0xc($s2) /* 0F1C70 802CD2C0 8E050000 */ lw $a1, ($s0) -/* 0F1C74 802CD2C4 0C0B1EAF */ jal func_802C7ABC +/* 0F1C74 802CD2C4 0C0B1EAF */ jal get_variable /* 0F1C78 802CD2C8 26100004 */ addiu $s0, $s0, 4 /* 0F1C7C 802CD2CC 8E050000 */ lw $a1, ($s0) /* 0F1C80 802CD2D0 26100004 */ addiu $s0, $s0, 4 /* 0F1C84 802CD2D4 0240202D */ daddu $a0, $s2, $zero -/* 0F1C88 802CD2D8 0C0B210B */ jal func_802C842C +/* 0F1C88 802CD2D8 0C0B210B */ jal get_float_variable /* 0F1C8C 802CD2DC 0040882D */ daddu $s1, $v0, $zero /* 0F1C90 802CD2E0 8E050000 */ lw $a1, ($s0) /* 0F1C94 802CD2E4 26100004 */ addiu $s0, $s0, 4 /* 0F1C98 802CD2E8 0240202D */ daddu $a0, $s2, $zero -/* 0F1C9C 802CD2EC 0C0B210B */ jal func_802C842C +/* 0F1C9C 802CD2EC 0C0B210B */ jal get_float_variable /* 0F1CA0 802CD2F0 46000586 */ mov.s $f22, $f0 /* 0F1CA4 802CD2F4 0240202D */ daddu $a0, $s2, $zero /* 0F1CA8 802CD2F8 8E050000 */ lw $a1, ($s0) -/* 0F1CAC 802CD2FC 0C0B210B */ jal func_802C842C +/* 0F1CAC 802CD2FC 0C0B210B */ jal get_float_variable /* 0F1CB0 802CD300 46000506 */ mov.s $f20, $f0 /* 0F1CB4 802CD304 3C02802E */ lui $v0, 0x802e /* 0F1CB8 802CD308 8C42AE30 */ lw $v0, -0x51d0($v0) @@ -2992,11 +3031,11 @@ func_802CCCDC: /* 0F1D08 802CD358 AFB00010 */ sw $s0, 0x10($sp) /* 0F1D0C 802CD35C 8E30000C */ lw $s0, 0xc($s1) /* 0F1D10 802CD360 8E050000 */ lw $a1, ($s0) -/* 0F1D14 802CD364 0C0B1EAF */ jal func_802C7ABC +/* 0F1D14 802CD364 0C0B1EAF */ jal get_variable /* 0F1D18 802CD368 26100004 */ addiu $s0, $s0, 4 /* 0F1D1C 802CD36C 0220202D */ daddu $a0, $s1, $zero /* 0F1D20 802CD370 8E050000 */ lw $a1, ($s0) -/* 0F1D24 802CD374 0C0B210B */ jal func_802C842C +/* 0F1D24 802CD374 0C0B210B */ jal get_float_variable /* 0F1D28 802CD378 0040802D */ daddu $s0, $v0, $zero /* 0F1D2C 802CD37C 3C02802E */ lui $v0, 0x802e /* 0F1D30 802CD380 8C42AE30 */ lw $v0, -0x51d0($v0) @@ -3020,7 +3059,7 @@ func_802CCCDC: /* 0F1D74 802CD3C4 AFBF0014 */ sw $ra, 0x14($sp) /* 0F1D78 802CD3C8 AFB00010 */ sw $s0, 0x10($sp) /* 0F1D7C 802CD3CC 8C82000C */ lw $v0, 0xc($a0) -/* 0F1D80 802CD3D0 0C0B1EAF */ jal func_802C7ABC +/* 0F1D80 802CD3D0 0C0B1EAF */ jal get_variable /* 0F1D84 802CD3D4 8C450000 */ lw $a1, ($v0) /* 0F1D88 802CD3D8 3C03802E */ lui $v1, 0x802e /* 0F1D8C 802CD3DC 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -3047,12 +3086,12 @@ func_802CCCDC: /* 0F1DDC 802CD42C AFB00010 */ sw $s0, 0x10($sp) /* 0F1DE0 802CD430 8E30000C */ lw $s0, 0xc($s1) /* 0F1DE4 802CD434 8E050000 */ lw $a1, ($s0) -/* 0F1DE8 802CD438 0C0B1EAF */ jal func_802C7ABC +/* 0F1DE8 802CD438 0C0B1EAF */ jal get_variable /* 0F1DEC 802CD43C 26100004 */ addiu $s0, $s0, 4 /* 0F1DF0 802CD440 0220202D */ daddu $a0, $s1, $zero /* 0F1DF4 802CD444 8E050004 */ lw $a1, 4($s0) /* 0F1DF8 802CD448 8E120000 */ lw $s2, ($s0) -/* 0F1DFC 802CD44C 0C0B1EAF */ jal func_802C7ABC +/* 0F1DFC 802CD44C 0C0B1EAF */ jal get_variable /* 0F1E00 802CD450 0040882D */ daddu $s1, $v0, $zero /* 0F1E04 802CD454 3C03802E */ lui $v1, 0x802e /* 0F1E08 802CD458 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -3108,7 +3147,7 @@ func_802CD4F4: /* 0F1EB0 802CD500 2412FFFF */ addiu $s2, $zero, -1 /* 0F1EB4 802CD504 0220802D */ daddu $s0, $s1, $zero .L802CD508: -/* 0F1EB8 802CD508 0C00AB39 */ jal func_8002ACE4 +/* 0F1EB8 802CD508 0C00AB39 */ jal heap_malloc /* 0F1EBC 802CD50C 24040070 */ addiu $a0, $zero, 0x70 /* 0F1EC0 802CD510 3C03802E */ lui $v1, 0x802e /* 0F1EC4 802CD514 8C63AE30 */ lw $v1, -0x51d0($v1) @@ -3173,12 +3212,12 @@ func_802CD57C: /* 0F1F90 802CD5E0 AFB00030 */ sw $s0, 0x30($sp) /* 0F1F94 802CD5E4 8E50000C */ lw $s0, 0xc($s2) /* 0F1F98 802CD5E8 8E050000 */ lw $a1, ($s0) -/* 0F1F9C 802CD5EC 0C0B1EAF */ jal func_802C7ABC +/* 0F1F9C 802CD5EC 0C0B1EAF */ jal get_variable /* 0F1FA0 802CD5F0 26100004 */ addiu $s0, $s0, 4 /* 0F1FA4 802CD5F4 8E050000 */ lw $a1, ($s0) /* 0F1FA8 802CD5F8 26100004 */ addiu $s0, $s0, 4 /* 0F1FAC 802CD5FC 0240202D */ daddu $a0, $s2, $zero -/* 0F1FB0 802CD600 0C0B1EAF */ jal func_802C7ABC +/* 0F1FB0 802CD600 0C0B1EAF */ jal get_variable /* 0F1FB4 802CD604 0040882D */ daddu $s1, $v0, $zero /* 0F1FB8 802CD608 00118880 */ sll $s1, $s1, 2 /* 0F1FBC 802CD60C 8E140000 */ lw $s4, ($s0) @@ -3210,19 +3249,19 @@ func_802CD57C: /* 0F2024 802CD674 C7A00020 */ lwc1 $f0, 0x20($sp) /* 0F2028 802CD678 4600008D */ trunc.w.s $f2, $f0 /* 0F202C 802CD67C 44061000 */ mfc1 $a2, $f2 -/* 0F2030 802CD680 0C0B2026 */ jal func_802C8098 +/* 0F2030 802CD680 0C0B2026 */ jal set_variable /* 0F2034 802CD684 0280282D */ daddu $a1, $s4, $zero /* 0F2038 802CD688 0240202D */ daddu $a0, $s2, $zero /* 0F203C 802CD68C C7A00024 */ lwc1 $f0, 0x24($sp) /* 0F2040 802CD690 4600008D */ trunc.w.s $f2, $f0 /* 0F2044 802CD694 44061000 */ mfc1 $a2, $f2 -/* 0F2048 802CD698 0C0B2026 */ jal func_802C8098 +/* 0F2048 802CD698 0C0B2026 */ jal set_variable /* 0F204C 802CD69C 02A0282D */ daddu $a1, $s5, $zero /* 0F2050 802CD6A0 0240202D */ daddu $a0, $s2, $zero /* 0F2054 802CD6A4 C7A00028 */ lwc1 $f0, 0x28($sp) /* 0F2058 802CD6A8 4600008D */ trunc.w.s $f2, $f0 /* 0F205C 802CD6AC 44061000 */ mfc1 $a2, $f2 -/* 0F2060 802CD6B0 0C0B2026 */ jal func_802C8098 +/* 0F2060 802CD6B0 0C0B2026 */ jal set_variable /* 0F2064 802CD6B4 0200282D */ daddu $a1, $s0, $zero /* 0F2068 802CD6B8 8FBF0048 */ lw $ra, 0x48($sp) /* 0F206C 802CD6BC 8FB50044 */ lw $s5, 0x44($sp) @@ -3246,12 +3285,12 @@ func_802CD57C: /* 0F20B0 802CD700 AFB00010 */ sw $s0, 0x10($sp) /* 0F20B4 802CD704 8E50000C */ lw $s0, 0xc($s2) /* 0F20B8 802CD708 8E050000 */ lw $a1, ($s0) -/* 0F20BC 802CD70C 0C0B1EAF */ jal func_802C7ABC +/* 0F20BC 802CD70C 0C0B1EAF */ jal get_variable /* 0F20C0 802CD710 26100004 */ addiu $s0, $s0, 4 /* 0F20C4 802CD714 8E050000 */ lw $a1, ($s0) /* 0F20C8 802CD718 26100004 */ addiu $s0, $s0, 4 /* 0F20CC 802CD71C 0240202D */ daddu $a0, $s2, $zero -/* 0F20D0 802CD720 0C0B1EAF */ jal func_802C7ABC +/* 0F20D0 802CD720 0C0B1EAF */ jal get_variable /* 0F20D4 802CD724 0040882D */ daddu $s1, $v0, $zero /* 0F20D8 802CD728 00118880 */ sll $s1, $s1, 2 /* 0F20DC 802CD72C 8E130000 */ lw $s3, ($s0) @@ -3273,19 +3312,19 @@ func_802CD57C: /* 0F211C 802CD76C C600009C */ lwc1 $f0, 0x9c($s0) /* 0F2120 802CD770 4600008D */ trunc.w.s $f2, $f0 /* 0F2124 802CD774 44061000 */ mfc1 $a2, $f2 -/* 0F2128 802CD778 0C0B2026 */ jal func_802C8098 +/* 0F2128 802CD778 0C0B2026 */ jal set_variable /* 0F212C 802CD77C 0260282D */ daddu $a1, $s3, $zero /* 0F2130 802CD780 0240202D */ daddu $a0, $s2, $zero /* 0F2134 802CD784 C60000A0 */ lwc1 $f0, 0xa0($s0) /* 0F2138 802CD788 4600008D */ trunc.w.s $f2, $f0 /* 0F213C 802CD78C 44061000 */ mfc1 $a2, $f2 -/* 0F2140 802CD790 0C0B2026 */ jal func_802C8098 +/* 0F2140 802CD790 0C0B2026 */ jal set_variable /* 0F2144 802CD794 0280282D */ daddu $a1, $s4, $zero /* 0F2148 802CD798 0240202D */ daddu $a0, $s2, $zero /* 0F214C 802CD79C C60000A4 */ lwc1 $f0, 0xa4($s0) /* 0F2150 802CD7A0 4600008D */ trunc.w.s $f2, $f0 /* 0F2154 802CD7A4 44061000 */ mfc1 $a2, $f2 -/* 0F2158 802CD7A8 0C0B2026 */ jal func_802C8098 +/* 0F2158 802CD7A8 0C0B2026 */ jal set_variable /* 0F215C 802CD7AC 02A0282D */ daddu $a1, $s5, $zero /* 0F2160 802CD7B0 8FBF0028 */ lw $ra, 0x28($sp) /* 0F2164 802CD7B4 8FB50024 */ lw $s5, 0x24($sp) @@ -3309,12 +3348,12 @@ func_802CD57C: /* 0F21A8 802CD7F8 AFB00030 */ sw $s0, 0x30($sp) /* 0F21AC 802CD7FC 8E50000C */ lw $s0, 0xc($s2) /* 0F21B0 802CD800 8E050000 */ lw $a1, ($s0) -/* 0F21B4 802CD804 0C0B1EAF */ jal func_802C7ABC +/* 0F21B4 802CD804 0C0B1EAF */ jal get_variable /* 0F21B8 802CD808 26100004 */ addiu $s0, $s0, 4 /* 0F21BC 802CD80C 8E050000 */ lw $a1, ($s0) /* 0F21C0 802CD810 26100004 */ addiu $s0, $s0, 4 /* 0F21C4 802CD814 0240202D */ daddu $a0, $s2, $zero -/* 0F21C8 802CD818 0C0B1EAF */ jal func_802C7ABC +/* 0F21C8 802CD818 0C0B1EAF */ jal get_variable /* 0F21CC 802CD81C 0040882D */ daddu $s1, $v0, $zero /* 0F21D0 802CD820 00118880 */ sll $s1, $s1, 2 /* 0F21D4 802CD824 8E140000 */ lw $s4, ($s0) @@ -3346,19 +3385,19 @@ func_802CD57C: /* 0F223C 802CD88C C7A00020 */ lwc1 $f0, 0x20($sp) /* 0F2240 802CD890 4600008D */ trunc.w.s $f2, $f0 /* 0F2244 802CD894 44061000 */ mfc1 $a2, $f2 -/* 0F2248 802CD898 0C0B2026 */ jal func_802C8098 +/* 0F2248 802CD898 0C0B2026 */ jal set_variable /* 0F224C 802CD89C 0280282D */ daddu $a1, $s4, $zero /* 0F2250 802CD8A0 0240202D */ daddu $a0, $s2, $zero /* 0F2254 802CD8A4 C7A00024 */ lwc1 $f0, 0x24($sp) /* 0F2258 802CD8A8 4600008D */ trunc.w.s $f2, $f0 /* 0F225C 802CD8AC 44061000 */ mfc1 $a2, $f2 -/* 0F2260 802CD8B0 0C0B2026 */ jal func_802C8098 +/* 0F2260 802CD8B0 0C0B2026 */ jal set_variable /* 0F2264 802CD8B4 02A0282D */ daddu $a1, $s5, $zero /* 0F2268 802CD8B8 0240202D */ daddu $a0, $s2, $zero /* 0F226C 802CD8BC C7A00028 */ lwc1 $f0, 0x28($sp) /* 0F2270 802CD8C0 4600008D */ trunc.w.s $f2, $f0 /* 0F2274 802CD8C4 44061000 */ mfc1 $a2, $f2 -/* 0F2278 802CD8C8 0C0B2026 */ jal func_802C8098 +/* 0F2278 802CD8C8 0C0B2026 */ jal set_variable /* 0F227C 802CD8CC 0200282D */ daddu $a1, $s0, $zero /* 0F2280 802CD8D0 8FBF0048 */ lw $ra, 0x48($sp) /* 0F2284 802CD8D4 8FB50044 */ lw $s5, 0x44($sp) @@ -3382,12 +3421,12 @@ func_802CD57C: /* 0F22C8 802CD918 AFB00010 */ sw $s0, 0x10($sp) /* 0F22CC 802CD91C 8E50000C */ lw $s0, 0xc($s2) /* 0F22D0 802CD920 8E050000 */ lw $a1, ($s0) -/* 0F22D4 802CD924 0C0B1EAF */ jal func_802C7ABC +/* 0F22D4 802CD924 0C0B1EAF */ jal get_variable /* 0F22D8 802CD928 26100004 */ addiu $s0, $s0, 4 /* 0F22DC 802CD92C 8E050000 */ lw $a1, ($s0) /* 0F22E0 802CD930 26100004 */ addiu $s0, $s0, 4 /* 0F22E4 802CD934 0240202D */ daddu $a0, $s2, $zero -/* 0F22E8 802CD938 0C0B1EAF */ jal func_802C7ABC +/* 0F22E8 802CD938 0C0B1EAF */ jal get_variable /* 0F22EC 802CD93C 0040882D */ daddu $s1, $v0, $zero /* 0F22F0 802CD940 00118880 */ sll $s1, $s1, 2 /* 0F22F4 802CD944 8E130000 */ lw $s3, ($s0) @@ -3409,19 +3448,19 @@ func_802CD57C: /* 0F2334 802CD984 C600009C */ lwc1 $f0, 0x9c($s0) /* 0F2338 802CD988 4600008D */ trunc.w.s $f2, $f0 /* 0F233C 802CD98C 44061000 */ mfc1 $a2, $f2 -/* 0F2340 802CD990 0C0B2026 */ jal func_802C8098 +/* 0F2340 802CD990 0C0B2026 */ jal set_variable /* 0F2344 802CD994 0260282D */ daddu $a1, $s3, $zero /* 0F2348 802CD998 0240202D */ daddu $a0, $s2, $zero /* 0F234C 802CD99C C60000A0 */ lwc1 $f0, 0xa0($s0) /* 0F2350 802CD9A0 4600008D */ trunc.w.s $f2, $f0 /* 0F2354 802CD9A4 44061000 */ mfc1 $a2, $f2 -/* 0F2358 802CD9A8 0C0B2026 */ jal func_802C8098 +/* 0F2358 802CD9A8 0C0B2026 */ jal set_variable /* 0F235C 802CD9AC 0280282D */ daddu $a1, $s4, $zero /* 0F2360 802CD9B0 0240202D */ daddu $a0, $s2, $zero /* 0F2364 802CD9B4 C60000A4 */ lwc1 $f0, 0xa4($s0) /* 0F2368 802CD9B8 4600008D */ trunc.w.s $f2, $f0 /* 0F236C 802CD9BC 44061000 */ mfc1 $a2, $f2 -/* 0F2370 802CD9C0 0C0B2026 */ jal func_802C8098 +/* 0F2370 802CD9C0 0C0B2026 */ jal set_variable /* 0F2374 802CD9C4 02A0282D */ daddu $a1, $s5, $zero /* 0F2378 802CD9C8 8FBF0028 */ lw $ra, 0x28($sp) /* 0F237C 802CD9CC 8FB50024 */ lw $s5, 0x24($sp) @@ -3443,17 +3482,17 @@ func_802CD57C: /* 0F23B8 802CDA08 AFB00010 */ sw $s0, 0x10($sp) /* 0F23BC 802CDA0C 8E50000C */ lw $s0, 0xc($s2) /* 0F23C0 802CDA10 8E050000 */ lw $a1, ($s0) -/* 0F23C4 802CDA14 0C0B1EAF */ jal func_802C7ABC +/* 0F23C4 802CDA14 0C0B1EAF */ jal get_variable /* 0F23C8 802CDA18 26100004 */ addiu $s0, $s0, 4 /* 0F23CC 802CDA1C 8E050000 */ lw $a1, ($s0) /* 0F23D0 802CDA20 26100004 */ addiu $s0, $s0, 4 /* 0F23D4 802CDA24 0240202D */ daddu $a0, $s2, $zero -/* 0F23D8 802CDA28 0C0B1EAF */ jal func_802C7ABC +/* 0F23D8 802CDA28 0C0B1EAF */ jal get_variable /* 0F23DC 802CDA2C 0040882D */ daddu $s1, $v0, $zero /* 0F23E0 802CDA30 0240202D */ daddu $a0, $s2, $zero /* 0F23E4 802CDA34 8E050004 */ lw $a1, 4($s0) /* 0F23E8 802CDA38 8E130000 */ lw $s3, ($s0) -/* 0F23EC 802CDA3C 0C0B1EAF */ jal func_802C7ABC +/* 0F23EC 802CDA3C 0C0B1EAF */ jal get_variable /* 0F23F0 802CDA40 0040902D */ daddu $s2, $v0, $zero /* 0F23F4 802CDA44 3C03802E */ lui $v1, 0x802e /* 0F23F8 802CDA48 8C63AE30 */ lw $v1, -0x51d0($v1) diff --git a/papermario/asm/code_f2470_len_27f0.s b/papermario/asm/code_f2470_len_27f0.s index cde619a6fc..92832c1e70 100644 --- a/papermario/asm/code_f2470_len_27f0.s +++ b/papermario/asm/code_f2470_len_27f0.s @@ -19,14 +19,14 @@ func_802CDAC0: /* 0F24A0 802CDAF0 14400003 */ bnez $v0, .L802CDB00 /* 0F24A4 802CDAF4 0080102D */ daddu $v0, $a0, $zero func_802CDAF8: -/* 0F24A8 802CDAF8 0C00EAD2 */ jal func_8003AB48 +/* 0F24A8 802CDAF8 0C00EAD2 */ jal get_npc_safe /* 0F24AC 802CDAFC 00000000 */ nop .L802CDB00: /* 0F24B0 802CDB00 8FBF0010 */ lw $ra, 0x10($sp) /* 0F24B4 802CDB04 03E00008 */ jr $ra /* 0F24B8 802CDB08 27BD0018 */ addiu $sp, $sp, 0x18 -func_802CDB0C: +set_npc_animation: /* 0F24BC 802CDB0C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F24C0 802CDB10 AFB10014 */ sw $s1, 0x14($sp) /* 0F24C4 802CDB14 0080882D */ daddu $s1, $a0, $zero @@ -55,7 +55,7 @@ func_802CDB0C: /* 0F2518 802CDB68 50400009 */ beql $v0, $zero, .L802CDB90 /* 0F251C 802CDB6C AE300028 */ sw $s0, 0x28($s1) /* 0F2520 802CDB70 822400A4 */ lb $a0, 0xa4($s1) -/* 0F2524 802CDB74 0C00FB3A */ jal func_8003ECE8 +/* 0F2524 802CDB74 0C00FB3A */ jal get_enemy /* 0F2528 802CDB78 00000000 */ nop /* 0F252C 802CDB7C 8C4200CC */ lw $v0, 0xcc($v0) /* 0F2530 802CDB80 00101880 */ sll $v1, $s0, 2 @@ -77,11 +77,11 @@ func_802CDB90: /* 0F2564 802CDBB4 AFB00020 */ sw $s0, 0x20($sp) /* 0F2568 802CDBB8 8E30000C */ lw $s0, 0xc($s1) /* 0F256C 802CDBBC 8E050000 */ lw $a1, ($s0) -/* 0F2570 802CDBC0 0C0B1EAF */ jal func_802C7ABC +/* 0F2570 802CDBC0 0C0B1EAF */ jal get_variable /* 0F2574 802CDBC4 26100004 */ addiu $s0, $s0, 4 /* 0F2578 802CDBC8 0220202D */ daddu $a0, $s1, $zero /* 0F257C 802CDBCC 8E050000 */ lw $a1, ($s0) -/* 0F2580 802CDBD0 0C0B1EAF */ jal func_802C7ABC +/* 0F2580 802CDBD0 0C0B1EAF */ jal get_variable /* 0F2584 802CDBD4 0040802D */ daddu $s0, $v0, $zero /* 0F2588 802CDBD8 27A40010 */ addiu $a0, $sp, 0x10 /* 0F258C 802CDBDC AFA00010 */ sw $zero, 0x10($sp) @@ -89,10 +89,10 @@ func_802CDB90: /* 0F2594 802CDBE4 AFA00018 */ sw $zero, 0x18($sp) /* 0F2598 802CDBE8 0C00E211 */ jal func_80038844 /* 0F259C 802CDBEC AFA0001C */ sw $zero, 0x1c($sp) -/* 0F25A0 802CDBF0 0C00E2B7 */ jal func_80038ADC +/* 0F25A0 802CDBF0 0C00E2B7 */ jal get_npc_by_index /* 0F25A4 802CDBF4 0040202D */ daddu $a0, $v0, $zero /* 0F25A8 802CDBF8 0040202D */ daddu $a0, $v0, $zero -/* 0F25AC 802CDBFC 0C00EAFF */ jal func_8003ABFC +/* 0F25AC 802CDBFC 0C00EAFF */ jal disable_npc_shadow /* 0F25B0 802CDC00 A09000A4 */ sb $s0, 0xa4($a0) /* 0F25B4 802CDC04 8FBF0028 */ lw $ra, 0x28($sp) /* 0F25B8 802CDC08 8FB10024 */ lw $s1, 0x24($sp) @@ -101,16 +101,17 @@ func_802CDB90: /* 0F25C4 802CDC14 03E00008 */ jr $ra /* 0F25C8 802CDC18 27BD0030 */ addiu $sp, $sp, 0x30 +DeleteNpc: /* 0F25CC 802CDC1C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F25D0 802CDC20 AFBF0010 */ sw $ra, 0x10($sp) /* 0F25D4 802CDC24 8C82000C */ lw $v0, 0xc($a0) -/* 0F25D8 802CDC28 0C0B1EAF */ jal func_802C7ABC +/* 0F25D8 802CDC28 0C0B1EAF */ jal get_variable /* 0F25DC 802CDC2C 8C450000 */ lw $a1, ($v0) -/* 0F25E0 802CDC30 0C00EABB */ jal func_8003AAEC +/* 0F25E0 802CDC30 0C00EABB */ jal get_npc_unsafe /* 0F25E4 802CDC34 0040202D */ daddu $a0, $v0, $zero /* 0F25E8 802CDC38 50400004 */ beql $v0, $zero, .L802CDC4C /* 0F25EC 802CDC3C 24020002 */ addiu $v0, $zero, 2 -/* 0F25F0 802CDC40 0C00E273 */ jal func_800389CC +/* 0F25F0 802CDC40 0C00E273 */ jal free_npc /* 0F25F4 802CDC44 0040202D */ daddu $a0, $v0, $zero /* 0F25F8 802CDC48 24020002 */ addiu $v0, $zero, 2 .L802CDC4C: @@ -118,6 +119,7 @@ func_802CDB90: /* 0F2600 802CDC50 03E00008 */ jr $ra /* 0F2604 802CDC54 27BD0018 */ addiu $sp, $sp, 0x18 +GetNpcPointer: /* 0F2608 802CDC58 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F260C 802CDC5C AFB10014 */ sw $s1, 0x14($sp) /* 0F2610 802CDC60 0080882D */ daddu $s1, $a0, $zero @@ -125,14 +127,14 @@ func_802CDB90: /* 0F2618 802CDC68 AFB00010 */ sw $s0, 0x10($sp) /* 0F261C 802CDC6C 8E30000C */ lw $s0, 0xc($s1) /* 0F2620 802CDC70 8E050000 */ lw $a1, ($s0) -/* 0F2624 802CDC74 0C0B1EAF */ jal func_802C7ABC +/* 0F2624 802CDC74 0C0B1EAF */ jal get_variable /* 0F2628 802CDC78 26100004 */ addiu $s0, $s0, 4 /* 0F262C 802CDC7C 8E100000 */ lw $s0, ($s0) -/* 0F2630 802CDC80 0C00EAD2 */ jal func_8003AB48 +/* 0F2630 802CDC80 0C00EAD2 */ jal get_npc_safe /* 0F2634 802CDC84 0040202D */ daddu $a0, $v0, $zero /* 0F2638 802CDC88 0220202D */ daddu $a0, $s1, $zero /* 0F263C 802CDC8C 0040302D */ daddu $a2, $v0, $zero -/* 0F2640 802CDC90 0C0B2026 */ jal func_802C8098 +/* 0F2640 802CDC90 0C0B2026 */ jal set_variable /* 0F2644 802CDC94 0200282D */ daddu $a1, $s0, $zero /* 0F2648 802CDC98 8FBF0018 */ lw $ra, 0x18($sp) /* 0F264C 802CDC9C 8FB10014 */ lw $s1, 0x14($sp) @@ -141,6 +143,7 @@ func_802CDB90: /* 0F2658 802CDCA8 03E00008 */ jr $ra /* 0F265C 802CDCAC 27BD0020 */ addiu $sp, $sp, 0x20 +SetNpcPos: /* 0F2660 802CDCB0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F2664 802CDCB4 AFB10014 */ sw $s1, 0x14($sp) /* 0F2668 802CDCB8 0080882D */ daddu $s1, $a0, $zero @@ -152,25 +155,25 @@ func_802CDB90: /* 0F2680 802CDCD0 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F2684 802CDCD4 8E30000C */ lw $s0, 0xc($s1) /* 0F2688 802CDCD8 8E050000 */ lw $a1, ($s0) -/* 0F268C 802CDCDC 0C0B1EAF */ jal func_802C7ABC +/* 0F268C 802CDCDC 0C0B1EAF */ jal get_variable /* 0F2690 802CDCE0 26100004 */ addiu $s0, $s0, 4 /* 0F2694 802CDCE4 8E050000 */ lw $a1, ($s0) /* 0F2698 802CDCE8 26100004 */ addiu $s0, $s0, 4 /* 0F269C 802CDCEC 0220202D */ daddu $a0, $s1, $zero -/* 0F26A0 802CDCF0 0C0B1EAF */ jal func_802C7ABC +/* 0F26A0 802CDCF0 0C0B1EAF */ jal get_variable /* 0F26A4 802CDCF4 0040902D */ daddu $s2, $v0, $zero /* 0F26A8 802CDCF8 8E050000 */ lw $a1, ($s0) /* 0F26AC 802CDCFC 26100004 */ addiu $s0, $s0, 4 /* 0F26B0 802CDD00 4482C000 */ mtc1 $v0, $f24 /* 0F26B4 802CDD04 00000000 */ nop /* 0F26B8 802CDD08 4680C620 */ cvt.s.w $f24, $f24 -/* 0F26BC 802CDD0C 0C0B1EAF */ jal func_802C7ABC +/* 0F26BC 802CDD0C 0C0B1EAF */ jal get_variable /* 0F26C0 802CDD10 0220202D */ daddu $a0, $s1, $zero /* 0F26C4 802CDD14 8E050000 */ lw $a1, ($s0) /* 0F26C8 802CDD18 4482B000 */ mtc1 $v0, $f22 /* 0F26CC 802CDD1C 00000000 */ nop /* 0F26D0 802CDD20 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F26D4 802CDD24 0C0B1EAF */ jal func_802C7ABC +/* 0F26D4 802CDD24 0C0B1EAF */ jal get_variable /* 0F26D8 802CDD28 0220202D */ daddu $a0, $s1, $zero /* 0F26DC 802CDD2C 0220202D */ daddu $a0, $s1, $zero /* 0F26E0 802CDD30 4482A000 */ mtc1 $v0, $f20 @@ -209,6 +212,7 @@ func_802CDD8C: /* 0F2758 802CDDA8 03E00008 */ jr $ra /* 0F275C 802CDDAC 27BD0038 */ addiu $sp, $sp, 0x38 +SetNpcRotation: /* 0F2760 802CDDB0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F2764 802CDDB4 AFB10014 */ sw $s1, 0x14($sp) /* 0F2768 802CDDB8 0080882D */ daddu $s1, $a0, $zero @@ -220,21 +224,21 @@ func_802CDD8C: /* 0F2780 802CDDD0 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F2784 802CDDD4 8E30000C */ lw $s0, 0xc($s1) /* 0F2788 802CDDD8 8E050000 */ lw $a1, ($s0) -/* 0F278C 802CDDDC 0C0B1EAF */ jal func_802C7ABC +/* 0F278C 802CDDDC 0C0B1EAF */ jal get_variable /* 0F2790 802CDDE0 26100004 */ addiu $s0, $s0, 4 /* 0F2794 802CDDE4 8E050000 */ lw $a1, ($s0) /* 0F2798 802CDDE8 26100004 */ addiu $s0, $s0, 4 /* 0F279C 802CDDEC 0220202D */ daddu $a0, $s1, $zero -/* 0F27A0 802CDDF0 0C0B210B */ jal func_802C842C +/* 0F27A0 802CDDF0 0C0B210B */ jal get_float_variable /* 0F27A4 802CDDF4 0040902D */ daddu $s2, $v0, $zero /* 0F27A8 802CDDF8 8E050000 */ lw $a1, ($s0) /* 0F27AC 802CDDFC 26100004 */ addiu $s0, $s0, 4 /* 0F27B0 802CDE00 0220202D */ daddu $a0, $s1, $zero -/* 0F27B4 802CDE04 0C0B210B */ jal func_802C842C +/* 0F27B4 802CDE04 0C0B210B */ jal get_float_variable /* 0F27B8 802CDE08 46000606 */ mov.s $f24, $f0 /* 0F27BC 802CDE0C 0220202D */ daddu $a0, $s1, $zero /* 0F27C0 802CDE10 8E050000 */ lw $a1, ($s0) -/* 0F27C4 802CDE14 0C0B210B */ jal func_802C842C +/* 0F27C4 802CDE14 0C0B210B */ jal get_float_variable /* 0F27C8 802CDE18 46000586 */ mov.s $f22, $f0 /* 0F27CC 802CDE1C 0220202D */ daddu $a0, $s1, $zero /* 0F27D0 802CDE20 0240282D */ daddu $a1, $s2, $zero @@ -265,11 +269,11 @@ func_802CDD8C: /* 0F282C 802CDE7C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F2830 802CDE80 8E30000C */ lw $s0, 0xc($s1) /* 0F2834 802CDE84 8E050000 */ lw $a1, ($s0) -/* 0F2838 802CDE88 0C0B1EAF */ jal func_802C7ABC +/* 0F2838 802CDE88 0C0B1EAF */ jal get_variable /* 0F283C 802CDE8C 26100004 */ addiu $s0, $s0, 4 /* 0F2840 802CDE90 0220202D */ daddu $a0, $s1, $zero /* 0F2844 802CDE94 8E050000 */ lw $a1, ($s0) -/* 0F2848 802CDE98 0C0B210B */ jal func_802C842C +/* 0F2848 802CDE98 0C0B210B */ jal get_float_variable /* 0F284C 802CDE9C 0040802D */ daddu $s0, $v0, $zero /* 0F2850 802CDEA0 0220202D */ daddu $a0, $s1, $zero /* 0F2854 802CDEA4 0200282D */ daddu $a1, $s0, $zero @@ -286,6 +290,7 @@ func_802CDD8C: /* 0F287C 802CDECC 03E00008 */ jr $ra /* 0F2880 802CDED0 27BD0028 */ addiu $sp, $sp, 0x28 +SetNpcScale: /* 0F2884 802CDED4 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F2888 802CDED8 AFB10014 */ sw $s1, 0x14($sp) /* 0F288C 802CDEDC 0080882D */ daddu $s1, $a0, $zero @@ -297,21 +302,21 @@ func_802CDD8C: /* 0F28A4 802CDEF4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F28A8 802CDEF8 8E30000C */ lw $s0, 0xc($s1) /* 0F28AC 802CDEFC 8E050000 */ lw $a1, ($s0) -/* 0F28B0 802CDF00 0C0B1EAF */ jal func_802C7ABC +/* 0F28B0 802CDF00 0C0B1EAF */ jal get_variable /* 0F28B4 802CDF04 26100004 */ addiu $s0, $s0, 4 /* 0F28B8 802CDF08 8E050000 */ lw $a1, ($s0) /* 0F28BC 802CDF0C 26100004 */ addiu $s0, $s0, 4 /* 0F28C0 802CDF10 0220202D */ daddu $a0, $s1, $zero -/* 0F28C4 802CDF14 0C0B210B */ jal func_802C842C +/* 0F28C4 802CDF14 0C0B210B */ jal get_float_variable /* 0F28C8 802CDF18 0040902D */ daddu $s2, $v0, $zero /* 0F28CC 802CDF1C 8E050000 */ lw $a1, ($s0) /* 0F28D0 802CDF20 26100004 */ addiu $s0, $s0, 4 /* 0F28D4 802CDF24 0220202D */ daddu $a0, $s1, $zero -/* 0F28D8 802CDF28 0C0B210B */ jal func_802C842C +/* 0F28D8 802CDF28 0C0B210B */ jal get_float_variable /* 0F28DC 802CDF2C 46000606 */ mov.s $f24, $f0 /* 0F28E0 802CDF30 0220202D */ daddu $a0, $s1, $zero /* 0F28E4 802CDF34 8E050000 */ lw $a1, ($s0) -/* 0F28E8 802CDF38 0C0B210B */ jal func_802C842C +/* 0F28E8 802CDF38 0C0B210B */ jal get_float_variable /* 0F28EC 802CDF3C 46000586 */ mov.s $f22, $f0 /* 0F28F0 802CDF40 0220202D */ daddu $a0, $s1, $zero /* 0F28F4 802CDF44 0240282D */ daddu $a1, $s2, $zero @@ -334,6 +339,7 @@ func_802CDD8C: /* 0F2934 802CDF84 03E00008 */ jr $ra /* 0F2938 802CDF88 27BD0038 */ addiu $sp, $sp, 0x38 +SetNpcCollisionSize: /* 0F293C 802CDF8C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F2940 802CDF90 AFB10014 */ sw $s1, 0x14($sp) /* 0F2944 802CDF94 0080882D */ daddu $s1, $a0, $zero @@ -343,16 +349,16 @@ func_802CDD8C: /* 0F2954 802CDFA4 AFB00010 */ sw $s0, 0x10($sp) /* 0F2958 802CDFA8 8E30000C */ lw $s0, 0xc($s1) /* 0F295C 802CDFAC 8E050000 */ lw $a1, ($s0) -/* 0F2960 802CDFB0 0C0B1EAF */ jal func_802C7ABC +/* 0F2960 802CDFB0 0C0B1EAF */ jal get_variable /* 0F2964 802CDFB4 26100004 */ addiu $s0, $s0, 4 /* 0F2968 802CDFB8 8E050000 */ lw $a1, ($s0) /* 0F296C 802CDFBC 26100004 */ addiu $s0, $s0, 4 /* 0F2970 802CDFC0 0220202D */ daddu $a0, $s1, $zero -/* 0F2974 802CDFC4 0C0B1EAF */ jal func_802C7ABC +/* 0F2974 802CDFC4 0C0B1EAF */ jal get_variable /* 0F2978 802CDFC8 0040902D */ daddu $s2, $v0, $zero /* 0F297C 802CDFCC 0220202D */ daddu $a0, $s1, $zero /* 0F2980 802CDFD0 8E050000 */ lw $a1, ($s0) -/* 0F2984 802CDFD4 0C0B1EAF */ jal func_802C7ABC +/* 0F2984 802CDFD4 0C0B1EAF */ jal get_variable /* 0F2988 802CDFD8 0040982D */ daddu $s3, $v0, $zero /* 0F298C 802CDFDC 0220202D */ daddu $a0, $s1, $zero /* 0F2990 802CDFE0 0240282D */ daddu $a1, $s2, $zero @@ -372,6 +378,7 @@ func_802CDD8C: /* 0F29C4 802CE014 03E00008 */ jr $ra /* 0F29C8 802CE018 27BD0028 */ addiu $sp, $sp, 0x28 +SetNpcSpeed: /* 0F29CC 802CE01C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F29D0 802CE020 AFB10014 */ sw $s1, 0x14($sp) /* 0F29D4 802CE024 0080882D */ daddu $s1, $a0, $zero @@ -380,11 +387,11 @@ func_802CDD8C: /* 0F29E0 802CE030 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F29E4 802CE034 8E30000C */ lw $s0, 0xc($s1) /* 0F29E8 802CE038 8E050000 */ lw $a1, ($s0) -/* 0F29EC 802CE03C 0C0B1EAF */ jal func_802C7ABC +/* 0F29EC 802CE03C 0C0B1EAF */ jal get_variable /* 0F29F0 802CE040 26100004 */ addiu $s0, $s0, 4 /* 0F29F4 802CE044 0220202D */ daddu $a0, $s1, $zero /* 0F29F8 802CE048 8E050000 */ lw $a1, ($s0) -/* 0F29FC 802CE04C 0C0B210B */ jal func_802C842C +/* 0F29FC 802CE04C 0C0B210B */ jal get_float_variable /* 0F2A00 802CE050 0040802D */ daddu $s0, $v0, $zero /* 0F2A04 802CE054 0220202D */ daddu $a0, $s1, $zero /* 0F2A08 802CE058 0200282D */ daddu $a1, $s0, $zero @@ -401,6 +408,7 @@ func_802CDD8C: /* 0F2A30 802CE080 03E00008 */ jr $ra /* 0F2A34 802CE084 27BD0028 */ addiu $sp, $sp, 0x28 +SetNpcJumpscale: /* 0F2A38 802CE088 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F2A3C 802CE08C AFB10014 */ sw $s1, 0x14($sp) /* 0F2A40 802CE090 0080882D */ daddu $s1, $a0, $zero @@ -409,11 +417,11 @@ func_802CDD8C: /* 0F2A4C 802CE09C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F2A50 802CE0A0 8E30000C */ lw $s0, 0xc($s1) /* 0F2A54 802CE0A4 8E050000 */ lw $a1, ($s0) -/* 0F2A58 802CE0A8 0C0B1EAF */ jal func_802C7ABC +/* 0F2A58 802CE0A8 0C0B1EAF */ jal get_variable /* 0F2A5C 802CE0AC 26100004 */ addiu $s0, $s0, 4 /* 0F2A60 802CE0B0 0220202D */ daddu $a0, $s1, $zero /* 0F2A64 802CE0B4 8E050000 */ lw $a1, ($s0) -/* 0F2A68 802CE0B8 0C0B210B */ jal func_802C842C +/* 0F2A68 802CE0B8 0C0B210B */ jal get_float_variable /* 0F2A6C 802CE0BC 0040802D */ daddu $s0, $v0, $zero /* 0F2A70 802CE0C0 0220202D */ daddu $a0, $s1, $zero /* 0F2A74 802CE0C4 0200282D */ daddu $a1, $s0, $zero @@ -430,6 +438,7 @@ func_802CDD8C: /* 0F2A9C 802CE0EC 03E00008 */ jr $ra /* 0F2AA0 802CE0F0 27BD0028 */ addiu $sp, $sp, 0x28 +SetNpcAnimation: /* 0F2AA4 802CE0F4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F2AA8 802CE0F8 AFB10014 */ sw $s1, 0x14($sp) /* 0F2AAC 802CE0FC 0080882D */ daddu $s1, $a0, $zero @@ -437,11 +446,11 @@ func_802CDD8C: /* 0F2AB4 802CE104 AFB00010 */ sw $s0, 0x10($sp) /* 0F2AB8 802CE108 8E30000C */ lw $s0, 0xc($s1) /* 0F2ABC 802CE10C 8E050000 */ lw $a1, ($s0) -/* 0F2AC0 802CE110 0C0B1EAF */ jal func_802C7ABC +/* 0F2AC0 802CE110 0C0B1EAF */ jal get_variable /* 0F2AC4 802CE114 26100004 */ addiu $s0, $s0, 4 /* 0F2AC8 802CE118 0220202D */ daddu $a0, $s1, $zero /* 0F2ACC 802CE11C 8E050000 */ lw $a1, ($s0) -/* 0F2AD0 802CE120 0C0B1EAF */ jal func_802C7ABC +/* 0F2AD0 802CE120 0C0B1EAF */ jal get_variable /* 0F2AD4 802CE124 0040802D */ daddu $s0, $v0, $zero /* 0F2AD8 802CE128 0220202D */ daddu $a0, $s1, $zero /* 0F2ADC 802CE12C 0200282D */ daddu $a1, $s0, $zero @@ -449,7 +458,7 @@ func_802CDD8C: /* 0F2AE4 802CE134 0040802D */ daddu $s0, $v0, $zero /* 0F2AE8 802CE138 10400003 */ beqz $v0, .L802CE148 /* 0F2AEC 802CE13C 0040202D */ daddu $a0, $v0, $zero -/* 0F2AF0 802CE140 0C0B36C3 */ jal func_802CDB0C +/* 0F2AF0 802CE140 0C0B36C3 */ jal set_npc_animation /* 0F2AF4 802CE144 0200282D */ daddu $a1, $s0, $zero .L802CE148: /* 0F2AF8 802CE148 24020002 */ addiu $v0, $zero, 2 @@ -459,6 +468,7 @@ func_802CDD8C: /* 0F2B08 802CE158 03E00008 */ jr $ra /* 0F2B0C 802CE15C 27BD0020 */ addiu $sp, $sp, 0x20 +GetNpcAnimation: /* 0F2B10 802CE160 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F2B14 802CE164 AFB10014 */ sw $s1, 0x14($sp) /* 0F2B18 802CE168 0080882D */ daddu $s1, $a0, $zero @@ -466,7 +476,7 @@ func_802CDD8C: /* 0F2B20 802CE170 AFB00010 */ sw $s0, 0x10($sp) /* 0F2B24 802CE174 8E30000C */ lw $s0, 0xc($s1) /* 0F2B28 802CE178 8E050000 */ lw $a1, ($s0) -/* 0F2B2C 802CE17C 0C0B1EAF */ jal func_802C7ABC +/* 0F2B2C 802CE17C 0C0B1EAF */ jal get_variable /* 0F2B30 802CE180 26100004 */ addiu $s0, $s0, 4 /* 0F2B34 802CE184 0220202D */ daddu $a0, $s1, $zero /* 0F2B38 802CE188 8E100000 */ lw $s0, ($s0) @@ -475,7 +485,7 @@ func_802CDD8C: /* 0F2B44 802CE194 10400004 */ beqz $v0, .L802CE1A8 /* 0F2B48 802CE198 0220202D */ daddu $a0, $s1, $zero /* 0F2B4C 802CE19C 8C460028 */ lw $a2, 0x28($v0) -/* 0F2B50 802CE1A0 0C0B2026 */ jal func_802C8098 +/* 0F2B50 802CE1A0 0C0B2026 */ jal set_variable /* 0F2B54 802CE1A4 0200282D */ daddu $a1, $s0, $zero .L802CE1A8: /* 0F2B58 802CE1A8 24020002 */ addiu $v0, $zero, 2 @@ -493,11 +503,11 @@ func_802CDD8C: /* 0F2B84 802CE1D4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F2B88 802CE1D8 8E30000C */ lw $s0, 0xc($s1) /* 0F2B8C 802CE1DC 8E050000 */ lw $a1, ($s0) -/* 0F2B90 802CE1E0 0C0B1EAF */ jal func_802C7ABC +/* 0F2B90 802CE1E0 0C0B1EAF */ jal get_variable /* 0F2B94 802CE1E4 26100004 */ addiu $s0, $s0, 4 /* 0F2B98 802CE1E8 0220202D */ daddu $a0, $s1, $zero /* 0F2B9C 802CE1EC 8E050000 */ lw $a1, ($s0) -/* 0F2BA0 802CE1F0 0C0B210B */ jal func_802C842C +/* 0F2BA0 802CE1F0 0C0B210B */ jal get_float_variable /* 0F2BA4 802CE1F4 0040802D */ daddu $s0, $v0, $zero /* 0F2BA8 802CE1F8 0220202D */ daddu $a0, $s1, $zero /* 0F2BAC 802CE1FC 0200282D */ daddu $a1, $s0, $zero @@ -514,6 +524,7 @@ func_802CDD8C: /* 0F2BD4 802CE224 03E00008 */ jr $ra /* 0F2BD8 802CE228 27BD0028 */ addiu $sp, $sp, 0x28 +NpcMoveTo: /* 0F2BDC 802CE22C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F2BE0 802CE230 AFB20018 */ sw $s2, 0x18($sp) /* 0F2BE4 802CE234 0080902D */ daddu $s2, $a0, $zero @@ -531,25 +542,25 @@ func_802CDD8C: /* 0F2C10 802CE260 00000000 */ nop /* 0F2C14 802CE264 8E250000 */ lw $a1, ($s1) /* 0F2C18 802CE268 26310004 */ addiu $s1, $s1, 4 -/* 0F2C1C 802CE26C 0C0B1EAF */ jal func_802C7ABC +/* 0F2C1C 802CE26C 0C0B1EAF */ jal get_variable /* 0F2C20 802CE270 0240202D */ daddu $a0, $s2, $zero /* 0F2C24 802CE274 8E250000 */ lw $a1, ($s1) /* 0F2C28 802CE278 26310004 */ addiu $s1, $s1, 4 /* 0F2C2C 802CE27C 0240202D */ daddu $a0, $s2, $zero -/* 0F2C30 802CE280 0C0B1EAF */ jal func_802C7ABC +/* 0F2C30 802CE280 0C0B1EAF */ jal get_variable /* 0F2C34 802CE284 0040802D */ daddu $s0, $v0, $zero /* 0F2C38 802CE288 8E250000 */ lw $a1, ($s1) /* 0F2C3C 802CE28C 26310004 */ addiu $s1, $s1, 4 /* 0F2C40 802CE290 4482B000 */ mtc1 $v0, $f22 /* 0F2C44 802CE294 00000000 */ nop /* 0F2C48 802CE298 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F2C4C 802CE29C 0C0B1EAF */ jal func_802C7ABC +/* 0F2C4C 802CE29C 0C0B1EAF */ jal get_variable /* 0F2C50 802CE2A0 0240202D */ daddu $a0, $s2, $zero /* 0F2C54 802CE2A4 8E250000 */ lw $a1, ($s1) /* 0F2C58 802CE2A8 4482A000 */ mtc1 $v0, $f20 /* 0F2C5C 802CE2AC 00000000 */ nop /* 0F2C60 802CE2B0 4680A520 */ cvt.s.w $f20, $f20 -/* 0F2C64 802CE2B4 0C0B1EAF */ jal func_802C7ABC +/* 0F2C64 802CE2B4 0C0B1EAF */ jal get_variable /* 0F2C68 802CE2B8 0240202D */ daddu $a0, $s2, $zero /* 0F2C6C 802CE2BC 0240202D */ daddu $a0, $s2, $zero /* 0F2C70 802CE2C0 0200282D */ daddu $a1, $s0, $zero @@ -568,7 +579,7 @@ func_802CDD8C: /* 0F2C9C 802CE2EC 4406B000 */ mfc1 $a2, $f22 /* 0F2CA0 802CE2F0 E6140068 */ swc1 $f20, 0x68($s0) /* 0F2CA4 802CE2F4 4407A000 */ mfc1 $a3, $f20 -/* 0F2CA8 802CE2F8 0C00A7B5 */ jal func_80029ED4 +/* 0F2CA8 802CE2F8 0C00A7B5 */ jal dist2D /* 0F2CAC 802CE2FC A611008E */ sh $s1, 0x8e($s0) /* 0F2CB0 802CE300 8602008E */ lh $v0, 0x8e($s0) /* 0F2CB4 802CE304 14400007 */ bnez $v0, .L802CE324 @@ -600,12 +611,12 @@ func_802CE338: /* 0F2D08 802CE358 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F2D0C 802CE35C C60E0040 */ lwc1 $f14, 0x40($s0) /* 0F2D10 802CE360 8E060060 */ lw $a2, 0x60($s0) -/* 0F2D14 802CE364 0C00A720 */ jal func_80029C80 +/* 0F2D14 802CE364 0C00A720 */ jal atan2 /* 0F2D18 802CE368 8E070068 */ lw $a3, 0x68($s0) /* 0F2D1C 802CE36C 8E050018 */ lw $a1, 0x18($s0) /* 0F2D20 802CE370 44060000 */ mfc1 $a2, $f0 /* 0F2D24 802CE374 0200202D */ daddu $a0, $s0, $zero -/* 0F2D28 802CE378 0C00EA95 */ jal func_8003AA54 +/* 0F2D28 802CE378 0C00EA95 */ jal npc_move_heading /* 0F2D2C 802CE37C AE06000C */ sw $a2, 0xc($s0) /* 0F2D30 802CE380 C6000018 */ lwc1 $f0, 0x18($s0) /* 0F2D34 802CE384 3C014010 */ lui $at, 0x4010 @@ -627,7 +638,7 @@ func_802CE3B0: /* 0F2D68 802CE3B8 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F2D6C 802CE3BC C60E0040 */ lwc1 $f14, 0x40($s0) /* 0F2D70 802CE3C0 8E060060 */ lw $a2, 0x60($s0) -/* 0F2D74 802CE3C4 0C00A7B5 */ jal func_80029ED4 +/* 0F2D74 802CE3C4 0C00A7B5 */ jal dist2D /* 0F2D78 802CE3C8 8E070068 */ lw $a3, 0x68($s0) /* 0F2D7C 802CE3CC 46000186 */ mov.s $f6, $f0 /* 0F2D80 802CE3D0 C6040018 */ lwc1 $f4, 0x18($s0) @@ -659,7 +670,7 @@ func_802CE414: /* 0F2DDC 802CE42C 03E00008 */ jr $ra /* 0F2DE0 802CE430 27BD0030 */ addiu $sp, $sp, 0x30 -func_802CE434: +_npc_jump_to: /* 0F2DE4 802CE434 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0F2DE8 802CE438 AFB20018 */ sw $s2, 0x18($sp) /* 0F2DEC 802CE43C 0080902D */ daddu $s2, $a0, $zero @@ -682,32 +693,32 @@ func_802CE434: /* 0F2E2C 802CE47C 00000000 */ nop /* 0F2E30 802CE480 8E250000 */ lw $a1, ($s1) /* 0F2E34 802CE484 26310004 */ addiu $s1, $s1, 4 -/* 0F2E38 802CE488 0C0B1EAF */ jal func_802C7ABC +/* 0F2E38 802CE488 0C0B1EAF */ jal get_variable /* 0F2E3C 802CE48C 0240202D */ daddu $a0, $s2, $zero /* 0F2E40 802CE490 8E250000 */ lw $a1, ($s1) /* 0F2E44 802CE494 26310004 */ addiu $s1, $s1, 4 /* 0F2E48 802CE498 0240202D */ daddu $a0, $s2, $zero -/* 0F2E4C 802CE49C 0C0B1EAF */ jal func_802C7ABC +/* 0F2E4C 802CE49C 0C0B1EAF */ jal get_variable /* 0F2E50 802CE4A0 0040802D */ daddu $s0, $v0, $zero /* 0F2E54 802CE4A4 8E250000 */ lw $a1, ($s1) /* 0F2E58 802CE4A8 26310004 */ addiu $s1, $s1, 4 /* 0F2E5C 802CE4AC 4482C000 */ mtc1 $v0, $f24 /* 0F2E60 802CE4B0 00000000 */ nop /* 0F2E64 802CE4B4 4680C620 */ cvt.s.w $f24, $f24 -/* 0F2E68 802CE4B8 0C0B1EAF */ jal func_802C7ABC +/* 0F2E68 802CE4B8 0C0B1EAF */ jal get_variable /* 0F2E6C 802CE4BC 0240202D */ daddu $a0, $s2, $zero /* 0F2E70 802CE4C0 4482B000 */ mtc1 $v0, $f22 /* 0F2E74 802CE4C4 00000000 */ nop /* 0F2E78 802CE4C8 4680B5A0 */ cvt.s.w $f22, $f22 /* 0F2E7C 802CE4CC 8E250000 */ lw $a1, ($s1) /* 0F2E80 802CE4D0 26310004 */ addiu $s1, $s1, 4 -/* 0F2E84 802CE4D4 0C0B1EAF */ jal func_802C7ABC +/* 0F2E84 802CE4D4 0C0B1EAF */ jal get_variable /* 0F2E88 802CE4D8 0240202D */ daddu $a0, $s2, $zero /* 0F2E8C 802CE4DC 8E250000 */ lw $a1, ($s1) /* 0F2E90 802CE4E0 4482A000 */ mtc1 $v0, $f20 /* 0F2E94 802CE4E4 00000000 */ nop /* 0F2E98 802CE4E8 4680A520 */ cvt.s.w $f20, $f20 -/* 0F2E9C 802CE4EC 0C0B1EAF */ jal func_802C7ABC +/* 0F2E9C 802CE4EC 0C0B1EAF */ jal get_variable /* 0F2EA0 802CE4F0 0240202D */ daddu $a0, $s2, $zero /* 0F2EA4 802CE4F4 0240202D */ daddu $a0, $s2, $zero /* 0F2EA8 802CE4F8 0200282D */ daddu $a1, $s0, $zero @@ -727,7 +738,7 @@ func_802CE434: /* 0F2ED8 802CE528 E6140068 */ swc1 $f20, 0x68($s0) /* 0F2EDC 802CE52C 4407A000 */ mfc1 $a3, $f20 /* 0F2EE0 802CE530 E6160064 */ swc1 $f22, 0x64($s0) -/* 0F2EE4 802CE534 0C00A7B5 */ jal func_80029ED4 +/* 0F2EE4 802CE534 0C00A7B5 */ jal dist2D /* 0F2EE8 802CE538 A611008E */ sh $s1, 0x8e($s0) /* 0F2EEC 802CE53C 46000506 */ mov.s $f20, $f0 /* 0F2EF0 802CE540 3C014000 */ lui $at, 0x4000 @@ -741,7 +752,7 @@ func_802CE434: /* 0F2F10 802CE560 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F2F14 802CE564 C60E0040 */ lwc1 $f14, 0x40($s0) /* 0F2F18 802CE568 8E060060 */ lw $a2, 0x60($s0) -/* 0F2F1C 802CE56C 0C00A720 */ jal func_80029C80 +/* 0F2F1C 802CE56C 0C00A720 */ jal atan2 /* 0F2F20 802CE570 8E070068 */ lw $a3, 0x68($s0) /* 0F2F24 802CE574 16800002 */ bnez $s4, .L802CE580 /* 0F2F28 802CE578 E6400078 */ swc1 $f0, 0x78($s2) @@ -790,7 +801,7 @@ func_802CE5C0: /* 0F2FC0 802CE610 8E500074 */ lw $s0, 0x74($s2) /* 0F2FC4 802CE614 8E660000 */ lw $a2, ($s3) /* 0F2FC8 802CE618 8E050018 */ lw $a1, 0x18($s0) -/* 0F2FCC 802CE61C 0C00EA95 */ jal func_8003AA54 +/* 0F2FCC 802CE61C 0C00EA95 */ jal npc_move_heading /* 0F2FD0 802CE620 0200202D */ daddu $a0, $s0, $zero /* 0F2FD4 802CE624 C604003C */ lwc1 $f4, 0x3c($s0) /* 0F2FD8 802CE628 C600001C */ lwc1 $f0, 0x1c($s0) @@ -836,22 +847,25 @@ func_802CE698: /* 0F306C 802CE6BC 03E00008 */ jr $ra /* 0F3070 802CE6C0 27BD0040 */ addiu $sp, $sp, 0x40 +NpcJump0: /* 0F3074 802CE6C4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3078 802CE6C8 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F307C 802CE6CC 0C0B390D */ jal func_802CE434 +/* 0F307C 802CE6CC 0C0B390D */ jal _npc_jump_to /* 0F3080 802CE6D0 0000302D */ daddu $a2, $zero, $zero /* 0F3084 802CE6D4 8FBF0010 */ lw $ra, 0x10($sp) /* 0F3088 802CE6D8 03E00008 */ jr $ra /* 0F308C 802CE6DC 27BD0018 */ addiu $sp, $sp, 0x18 +NpcJump1: /* 0F3090 802CE6E0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3094 802CE6E4 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F3098 802CE6E8 0C0B390D */ jal func_802CE434 +/* 0F3098 802CE6E8 0C0B390D */ jal _npc_jump_to /* 0F309C 802CE6EC 24060001 */ addiu $a2, $zero, 1 /* 0F30A0 802CE6F0 8FBF0010 */ lw $ra, 0x10($sp) /* 0F30A4 802CE6F4 03E00008 */ jr $ra /* 0F30A8 802CE6F8 27BD0018 */ addiu $sp, $sp, 0x18 +NpcFlyTo: /* 0F30AC 802CE6FC 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0F30B0 802CE700 AFB20020 */ sw $s2, 0x20($sp) /* 0F30B4 802CE704 0080902D */ daddu $s2, $a0, $zero @@ -868,7 +882,7 @@ func_802CE698: /* 0F30E0 802CE730 10A0004A */ beqz $a1, .L802CE85C /* 0F30E4 802CE734 26550098 */ addiu $s5, $s2, 0x98 /* 0F30E8 802CE738 8E050000 */ lw $a1, ($s0) -/* 0F30EC 802CE73C 0C0B1EAF */ jal func_802C7ABC +/* 0F30EC 802CE73C 0C0B1EAF */ jal get_variable /* 0F30F0 802CE740 26100004 */ addiu $s0, $s0, 4 /* 0F30F4 802CE744 0240202D */ daddu $a0, $s2, $zero /* 0F30F8 802CE748 0C0B36B0 */ jal func_802CDAC0 @@ -882,31 +896,31 @@ func_802CE698: .L802CE764: /* 0F3114 802CE764 8E050000 */ lw $a1, ($s0) /* 0F3118 802CE768 26100004 */ addiu $s0, $s0, 4 -/* 0F311C 802CE76C 0C0B210B */ jal func_802C842C +/* 0F311C 802CE76C 0C0B210B */ jal get_float_variable /* 0F3120 802CE770 0240202D */ daddu $a0, $s2, $zero /* 0F3124 802CE774 E6200060 */ swc1 $f0, 0x60($s1) /* 0F3128 802CE778 8E050000 */ lw $a1, ($s0) /* 0F312C 802CE77C 26100004 */ addiu $s0, $s0, 4 -/* 0F3130 802CE780 0C0B210B */ jal func_802C842C +/* 0F3130 802CE780 0C0B210B */ jal get_float_variable /* 0F3134 802CE784 0240202D */ daddu $a0, $s2, $zero /* 0F3138 802CE788 E6200064 */ swc1 $f0, 0x64($s1) /* 0F313C 802CE78C 8E050000 */ lw $a1, ($s0) /* 0F3140 802CE790 26100004 */ addiu $s0, $s0, 4 -/* 0F3144 802CE794 0C0B210B */ jal func_802C842C +/* 0F3144 802CE794 0C0B210B */ jal get_float_variable /* 0F3148 802CE798 0240202D */ daddu $a0, $s2, $zero /* 0F314C 802CE79C E6200068 */ swc1 $f0, 0x68($s1) /* 0F3150 802CE7A0 8E050000 */ lw $a1, ($s0) /* 0F3154 802CE7A4 26100004 */ addiu $s0, $s0, 4 -/* 0F3158 802CE7A8 0C0B1EAF */ jal func_802C7ABC +/* 0F3158 802CE7A8 0C0B1EAF */ jal get_variable /* 0F315C 802CE7AC 0240202D */ daddu $a0, $s2, $zero /* 0F3160 802CE7B0 AE42009C */ sw $v0, 0x9c($s2) /* 0F3164 802CE7B4 8E050000 */ lw $a1, ($s0) /* 0F3168 802CE7B8 26100004 */ addiu $s0, $s0, 4 -/* 0F316C 802CE7BC 0C0B1EAF */ jal func_802C7ABC +/* 0F316C 802CE7BC 0C0B1EAF */ jal get_variable /* 0F3170 802CE7C0 0240202D */ daddu $a0, $s2, $zero /* 0F3174 802CE7C4 AE420078 */ sw $v0, 0x78($s2) /* 0F3178 802CE7C8 8E050000 */ lw $a1, ($s0) -/* 0F317C 802CE7CC 0C0B1EAF */ jal func_802C7ABC +/* 0F317C 802CE7CC 0C0B1EAF */ jal get_variable /* 0F3180 802CE7D0 0240202D */ daddu $a0, $s2, $zero /* 0F3184 802CE7D4 AE42007C */ sw $v0, 0x7c($s2) /* 0F3188 802CE7D8 C6200038 */ lwc1 $f0, 0x38($s1) @@ -919,13 +933,13 @@ func_802CE698: /* 0F31A4 802CE7F4 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0F31A8 802CE7F8 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0F31AC 802CE7FC 8E260060 */ lw $a2, 0x60($s1) -/* 0F31B0 802CE800 0C00A720 */ jal func_80029C80 +/* 0F31B0 802CE800 0C00A720 */ jal atan2 /* 0F31B4 802CE804 8E270068 */ lw $a3, 0x68($s1) /* 0F31B8 802CE808 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0F31BC 802CE80C C62E0040 */ lwc1 $f14, 0x40($s1) /* 0F31C0 802CE810 8E260060 */ lw $a2, 0x60($s1) /* 0F31C4 802CE814 8E270068 */ lw $a3, 0x68($s1) -/* 0F31C8 802CE818 0C00A7B5 */ jal func_80029ED4 +/* 0F31C8 802CE818 0C00A7B5 */ jal dist2D /* 0F31CC 802CE81C E620000C */ swc1 $f0, 0xc($s1) /* 0F31D0 802CE820 46000086 */ mov.s $f2, $f0 /* 0F31D4 802CE824 E6220010 */ swc1 $f2, 0x10($s1) @@ -952,7 +966,7 @@ func_802CE85C: /* 0F3218 802CE868 AFA20010 */ sw $v0, 0x10($sp) /* 0F321C 802CE86C 8E44007C */ lw $a0, 0x7c($s2) /* 0F3220 802CE870 8E650000 */ lw $a1, ($s3) -/* 0F3224 802CE874 0C00A8ED */ jal func_8002A3B4 +/* 0F3224 802CE874 0C00A8ED */ jal update_lerp /* 0F3228 802CE878 8E260060 */ lw $a2, 0x60($s1) /* 0F322C 802CE87C E6200038 */ swc1 $f0, 0x38($s1) /* 0F3230 802CE880 8E42009C */ lw $v0, 0x9c($s2) @@ -960,7 +974,7 @@ func_802CE85C: /* 0F3238 802CE888 AFA20010 */ sw $v0, 0x10($sp) /* 0F323C 802CE88C 8E44007C */ lw $a0, 0x7c($s2) /* 0F3240 802CE890 8E850000 */ lw $a1, ($s4) -/* 0F3244 802CE894 0C00A8ED */ jal func_8002A3B4 +/* 0F3244 802CE894 0C00A8ED */ jal update_lerp /* 0F3248 802CE898 8E260064 */ lw $a2, 0x64($s1) /* 0F324C 802CE89C E620003C */ swc1 $f0, 0x3c($s1) /* 0F3250 802CE8A0 8E42009C */ lw $v0, 0x9c($s2) @@ -968,7 +982,7 @@ func_802CE85C: /* 0F3258 802CE8A8 AFA20010 */ sw $v0, 0x10($sp) /* 0F325C 802CE8AC 8E44007C */ lw $a0, 0x7c($s2) /* 0F3260 802CE8B0 8EA50000 */ lw $a1, ($s5) -/* 0F3264 802CE8B4 0C00A8ED */ jal func_8002A3B4 +/* 0F3264 802CE8B4 0C00A8ED */ jal update_lerp /* 0F3268 802CE8B8 8E260068 */ lw $a2, 0x68($s1) /* 0F326C 802CE8BC 9622008E */ lhu $v0, 0x8e($s1) /* 0F3270 802CE8C0 E6200040 */ swc1 $f0, 0x40($s1) @@ -992,7 +1006,7 @@ func_802CE85C: /* 0F32B0 802CE900 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0F32B4 802CE904 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0F32B8 802CE908 8E260060 */ lw $a2, 0x60($s1) -/* 0F32BC 802CE90C 0C00A7B5 */ jal func_80029ED4 +/* 0F32BC 802CE90C 0C00A7B5 */ jal dist2D /* 0F32C0 802CE910 8E270068 */ lw $a3, 0x68($s1) /* 0F32C4 802CE914 4480A000 */ mtc1 $zero, $f20 /* 0F32C8 802CE918 00000000 */ nop @@ -1024,7 +1038,7 @@ func_802CE85C: /* 0F3328 802CE978 D420A1E0 */ ldc1 $f0, -0x5e20($at) /* 0F332C 802CE97C 46206302 */ mul.d $f12, $f12, $f0 /* 0F3330 802CE980 00000000 */ nop -/* 0F3334 802CE984 0C00A8BB */ jal func_8002A2EC +/* 0F3334 802CE984 0C00A8BB */ jal sin_deg /* 0F3338 802CE988 46206320 */ cvt.s.d $f12, $f12 /* 0F333C 802CE98C 8E440078 */ lw $a0, 0x78($s2) /* 0F3340 802CE990 14800002 */ bnez $a0, .L802CE99C @@ -1064,6 +1078,7 @@ func_802CE9E8: /* 0F33B8 802CEA08 03E00008 */ jr $ra /* 0F33BC 802CEA0C 27BD0040 */ addiu $sp, $sp, 0x40 +GetNpcYaw: /* 0F33C0 802CEA10 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F33C4 802CEA14 AFB10014 */ sw $s1, 0x14($sp) /* 0F33C8 802CEA18 0080882D */ daddu $s1, $a0, $zero @@ -1071,7 +1086,7 @@ func_802CE9E8: /* 0F33D0 802CEA20 AFB00010 */ sw $s0, 0x10($sp) /* 0F33D4 802CEA24 8E30000C */ lw $s0, 0xc($s1) /* 0F33D8 802CEA28 8E050000 */ lw $a1, ($s0) -/* 0F33DC 802CEA2C 0C0B1EAF */ jal func_802C7ABC +/* 0F33DC 802CEA2C 0C0B1EAF */ jal get_variable /* 0F33E0 802CEA30 26100004 */ addiu $s0, $s0, 4 /* 0F33E4 802CEA34 0220202D */ daddu $a0, $s1, $zero /* 0F33E8 802CEA38 8E100000 */ lw $s0, ($s0) @@ -1080,12 +1095,12 @@ func_802CE9E8: /* 0F33F4 802CEA44 5040000A */ beql $v0, $zero, .L802CEA70 /* 0F33F8 802CEA48 24020002 */ addiu $v0, $zero, 2 /* 0F33FC 802CEA4C C44C000C */ lwc1 $f12, 0xc($v0) -/* 0F3400 802CEA50 0C00A6C9 */ jal func_80029B24 +/* 0F3400 802CEA50 0C00A6C9 */ jal clamp_angle /* 0F3404 802CEA54 00000000 */ nop /* 0F3408 802CEA58 0220202D */ daddu $a0, $s1, $zero /* 0F340C 802CEA5C 4600008D */ trunc.w.s $f2, $f0 /* 0F3410 802CEA60 44061000 */ mfc1 $a2, $f2 -/* 0F3414 802CEA64 0C0B2026 */ jal func_802C8098 +/* 0F3414 802CEA64 0C0B2026 */ jal set_variable /* 0F3418 802CEA68 0200282D */ daddu $a1, $s0, $zero /* 0F341C 802CEA6C 24020002 */ addiu $v0, $zero, 2 .L802CEA70: @@ -1095,6 +1110,7 @@ func_802CE9E8: /* 0F342C 802CEA7C 03E00008 */ jr $ra /* 0F3430 802CEA80 27BD0020 */ addiu $sp, $sp, 0x20 +SetNpcYaw: /* 0F3434 802CEA84 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F3438 802CEA88 AFB20018 */ sw $s2, 0x18($sp) /* 0F343C 802CEA8C 0080902D */ daddu $s2, $a0, $zero @@ -1103,7 +1119,7 @@ func_802CE9E8: /* 0F3448 802CEA98 AFB00010 */ sw $s0, 0x10($sp) /* 0F344C 802CEA9C 8E50000C */ lw $s0, 0xc($s2) /* 0F3450 802CEAA0 8E050000 */ lw $a1, ($s0) -/* 0F3454 802CEAA4 0C0B1EAF */ jal func_802C7ABC +/* 0F3454 802CEAA4 0C0B1EAF */ jal get_variable /* 0F3458 802CEAA8 26100004 */ addiu $s0, $s0, 4 /* 0F345C 802CEAAC 0240202D */ daddu $a0, $s2, $zero /* 0F3460 802CEAB0 0C0B36B0 */ jal func_802CDAC0 @@ -1112,13 +1128,13 @@ func_802CE9E8: /* 0F346C 802CEABC 1220000B */ beqz $s1, .L802CEAEC /* 0F3470 802CEAC0 24020002 */ addiu $v0, $zero, 2 /* 0F3474 802CEAC4 8E050000 */ lw $a1, ($s0) -/* 0F3478 802CEAC8 0C0B1EAF */ jal func_802C7ABC +/* 0F3478 802CEAC8 0C0B1EAF */ jal get_variable /* 0F347C 802CEACC 0240202D */ daddu $a0, $s2, $zero /* 0F3480 802CEAD0 44820000 */ mtc1 $v0, $f0 /* 0F3484 802CEAD4 00000000 */ nop /* 0F3488 802CEAD8 46800020 */ cvt.s.w $f0, $f0 /* 0F348C 802CEADC 44050000 */ mfc1 $a1, $f0 -/* 0F3490 802CEAE0 0C00ECD0 */ jal func_8003B340 +/* 0F3490 802CEAE0 0C00ECD0 */ jal set_npc_yaw /* 0F3494 802CEAE4 0220202D */ daddu $a0, $s1, $zero /* 0F3498 802CEAE8 24020002 */ addiu $v0, $zero, 2 .L802CEAEC: @@ -1129,6 +1145,7 @@ func_802CE9E8: /* 0F34AC 802CEAFC 03E00008 */ jr $ra /* 0F34B0 802CEB00 27BD0020 */ addiu $sp, $sp, 0x20 +InterpNpcYaw: /* 0F34B4 802CEB04 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F34B8 802CEB08 AFB20018 */ sw $s2, 0x18($sp) /* 0F34BC 802CEB0C 0080902D */ daddu $s2, $a0, $zero @@ -1144,7 +1161,7 @@ func_802CE9E8: /* 0F34E4 802CEB34 10A0003B */ beqz $a1, .L802CEC24 /* 0F34E8 802CEB38 2653007C */ addiu $s3, $s2, 0x7c /* 0F34EC 802CEB3C 8E250000 */ lw $a1, ($s1) -/* 0F34F0 802CEB40 0C0B1EAF */ jal func_802C7ABC +/* 0F34F0 802CEB40 0C0B1EAF */ jal get_variable /* 0F34F4 802CEB44 26310004 */ addiu $s1, $s1, 4 /* 0F34F8 802CEB48 0240202D */ daddu $a0, $s2, $zero /* 0F34FC 802CEB4C 0C0B36B0 */ jal func_802CDAC0 @@ -1155,7 +1172,7 @@ func_802CE9E8: /* 0F3510 802CEB60 C600000C */ lwc1 $f0, 0xc($s0) /* 0F3514 802CEB64 E6400074 */ swc1 $f0, 0x74($s2) /* 0F3518 802CEB68 8E250000 */ lw $a1, ($s1) -/* 0F351C 802CEB6C 0C0B1EAF */ jal func_802C7ABC +/* 0F351C 802CEB6C 0C0B1EAF */ jal get_variable /* 0F3520 802CEB70 0240202D */ daddu $a0, $s2, $zero /* 0F3524 802CEB74 C6420074 */ lwc1 $f2, 0x74($s2) /* 0F3528 802CEB78 44820000 */ mtc1 $v0, $f0 @@ -1166,7 +1183,7 @@ func_802CE9E8: /* 0F353C 802CEB8C AE500070 */ sw $s0, 0x70($s2) /* 0F3540 802CEB90 E6400078 */ swc1 $f0, 0x78($s2) /* 0F3544 802CEB94 8E250000 */ lw $a1, ($s1) -/* 0F3548 802CEB98 0C0B1EAF */ jal func_802C7ABC +/* 0F3548 802CEB98 0C0B1EAF */ jal get_variable /* 0F354C 802CEB9C 0240202D */ daddu $a0, $s2, $zero /* 0F3550 802CEBA0 14400005 */ bnez $v0, .L802CEBB8 /* 0F3554 802CEBA4 AE42007C */ sw $v0, 0x7c($s2) @@ -1233,7 +1250,7 @@ func_802CEC3C: /* 0F362C 802CEC7C 468010A0 */ cvt.s.w $f2, $f2 /* 0F3630 802CEC80 46020003 */ div.s $f0, $f0, $f2 /* 0F3634 802CEC84 46006300 */ add.s $f12, $f12, $f0 -/* 0F3638 802CEC88 0C00A6C9 */ jal func_80029B24 +/* 0F3638 802CEC88 0C00A6C9 */ jal clamp_angle /* 0F363C 802CEC8C E60C000C */ swc1 $f12, 0xc($s0) /* 0F3640 802CEC90 8602008E */ lh $v0, 0x8e($s0) /* 0F3644 802CEC94 E600000C */ swc1 $f0, 0xc($s0) @@ -1252,6 +1269,7 @@ func_802CECA4: /* 0F3670 802CECC0 03E00008 */ jr $ra /* 0F3674 802CECC4 27BD0030 */ addiu $sp, $sp, 0x30 +NpcFacePlayer: /* 0F3678 802CECC8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F367C 802CECCC AFB10014 */ sw $s1, 0x14($sp) /* 0F3680 802CECD0 0080882D */ daddu $s1, $a0, $zero @@ -1270,7 +1288,7 @@ func_802CECA4: /* 0F36B4 802CED04 10A00034 */ beqz $a1, .L802CEDD8 /* 0F36B8 802CED08 2633007C */ addiu $s3, $s1, 0x7c /* 0F36BC 802CED0C 8E450000 */ lw $a1, ($s2) -/* 0F36C0 802CED10 0C0B1EAF */ jal func_802C7ABC +/* 0F36C0 802CED10 0C0B1EAF */ jal get_variable /* 0F36C4 802CED14 26520004 */ addiu $s2, $s2, 4 /* 0F36C8 802CED18 0220202D */ daddu $a0, $s1, $zero /* 0F36CC 802CED1C 0C0B36B0 */ jal func_802CDAC0 @@ -1283,14 +1301,14 @@ func_802CECA4: /* 0F36E8 802CED38 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F36EC 802CED3C C60E0040 */ lwc1 $f14, 0x40($s0) /* 0F36F0 802CED40 8E860028 */ lw $a2, 0x28($s4) -/* 0F36F4 802CED44 0C00A720 */ jal func_80029C80 +/* 0F36F4 802CED44 0C00A720 */ jal atan2 /* 0F36F8 802CED48 8E870030 */ lw $a3, 0x30($s4) /* 0F36FC 802CED4C C6220074 */ lwc1 $f2, 0x74($s1) /* 0F3700 802CED50 46020001 */ sub.s $f0, $f0, $f2 /* 0F3704 802CED54 AE300070 */ sw $s0, 0x70($s1) /* 0F3708 802CED58 E6200078 */ swc1 $f0, 0x78($s1) /* 0F370C 802CED5C 8E450000 */ lw $a1, ($s2) -/* 0F3710 802CED60 0C0B1EAF */ jal func_802C7ABC +/* 0F3710 802CED60 0C0B1EAF */ jal get_variable /* 0F3714 802CED64 0220202D */ daddu $a0, $s1, $zero /* 0F3718 802CED68 AE22007C */ sw $v0, 0x7c($s1) /* 0F371C 802CED6C A600008E */ sh $zero, 0x8e($s0) @@ -1349,7 +1367,7 @@ func_802CECA4: /* 0F37E0 802CEE30 468010A0 */ cvt.s.w $f2, $f2 /* 0F37E4 802CEE34 46020003 */ div.s $f0, $f0, $f2 /* 0F37E8 802CEE38 46006300 */ add.s $f12, $f12, $f0 -/* 0F37EC 802CEE3C 0C00A6C9 */ jal func_80029B24 +/* 0F37EC 802CEE3C 0C00A6C9 */ jal clamp_angle /* 0F37F0 802CEE40 E60C000C */ swc1 $f12, 0xc($s0) /* 0F37F4 802CEE44 8602008E */ lh $v0, 0x8e($s0) /* 0F37F8 802CEE48 E600000C */ swc1 $f0, 0xc($s0) @@ -1369,6 +1387,7 @@ func_802CEE58: /* 0F3828 802CEE78 03E00008 */ jr $ra /* 0F382C 802CEE7C 27BD0030 */ addiu $sp, $sp, 0x30 +NpcFaceNpc: /* 0F3830 802CEE80 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F3834 802CEE84 AFB10014 */ sw $s1, 0x14($sp) /* 0F3838 802CEE88 0080882D */ daddu $s1, $a0, $zero @@ -1385,12 +1404,12 @@ func_802CEE58: /* 0F3864 802CEEB4 10A00040 */ beqz $a1, .L802CEFB8 /* 0F3868 802CEEB8 2634007C */ addiu $s4, $s1, 0x7c /* 0F386C 802CEEBC 8E450000 */ lw $a1, ($s2) -/* 0F3870 802CEEC0 0C0B1EAF */ jal func_802C7ABC +/* 0F3870 802CEEC0 0C0B1EAF */ jal get_variable /* 0F3874 802CEEC4 26520004 */ addiu $s2, $s2, 4 /* 0F3878 802CEEC8 8E450000 */ lw $a1, ($s2) /* 0F387C 802CEECC 26520004 */ addiu $s2, $s2, 4 /* 0F3880 802CEED0 0220202D */ daddu $a0, $s1, $zero -/* 0F3884 802CEED4 0C0B1EAF */ jal func_802C7ABC +/* 0F3884 802CEED4 0C0B1EAF */ jal get_variable /* 0F3888 802CEED8 0040802D */ daddu $s0, $v0, $zero /* 0F388C 802CEEDC 0220202D */ daddu $a0, $s1, $zero /* 0F3890 802CEEE0 0C0B36B0 */ jal func_802CDAC0 @@ -1413,14 +1432,14 @@ func_802CEE58: /* 0F38C8 802CEF18 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F38CC 802CEF1C C60E0040 */ lwc1 $f14, 0x40($s0) /* 0F38D0 802CEF20 8E660038 */ lw $a2, 0x38($s3) -/* 0F38D4 802CEF24 0C00A720 */ jal func_80029C80 +/* 0F38D4 802CEF24 0C00A720 */ jal atan2 /* 0F38D8 802CEF28 8E670040 */ lw $a3, 0x40($s3) /* 0F38DC 802CEF2C C6220074 */ lwc1 $f2, 0x74($s1) /* 0F38E0 802CEF30 46020001 */ sub.s $f0, $f0, $f2 /* 0F38E4 802CEF34 AE300070 */ sw $s0, 0x70($s1) /* 0F38E8 802CEF38 E6200078 */ swc1 $f0, 0x78($s1) /* 0F38EC 802CEF3C 8E450000 */ lw $a1, ($s2) -/* 0F38F0 802CEF40 0C0B1EAF */ jal func_802C7ABC +/* 0F38F0 802CEF40 0C0B1EAF */ jal get_variable /* 0F38F4 802CEF44 0220202D */ daddu $a0, $s1, $zero /* 0F38F8 802CEF48 AE22007C */ sw $v0, 0x7c($s1) /* 0F38FC 802CEF4C A600008E */ sh $zero, 0x8e($s0) @@ -1479,7 +1498,7 @@ func_802CEE58: /* 0F39C0 802CF010 468010A0 */ cvt.s.w $f2, $f2 /* 0F39C4 802CF014 46020003 */ div.s $f0, $f0, $f2 /* 0F39C8 802CF018 46006300 */ add.s $f12, $f12, $f0 -/* 0F39CC 802CF01C 0C00A6C9 */ jal func_80029B24 +/* 0F39CC 802CF01C 0C00A6C9 */ jal clamp_angle /* 0F39D0 802CF020 E60C000C */ swc1 $f12, 0xc($s0) /* 0F39D4 802CF024 8602008E */ lh $v0, 0x8e($s0) /* 0F39D8 802CF028 E600000C */ swc1 $f0, 0xc($s0) @@ -1498,6 +1517,7 @@ func_802CF038: /* 0F3A08 802CF058 03E00008 */ jr $ra /* 0F3A0C 802CF05C 27BD0030 */ addiu $sp, $sp, 0x30 +SetNpcFlagBits: /* 0F3A10 802CF060 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F3A14 802CF064 AFB10014 */ sw $s1, 0x14($sp) /* 0F3A18 802CF068 0080882D */ daddu $s1, $a0, $zero @@ -1506,12 +1526,12 @@ func_802CF038: /* 0F3A24 802CF074 AFB00010 */ sw $s0, 0x10($sp) /* 0F3A28 802CF078 8E30000C */ lw $s0, 0xc($s1) /* 0F3A2C 802CF07C 8E050000 */ lw $a1, ($s0) -/* 0F3A30 802CF080 0C0B1EAF */ jal func_802C7ABC +/* 0F3A30 802CF080 0C0B1EAF */ jal get_variable /* 0F3A34 802CF084 26100004 */ addiu $s0, $s0, 4 /* 0F3A38 802CF088 0220202D */ daddu $a0, $s1, $zero /* 0F3A3C 802CF08C 8E050004 */ lw $a1, 4($s0) /* 0F3A40 802CF090 8E100000 */ lw $s0, ($s0) -/* 0F3A44 802CF094 0C0B1EAF */ jal func_802C7ABC +/* 0F3A44 802CF094 0C0B1EAF */ jal get_variable /* 0F3A48 802CF098 0040902D */ daddu $s2, $v0, $zero /* 0F3A4C 802CF09C 0220202D */ daddu $a0, $s1, $zero /* 0F3A50 802CF0A0 0240282D */ daddu $a1, $s2, $zero @@ -1540,6 +1560,7 @@ func_802CF0D4: /* 0F3A9C 802CF0EC 03E00008 */ jr $ra /* 0F3AA0 802CF0F0 27BD0020 */ addiu $sp, $sp, 0x20 +GetNpcPos: /* 0F3AA4 802CF0F4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F3AA8 802CF0F8 AFB10014 */ sw $s1, 0x14($sp) /* 0F3AAC 802CF0FC 0080882D */ daddu $s1, $a0, $zero @@ -1550,7 +1571,7 @@ func_802CF0D4: /* 0F3AC0 802CF110 AFB00010 */ sw $s0, 0x10($sp) /* 0F3AC4 802CF114 8E30000C */ lw $s0, 0xc($s1) /* 0F3AC8 802CF118 8E050000 */ lw $a1, ($s0) -/* 0F3ACC 802CF11C 0C0B1EAF */ jal func_802C7ABC +/* 0F3ACC 802CF11C 0C0B1EAF */ jal get_variable /* 0F3AD0 802CF120 26100004 */ addiu $s0, $s0, 4 /* 0F3AD4 802CF124 8E120000 */ lw $s2, ($s0) /* 0F3AD8 802CF128 26100004 */ addiu $s0, $s0, 4 @@ -1565,19 +1586,19 @@ func_802CF0D4: /* 0F3AFC 802CF14C C6000038 */ lwc1 $f0, 0x38($s0) /* 0F3B00 802CF150 4600008D */ trunc.w.s $f2, $f0 /* 0F3B04 802CF154 44061000 */ mfc1 $a2, $f2 -/* 0F3B08 802CF158 0C0B2026 */ jal func_802C8098 +/* 0F3B08 802CF158 0C0B2026 */ jal set_variable /* 0F3B0C 802CF15C 0240282D */ daddu $a1, $s2, $zero /* 0F3B10 802CF160 0220202D */ daddu $a0, $s1, $zero /* 0F3B14 802CF164 C600003C */ lwc1 $f0, 0x3c($s0) /* 0F3B18 802CF168 4600008D */ trunc.w.s $f2, $f0 /* 0F3B1C 802CF16C 44061000 */ mfc1 $a2, $f2 -/* 0F3B20 802CF170 0C0B2026 */ jal func_802C8098 +/* 0F3B20 802CF170 0C0B2026 */ jal set_variable /* 0F3B24 802CF174 0260282D */ daddu $a1, $s3, $zero /* 0F3B28 802CF178 0220202D */ daddu $a0, $s1, $zero /* 0F3B2C 802CF17C C6000040 */ lwc1 $f0, 0x40($s0) /* 0F3B30 802CF180 4600008D */ trunc.w.s $f2, $f0 /* 0F3B34 802CF184 44061000 */ mfc1 $a2, $f2 -/* 0F3B38 802CF188 0C0B2026 */ jal func_802C8098 +/* 0F3B38 802CF188 0C0B2026 */ jal set_variable /* 0F3B3C 802CF18C 0280282D */ daddu $a1, $s4, $zero .L802CF190: /* 0F3B40 802CF190 24020002 */ addiu $v0, $zero, 2 @@ -1597,7 +1618,7 @@ func_802CF0D4: /* 0F3B74 802CF1C4 AFB10014 */ sw $s1, 0x14($sp) /* 0F3B78 802CF1C8 8E11000C */ lw $s1, 0xc($s0) /* 0F3B7C 802CF1CC 8E250000 */ lw $a1, ($s1) -/* 0F3B80 802CF1D0 0C0B1EAF */ jal func_802C7ABC +/* 0F3B80 802CF1D0 0C0B1EAF */ jal get_variable /* 0F3B84 802CF1D4 26310004 */ addiu $s1, $s1, 4 /* 0F3B88 802CF1D8 0200202D */ daddu $a0, $s0, $zero /* 0F3B8C 802CF1DC 8E310000 */ lw $s1, ($s1) @@ -1620,7 +1641,7 @@ func_802CF0D4: /* 0F3BC8 802CF218 AFB10014 */ sw $s1, 0x14($sp) /* 0F3BCC 802CF21C 8E11000C */ lw $s1, 0xc($s0) /* 0F3BD0 802CF220 8E250000 */ lw $a1, ($s1) -/* 0F3BD4 802CF224 0C0B1EAF */ jal func_802C7ABC +/* 0F3BD4 802CF224 0C0B1EAF */ jal get_variable /* 0F3BD8 802CF228 26310004 */ addiu $s1, $s1, 4 /* 0F3BDC 802CF22C 0200202D */ daddu $a0, $s0, $zero /* 0F3BE0 802CF230 8E310000 */ lw $s1, ($s1) @@ -1639,6 +1660,7 @@ func_802CF0D4: /* 0F3C10 802CF260 03E00008 */ jr $ra /* 0F3C14 802CF264 27BD0020 */ addiu $sp, $sp, 0x20 +EnableNpcShadow: /* 0F3C18 802CF268 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F3C1C 802CF26C AFB10014 */ sw $s1, 0x14($sp) /* 0F3C20 802CF270 0080882D */ daddu $s1, $a0, $zero @@ -1646,11 +1668,11 @@ func_802CF0D4: /* 0F3C28 802CF278 AFB00010 */ sw $s0, 0x10($sp) /* 0F3C2C 802CF27C 8E30000C */ lw $s0, 0xc($s1) /* 0F3C30 802CF280 8E050000 */ lw $a1, ($s0) -/* 0F3C34 802CF284 0C0B1EAF */ jal func_802C7ABC +/* 0F3C34 802CF284 0C0B1EAF */ jal get_variable /* 0F3C38 802CF288 26100004 */ addiu $s0, $s0, 4 /* 0F3C3C 802CF28C 0220202D */ daddu $a0, $s1, $zero /* 0F3C40 802CF290 8E050000 */ lw $a1, ($s0) -/* 0F3C44 802CF294 0C0B1EAF */ jal func_802C7ABC +/* 0F3C44 802CF294 0C0B1EAF */ jal get_variable /* 0F3C48 802CF298 0040802D */ daddu $s0, $v0, $zero /* 0F3C4C 802CF29C 0220202D */ daddu $a0, $s1, $zero /* 0F3C50 802CF2A0 0200282D */ daddu $a1, $s0, $zero @@ -1660,13 +1682,13 @@ func_802CF0D4: /* 0F3C60 802CF2B0 24020002 */ addiu $v0, $zero, 2 /* 0F3C64 802CF2B4 12000005 */ beqz $s0, .L802CF2CC /* 0F3C68 802CF2B8 00000000 */ nop -/* 0F3C6C 802CF2BC 0C00EAE8 */ jal func_8003ABA0 +/* 0F3C6C 802CF2BC 0C00EAE8 */ jal enable_npc_shadow /* 0F3C70 802CF2C0 0040202D */ daddu $a0, $v0, $zero /* 0F3C74 802CF2C4 080B3CB6 */ j func_802CF2D8 /* 0F3C78 802CF2C8 24020002 */ addiu $v0, $zero, 2 .L802CF2CC: -/* 0F3C7C 802CF2CC 0C00EAFF */ jal func_8003ABFC +/* 0F3C7C 802CF2CC 0C00EAFF */ jal disable_npc_shadow /* 0F3C80 802CF2D0 0040202D */ daddu $a0, $v0, $zero /* 0F3C84 802CF2D4 24020002 */ addiu $v0, $zero, 2 func_802CF2D8: @@ -1677,6 +1699,7 @@ func_802CF2D8: /* 0F3C94 802CF2E4 03E00008 */ jr $ra /* 0F3C98 802CF2E8 27BD0020 */ addiu $sp, $sp, 0x20 +EnableNpcBlur: /* 0F3C9C 802CF2EC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F3CA0 802CF2F0 AFB10014 */ sw $s1, 0x14($sp) /* 0F3CA4 802CF2F4 0080882D */ daddu $s1, $a0, $zero @@ -1684,11 +1707,11 @@ func_802CF2D8: /* 0F3CAC 802CF2FC AFB00010 */ sw $s0, 0x10($sp) /* 0F3CB0 802CF300 8E30000C */ lw $s0, 0xc($s1) /* 0F3CB4 802CF304 8E050000 */ lw $a1, ($s0) -/* 0F3CB8 802CF308 0C0B1EAF */ jal func_802C7ABC +/* 0F3CB8 802CF308 0C0B1EAF */ jal get_variable /* 0F3CBC 802CF30C 26100004 */ addiu $s0, $s0, 4 /* 0F3CC0 802CF310 0220202D */ daddu $a0, $s1, $zero /* 0F3CC4 802CF314 8E050000 */ lw $a1, ($s0) -/* 0F3CC8 802CF318 0C0B1EAF */ jal func_802C7ABC +/* 0F3CC8 802CF318 0C0B1EAF */ jal get_variable /* 0F3CCC 802CF31C 0040802D */ daddu $s0, $v0, $zero /* 0F3CD0 802CF320 0220202D */ daddu $a0, $s1, $zero /* 0F3CD4 802CF324 0200282D */ daddu $a1, $s0, $zero @@ -1698,13 +1721,13 @@ func_802CF2D8: /* 0F3CE4 802CF334 24020002 */ addiu $v0, $zero, 2 /* 0F3CE8 802CF338 12000005 */ beqz $s0, .L802CF350 /* 0F3CEC 802CF33C 00000000 */ nop -/* 0F3CF0 802CF340 0C00EB49 */ jal func_8003AD24 +/* 0F3CF0 802CF340 0C00EB49 */ jal enable_npc_blur /* 0F3CF4 802CF344 0040202D */ daddu $a0, $v0, $zero /* 0F3CF8 802CF348 080B3CD7 */ j func_802CF35C /* 0F3CFC 802CF34C 24020002 */ addiu $v0, $zero, 2 .L802CF350: -/* 0F3D00 802CF350 0C00EB6B */ jal func_8003ADAC +/* 0F3D00 802CF350 0C00EB6B */ jal disable_npc_blur /* 0F3D04 802CF354 0040202D */ daddu $a0, $v0, $zero /* 0F3D08 802CF358 24020002 */ addiu $v0, $zero, 2 func_802CF35C: @@ -1715,19 +1738,20 @@ func_802CF35C: /* 0F3D18 802CF368 03E00008 */ jr $ra /* 0F3D1C 802CF36C 27BD0020 */ addiu $sp, $sp, 0x20 +ClearPartnerMoveHistory: /* 0F3D20 802CF370 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3D24 802CF374 AFB00010 */ sw $s0, 0x10($sp) /* 0F3D28 802CF378 0080802D */ daddu $s0, $a0, $zero /* 0F3D2C 802CF37C AFBF0014 */ sw $ra, 0x14($sp) /* 0F3D30 802CF380 8E02000C */ lw $v0, 0xc($s0) -/* 0F3D34 802CF384 0C0B1EAF */ jal func_802C7ABC +/* 0F3D34 802CF384 0C0B1EAF */ jal get_variable /* 0F3D38 802CF388 8C450000 */ lw $a1, ($v0) /* 0F3D3C 802CF38C 0200202D */ daddu $a0, $s0, $zero /* 0F3D40 802CF390 0C0B36B0 */ jal func_802CDAC0 /* 0F3D44 802CF394 0040282D */ daddu $a1, $v0, $zero /* 0F3D48 802CF398 50400004 */ beql $v0, $zero, .L802CF3AC /* 0F3D4C 802CF39C 24020002 */ addiu $v0, $zero, 2 -/* 0F3D50 802CF3A0 0C03BD17 */ jal func_800EF45C +/* 0F3D50 802CF3A0 0C03BD17 */ jal clear_partner_move_history /* 0F3D54 802CF3A4 0040202D */ daddu $a0, $v0, $zero /* 0F3D58 802CF3A8 24020002 */ addiu $v0, $zero, 2 .L802CF3AC: @@ -1736,12 +1760,13 @@ func_802CF35C: /* 0F3D64 802CF3B4 03E00008 */ jr $ra /* 0F3D68 802CF3B8 27BD0018 */ addiu $sp, $sp, 0x18 +NpcSetHomePosToCurrent: /* 0F3D6C 802CF3BC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3D70 802CF3C0 AFB00010 */ sw $s0, 0x10($sp) /* 0F3D74 802CF3C4 0080802D */ daddu $s0, $a0, $zero /* 0F3D78 802CF3C8 AFBF0014 */ sw $ra, 0x14($sp) /* 0F3D7C 802CF3CC 8E02000C */ lw $v0, 0xc($s0) -/* 0F3D80 802CF3D0 0C0B1EAF */ jal func_802C7ABC +/* 0F3D80 802CF3D0 0C0B1EAF */ jal get_variable /* 0F3D84 802CF3D4 8C450000 */ lw $a1, ($v0) /* 0F3D88 802CF3D8 0200202D */ daddu $a0, $s0, $zero /* 0F3D8C 802CF3DC 0C0B36B0 */ jal func_802CDAC0 @@ -1769,6 +1794,7 @@ func_802CF35C: /* 0F3DE0 802CF430 03E00008 */ jr $ra /* 0F3DE4 802CF434 27BD0018 */ addiu $sp, $sp, 0x18 +GetPartnerPos: /* 0F3DE8 802CF438 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F3DEC 802CF43C AFB10014 */ sw $s1, 0x14($sp) /* 0F3DF0 802CF440 0080882D */ daddu $s1, $a0, $zero @@ -1782,7 +1808,7 @@ func_802CF35C: /* 0F3E10 802CF460 24420004 */ addiu $v0, $v0, 4 /* 0F3E14 802CF464 8C530000 */ lw $s3, ($v0) /* 0F3E18 802CF468 8C540004 */ lw $s4, 4($v0) -/* 0F3E1C 802CF46C 0C00EABB */ jal func_8003AAEC +/* 0F3E1C 802CF46C 0C00EABB */ jal get_npc_unsafe /* 0F3E20 802CF470 2404FFFC */ addiu $a0, $zero, -4 /* 0F3E24 802CF474 0040802D */ daddu $s0, $v0, $zero /* 0F3E28 802CF478 12000012 */ beqz $s0, .L802CF4C4 @@ -1790,19 +1816,19 @@ func_802CF35C: /* 0F3E30 802CF480 C6000038 */ lwc1 $f0, 0x38($s0) /* 0F3E34 802CF484 4600008D */ trunc.w.s $f2, $f0 /* 0F3E38 802CF488 44061000 */ mfc1 $a2, $f2 -/* 0F3E3C 802CF48C 0C0B2026 */ jal func_802C8098 +/* 0F3E3C 802CF48C 0C0B2026 */ jal set_variable /* 0F3E40 802CF490 0240282D */ daddu $a1, $s2, $zero /* 0F3E44 802CF494 0220202D */ daddu $a0, $s1, $zero /* 0F3E48 802CF498 C600003C */ lwc1 $f0, 0x3c($s0) /* 0F3E4C 802CF49C 4600008D */ trunc.w.s $f2, $f0 /* 0F3E50 802CF4A0 44061000 */ mfc1 $a2, $f2 -/* 0F3E54 802CF4A4 0C0B2026 */ jal func_802C8098 +/* 0F3E54 802CF4A4 0C0B2026 */ jal set_variable /* 0F3E58 802CF4A8 0260282D */ daddu $a1, $s3, $zero /* 0F3E5C 802CF4AC 0220202D */ daddu $a0, $s1, $zero /* 0F3E60 802CF4B0 C6000040 */ lwc1 $f0, 0x40($s0) /* 0F3E64 802CF4B4 4600008D */ trunc.w.s $f2, $f0 /* 0F3E68 802CF4B8 44061000 */ mfc1 $a2, $f2 -/* 0F3E6C 802CF4BC 0C0B2026 */ jal func_802C8098 +/* 0F3E6C 802CF4BC 0C0B2026 */ jal set_variable /* 0F3E70 802CF4C0 0280282D */ daddu $a1, $s4, $zero .L802CF4C4: /* 0F3E74 802CF4C4 24020002 */ addiu $v0, $zero, 2 @@ -1815,10 +1841,11 @@ func_802CF35C: /* 0F3E90 802CF4E0 03E00008 */ jr $ra /* 0F3E94 802CF4E4 27BD0028 */ addiu $sp, $sp, 0x28 +DisablePartnerAI: /* 0F3E98 802CF4E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3E9C 802CF4EC AFBF0010 */ sw $ra, 0x10($sp) /* 0F3EA0 802CF4F0 8C82000C */ lw $v0, 0xc($a0) -/* 0F3EA4 802CF4F4 0C0B1EAF */ jal func_802C7ABC +/* 0F3EA4 802CF4F4 0C0B1EAF */ jal get_variable /* 0F3EA8 802CF4F8 8C450000 */ lw $a1, ($v0) /* 0F3EAC 802CF4FC 14400005 */ bnez $v0, .L802CF514 /* 0F3EB0 802CF500 00000000 */ nop @@ -1836,9 +1863,10 @@ func_802CF51C: /* 0F3ED4 802CF524 03E00008 */ jr $ra /* 0F3ED8 802CF528 27BD0018 */ addiu $sp, $sp, 0x18 +EnablePartnerAI: /* 0F3EDC 802CF52C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3EE0 802CF530 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F3EE4 802CF534 0C03BCCA */ jal func_800EF328 +/* 0F3EE4 802CF534 0C03BCCA */ jal enable_partner_ai /* 0F3EE8 802CF538 00000000 */ nop /* 0F3EEC 802CF53C 8FBF0010 */ lw $ra, 0x10($sp) /* 0F3EF0 802CF540 24020002 */ addiu $v0, $zero, 2 @@ -1857,7 +1885,7 @@ func_802CF51C: /* 0F3F1C 802CF56C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F3F20 802CF570 AFBF0010 */ sw $ra, 0x10($sp) /* 0F3F24 802CF574 8C82000C */ lw $v0, 0xc($a0) -/* 0F3F28 802CF578 0C0B1EAF */ jal func_802C7ABC +/* 0F3F28 802CF578 0C0B1EAF */ jal get_variable /* 0F3F2C 802CF57C 8C450000 */ lw $a1, ($v0) /* 0F3F30 802CF580 0040202D */ daddu $a0, $v0, $zero /* 0F3F34 802CF584 24020002 */ addiu $v0, $zero, 2 @@ -1877,6 +1905,7 @@ func_802CF5A8: /* 0F3F60 802CF5B0 03E00008 */ jr $ra /* 0F3F64 802CF5B4 27BD0018 */ addiu $sp, $sp, 0x18 +BringPartnerOut: /* 0F3F68 802CF5B8 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0F3F6C 802CF5BC AFB10024 */ sw $s1, 0x24($sp) /* 0F3F70 802CF5C0 AFB20028 */ sw $s2, 0x28($sp) @@ -1896,7 +1925,7 @@ func_802CF5A8: /* 0F3FA8 802CF5F8 10A00089 */ beqz $a1, .L802CF820 /* 0F3FAC 802CF5FC 27B10010 */ addiu $s1, $sp, 0x10 /* 0F3FB0 802CF600 8C450000 */ lw $a1, ($v0) -/* 0F3FB4 802CF604 0C0B1EAF */ jal func_802C7ABC +/* 0F3FB4 802CF604 0C0B1EAF */ jal get_variable /* 0F3FB8 802CF608 00000000 */ nop /* 0F3FBC 802CF60C 3C038011 */ lui $v1, 0x8011 /* 0F3FC0 802CF610 2463F290 */ addiu $v1, $v1, -0xd70 @@ -1910,7 +1939,7 @@ func_802CF5A8: /* 0F3FE0 802CF630 24020002 */ addiu $v0, $zero, 2 .L802CF634: -/* 0F3FE4 802CF634 0C00EABB */ jal func_8003AAEC +/* 0F3FE4 802CF634 0C00EABB */ jal get_npc_unsafe /* 0F3FE8 802CF638 2404FFFC */ addiu $a0, $zero, -4 /* 0F3FEC 802CF63C 0040802D */ daddu $s0, $v0, $zero /* 0F3FF0 802CF640 2402FFFB */ addiu $v0, $zero, -5 @@ -1932,7 +1961,7 @@ func_802CF5A8: /* 0F4030 802CF680 0040202D */ daddu $a0, $v0, $zero /* 0F4034 802CF684 3C01802E */ lui $at, 0x802e /* 0F4038 802CF688 AC24AE44 */ sw $a0, -0x51bc($at) -/* 0F403C 802CF68C 0C00E2B7 */ jal func_80038ADC +/* 0F403C 802CF68C 0C00E2B7 */ jal get_npc_by_index /* 0F4040 802CF690 2413000A */ addiu $s3, $zero, 0xa /* 0F4044 802CF694 0040882D */ daddu $s1, $v0, $zero /* 0F4048 802CF698 2402FFFC */ addiu $v0, $zero, -4 @@ -1977,13 +2006,13 @@ func_802CF5A8: /* 0F40E4 802CF734 E6200018 */ swc1 $f0, 0x18($s1) /* 0F40E8 802CF738 E6220014 */ swc1 $f2, 0x14($s1) /* 0F40EC 802CF73C 4600A386 */ mov.s $f14, $f20 -/* 0F40F0 802CF740 0C00A7B5 */ jal func_80029ED4 +/* 0F40F0 802CF740 0C00A7B5 */ jal dist2D /* 0F40F4 802CF744 E6340040 */ swc1 $f20, 0x40($s1) /* 0F40F8 802CF748 4600C306 */ mov.s $f12, $f24 /* 0F40FC 802CF74C 4406D000 */ mfc1 $a2, $f26 /* 0F4100 802CF750 4407B000 */ mfc1 $a3, $f22 /* 0F4104 802CF754 4600A386 */ mov.s $f14, $f20 -/* 0F4108 802CF758 0C00A720 */ jal func_80029C80 +/* 0F4108 802CF758 0C00A720 */ jal atan2 /* 0F410C 802CF75C E6200010 */ swc1 $f0, 0x10($s1) /* 0F4110 802CF760 C6220010 */ lwc1 $f2, 0x10($s1) /* 0F4114 802CF764 C6240018 */ lwc1 $f4, 0x18($s1) @@ -2038,7 +2067,7 @@ func_802CF5A8: .L802CF820: /* 0F41D0 802CF820 3C04802E */ lui $a0, 0x802e /* 0F41D4 802CF824 8C84AE44 */ lw $a0, -0x51bc($a0) -/* 0F41D8 802CF828 0C00E2B7 */ jal func_80038ADC +/* 0F41D8 802CF828 0C00E2B7 */ jal get_npc_by_index /* 0F41DC 802CF82C 00000000 */ nop /* 0F41E0 802CF830 0040882D */ daddu $s1, $v0, $zero /* 0F41E4 802CF834 C620001C */ lwc1 $f0, 0x1c($s1) @@ -2064,7 +2093,7 @@ func_802CF5A8: .L802CF884: /* 0F4234 802CF884 8E250018 */ lw $a1, 0x18($s1) /* 0F4238 802CF888 8E26000C */ lw $a2, 0xc($s1) -/* 0F423C 802CF88C 0C00EA95 */ jal func_8003AA54 +/* 0F423C 802CF88C 0C00EA95 */ jal npc_move_heading /* 0F4240 802CF890 0220202D */ daddu $a0, $s1, $zero /* 0F4244 802CF894 8622008E */ lh $v0, 0x8e($s1) /* 0F4248 802CF898 3C014120 */ lui $at, 0x4120 @@ -2112,7 +2141,7 @@ func_802CF5A8: /* 0F42E4 802CF934 E6200054 */ swc1 $f0, 0x54($s1) /* 0F42E8 802CF938 E6200058 */ swc1 $f0, 0x58($s1) /* 0F42EC 802CF93C E620005C */ swc1 $f0, 0x5c($s1) -/* 0F42F0 802CF940 0C00A6C9 */ jal func_80029B24 +/* 0F42F0 802CF940 0C00A6C9 */ jal clamp_angle /* 0F42F4 802CF944 AE220028 */ sw $v0, 0x28($s1) /* 0F42F8 802CF948 24020002 */ addiu $v0, $zero, 2 /* 0F42FC 802CF94C E620000C */ swc1 $f0, 0xc($s1) @@ -2132,6 +2161,7 @@ func_802CF950: /* 0F4330 802CF980 03E00008 */ jr $ra /* 0F4334 802CF984 27BD0068 */ addiu $sp, $sp, 0x68 +PutPartnerAway: /* 0F4338 802CF988 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0F433C 802CF98C AFB00010 */ sw $s0, 0x10($sp) /* 0F4340 802CF990 00A0802D */ daddu $s0, $a1, $zero @@ -2143,7 +2173,7 @@ func_802CF950: /* 0F4358 802CF9A8 F7B80030 */ sdc1 $f24, 0x30($sp) /* 0F435C 802CF9AC F7B60028 */ sdc1 $f22, 0x28($sp) /* 0F4360 802CF9B0 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0F4364 802CF9B4 0C00EABB */ jal func_8003AAEC +/* 0F4364 802CF9B4 0C00EABB */ jal get_npc_unsafe /* 0F4368 802CF9B8 2404FFFC */ addiu $a0, $zero, -4 /* 0F436C 802CF9BC 3C048011 */ lui $a0, 0x8011 /* 0F4370 802CF9C0 2484EFC8 */ addiu $a0, $a0, -0x1038 @@ -2188,13 +2218,13 @@ func_802CF950: /* 0F440C 802CFA5C 4600C386 */ mov.s $f14, $f24 /* 0F4410 802CFA60 E6200018 */ swc1 $f0, 0x18($s1) /* 0F4414 802CFA64 E6220014 */ swc1 $f2, 0x14($s1) -/* 0F4418 802CFA68 0C00A7B5 */ jal func_80029ED4 +/* 0F4418 802CFA68 0C00A7B5 */ jal dist2D /* 0F441C 802CFA6C E6340068 */ swc1 $f20, 0x68($s1) /* 0F4420 802CFA70 4600D306 */ mov.s $f12, $f26 /* 0F4424 802CFA74 4406B000 */ mfc1 $a2, $f22 /* 0F4428 802CFA78 4407A000 */ mfc1 $a3, $f20 /* 0F442C 802CFA7C 4600C386 */ mov.s $f14, $f24 -/* 0F4430 802CFA80 0C00A720 */ jal func_80029C80 +/* 0F4430 802CFA80 0C00A720 */ jal atan2 /* 0F4434 802CFA84 E6200010 */ swc1 $f0, 0x10($s1) /* 0F4438 802CFA88 C6220010 */ lwc1 $f2, 0x10($s1) /* 0F443C 802CFA8C C6240018 */ lwc1 $f4, 0x18($s1) @@ -2269,7 +2299,7 @@ func_802CF950: .L802CFB94: /* 0F4544 802CFB94 8E26000C */ lw $a2, 0xc($s1) /* 0F4548 802CFB98 8E250018 */ lw $a1, 0x18($s1) -/* 0F454C 802CFB9C 0C00EA95 */ jal func_8003AA54 +/* 0F454C 802CFB9C 0C00EA95 */ jal npc_move_heading /* 0F4550 802CFBA0 0220202D */ daddu $a0, $s1, $zero /* 0F4554 802CFBA4 8622008E */ lh $v0, 0x8e($s1) /* 0F4558 802CFBA8 3C014120 */ lui $at, 0x4120 @@ -2308,7 +2338,7 @@ func_802CF950: /* 0F45D8 802CFC28 E620003C */ swc1 $f0, 0x3c($s1) /* 0F45DC 802CFC2C 0C00E228 */ jal func_800388A0 /* 0F45E0 802CFC30 AE220028 */ sw $v0, 0x28($s1) -/* 0F45E4 802CFC34 0C00EABB */ jal func_8003AAEC +/* 0F45E4 802CFC34 0C00EABB */ jal get_npc_unsafe /* 0F45E8 802CFC38 2404FFFB */ addiu $a0, $zero, -5 /* 0F45EC 802CFC3C 2403FFFC */ addiu $v1, $zero, -4 /* 0F45F0 802CFC40 A04300A4 */ sb $v1, 0xa4($v0) @@ -2328,12 +2358,13 @@ func_802CFC48: /* 0F461C 802CFC6C 03E00008 */ jr $ra /* 0F4620 802CFC70 27BD0050 */ addiu $sp, $sp, 0x50 +GetCurrentPartnerID: /* 0F4624 802CFC74 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F4628 802CFC78 AFBF0010 */ sw $ra, 0x10($sp) /* 0F462C 802CFC7C 8C82000C */ lw $v0, 0xc($a0) /* 0F4630 802CFC80 3C068011 */ lui $a2, 0x8011 /* 0F4634 802CFC84 80C6F2A2 */ lb $a2, -0xd5e($a2) -/* 0F4638 802CFC88 0C0B2026 */ jal func_802C8098 +/* 0F4638 802CFC88 0C0B2026 */ jal set_variable /* 0F463C 802CFC8C 8C450000 */ lw $a1, ($v0) /* 0F4640 802CFC90 8FBF0010 */ lw $ra, 0x10($sp) /* 0F4644 802CFC94 24020002 */ addiu $v0, $zero, 2 @@ -2350,7 +2381,7 @@ func_802CFC48: /* 0F466C 802CFCBC 8C510000 */ lw $s1, ($v0) /* 0F4670 802CFCC0 0200202D */ daddu $a0, $s0, $zero /* 0F4674 802CFCC4 0040302D */ daddu $a2, $v0, $zero -/* 0F4678 802CFCC8 0C0B2026 */ jal func_802C8098 +/* 0F4678 802CFCC8 0C0B2026 */ jal set_variable /* 0F467C 802CFCCC 0220282D */ daddu $a1, $s1, $zero /* 0F4680 802CFCD0 8FBF0018 */ lw $ra, 0x18($sp) /* 0F4684 802CFCD4 8FB10014 */ lw $s1, 0x14($sp) @@ -2369,7 +2400,7 @@ func_802CFC48: /* 0F46B4 802CFD04 8C510000 */ lw $s1, ($v0) /* 0F46B8 802CFD08 0200202D */ daddu $a0, $s0, $zero /* 0F46BC 802CFD0C 0040302D */ daddu $a2, $v0, $zero -/* 0F46C0 802CFD10 0C0B2026 */ jal func_802C8098 +/* 0F46C0 802CFD10 0C0B2026 */ jal set_variable /* 0F46C4 802CFD14 0220282D */ daddu $a1, $s1, $zero /* 0F46C8 802CFD18 8FBF0018 */ lw $ra, 0x18($sp) /* 0F46CC 802CFD1C 8FB10014 */ lw $s1, 0x14($sp) @@ -2390,31 +2421,31 @@ func_802CFC48: /* 0F4704 802CFD54 AFB00020 */ sw $s0, 0x20($sp) /* 0F4708 802CFD58 8E30000C */ lw $s0, 0xc($s1) /* 0F470C 802CFD5C 8E050000 */ lw $a1, ($s0) -/* 0F4710 802CFD60 0C0B1EAF */ jal func_802C7ABC +/* 0F4710 802CFD60 0C0B1EAF */ jal get_variable /* 0F4714 802CFD64 26100004 */ addiu $s0, $s0, 4 /* 0F4718 802CFD68 8E050000 */ lw $a1, ($s0) /* 0F471C 802CFD6C 26100004 */ addiu $s0, $s0, 4 /* 0F4720 802CFD70 0220202D */ daddu $a0, $s1, $zero -/* 0F4724 802CFD74 0C0B1EAF */ jal func_802C7ABC +/* 0F4724 802CFD74 0C0B1EAF */ jal get_variable /* 0F4728 802CFD78 0040902D */ daddu $s2, $v0, $zero /* 0F472C 802CFD7C 8E050000 */ lw $a1, ($s0) /* 0F4730 802CFD80 26100004 */ addiu $s0, $s0, 4 /* 0F4734 802CFD84 0220202D */ daddu $a0, $s1, $zero -/* 0F4738 802CFD88 0C0B1EAF */ jal func_802C7ABC +/* 0F4738 802CFD88 0C0B1EAF */ jal get_variable /* 0F473C 802CFD8C 0040B02D */ daddu $s6, $v0, $zero /* 0F4740 802CFD90 8E050000 */ lw $a1, ($s0) /* 0F4744 802CFD94 26100004 */ addiu $s0, $s0, 4 /* 0F4748 802CFD98 0220202D */ daddu $a0, $s1, $zero -/* 0F474C 802CFD9C 0C0B1EAF */ jal func_802C7ABC +/* 0F474C 802CFD9C 0C0B1EAF */ jal get_variable /* 0F4750 802CFDA0 0040A82D */ daddu $s5, $v0, $zero /* 0F4754 802CFDA4 8E050000 */ lw $a1, ($s0) /* 0F4758 802CFDA8 26100004 */ addiu $s0, $s0, 4 /* 0F475C 802CFDAC 0220202D */ daddu $a0, $s1, $zero -/* 0F4760 802CFDB0 0C0B1EAF */ jal func_802C7ABC +/* 0F4760 802CFDB0 0C0B1EAF */ jal get_variable /* 0F4764 802CFDB4 0040A02D */ daddu $s4, $v0, $zero /* 0F4768 802CFDB8 0220202D */ daddu $a0, $s1, $zero /* 0F476C 802CFDBC 8E050000 */ lw $a1, ($s0) -/* 0F4770 802CFDC0 0C0B1EAF */ jal func_802C7ABC +/* 0F4770 802CFDC0 0C0B1EAF */ jal get_variable /* 0F4774 802CFDC4 0040982D */ daddu $s3, $v0, $zero /* 0F4778 802CFDC8 0220202D */ daddu $a0, $s1, $zero /* 0F477C 802CFDCC 0240282D */ daddu $a1, $s2, $zero @@ -2450,7 +2481,7 @@ func_802CFC48: /* 0F47EC 802CFE3C AFB10014 */ sw $s1, 0x14($sp) /* 0F47F0 802CFE40 8E11000C */ lw $s1, 0xc($s0) /* 0F47F4 802CFE44 8E250000 */ lw $a1, ($s1) -/* 0F47F8 802CFE48 0C0B1EAF */ jal func_802C7ABC +/* 0F47F8 802CFE48 0C0B1EAF */ jal get_variable /* 0F47FC 802CFE4C 26310004 */ addiu $s1, $s1, 4 /* 0F4800 802CFE50 0200202D */ daddu $a0, $s0, $zero /* 0F4804 802CFE54 8E310000 */ lw $s1, ($s1) @@ -2473,11 +2504,11 @@ func_802CFC48: /* 0F4840 802CFE90 AFB00010 */ sw $s0, 0x10($sp) /* 0F4844 802CFE94 8E30000C */ lw $s0, 0xc($s1) /* 0F4848 802CFE98 8E050000 */ lw $a1, ($s0) -/* 0F484C 802CFE9C 0C0B1EAF */ jal func_802C7ABC +/* 0F484C 802CFE9C 0C0B1EAF */ jal get_variable /* 0F4850 802CFEA0 26100004 */ addiu $s0, $s0, 4 /* 0F4854 802CFEA4 0220202D */ daddu $a0, $s1, $zero /* 0F4858 802CFEA8 8E050000 */ lw $a1, ($s0) -/* 0F485C 802CFEAC 0C0B1EAF */ jal func_802C7ABC +/* 0F485C 802CFEAC 0C0B1EAF */ jal get_variable /* 0F4860 802CFEB0 0040802D */ daddu $s0, $v0, $zero /* 0F4864 802CFEB4 0220202D */ daddu $a0, $s1, $zero /* 0F4868 802CFEB8 0200282D */ daddu $a1, $s0, $zero @@ -2506,26 +2537,26 @@ func_802CFC48: /* 0F48BC 802CFF0C AFB00018 */ sw $s0, 0x18($sp) /* 0F48C0 802CFF10 8E30000C */ lw $s0, 0xc($s1) /* 0F48C4 802CFF14 8E050000 */ lw $a1, ($s0) -/* 0F48C8 802CFF18 0C0B1EAF */ jal func_802C7ABC +/* 0F48C8 802CFF18 0C0B1EAF */ jal get_variable /* 0F48CC 802CFF1C 26100004 */ addiu $s0, $s0, 4 /* 0F48D0 802CFF20 8E050000 */ lw $a1, ($s0) /* 0F48D4 802CFF24 26100004 */ addiu $s0, $s0, 4 /* 0F48D8 802CFF28 0220202D */ daddu $a0, $s1, $zero -/* 0F48DC 802CFF2C 0C0B1EAF */ jal func_802C7ABC +/* 0F48DC 802CFF2C 0C0B1EAF */ jal get_variable /* 0F48E0 802CFF30 0040902D */ daddu $s2, $v0, $zero /* 0F48E4 802CFF34 8E050000 */ lw $a1, ($s0) /* 0F48E8 802CFF38 26100004 */ addiu $s0, $s0, 4 /* 0F48EC 802CFF3C 0220202D */ daddu $a0, $s1, $zero -/* 0F48F0 802CFF40 0C0B1EAF */ jal func_802C7ABC +/* 0F48F0 802CFF40 0C0B1EAF */ jal get_variable /* 0F48F4 802CFF44 0040A82D */ daddu $s5, $v0, $zero /* 0F48F8 802CFF48 8E050000 */ lw $a1, ($s0) /* 0F48FC 802CFF4C 26100004 */ addiu $s0, $s0, 4 /* 0F4900 802CFF50 0220202D */ daddu $a0, $s1, $zero -/* 0F4904 802CFF54 0C0B1EAF */ jal func_802C7ABC +/* 0F4904 802CFF54 0C0B1EAF */ jal get_variable /* 0F4908 802CFF58 0040A02D */ daddu $s4, $v0, $zero /* 0F490C 802CFF5C 0220202D */ daddu $a0, $s1, $zero /* 0F4910 802CFF60 8E050000 */ lw $a1, ($s0) -/* 0F4914 802CFF64 0C0B1EAF */ jal func_802C7ABC +/* 0F4914 802CFF64 0C0B1EAF */ jal get_variable /* 0F4918 802CFF68 0040982D */ daddu $s3, $v0, $zero /* 0F491C 802CFF6C 0220202D */ daddu $a0, $s1, $zero /* 0F4920 802CFF70 0240282D */ daddu $a1, $s2, $zero @@ -2564,46 +2595,46 @@ func_802CFC48: /* 0F499C 802CFFEC AFB00020 */ sw $s0, 0x20($sp) /* 0F49A0 802CFFF0 8E30000C */ lw $s0, 0xc($s1) /* 0F49A4 802CFFF4 8E050000 */ lw $a1, ($s0) -/* 0F49A8 802CFFF8 0C0B1EAF */ jal func_802C7ABC +/* 0F49A8 802CFFF8 0C0B1EAF */ jal get_variable /* 0F49AC 802CFFFC 26100004 */ addiu $s0, $s0, 4 /* 0F49B0 802D0000 8E050000 */ lw $a1, ($s0) /* 0F49B4 802D0004 26100004 */ addiu $s0, $s0, 4 /* 0F49B8 802D0008 0220202D */ daddu $a0, $s1, $zero -/* 0F49BC 802D000C 0C0B1EAF */ jal func_802C7ABC +/* 0F49BC 802D000C 0C0B1EAF */ jal get_variable /* 0F49C0 802D0010 0040902D */ daddu $s2, $v0, $zero /* 0F49C4 802D0014 8E050000 */ lw $a1, ($s0) /* 0F49C8 802D0018 26100004 */ addiu $s0, $s0, 4 /* 0F49CC 802D001C 0220202D */ daddu $a0, $s1, $zero -/* 0F49D0 802D0020 0C0B1EAF */ jal func_802C7ABC +/* 0F49D0 802D0020 0C0B1EAF */ jal get_variable /* 0F49D4 802D0024 AFA20018 */ sw $v0, 0x18($sp) /* 0F49D8 802D0028 8E050000 */ lw $a1, ($s0) /* 0F49DC 802D002C 26100004 */ addiu $s0, $s0, 4 /* 0F49E0 802D0030 0220202D */ daddu $a0, $s1, $zero -/* 0F49E4 802D0034 0C0B1EAF */ jal func_802C7ABC +/* 0F49E4 802D0034 0C0B1EAF */ jal get_variable /* 0F49E8 802D0038 0040F02D */ daddu $fp, $v0, $zero /* 0F49EC 802D003C 8E050000 */ lw $a1, ($s0) /* 0F49F0 802D0040 26100004 */ addiu $s0, $s0, 4 /* 0F49F4 802D0044 0220202D */ daddu $a0, $s1, $zero -/* 0F49F8 802D0048 0C0B1EAF */ jal func_802C7ABC +/* 0F49F8 802D0048 0C0B1EAF */ jal get_variable /* 0F49FC 802D004C 0040B82D */ daddu $s7, $v0, $zero /* 0F4A00 802D0050 8E050000 */ lw $a1, ($s0) /* 0F4A04 802D0054 26100004 */ addiu $s0, $s0, 4 /* 0F4A08 802D0058 0220202D */ daddu $a0, $s1, $zero -/* 0F4A0C 802D005C 0C0B1EAF */ jal func_802C7ABC +/* 0F4A0C 802D005C 0C0B1EAF */ jal get_variable /* 0F4A10 802D0060 0040B02D */ daddu $s6, $v0, $zero /* 0F4A14 802D0064 8E050000 */ lw $a1, ($s0) /* 0F4A18 802D0068 26100004 */ addiu $s0, $s0, 4 /* 0F4A1C 802D006C 0220202D */ daddu $a0, $s1, $zero -/* 0F4A20 802D0070 0C0B1EAF */ jal func_802C7ABC +/* 0F4A20 802D0070 0C0B1EAF */ jal get_variable /* 0F4A24 802D0074 0040A82D */ daddu $s5, $v0, $zero /* 0F4A28 802D0078 8E050000 */ lw $a1, ($s0) /* 0F4A2C 802D007C 26100004 */ addiu $s0, $s0, 4 /* 0F4A30 802D0080 0220202D */ daddu $a0, $s1, $zero -/* 0F4A34 802D0084 0C0B1EAF */ jal func_802C7ABC +/* 0F4A34 802D0084 0C0B1EAF */ jal get_variable /* 0F4A38 802D0088 0040A02D */ daddu $s4, $v0, $zero /* 0F4A3C 802D008C 0220202D */ daddu $a0, $s1, $zero /* 0F4A40 802D0090 8E050000 */ lw $a1, ($s0) -/* 0F4A44 802D0094 0C0B1EAF */ jal func_802C7ABC +/* 0F4A44 802D0094 0C0B1EAF */ jal get_variable /* 0F4A48 802D0098 0040982D */ daddu $s3, $v0, $zero /* 0F4A4C 802D009C 0220202D */ daddu $a0, $s1, $zero /* 0F4A50 802D00A0 0240282D */ daddu $a1, $s2, $zero @@ -2638,6 +2669,7 @@ func_802CFC48: /* 0F4AC0 802D0110 03E00008 */ jr $ra /* 0F4AC4 802D0114 27BD0048 */ addiu $sp, $sp, 0x48 +SetNpcEffect: /* 0F4AC8 802D0118 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F4ACC 802D011C AFB10014 */ sw $s1, 0x14($sp) /* 0F4AD0 802D0120 0080882D */ daddu $s1, $a0, $zero @@ -2647,16 +2679,16 @@ func_802CFC48: /* 0F4AE0 802D0130 AFB00010 */ sw $s0, 0x10($sp) /* 0F4AE4 802D0134 8E30000C */ lw $s0, 0xc($s1) /* 0F4AE8 802D0138 8E050000 */ lw $a1, ($s0) -/* 0F4AEC 802D013C 0C0B1EAF */ jal func_802C7ABC +/* 0F4AEC 802D013C 0C0B1EAF */ jal get_variable /* 0F4AF0 802D0140 26100004 */ addiu $s0, $s0, 4 /* 0F4AF4 802D0144 8E050000 */ lw $a1, ($s0) /* 0F4AF8 802D0148 26100004 */ addiu $s0, $s0, 4 /* 0F4AFC 802D014C 0220202D */ daddu $a0, $s1, $zero -/* 0F4B00 802D0150 0C0B1EAF */ jal func_802C7ABC +/* 0F4B00 802D0150 0C0B1EAF */ jal get_variable /* 0F4B04 802D0154 0040902D */ daddu $s2, $v0, $zero /* 0F4B08 802D0158 0220202D */ daddu $a0, $s1, $zero /* 0F4B0C 802D015C 8E050000 */ lw $a1, ($s0) -/* 0F4B10 802D0160 0C0B1EAF */ jal func_802C7ABC +/* 0F4B10 802D0160 0C0B1EAF */ jal get_variable /* 0F4B14 802D0164 0040982D */ daddu $s3, $v0, $zero /* 0F4B18 802D0168 0220202D */ daddu $a0, $s1, $zero /* 0F4B1C 802D016C 0240282D */ daddu $a1, $s2, $zero @@ -2677,6 +2709,7 @@ func_802CFC48: /* 0F4B54 802D01A4 03E00008 */ jr $ra /* 0F4B58 802D01A8 27BD0028 */ addiu $sp, $sp, 0x28 +PlaySoundAtNpc: /* 0F4B5C 802D01AC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F4B60 802D01B0 AFB1001C */ sw $s1, 0x1c($sp) /* 0F4B64 802D01B4 0080882D */ daddu $s1, $a0, $zero @@ -2685,16 +2718,16 @@ func_802CFC48: /* 0F4B70 802D01C0 AFB00018 */ sw $s0, 0x18($sp) /* 0F4B74 802D01C4 8E30000C */ lw $s0, 0xc($s1) /* 0F4B78 802D01C8 8E050000 */ lw $a1, ($s0) -/* 0F4B7C 802D01CC 0C0B1EAF */ jal func_802C7ABC +/* 0F4B7C 802D01CC 0C0B1EAF */ jal get_variable /* 0F4B80 802D01D0 26100004 */ addiu $s0, $s0, 4 /* 0F4B84 802D01D4 8E050000 */ lw $a1, ($s0) /* 0F4B88 802D01D8 26100004 */ addiu $s0, $s0, 4 /* 0F4B8C 802D01DC 0220202D */ daddu $a0, $s1, $zero -/* 0F4B90 802D01E0 0C0B1EAF */ jal func_802C7ABC +/* 0F4B90 802D01E0 0C0B1EAF */ jal get_variable /* 0F4B94 802D01E4 0040902D */ daddu $s2, $v0, $zero /* 0F4B98 802D01E8 0220202D */ daddu $a0, $s1, $zero /* 0F4B9C 802D01EC 8E050000 */ lw $a1, ($s0) -/* 0F4BA0 802D01F0 0C0B1EAF */ jal func_802C7ABC +/* 0F4BA0 802D01F0 0C0B1EAF */ jal get_variable /* 0F4BA4 802D01F4 0040802D */ daddu $s0, $v0, $zero /* 0F4BA8 802D01F8 0220202D */ daddu $a0, $s1, $zero /* 0F4BAC 802D01FC 0240282D */ daddu $a1, $s2, $zero @@ -2706,7 +2739,7 @@ func_802CFC48: /* 0F4BC4 802D0214 E7A00010 */ swc1 $f0, 0x10($sp) /* 0F4BC8 802D0218 8C460038 */ lw $a2, 0x38($v0) /* 0F4BCC 802D021C 8C47003C */ lw $a3, 0x3c($v0) -/* 0F4BD0 802D0220 0C052757 */ jal func_80149D5C +/* 0F4BD0 802D0220 0C052757 */ jal play_sound_at_position /* 0F4BD4 802D0224 0220282D */ daddu $a1, $s1, $zero .L802D0228: /* 0F4BD8 802D0228 24020002 */ addiu $v0, $zero, 2 @@ -2724,11 +2757,11 @@ func_802CFC48: /* 0F4C04 802D0254 AFB00010 */ sw $s0, 0x10($sp) /* 0F4C08 802D0258 8E30000C */ lw $s0, 0xc($s1) /* 0F4C0C 802D025C 8E050000 */ lw $a1, ($s0) -/* 0F4C10 802D0260 0C0B1EAF */ jal func_802C7ABC +/* 0F4C10 802D0260 0C0B1EAF */ jal get_variable /* 0F4C14 802D0264 26100004 */ addiu $s0, $s0, 4 /* 0F4C18 802D0268 0220202D */ daddu $a0, $s1, $zero /* 0F4C1C 802D026C 8E050000 */ lw $a1, ($s0) -/* 0F4C20 802D0270 0C0B1EAF */ jal func_802C7ABC +/* 0F4C20 802D0270 0C0B1EAF */ jal get_variable /* 0F4C24 802D0274 0040802D */ daddu $s0, $v0, $zero /* 0F4C28 802D0278 0220202D */ daddu $a0, $s1, $zero /* 0F4C2C 802D027C 0200282D */ daddu $a1, $s0, $zero diff --git a/papermario/asm/code_f270_len_1190.s b/papermario/asm/code_f270_len_1190.s index cb3d2d603e..aa09af2ebe 100644 --- a/papermario/asm/code_f270_len_1190.s +++ b/papermario/asm/code_f270_len_1190.s @@ -6,7 +6,7 @@ /* 00F278 80033E78 AFB20020 */ sw $s2, 0x20($sp) /* 00F27C 80033E7C AFB1001C */ sw $s1, 0x1c($sp) /* 00F280 80033E80 AFB00018 */ sw $s0, 0x18($sp) -/* 00F284 80033E84 0C00AB00 */ jal func_8002AC00 +/* 00F284 80033E84 0C00AB00 */ jal general_heap_create /* 00F288 80033E88 F7B40028 */ sdc1 $f20, 0x28($sp) /* 00F28C 80033E8C 3C128007 */ lui $s2, 0x8007 /* 00F290 80033E90 2652419C */ addiu $s2, $s2, 0x419c @@ -24,14 +24,14 @@ /* 00F2C0 80033EC0 263191B0 */ addiu $s1, $s1, -0x6e50 /* 00F2C4 80033EC4 3C100020 */ lui $s0, 0x20 /* 00F2C8 80033EC8 2610E1B0 */ addiu $s0, $s0, -0x1e50 -/* 00F2CC 80033ECC 0C00AB39 */ jal func_8002ACE4 +/* 00F2CC 80033ECC 0C00AB39 */ jal heap_malloc /* 00F2D0 80033ED0 02302023 */ subu $a0, $s1, $s0 /* 00F2D4 80033ED4 0200202D */ daddu $a0, $s0, $zero /* 00F2D8 80033ED8 0220282D */ daddu $a1, $s1, $zero /* 00F2DC 80033EDC 0040302D */ daddu $a2, $v0, $zero /* 00F2E0 80033EE0 3C10800A */ lui $s0, 0x800a /* 00F2E4 80033EE4 26100910 */ addiu $s0, $s0, 0x910 -/* 00F2E8 80033EE8 0C00A5CF */ jal func_8002973C +/* 00F2E8 80033EE8 0C00A5CF */ jal dma_copy /* 00F2EC 80033EEC AE060000 */ sw $a2, ($s0) /* 00F2F0 80033EF0 3C040001 */ lui $a0, 1 /* 00F2F4 80033EF4 8E020000 */ lw $v0, ($s0) @@ -46,7 +46,7 @@ /* 00F318 80033F18 AC22091C */ sw $v0, 0x91c($at) /* 00F31C 80033F1C 0C018028 */ jal nuContRmbForceStop /* 00F320 80033F20 00000000 */ nop -/* 00F324 80033F24 0C00B7BD */ jal func_8002DEF4 +/* 00F324 80033F24 0C00B7BD */ jal create_cameras_a /* 00F328 80033F28 00000000 */ nop /* 00F32C 80033F2C 0000202D */ daddu $a0, $zero, $zero /* 00F330 80033F30 2405000C */ addiu $a1, $zero, 0xc @@ -80,7 +80,7 @@ /* 00F3A0 80033FA0 34420002 */ ori $v0, $v0, 2 /* 00F3A4 80033FA4 34630002 */ ori $v1, $v1, 2 /* 00F3A8 80033FA8 A6020AB0 */ sh $v0, 0xab0($s0) -/* 00F3AC 80033FAC 0C00B8C5 */ jal func_8002E314 +/* 00F3AC 80033FAC 0C00B8C5 */ jal set_cam_viewport /* 00F3B0 80033FB0 A6031008 */ sh $v1, 0x1008($s0) /* 00F3B4 80033FB4 3C0143FA */ lui $at, 0x43fa /* 00F3B8 80033FB8 44810000 */ mtc1 $at, $f0 @@ -105,7 +105,7 @@ /* 00F404 80034004 E600003C */ swc1 $f0, 0x3c($s0) /* 00F408 80034008 E6020040 */ swc1 $f2, 0x40($s0) /* 00F40C 8003400C E6040044 */ swc1 $f4, 0x44($s0) -/* 00F410 80034010 0C0B0C77 */ jal func_802C31DC +/* 00F410 80034010 0C0B0C77 */ jal clear_script_list /* 00F414 80034014 E606005C */ swc1 $f6, 0x5c($s0) /* 00F418 80034018 0C048C2E */ jal func_801230B8 /* 00F41C 8003401C 00000000 */ nop @@ -327,7 +327,7 @@ func_80034314: /* 00F72C 8003432C 3C10800A */ lui $s0, 0x800a /* 00F730 80034330 26100910 */ addiu $s0, $s0, 0x910 -/* 00F734 80034334 0C00AB4B */ jal func_8002AD2C +/* 00F734 80034334 0C00AB4B */ jal heap_free /* 00F738 80034338 8E040000 */ lw $a0, ($s0) /* 00F73C 8003433C 240400FF */ addiu $a0, $zero, 0xff /* 00F740 80034340 0C00CDF4 */ jal func_800337D0 @@ -337,13 +337,13 @@ func_80034314: /* 00F750 80034350 24040010 */ addiu $a0, $zero, 0x10 /* 00F754 80034354 A04000A8 */ sb $zero, 0xa8($v0) func_80034358: -/* 00F758 80034358 0C00CD3C */ jal func_800334F0 +/* 00F758 80034358 0C00CD3C */ jal set_game_mode /* 00F75C 8003435C 00000000 */ nop func_80034360: .L80034360: /* 00F760 80034360 0C00E64C */ jal func_80039930 /* 00F764 80034364 00000000 */ nop -/* 00F768 80034368 0C00B500 */ jal func_8002D400 +/* 00F768 80034368 0C00B500 */ jal update_cameras /* 00F76C 8003436C 00000000 */ nop /* 00F770 80034370 0C00CE1D */ jal func_80033874 /* 00F774 80034374 00000000 */ nop @@ -744,6 +744,7 @@ func_80034920: /* 00FD74 80034974 03E00008 */ jr $ra /* 00FD78 80034978 27BD0018 */ addiu $sp, $sp, 0x18 +step_pause_menu: /* 00FD7C 8003497C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 00FD80 80034980 AFB00010 */ sw $s0, 0x10($sp) /* 00FD84 80034984 3C10800A */ lui $s0, 0x800a @@ -819,9 +820,9 @@ func_80034920: /* 00FE88 80034A88 0C00EC6A */ jal func_8003B1A8 /* 00FE8C 80034A8C 00000000 */ nop /* 00FE90 80034A90 8E020000 */ lw $v0, ($s0) -/* 00FE94 80034A94 0C016BA8 */ jal func_8005AEA0 +/* 00FE94 80034A94 0C016BA8 */ jal allocate_hit_tables /* 00FE98 80034A98 A0510070 */ sb $s1, 0x70($v0) -/* 00FE9C 80034A9C 0C00AB28 */ jal func_8002ACA0 +/* 00FE9C 80034A9C 0C00AB28 */ jal battle_heap_create /* 00FEA0 80034AA0 00000000 */ nop /* 00FEA4 80034AA4 0C018028 */ jal nuContRmbForceStop /* 00FEA8 80034AA8 00000000 */ nop @@ -829,7 +830,7 @@ func_80034920: /* 00FEB0 80034AB0 0000202D */ daddu $a0, $zero, $zero /* 00FEB4 80034AB4 0C0B763E */ jal func_802DD8F8 /* 00FEB8 80034AB8 0000202D */ daddu $a0, $zero, $zero -/* 00FEBC 80034ABC 0C045751 */ jal func_80115D44 +/* 00FEBC 80034ABC 0C045751 */ jal clear_model_data /* 00FEC0 80034AC0 00000000 */ nop /* 00FEC4 80034AC4 0C052010 */ jal func_80148040 /* 00FEC8 80034AC8 00000000 */ nop @@ -848,17 +849,17 @@ func_80034920: /* 00FEFC 80034AFC 34A58000 */ ori $a1, $a1, 0x8000 /* 00FF00 80034B00 0C050440 */ jal func_80141100 /* 00FF04 80034B04 00000000 */ nop -/* 00FF08 80034B08 0C03A6EC */ jal func_800E9BB0 +/* 00FF08 80034B08 0C03A6EC */ jal reset_status_menu /* 00FF0C 80034B0C 00000000 */ nop -/* 00FF10 80034B10 0C04C3FC */ jal func_80130FF0 +/* 00FF10 80034B10 0C04C3FC */ jal clear_item_entity_data /* 00FF14 80034B14 00000000 */ nop -/* 00FF18 80034B18 0C0B0C77 */ jal func_802C31DC +/* 00FF18 80034B18 0C0B0C77 */ jal clear_script_list /* 00FF1C 80034B1C 00000000 */ nop /* 00FF20 80034B20 0C00E12F */ jal func_800384BC /* 00FF24 80034B24 00000000 */ nop /* 00FF28 80034B28 0C04432E */ jal func_80110CB8 /* 00FF2C 80034B2C 0000202D */ daddu $a0, $zero, $zero -/* 00FF30 80034B30 0C0515A0 */ jal func_80145680 +/* 00FF30 80034B30 0C0515A0 */ jal clear_trigger_data /* 00FF34 80034B34 00000000 */ nop /* 00FF38 80034B38 0C05260A */ jal func_80149828 /* 00FF3C 80034B3C 00000000 */ nop @@ -996,7 +997,7 @@ func_80034C2C: /* 010108 80034D08 8C820000 */ lw $v0, ($a0) /* 01010C 80034D0C 2403FFF7 */ addiu $v1, $zero, -9 /* 010110 80034D10 00431024 */ and $v0, $v0, $v1 -/* 010114 80034D14 0C016AFA */ jal func_8005ABE8 +/* 010114 80034D14 0C016AFA */ jal get_current_map_header /* 010118 80034D18 AC820000 */ sw $v0, ($a0) /* 01011C 80034D1C 3C108007 */ lui $s0, 0x8007 /* 010120 80034D20 2610419C */ addiu $s0, $s0, 0x419c @@ -1025,7 +1026,7 @@ func_80034C2C: /* 01017C 80034D7C 8E020000 */ lw $v0, ($s0) /* 010180 80034D80 0C0B763E */ jal func_802DD8F8 /* 010184 80034D84 80440084 */ lb $a0, 0x84($v0) -/* 010188 80034D88 0C0457FA */ jal func_80115FE8 +/* 010188 80034D88 0C0457FA */ jal init_model_data /* 01018C 80034D8C 00000000 */ nop /* 010190 80034D90 0C05203C */ jal func_801480F0 /* 010194 80034D94 00000000 */ nop @@ -1038,17 +1039,17 @@ func_80034C2C: /* 0101B0 80034DB0 0000202D */ daddu $a0, $zero, $zero /* 0101B4 80034DB4 0C0514BA */ jal func_801452E8 /* 0101B8 80034DB8 0080282D */ daddu $a1, $a0, $zero -/* 0101BC 80034DBC 0C0504C0 */ jal func_80141300 +/* 0101BC 80034DBC 0C0504C0 */ jal init_menu_icon_list /* 0101C0 80034DC0 00000000 */ nop -/* 0101C4 80034DC4 0C04C433 */ jal func_801310CC +/* 0101C4 80034DC4 0C04C433 */ jal init_item_entity_list /* 0101C8 80034DC8 00000000 */ nop -/* 0101CC 80034DCC 0C0B0CBB */ jal func_802C32EC +/* 0101CC 80034DCC 0C0B0CBB */ jal init_script_list /* 0101D0 80034DD0 00000000 */ nop -/* 0101D4 80034DD4 0C00E14B */ jal func_8003852C +/* 0101D4 80034DD4 0C00E14B */ jal init_npc_list /* 0101D8 80034DD8 00000000 */ nop /* 0101DC 80034DDC 0C044396 */ jal func_80110E58 /* 0101E0 80034DE0 00000000 */ nop -/* 0101E4 80034DE4 0C0515CA */ jal func_80145728 +/* 0101E4 80034DE4 0C0515CA */ jal init_trigger_list /* 0101E8 80034DE8 00000000 */ nop /* 0101EC 80034DEC 3C04800A */ lui $a0, 0x800a /* 0101F0 80034DF0 8C840924 */ lw $a0, 0x924($a0) @@ -1056,36 +1057,36 @@ func_80034C2C: /* 0101F8 80034DF8 00000000 */ nop /* 0101FC 80034DFC 0C052B1C */ jal func_8014AC70 /* 010200 80034E00 00000000 */ nop -/* 010204 80034E04 0C0169B0 */ jal func_8005A6C0 +/* 010204 80034E04 0C0169B0 */ jal load_map_script_lib /* 010208 80034E08 00000000 */ nop /* 01020C 80034E0C 3C04800E */ lui $a0, 0x800e /* 010210 80034E10 24849230 */ addiu $a0, $a0, -0x6dd0 -/* 010214 80034E14 0C016B3A */ jal func_8005ACE8 +/* 010214 80034E14 0C016B3A */ jal load_asset_by_name /* 010218 80034E18 27A50010 */ addiu $a1, $sp, 0x10 /* 01021C 80034E1C 0040802D */ daddu $s0, $v0, $zero /* 010220 80034E20 3C058021 */ lui $a1, 0x8021 /* 010224 80034E24 24A50000 */ addiu $a1, $a1, 0 /* 010228 80034E28 0C01BB7C */ jal decode_yay0 /* 01022C 80034E2C 0200202D */ daddu $a0, $s0, $zero -/* 010230 80034E30 0C00AB1E */ jal func_8002AC78 +/* 010230 80034E30 0C00AB1E */ jal general_heap_free /* 010234 80034E34 0200202D */ daddu $a0, $s0, $zero -/* 010238 80034E38 0C016BE5 */ jal func_8005AF94 +/* 010238 80034E38 0C016BE5 */ jal initialize_collision /* 01023C 80034E3C 00000000 */ nop -/* 010240 80034E40 0C016C16 */ jal func_8005B058 +/* 010240 80034E40 0C016C16 */ jal load_collision /* 010244 80034E44 00000000 */ nop /* 010248 80034E48 8E240008 */ lw $a0, 8($s1) /* 01024C 80034E4C 10800004 */ beqz $a0, .L80034E60 /* 010250 80034E50 00000000 */ nop /* 010254 80034E54 8E25000C */ lw $a1, 0xc($s1) -/* 010258 80034E58 0C00A5CF */ jal func_8002973C +/* 010258 80034E58 0C00A5CF */ jal dma_copy /* 01025C 80034E5C 8E260010 */ lw $a2, 0x10($s1) .L80034E60: -/* 010260 80034E60 0C05175C */ jal func_80145D70 +/* 010260 80034E60 0C05175C */ jal load_map_bg /* 010264 80034E64 8E240014 */ lw $a0, 0x14($s1) /* 010268 80034E68 8E440038 */ lw $a0, 0x38($s2) /* 01026C 80034E6C 50800005 */ beql $a0, $zero, .L80034E84 /* 010270 80034E70 24040128 */ addiu $a0, $zero, 0x128 -/* 010274 80034E74 0C05178A */ jal func_80145E28 +/* 010274 80034E74 0C05178A */ jal read_background_size /* 010278 80034E78 00000000 */ nop /* 01027C 80034E7C 0800D3A5 */ j func_80034E94 /* 010280 80034E80 00000000 */ nop @@ -1093,13 +1094,13 @@ func_80034C2C: .L80034E84: /* 010284 80034E84 240500C8 */ addiu $a1, $zero, 0xc8 /* 010288 80034E88 2406000C */ addiu $a2, $zero, 0xc -/* 01028C 80034E8C 0C05179C */ jal func_80145E70 +/* 01028C 80034E8C 0C05179C */ jal set_background_size /* 010290 80034E90 24070014 */ addiu $a3, $zero, 0x14 func_80034E94: /* 010294 80034E94 3C038007 */ lui $v1, 0x8007 /* 010298 80034E98 8C63419C */ lw $v1, 0x419c($v1) /* 01029C 80034E9C 9462015E */ lhu $v0, 0x15e($v1) -/* 0102A0 80034EA0 0C04584B */ jal func_8011612C +/* 0102A0 80034EA0 0C04584B */ jal calculate_model_sizes /* 0102A4 80034EA4 A462015C */ sh $v0, 0x15c($v1) /* 0102A8 80034EA8 0C00EC6C */ jal func_8003B1B0 /* 0102AC 80034EAC 00000000 */ nop @@ -1181,7 +1182,7 @@ func_80034E94: /* 0103C4 80034FC4 00000000 */ nop /* 0103C8 80034FC8 0C038069 */ jal func_800E01A4 /* 0103CC 80034FCC 00000000 */ nop -/* 0103D0 80034FD0 0C00CD3C */ jal func_800334F0 +/* 0103D0 80034FD0 0C00CD3C */ jal set_game_mode /* 0103D4 80034FD4 24040004 */ addiu $a0, $zero, 4 func_80034FD8: .L80034FD8: diff --git a/papermario/asm/code_f4c60_len_4300.s b/papermario/asm/code_f4c60_len_4300.s index 74cfe88086..af024bbebc 100644 --- a/papermario/asm/code_f4c60_len_4300.s +++ b/papermario/asm/code_f4c60_len_4300.s @@ -1,39 +1,43 @@ .section .text802D02B0, "ax" +SpeakToPlayer: /* 0F4C60 802D02B0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F4C64 802D02B4 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F4C68 802D02B8 0C0B40C8 */ jal func_802D0320 +/* 0F4C68 802D02B8 0C0B40C8 */ jal _show_message /* 0F4C6C 802D02BC 0000302D */ daddu $a2, $zero, $zero /* 0F4C70 802D02C0 8FBF0010 */ lw $ra, 0x10($sp) /* 0F4C74 802D02C4 03E00008 */ jr $ra /* 0F4C78 802D02C8 27BD0018 */ addiu $sp, $sp, 0x18 +EndSpeech: /* 0F4C7C 802D02CC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F4C80 802D02D0 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F4C84 802D02D4 0C0B40C8 */ jal func_802D0320 +/* 0F4C84 802D02D4 0C0B40C8 */ jal _show_message /* 0F4C88 802D02D8 24060001 */ addiu $a2, $zero, 1 /* 0F4C8C 802D02DC 8FBF0010 */ lw $ra, 0x10($sp) /* 0F4C90 802D02E0 03E00008 */ jr $ra /* 0F4C94 802D02E4 27BD0018 */ addiu $sp, $sp, 0x18 +ContinueSpeech: /* 0F4C98 802D02E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F4C9C 802D02EC AFBF0010 */ sw $ra, 0x10($sp) -/* 0F4CA0 802D02F0 0C0B40C8 */ jal func_802D0320 +/* 0F4CA0 802D02F0 0C0B40C8 */ jal _show_message /* 0F4CA4 802D02F4 24060002 */ addiu $a2, $zero, 2 /* 0F4CA8 802D02F8 8FBF0010 */ lw $ra, 0x10($sp) /* 0F4CAC 802D02FC 03E00008 */ jr $ra /* 0F4CB0 802D0300 27BD0018 */ addiu $sp, $sp, 0x18 +SpeakToNpc: /* 0F4CB4 802D0304 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F4CB8 802D0308 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F4CBC 802D030C 0C0B40C8 */ jal func_802D0320 +/* 0F4CBC 802D030C 0C0B40C8 */ jal _show_message /* 0F4CC0 802D0310 24060003 */ addiu $a2, $zero, 3 /* 0F4CC4 802D0314 8FBF0010 */ lw $ra, 0x10($sp) /* 0F4CC8 802D0318 03E00008 */ jr $ra /* 0F4CCC 802D031C 27BD0018 */ addiu $sp, $sp, 0x18 -func_802D0320: +_show_message: /* 0F4CD0 802D0320 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 0F4CD4 802D0324 AFB20038 */ sw $s2, 0x38($sp) /* 0F4CD8 802D0328 0080902D */ daddu $s2, $a0, $zero @@ -57,22 +61,22 @@ func_802D0320: /* 0F4D20 802D0370 26D6B264 */ addiu $s6, $s6, -0x4d9c /* 0F4D24 802D0374 AEC00000 */ sw $zero, ($s6) /* 0F4D28 802D0378 8E050000 */ lw $a1, ($s0) -/* 0F4D2C 802D037C 0C0B1EAF */ jal func_802C7ABC +/* 0F4D2C 802D037C 0C0B1EAF */ jal get_variable /* 0F4D30 802D0380 26100004 */ addiu $s0, $s0, 4 /* 0F4D34 802D0384 8E050000 */ lw $a1, ($s0) /* 0F4D38 802D0388 26100004 */ addiu $s0, $s0, 4 /* 0F4D3C 802D038C 0240202D */ daddu $a0, $s2, $zero -/* 0F4D40 802D0390 0C0B1EAF */ jal func_802C7ABC +/* 0F4D40 802D0390 0C0B1EAF */ jal get_variable /* 0F4D44 802D0394 0040F02D */ daddu $fp, $v0, $zero /* 0F4D48 802D0398 AE4200B8 */ sw $v0, 0xb8($s2) /* 0F4D4C 802D039C 8E050000 */ lw $a1, ($s0) /* 0F4D50 802D03A0 26100004 */ addiu $s0, $s0, 4 -/* 0F4D54 802D03A4 0C0B1EAF */ jal func_802C7ABC +/* 0F4D54 802D03A4 0C0B1EAF */ jal get_variable /* 0F4D58 802D03A8 0240202D */ daddu $a0, $s2, $zero /* 0F4D5C 802D03AC AE4200BC */ sw $v0, 0xbc($s2) /* 0F4D60 802D03B0 8E050000 */ lw $a1, ($s0) /* 0F4D64 802D03B4 26100004 */ addiu $s0, $s0, 4 -/* 0F4D68 802D03B8 0C0B1EAF */ jal func_802C7ABC +/* 0F4D68 802D03B8 0C0B1EAF */ jal get_variable /* 0F4D6C 802D03BC 0240202D */ daddu $a0, $s2, $zero /* 0F4D70 802D03C0 3C14802E */ lui $s4, 0x802e /* 0F4D74 802D03C4 2694AE54 */ addiu $s4, $s4, -0x51ac @@ -86,12 +90,12 @@ func_802D0320: /* 0F4D94 802D03E4 AE200000 */ sw $zero, ($s1) /* 0F4D98 802D03E8 8E050000 */ lw $a1, ($s0) /* 0F4D9C 802D03EC 26100004 */ addiu $s0, $s0, 4 -/* 0F4DA0 802D03F0 0C0B1EAF */ jal func_802C7ABC +/* 0F4DA0 802D03F0 0C0B1EAF */ jal get_variable /* 0F4DA4 802D03F4 0240202D */ daddu $a0, $s2, $zero /* 0F4DA8 802D03F8 AE220000 */ sw $v0, ($s1) /* 0F4DAC 802D03FC 8E050000 */ lw $a1, ($s0) /* 0F4DB0 802D0400 26100004 */ addiu $s0, $s0, 4 -/* 0F4DB4 802D0404 0C0B1EAF */ jal func_802C7ABC +/* 0F4DB4 802D0404 0C0B1EAF */ jal get_variable /* 0F4DB8 802D0408 0240202D */ daddu $a0, $s2, $zero /* 0F4DBC 802D040C AE820000 */ sw $v0, ($s4) .L802D0410: @@ -115,7 +119,7 @@ func_802D0320: .L802D044C: /* 0F4DFC 802D044C 8E050000 */ lw $a1, ($s0) -/* 0F4E00 802D0450 0C0B1EAF */ jal func_802C7ABC +/* 0F4E00 802D0450 0C0B1EAF */ jal get_variable /* 0F4E04 802D0454 0240202D */ daddu $a0, $s2, $zero /* 0F4E08 802D0458 080B4135 */ j func_802D04D4 /* 0F4E0C 802D045C 0040202D */ daddu $a0, $v0, $zero @@ -123,18 +127,18 @@ func_802D0320: .L802D0460: /* 0F4E10 802D0460 3C04802E */ lui $a0, 0x802e /* 0F4E14 802D0464 8C84B260 */ lw $a0, -0x4da0($a0) -/* 0F4E18 802D0468 0C04971C */ jal func_80125C70 +/* 0F4E18 802D0468 0C04971C */ jal close_message /* 0F4E1C 802D046C 00000000 */ nop /* 0F4E20 802D0470 080B413A */ j func_802D04E8 /* 0F4E24 802D0474 2402FFFE */ addiu $v0, $zero, -2 .L802D0478: /* 0F4E28 802D0478 8E050000 */ lw $a1, ($s0) -/* 0F4E2C 802D047C 0C0B1EAF */ jal func_802C7ABC +/* 0F4E2C 802D047C 0C0B1EAF */ jal get_variable /* 0F4E30 802D0480 0240202D */ daddu $a0, $s2, $zero /* 0F4E34 802D0484 3C05802E */ lui $a1, 0x802e /* 0F4E38 802D0488 8CA5B260 */ lw $a1, -0x4da0($a1) -/* 0F4E3C 802D048C 0C04969A */ jal func_80125A68 +/* 0F4E3C 802D048C 0C04969A */ jal load_message_to_printer /* 0F4E40 802D0490 0040202D */ daddu $a0, $v0, $zero /* 0F4E44 802D0494 080B413A */ j func_802D04E8 /* 0F4E48 802D0498 2402FFFE */ addiu $v0, $zero, -2 @@ -142,11 +146,11 @@ func_802D0320: .L802D049C: /* 0F4E4C 802D049C 8E050000 */ lw $a1, ($s0) /* 0F4E50 802D04A0 26100004 */ addiu $s0, $s0, 4 -/* 0F4E54 802D04A4 0C0B1EAF */ jal func_802C7ABC +/* 0F4E54 802D04A4 0C0B1EAF */ jal get_variable /* 0F4E58 802D04A8 0240202D */ daddu $a0, $s2, $zero /* 0F4E5C 802D04AC 0240202D */ daddu $a0, $s2, $zero /* 0F4E60 802D04B0 8E050000 */ lw $a1, ($s0) -/* 0F4E64 802D04B4 0C0B1EAF */ jal func_802C7ABC +/* 0F4E64 802D04B4 0C0B1EAF */ jal get_variable /* 0F4E68 802D04B8 0040802D */ daddu $s0, $v0, $zero /* 0F4E6C 802D04BC 0240202D */ daddu $a0, $s2, $zero /* 0F4E70 802D04C0 0200282D */ daddu $a1, $s0, $zero @@ -155,7 +159,7 @@ func_802D0320: /* 0F4E7C 802D04CC 0040A82D */ daddu $s5, $v0, $zero /* 0F4E80 802D04D0 0200202D */ daddu $a0, $s0, $zero func_802D04D4: -/* 0F4E84 802D04D4 0C049640 */ jal func_80125900 +/* 0F4E84 802D04D4 0C049640 */ jal load_string /* 0F4E88 802D04D8 02C0282D */ daddu $a1, $s6, $zero /* 0F4E8C 802D04DC 3C01802E */ lui $at, 0x802e /* 0F4E90 802D04E0 AC22B260 */ sw $v0, -0x4da0($at) @@ -179,7 +183,7 @@ func_802D04E8: /* 0F4ED4 802D0524 8C847410 */ lw $a0, 0x7410($a0) /* 0F4ED8 802D0528 44061000 */ mfc1 $a2, $f2 /* 0F4EDC 802D052C 27A20028 */ addiu $v0, $sp, 0x28 -/* 0F4EE0 802D0530 0C00B94E */ jal func_8002E538 +/* 0F4EE0 802D0530 0C00B94E */ jal get_screen_coords /* 0F4EE4 802D0534 AFA20018 */ sw $v0, 0x18($sp) /* 0F4EE8 802D0538 8E6200B8 */ lw $v0, 0xb8($s3) /* 0F4EEC 802D053C AE42007C */ sw $v0, 0x7c($s2) @@ -208,7 +212,7 @@ func_802D04E8: /* 0F4F40 802D0590 8E050038 */ lw $a1, 0x38($s0) /* 0F4F44 802D0594 8E070040 */ lw $a3, 0x40($s0) /* 0F4F48 802D0598 44061000 */ mfc1 $a2, $f2 -/* 0F4F4C 802D059C 0C00B94E */ jal func_8002E538 +/* 0F4F4C 802D059C 0C00B94E */ jal get_screen_coords /* 0F4F50 802D05A0 00000000 */ nop /* 0F4F54 802D05A4 8E020028 */ lw $v0, 0x28($s0) /* 0F4F58 802D05A8 AE42007C */ sw $v0, 0x7c($s2) @@ -225,7 +229,7 @@ func_802D05B0: /* 0F4F80 802D05D0 3C06802E */ lui $a2, 0x802e /* 0F4F84 802D05D4 8CC6AE54 */ lw $a2, -0x51ac($a2) /* 0F4F88 802D05D8 00652821 */ addu $a1, $v1, $a1 -/* 0F4F8C 802D05DC 0C0496AE */ jal func_80125AB8 +/* 0F4F8C 802D05DC 0C0496AE */ jal clamp_printer_coords /* 0F4F90 802D05E0 00463021 */ addu $a2, $v0, $a2 /* 0F4F94 802D05E4 2402FFFE */ addiu $v0, $zero, -2 /* 0F4F98 802D05E8 1202002C */ beq $s0, $v0, .L802D069C @@ -246,12 +250,12 @@ func_802D05B0: /* 0F4FCC 802D061C 8E660028 */ lw $a2, 0x28($s3) /* 0F4FD0 802D0620 8E670030 */ lw $a3, 0x30($s3) func_802D0624: -/* 0F4FD4 802D0624 0C00A720 */ jal func_80029C80 +/* 0F4FD4 802D0624 0C00A720 */ jal atan2 /* 0F4FD8 802D0628 00000000 */ nop /* 0F4FDC 802D062C 46000506 */ mov.s $f20, $f0 /* 0F4FE0 802D0630 3C014334 */ lui $at, 0x4334 /* 0F4FE4 802D0634 44816000 */ mtc1 $at, $f12 -/* 0F4FE8 802D0638 0C00A6C9 */ jal func_80029B24 +/* 0F4FE8 802D0638 0C00A6C9 */ jal clamp_angle /* 0F4FEC 802D063C 460CA300 */ add.s $f12, $f20, $f12 /* 0F4FF0 802D0640 8E420074 */ lw $v0, 0x74($s2) /* 0F4FF4 802D0644 3043000F */ andi $v1, $v0, 0xf @@ -302,7 +306,7 @@ func_802D069C: /* 0F5090 802D06E0 8E050038 */ lw $a1, 0x38($s0) /* 0F5094 802D06E4 8E070040 */ lw $a3, 0x40($s0) /* 0F5098 802D06E8 44061000 */ mfc1 $a2, $f2 -/* 0F509C 802D06EC 0C00B94E */ jal func_8002E538 +/* 0F509C 802D06EC 0C00B94E */ jal get_screen_coords /* 0F50A0 802D06F0 00000000 */ nop /* 0F50A4 802D06F4 8E4500B8 */ lw $a1, 0xb8($s2) /* 0F50A8 802D06F8 2402FFFF */ addiu $v0, $zero, -1 @@ -316,7 +320,7 @@ func_802D069C: /* 0F50C8 802D0718 00000000 */ nop /* 0F50CC 802D071C 8E4500BC */ lw $a1, 0xbc($s2) .L802D0720: -/* 0F50D0 802D0720 0C0B36C3 */ jal func_802CDB0C +/* 0F50D0 802D0720 0C0B36C3 */ jal set_npc_animation /* 0F50D4 802D0724 0200202D */ daddu $a0, $s0, $zero /* 0F50D8 802D0728 080B41EB */ j func_802D07AC /* 0F50DC 802D072C 00000000 */ nop @@ -337,7 +341,7 @@ func_802D069C: /* 0F5110 802D0760 8C847410 */ lw $a0, 0x7410($a0) /* 0F5114 802D0764 44061000 */ mfc1 $a2, $f2 /* 0F5118 802D0768 27A20028 */ addiu $v0, $sp, 0x28 -/* 0F511C 802D076C 0C00B94E */ jal func_8002E538 +/* 0F511C 802D076C 0C00B94E */ jal get_screen_coords /* 0F5120 802D0770 AFA20018 */ sw $v0, 0x18($sp) /* 0F5124 802D0774 8E4300B8 */ lw $v1, 0xb8($s2) /* 0F5128 802D0778 2402FFFF */ addiu $v0, $zero, -1 @@ -370,7 +374,7 @@ func_802D07AC: /* 0F5184 802D07D4 3C06802E */ lui $a2, 0x802e /* 0F5188 802D07D8 8CC6AE54 */ lw $a2, -0x51ac($a2) /* 0F518C 802D07DC 00652821 */ addu $a1, $v1, $a1 -/* 0F5190 802D07E0 0C0496AE */ jal func_80125AB8 +/* 0F5190 802D07E0 0C0496AE */ jal clamp_printer_coords /* 0F5194 802D07E4 00463021 */ addu $a2, $v0, $a2 .L802D07E8: /* 0F5198 802D07E8 3C02802E */ lui $v0, 0x802e @@ -390,7 +394,7 @@ func_802D07AC: /* 0F51D0 802D0820 12020006 */ beq $s0, $v0, .L802D083C /* 0F51D4 802D0824 00000000 */ nop /* 0F51D8 802D0828 8E45007C */ lw $a1, 0x7c($s2) -/* 0F51DC 802D082C 0C0B36C3 */ jal func_802CDB0C +/* 0F51DC 802D082C 0C0B36C3 */ jal set_npc_animation /* 0F51E0 802D0830 0200202D */ daddu $a0, $s0, $zero /* 0F51E4 802D0834 080B4211 */ j func_802D0844 /* 0F51E8 802D0838 00000000 */ nop @@ -422,6 +426,7 @@ func_802D0844: /* 0F523C 802D088C 03E00008 */ jr $ra /* 0F5240 802D0890 27BD0060 */ addiu $sp, $sp, 0x60 +ShowMessageAtScreenPos: /* 0F5244 802D0894 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F5248 802D0898 AFB20018 */ sw $s2, 0x18($sp) /* 0F524C 802D089C 0080902D */ daddu $s2, $a0, $zero @@ -431,28 +436,28 @@ func_802D0844: /* 0F525C 802D08AC 10A00019 */ beqz $a1, .L802D0914 /* 0F5260 802D08B0 8E51000C */ lw $s1, 0xc($s2) /* 0F5264 802D08B4 8E250000 */ lw $a1, ($s1) -/* 0F5268 802D08B8 0C0B1EAF */ jal func_802C7ABC +/* 0F5268 802D08B8 0C0B1EAF */ jal get_variable /* 0F526C 802D08BC 26310004 */ addiu $s1, $s1, 4 /* 0F5270 802D08C0 8E250000 */ lw $a1, ($s1) /* 0F5274 802D08C4 26310004 */ addiu $s1, $s1, 4 /* 0F5278 802D08C8 0240202D */ daddu $a0, $s2, $zero -/* 0F527C 802D08CC 0C0B1EAF */ jal func_802C7ABC +/* 0F527C 802D08CC 0C0B1EAF */ jal get_variable /* 0F5280 802D08D0 0040802D */ daddu $s0, $v0, $zero /* 0F5284 802D08D4 0240202D */ daddu $a0, $s2, $zero /* 0F5288 802D08D8 8E250000 */ lw $a1, ($s1) -/* 0F528C 802D08DC 0C0B1EAF */ jal func_802C7ABC +/* 0F528C 802D08DC 0C0B1EAF */ jal get_variable /* 0F5290 802D08E0 0040882D */ daddu $s1, $v0, $zero /* 0F5294 802D08E4 0200202D */ daddu $a0, $s0, $zero /* 0F5298 802D08E8 3C05802E */ lui $a1, 0x802e /* 0F529C 802D08EC 24A5B264 */ addiu $a1, $a1, -0x4d9c /* 0F52A0 802D08F0 0040802D */ daddu $s0, $v0, $zero -/* 0F52A4 802D08F4 0C049640 */ jal func_80125900 +/* 0F52A4 802D08F4 0C049640 */ jal load_string /* 0F52A8 802D08F8 ACA00000 */ sw $zero, ($a1) /* 0F52AC 802D08FC 0040202D */ daddu $a0, $v0, $zero /* 0F52B0 802D0900 0220282D */ daddu $a1, $s1, $zero /* 0F52B4 802D0904 3C01802E */ lui $at, 0x802e /* 0F52B8 802D0908 AC24B260 */ sw $a0, -0x4da0($at) -/* 0F52BC 802D090C 0C0496AE */ jal func_80125AB8 +/* 0F52BC 802D090C 0C0496AE */ jal clamp_printer_coords /* 0F52C0 802D0910 0200302D */ daddu $a2, $s0, $zero .L802D0914: /* 0F52C4 802D0914 3C04802E */ lui $a0, 0x802e @@ -475,6 +480,7 @@ func_802D0844: /* 0F5304 802D0954 03E00008 */ jr $ra /* 0F5308 802D0958 27BD0020 */ addiu $sp, $sp, 0x20 +ShowMessageAtWorldPos: /* 0F530C 802D095C 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0F5310 802D0960 AFB3003C */ sw $s3, 0x3c($sp) /* 0F5314 802D0964 0080982D */ daddu $s3, $a0, $zero @@ -485,27 +491,27 @@ func_802D0844: /* 0F5328 802D0978 10A00034 */ beqz $a1, .L802D0A4C /* 0F532C 802D097C 8E70000C */ lw $s0, 0xc($s3) /* 0F5330 802D0980 8E050000 */ lw $a1, ($s0) -/* 0F5334 802D0984 0C0B1EAF */ jal func_802C7ABC +/* 0F5334 802D0984 0C0B1EAF */ jal get_variable /* 0F5338 802D0988 26100004 */ addiu $s0, $s0, 4 /* 0F533C 802D098C 8E050000 */ lw $a1, ($s0) /* 0F5340 802D0990 26100004 */ addiu $s0, $s0, 4 /* 0F5344 802D0994 0260202D */ daddu $a0, $s3, $zero -/* 0F5348 802D0998 0C0B1EAF */ jal func_802C7ABC +/* 0F5348 802D0998 0C0B1EAF */ jal get_variable /* 0F534C 802D099C 0040882D */ daddu $s1, $v0, $zero /* 0F5350 802D09A0 8E050000 */ lw $a1, ($s0) /* 0F5354 802D09A4 26100004 */ addiu $s0, $s0, 4 /* 0F5358 802D09A8 0260202D */ daddu $a0, $s3, $zero -/* 0F535C 802D09AC 0C0B1EAF */ jal func_802C7ABC +/* 0F535C 802D09AC 0C0B1EAF */ jal get_variable /* 0F5360 802D09B0 0040902D */ daddu $s2, $v0, $zero /* 0F5364 802D09B4 0260202D */ daddu $a0, $s3, $zero /* 0F5368 802D09B8 8E050000 */ lw $a1, ($s0) -/* 0F536C 802D09BC 0C0B1EAF */ jal func_802C7ABC +/* 0F536C 802D09BC 0C0B1EAF */ jal get_variable /* 0F5370 802D09C0 0040802D */ daddu $s0, $v0, $zero /* 0F5374 802D09C4 0220202D */ daddu $a0, $s1, $zero /* 0F5378 802D09C8 3C05802E */ lui $a1, 0x802e /* 0F537C 802D09CC 24A5B264 */ addiu $a1, $a1, -0x4d9c /* 0F5380 802D09D0 0040882D */ daddu $s1, $v0, $zero -/* 0F5384 802D09D4 0C049640 */ jal func_80125900 +/* 0F5384 802D09D4 0C049640 */ jal load_string /* 0F5388 802D09D8 ACA00000 */ sw $zero, ($a1) /* 0F538C 802D09DC 44920000 */ mtc1 $s2, $f0 /* 0F5390 802D09E0 00000000 */ nop @@ -529,11 +535,11 @@ func_802D0844: /* 0F53D8 802D0A28 27A20024 */ addiu $v0, $sp, 0x24 /* 0F53DC 802D0A2C AFA20014 */ sw $v0, 0x14($sp) /* 0F53E0 802D0A30 27A20028 */ addiu $v0, $sp, 0x28 -/* 0F53E4 802D0A34 0C00B94E */ jal func_8002E538 +/* 0F53E4 802D0A34 0C00B94E */ jal get_screen_coords /* 0F53E8 802D0A38 AFA20018 */ sw $v0, 0x18($sp) /* 0F53EC 802D0A3C 8E040000 */ lw $a0, ($s0) /* 0F53F0 802D0A40 8FA50020 */ lw $a1, 0x20($sp) -/* 0F53F4 802D0A44 0C0496AE */ jal func_80125AB8 +/* 0F53F4 802D0A44 0C0496AE */ jal clamp_printer_coords /* 0F53F8 802D0A48 8FA60024 */ lw $a2, 0x24($sp) .L802D0A4C: /* 0F53FC 802D0A4C 3C04802E */ lui $a0, 0x802e @@ -557,6 +563,7 @@ func_802D0844: /* 0F5440 802D0A90 03E00008 */ jr $ra /* 0F5444 802D0A94 27BD0048 */ addiu $sp, $sp, 0x48 +CloseMessage: /* 0F5448 802D0A98 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F544C 802D0A9C AFB00010 */ sw $s0, 0x10($sp) /* 0F5450 802D0AA0 0080802D */ daddu $s0, $a0, $zero @@ -564,7 +571,7 @@ func_802D0844: /* 0F5458 802D0AA8 AFBF0014 */ sw $ra, 0x14($sp) /* 0F545C 802D0AAC 3C04802E */ lui $a0, 0x802e /* 0F5460 802D0AB0 8C84B260 */ lw $a0, -0x4da0($a0) -/* 0F5464 802D0AB4 0C04971C */ jal func_80125C70 +/* 0F5464 802D0AB4 0C04971C */ jal close_message /* 0F5468 802D0AB8 00000000 */ nop .L802D0ABC: /* 0F546C 802D0ABC 3C04802E */ lui $a0, 0x802e @@ -585,17 +592,18 @@ func_802D0844: /* 0F54A4 802D0AF4 03E00008 */ jr $ra /* 0F54A8 802D0AF8 27BD0018 */ addiu $sp, $sp, 0x18 +SwitchMessage: /* 0F54AC 802D0AFC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F54B0 802D0B00 AFB00010 */ sw $s0, 0x10($sp) /* 0F54B4 802D0B04 0080802D */ daddu $s0, $a0, $zero /* 0F54B8 802D0B08 AFBF0014 */ sw $ra, 0x14($sp) /* 0F54BC 802D0B0C 10A00007 */ beqz $a1, .L802D0B2C /* 0F54C0 802D0B10 8E02000C */ lw $v0, 0xc($s0) -/* 0F54C4 802D0B14 0C0B1EAF */ jal func_802C7ABC +/* 0F54C4 802D0B14 0C0B1EAF */ jal get_variable /* 0F54C8 802D0B18 8C450000 */ lw $a1, ($v0) /* 0F54CC 802D0B1C 3C05802E */ lui $a1, 0x802e /* 0F54D0 802D0B20 8CA5B260 */ lw $a1, -0x4da0($a1) -/* 0F54D4 802D0B24 0C04969A */ jal func_80125A68 +/* 0F54D4 802D0B24 0C04969A */ jal load_message_to_printer /* 0F54D8 802D0B28 0040202D */ daddu $a0, $v0, $zero .L802D0B2C: /* 0F54DC 802D0B2C 3C04802E */ lui $a0, 0x802e @@ -616,17 +624,18 @@ func_802D0844: /* 0F5514 802D0B64 03E00008 */ jr $ra /* 0F5518 802D0B68 27BD0018 */ addiu $sp, $sp, 0x18 +ShowChoice: /* 0F551C 802D0B6C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5520 802D0B70 AFB00010 */ sw $s0, 0x10($sp) /* 0F5524 802D0B74 0080802D */ daddu $s0, $a0, $zero /* 0F5528 802D0B78 AFBF0014 */ sw $ra, 0x14($sp) /* 0F552C 802D0B7C 10A00009 */ beqz $a1, .L802D0BA4 /* 0F5530 802D0B80 8E02000C */ lw $v0, 0xc($s0) -/* 0F5534 802D0B84 0C0B1EAF */ jal func_802C7ABC +/* 0F5534 802D0B84 0C0B1EAF */ jal get_variable /* 0F5538 802D0B88 8C450000 */ lw $a1, ($v0) /* 0F553C 802D0B8C 0040202D */ daddu $a0, $v0, $zero /* 0F5540 802D0B90 26050074 */ addiu $a1, $s0, 0x74 -/* 0F5544 802D0B94 0C049640 */ jal func_80125900 +/* 0F5544 802D0B94 0C049640 */ jal load_string /* 0F5548 802D0B98 AE000074 */ sw $zero, 0x74($s0) /* 0F554C 802D0B9C 3C01802E */ lui $at, 0x802e /* 0F5550 802D0BA0 AC22B268 */ sw $v0, -0x4d98($at) @@ -654,43 +663,47 @@ func_802D0844: /* 0F55A0 802D0BF0 03E00008 */ jr $ra /* 0F55A4 802D0BF4 27BD0018 */ addiu $sp, $sp, 0x18 +CloseChoice: /* 0F55A8 802D0BF8 3C04802E */ lui $a0, 0x802e /* 0F55AC 802D0BFC 8C84B268 */ lw $a0, -0x4d98($a0) /* 0F55B0 802D0C00 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F55B4 802D0C04 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F55B8 802D0C08 0C04971C */ jal func_80125C70 +/* 0F55B8 802D0C08 0C04971C */ jal close_message /* 0F55BC 802D0C0C 00000000 */ nop /* 0F55C0 802D0C10 8FBF0010 */ lw $ra, 0x10($sp) /* 0F55C4 802D0C14 24020001 */ addiu $v0, $zero, 1 /* 0F55C8 802D0C18 03E00008 */ jr $ra /* 0F55CC 802D0C1C 27BD0018 */ addiu $sp, $sp, 0x18 +CancelMessage: /* 0F55D0 802D0C20 3C04802E */ lui $a0, 0x802e /* 0F55D4 802D0C24 8C84B260 */ lw $a0, -0x4da0($a0) /* 0F55D8 802D0C28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F55DC 802D0C2C AFBF0010 */ sw $ra, 0x10($sp) -/* 0F55E0 802D0C30 0C0496C2 */ jal func_80125B08 +/* 0F55E0 802D0C30 0C0496C2 */ jal cancel_message /* 0F55E4 802D0C34 00000000 */ nop /* 0F55E8 802D0C38 8FBF0010 */ lw $ra, 0x10($sp) /* 0F55EC 802D0C3C 24020002 */ addiu $v0, $zero, 2 /* 0F55F0 802D0C40 03E00008 */ jr $ra /* 0F55F4 802D0C44 27BD0018 */ addiu $sp, $sp, 0x18 +CancelMessageAndBlock: /* 0F55F8 802D0C48 3C04802E */ lui $a0, 0x802e /* 0F55FC 802D0C4C 8C84B260 */ lw $a0, -0x4da0($a0) /* 0F5600 802D0C50 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5604 802D0C54 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F5608 802D0C58 0C0496C2 */ jal func_80125B08 +/* 0F5608 802D0C58 0C0496C2 */ jal cancel_message /* 0F560C 802D0C5C 00000000 */ nop /* 0F5610 802D0C60 8FBF0010 */ lw $ra, 0x10($sp) /* 0F5614 802D0C64 0000102D */ daddu $v0, $zero, $zero /* 0F5618 802D0C68 03E00008 */ jr $ra /* 0F561C 802D0C6C 27BD0018 */ addiu $sp, $sp, 0x18 +SetMessageImages: /* 0F5620 802D0C70 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5624 802D0C74 AFBF0010 */ sw $ra, 0x10($sp) /* 0F5628 802D0C78 8C82000C */ lw $v0, 0xc($a0) -/* 0F562C 802D0C7C 0C0496CB */ jal func_80125B2C +/* 0F562C 802D0C7C 0C0496CB */ jal set_message_images /* 0F5630 802D0C80 8C440000 */ lw $a0, ($v0) /* 0F5634 802D0C84 8FBF0010 */ lw $ra, 0x10($sp) /* 0F5638 802D0C88 24020002 */ addiu $v0, $zero, 2 @@ -700,7 +713,7 @@ func_802D0844: /* 0F5644 802D0C94 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5648 802D0C98 AFBF0010 */ sw $ra, 0x10($sp) /* 0F564C 802D0C9C 8C82000C */ lw $v0, 0xc($a0) -/* 0F5650 802D0CA0 0C0B1EAF */ jal func_802C7ABC +/* 0F5650 802D0CA0 0C0B1EAF */ jal get_variable /* 0F5654 802D0CA4 8C450000 */ lw $a1, ($v0) /* 0F5658 802D0CA8 14400007 */ bnez $v0, .L802D0CC8 /* 0F565C 802D0CAC 2404FFEF */ addiu $a0, $zero, -0x11 @@ -723,6 +736,7 @@ func_802D0CDC: /* 0F5694 802D0CE4 03E00008 */ jr $ra /* 0F5698 802D0CE8 27BD0018 */ addiu $sp, $sp, 0x18 +SetMessageString: /* 0F569C 802D0CEC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F56A0 802D0CF0 AFB10014 */ sw $s1, 0x14($sp) /* 0F56A4 802D0CF4 0080882D */ daddu $s1, $a0, $zero @@ -730,14 +744,14 @@ func_802D0CDC: /* 0F56AC 802D0CFC AFB00010 */ sw $s0, 0x10($sp) /* 0F56B0 802D0D00 8E30000C */ lw $s0, 0xc($s1) /* 0F56B4 802D0D04 8E050000 */ lw $a1, ($s0) -/* 0F56B8 802D0D08 0C0B1EAF */ jal func_802C7ABC +/* 0F56B8 802D0D08 0C0B1EAF */ jal get_variable /* 0F56BC 802D0D0C 26100004 */ addiu $s0, $s0, 4 /* 0F56C0 802D0D10 0220202D */ daddu $a0, $s1, $zero /* 0F56C4 802D0D14 8E050000 */ lw $a1, ($s0) -/* 0F56C8 802D0D18 0C0B1EAF */ jal func_802C7ABC +/* 0F56C8 802D0D18 0C0B1EAF */ jal get_variable /* 0F56CC 802D0D1C 0040802D */ daddu $s0, $v0, $zero /* 0F56D0 802D0D20 0200202D */ daddu $a0, $s0, $zero -/* 0F56D4 802D0D24 0C0496CF */ jal func_80125B3C +/* 0F56D4 802D0D24 0C0496CF */ jal set_message_string /* 0F56D8 802D0D28 0040282D */ daddu $a1, $v0, $zero /* 0F56DC 802D0D2C 8FBF0018 */ lw $ra, 0x18($sp) /* 0F56E0 802D0D30 8FB10014 */ lw $s1, 0x14($sp) @@ -746,6 +760,7 @@ func_802D0CDC: /* 0F56EC 802D0D3C 03E00008 */ jr $ra /* 0F56F0 802D0D40 27BD0020 */ addiu $sp, $sp, 0x20 +SetMessageValue: /* 0F56F4 802D0D44 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F56F8 802D0D48 AFB10014 */ sw $s1, 0x14($sp) /* 0F56FC 802D0D4C 0080882D */ daddu $s1, $a0, $zero @@ -753,14 +768,14 @@ func_802D0CDC: /* 0F5704 802D0D54 AFB00010 */ sw $s0, 0x10($sp) /* 0F5708 802D0D58 8E30000C */ lw $s0, 0xc($s1) /* 0F570C 802D0D5C 8E050000 */ lw $a1, ($s0) -/* 0F5710 802D0D60 0C0B1EAF */ jal func_802C7ABC +/* 0F5710 802D0D60 0C0B1EAF */ jal get_variable /* 0F5714 802D0D64 26100004 */ addiu $s0, $s0, 4 /* 0F5718 802D0D68 0220202D */ daddu $a0, $s1, $zero /* 0F571C 802D0D6C 8E050000 */ lw $a1, ($s0) -/* 0F5720 802D0D70 0C0B1EAF */ jal func_802C7ABC +/* 0F5720 802D0D70 0C0B1EAF */ jal get_variable /* 0F5724 802D0D74 0040802D */ daddu $s0, $v0, $zero /* 0F5728 802D0D78 0200202D */ daddu $a0, $s0, $zero -/* 0F572C 802D0D7C 0C0496FA */ jal func_80125BE8 +/* 0F572C 802D0D7C 0C0496FA */ jal set_message_value /* 0F5730 802D0D80 0040282D */ daddu $a1, $v0, $zero /* 0F5734 802D0D84 8FBF0018 */ lw $ra, 0x18($sp) /* 0F5738 802D0D88 8FB10014 */ lw $s1, 0x14($sp) @@ -770,20 +785,21 @@ func_802D0CDC: /* 0F5748 802D0D98 27BD0020 */ addiu $sp, $sp, 0x20 /* 0F574C 802D0D9C 00000000 */ nop +HidePlayerShadow: /* 0F5750 802D0DA0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5754 802D0DA4 AFBF0010 */ sw $ra, 0x10($sp) /* 0F5758 802D0DA8 8C82000C */ lw $v0, 0xc($a0) -/* 0F575C 802D0DAC 0C0B1EAF */ jal func_802C7ABC +/* 0F575C 802D0DAC 0C0B1EAF */ jal get_variable /* 0F5760 802D0DB0 8C450000 */ lw $a1, ($v0) /* 0F5764 802D0DB4 10400005 */ beqz $v0, .L802D0DCC /* 0F5768 802D0DB8 00000000 */ nop -/* 0F576C 802D0DBC 0C038039 */ jal func_800E00E4 +/* 0F576C 802D0DBC 0C038039 */ jal disable_player_shadow /* 0F5770 802D0DC0 00000000 */ nop /* 0F5774 802D0DC4 080B4375 */ j func_802D0DD4 /* 0F5778 802D0DC8 00000000 */ nop .L802D0DCC: -/* 0F577C 802D0DCC 0C03802C */ jal func_800E00B0 +/* 0F577C 802D0DCC 0C03802C */ jal enable_player_shadow /* 0F5780 802D0DD0 00000000 */ nop func_802D0DD4: /* 0F5784 802D0DD4 8FBF0010 */ lw $ra, 0x10($sp) @@ -791,20 +807,21 @@ func_802D0DD4: /* 0F578C 802D0DDC 03E00008 */ jr $ra /* 0F5790 802D0DE0 27BD0018 */ addiu $sp, $sp, 0x18 +DisablePlayerPhysics: /* 0F5794 802D0DE4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5798 802D0DE8 AFBF0010 */ sw $ra, 0x10($sp) /* 0F579C 802D0DEC 8C82000C */ lw $v0, 0xc($a0) -/* 0F57A0 802D0DF0 0C0B1EAF */ jal func_802C7ABC +/* 0F57A0 802D0DF0 0C0B1EAF */ jal get_variable /* 0F57A4 802D0DF4 8C450000 */ lw $a1, ($v0) /* 0F57A8 802D0DF8 10400005 */ beqz $v0, .L802D0E10 /* 0F57AC 802D0DFC 00000000 */ nop -/* 0F57B0 802D0E00 0C038045 */ jal func_800E0114 +/* 0F57B0 802D0E00 0C038045 */ jal enable_player_physics /* 0F57B4 802D0E04 00000000 */ nop /* 0F57B8 802D0E08 080B4386 */ j func_802D0E18 /* 0F57BC 802D0E0C 00000000 */ nop .L802D0E10: -/* 0F57C0 802D0E10 0C038050 */ jal func_800E0140 +/* 0F57C0 802D0E10 0C038050 */ jal disable_player_physics /* 0F57C4 802D0E14 00000000 */ nop func_802D0E18: /* 0F57C8 802D0E18 8FBF0010 */ lw $ra, 0x10($sp) @@ -812,6 +829,7 @@ func_802D0E18: /* 0F57D0 802D0E20 03E00008 */ jr $ra /* 0F57D4 802D0E24 27BD0018 */ addiu $sp, $sp, 0x18 +DisablePlayerInput: /* 0F57D8 802D0E28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F57DC 802D0E2C AFBF0014 */ sw $ra, 0x14($sp) /* 0F57E0 802D0E30 AFB00010 */ sw $s0, 0x10($sp) @@ -819,7 +837,7 @@ func_802D0E18: /* 0F57E8 802D0E38 8C450000 */ lw $a1, ($v0) /* 0F57EC 802D0E3C 3C108011 */ lui $s0, 0x8011 /* 0F57F0 802D0E40 2610EFC8 */ addiu $s0, $s0, -0x1038 -/* 0F57F4 802D0E44 0C0B1EAF */ jal func_802C7ABC +/* 0F57F4 802D0E44 0C0B1EAF */ jal get_variable /* 0F57F8 802D0E48 00000000 */ nop /* 0F57FC 802D0E4C 10400016 */ beqz $v0, .L802D0EA8 /* 0F5800 802D0E50 00000000 */ nop @@ -867,6 +885,7 @@ func_802D0EDC: /* 0F5898 802D0EE8 03E00008 */ jr $ra /* 0F589C 802D0EEC 27BD0018 */ addiu $sp, $sp, 0x18 +SetPlayerPos: /* 0F58A0 802D0EF0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F58A4 802D0EF4 AFB10014 */ sw $s1, 0x14($sp) /* 0F58A8 802D0EF8 0080882D */ daddu $s1, $a0, $zero @@ -876,20 +895,20 @@ func_802D0EDC: /* 0F58B8 802D0F08 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F58BC 802D0F0C 8E30000C */ lw $s0, 0xc($s1) /* 0F58C0 802D0F10 8E050000 */ lw $a1, ($s0) -/* 0F58C4 802D0F14 0C0B1EAF */ jal func_802C7ABC +/* 0F58C4 802D0F14 0C0B1EAF */ jal get_variable /* 0F58C8 802D0F18 26100004 */ addiu $s0, $s0, 4 /* 0F58CC 802D0F1C 8E050000 */ lw $a1, ($s0) /* 0F58D0 802D0F20 26100004 */ addiu $s0, $s0, 4 /* 0F58D4 802D0F24 4482B000 */ mtc1 $v0, $f22 /* 0F58D8 802D0F28 00000000 */ nop /* 0F58DC 802D0F2C 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F58E0 802D0F30 0C0B1EAF */ jal func_802C7ABC +/* 0F58E0 802D0F30 0C0B1EAF */ jal get_variable /* 0F58E4 802D0F34 0220202D */ daddu $a0, $s1, $zero /* 0F58E8 802D0F38 8E050000 */ lw $a1, ($s0) /* 0F58EC 802D0F3C 4482A000 */ mtc1 $v0, $f20 /* 0F58F0 802D0F40 00000000 */ nop /* 0F58F4 802D0F44 4680A520 */ cvt.s.w $f20, $f20 -/* 0F58F8 802D0F48 0C0B1EAF */ jal func_802C7ABC +/* 0F58F8 802D0F48 0C0B1EAF */ jal get_variable /* 0F58FC 802D0F4C 0220202D */ daddu $a0, $s1, $zero /* 0F5900 802D0F50 44820000 */ mtc1 $v0, $f0 /* 0F5904 802D0F54 00000000 */ nop @@ -916,6 +935,7 @@ func_802D0EDC: /* 0F5958 802D0FA8 03E00008 */ jr $ra /* 0F595C 802D0FAC 27BD0030 */ addiu $sp, $sp, 0x30 +SetPlayerCollisionSize: /* 0F5960 802D0FB0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F5964 802D0FB4 AFB10014 */ sw $s1, 0x14($sp) /* 0F5968 802D0FB8 0080882D */ daddu $s1, $a0, $zero @@ -923,11 +943,11 @@ func_802D0EDC: /* 0F5970 802D0FC0 AFB00010 */ sw $s0, 0x10($sp) /* 0F5974 802D0FC4 8E30000C */ lw $s0, 0xc($s1) /* 0F5978 802D0FC8 8E050000 */ lw $a1, ($s0) -/* 0F597C 802D0FCC 0C0B1EAF */ jal func_802C7ABC +/* 0F597C 802D0FCC 0C0B1EAF */ jal get_variable /* 0F5980 802D0FD0 26100004 */ addiu $s0, $s0, 4 /* 0F5984 802D0FD4 0220202D */ daddu $a0, $s1, $zero /* 0F5988 802D0FD8 8E050000 */ lw $a1, ($s0) -/* 0F598C 802D0FDC 0C0B1EAF */ jal func_802C7ABC +/* 0F598C 802D0FDC 0C0B1EAF */ jal get_variable /* 0F5990 802D0FE0 0040802D */ daddu $s0, $v0, $zero /* 0F5994 802D0FE4 3C03802E */ lui $v1, 0x802e /* 0F5998 802D0FE8 8C639D20 */ lw $v1, -0x62e0($v1) @@ -946,10 +966,11 @@ func_802D0EDC: /* 0F59CC 802D101C 03E00008 */ jr $ra /* 0F59D0 802D1020 27BD0020 */ addiu $sp, $sp, 0x20 +SetPlayerSpeed: /* 0F59D4 802D1024 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F59D8 802D1028 AFBF0010 */ sw $ra, 0x10($sp) /* 0F59DC 802D102C 8C82000C */ lw $v0, 0xc($a0) -/* 0F59E0 802D1030 0C0B210B */ jal func_802C842C +/* 0F59E0 802D1030 0C0B210B */ jal get_float_variable /* 0F59E4 802D1034 8C450000 */ lw $a1, ($v0) /* 0F59E8 802D1038 3C02802E */ lui $v0, 0x802e /* 0F59EC 802D103C 8C429D20 */ lw $v0, -0x62e0($v0) @@ -959,10 +980,11 @@ func_802D0EDC: /* 0F59FC 802D104C 03E00008 */ jr $ra /* 0F5A00 802D1050 27BD0018 */ addiu $sp, $sp, 0x18 +SetPlayerJumpscale: /* 0F5A04 802D1054 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5A08 802D1058 AFBF0010 */ sw $ra, 0x10($sp) /* 0F5A0C 802D105C 8C82000C */ lw $v0, 0xc($a0) -/* 0F5A10 802D1060 0C0B210B */ jal func_802C842C +/* 0F5A10 802D1060 0C0B210B */ jal get_float_variable /* 0F5A14 802D1064 8C450000 */ lw $a1, ($v0) /* 0F5A18 802D1068 3C02802E */ lui $v0, 0x802e /* 0F5A1C 802D106C 8C429D20 */ lw $v0, -0x62e0($v0) @@ -972,10 +994,11 @@ func_802D0EDC: /* 0F5A2C 802D107C 03E00008 */ jr $ra /* 0F5A30 802D1080 27BD0018 */ addiu $sp, $sp, 0x18 +SetPlayerAnimation: /* 0F5A34 802D1084 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5A38 802D1088 AFBF0010 */ sw $ra, 0x10($sp) /* 0F5A3C 802D108C 8C82000C */ lw $v0, 0xc($a0) -/* 0F5A40 802D1090 0C0B1EAF */ jal func_802C7ABC +/* 0F5A40 802D1090 0C0B1EAF */ jal get_variable /* 0F5A44 802D1094 8C450000 */ lw $a1, ($v0) /* 0F5A48 802D1098 3C040008 */ lui $a0, 8 /* 0F5A4C 802D109C 3C03802E */ lui $v1, 0x802e @@ -987,7 +1010,7 @@ func_802D0EDC: /* 0F5A64 802D10B4 14440004 */ bne $v0, $a0, .L802D10C8 /* 0F5A68 802D10B8 0000202D */ daddu $a0, $zero, $zero /* 0F5A6C 802D10BC 0080282D */ daddu $a1, $a0, $zero -/* 0F5A70 802D10C0 0C0B2D5B */ jal func_802CB56C +/* 0F5A70 802D10C0 0C0B2D5B */ jal exec_ShakeCam1 /* 0F5A74 802D10C4 24060002 */ addiu $a2, $zero, 2 .L802D10C8: /* 0F5A78 802D10C8 8FBF0010 */ lw $ra, 0x10($sp) @@ -995,12 +1018,13 @@ func_802D0EDC: /* 0F5A80 802D10D0 03E00008 */ jr $ra /* 0F5A84 802D10D4 27BD0018 */ addiu $sp, $sp, 0x18 +SetPlayerActionState: /* 0F5A88 802D10D8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5A8C 802D10DC AFBF0010 */ sw $ra, 0x10($sp) /* 0F5A90 802D10E0 8C82000C */ lw $v0, 0xc($a0) -/* 0F5A94 802D10E4 0C0B1EAF */ jal func_802C7ABC +/* 0F5A94 802D10E4 0C0B1EAF */ jal get_variable /* 0F5A98 802D10E8 8C450000 */ lw $a1, ($v0) -/* 0F5A9C 802D10EC 0C039769 */ jal func_800E5DA4 +/* 0F5A9C 802D10EC 0C039769 */ jal set_action_state /* 0F5AA0 802D10F0 0040202D */ daddu $a0, $v0, $zero /* 0F5AA4 802D10F4 8FBF0010 */ lw $ra, 0x10($sp) /* 0F5AA8 802D10F8 24020002 */ addiu $v0, $zero, 2 @@ -1010,7 +1034,7 @@ func_802D0EDC: /* 0F5AB4 802D1104 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F5AB8 802D1108 AFBF0010 */ sw $ra, 0x10($sp) /* 0F5ABC 802D110C 8C82000C */ lw $v0, 0xc($a0) -/* 0F5AC0 802D1110 0C0B210B */ jal func_802C842C +/* 0F5AC0 802D1110 0C0B210B */ jal get_float_variable /* 0F5AC4 802D1114 8C450000 */ lw $a1, ($v0) /* 0F5AC8 802D1118 3C02802E */ lui $v0, 0x802e /* 0F5ACC 802D111C 8C429D20 */ lw $v0, -0x62e0($v0) @@ -1020,6 +1044,7 @@ func_802D0EDC: /* 0F5ADC 802D112C 03E00008 */ jr $ra /* 0F5AE0 802D1130 27BD0018 */ addiu $sp, $sp, 0x18 +MovePlayerTo: /* 0F5AE4 802D1134 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F5AE8 802D1138 AFB10014 */ sw $s1, 0x14($sp) /* 0F5AEC 802D113C 0080882D */ daddu $s1, $a0, $zero @@ -1033,27 +1058,27 @@ func_802D0EDC: /* 0F5B0C 802D115C 10A00038 */ beqz $a1, .L802D1240 /* 0F5B10 802D1160 8E30000C */ lw $s0, 0xc($s1) /* 0F5B14 802D1164 8E050000 */ lw $a1, ($s0) -/* 0F5B18 802D1168 0C0B1EAF */ jal func_802C7ABC +/* 0F5B18 802D1168 0C0B1EAF */ jal get_variable /* 0F5B1C 802D116C 26100004 */ addiu $s0, $s0, 4 /* 0F5B20 802D1170 8E050000 */ lw $a1, ($s0) /* 0F5B24 802D1174 26100004 */ addiu $s0, $s0, 4 /* 0F5B28 802D1178 4482B000 */ mtc1 $v0, $f22 /* 0F5B2C 802D117C 00000000 */ nop /* 0F5B30 802D1180 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F5B34 802D1184 0C0B1EAF */ jal func_802C7ABC +/* 0F5B34 802D1184 0C0B1EAF */ jal get_variable /* 0F5B38 802D1188 0220202D */ daddu $a0, $s1, $zero /* 0F5B3C 802D118C 8E050000 */ lw $a1, ($s0) /* 0F5B40 802D1190 4482A000 */ mtc1 $v0, $f20 /* 0F5B44 802D1194 00000000 */ nop /* 0F5B48 802D1198 4680A520 */ cvt.s.w $f20, $f20 -/* 0F5B4C 802D119C 0C0B1EAF */ jal func_802C7ABC +/* 0F5B4C 802D119C 0C0B1EAF */ jal get_variable /* 0F5B50 802D11A0 0220202D */ daddu $a0, $s1, $zero /* 0F5B54 802D11A4 AE220070 */ sw $v0, 0x70($s1) /* 0F5B58 802D11A8 C64C0028 */ lwc1 $f12, 0x28($s2) /* 0F5B5C 802D11AC C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5B60 802D11B0 4406B000 */ mfc1 $a2, $f22 /* 0F5B64 802D11B4 4407A000 */ mfc1 $a3, $f20 -/* 0F5B68 802D11B8 0C00A720 */ jal func_80029C80 +/* 0F5B68 802D11B8 0C00A720 */ jal atan2 /* 0F5B6C 802D11BC 00000000 */ nop /* 0F5B70 802D11C0 E6400080 */ swc1 $f0, 0x80($s2) /* 0F5B74 802D11C4 8E220070 */ lw $v0, 0x70($s1) @@ -1063,7 +1088,7 @@ func_802D0EDC: /* 0F5B84 802D11D4 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5B88 802D11D8 4406B000 */ mfc1 $a2, $f22 /* 0F5B8C 802D11DC 4407A000 */ mfc1 $a3, $f20 -/* 0F5B90 802D11E0 0C00A7B5 */ jal func_80029ED4 +/* 0F5B90 802D11E0 0C00A7B5 */ jal dist2D /* 0F5B94 802D11E4 00000000 */ nop /* 0F5B98 802D11E8 3C02802E */ lui $v0, 0x802e /* 0F5B9C 802D11EC 8C429D20 */ lw $v0, -0x62e0($v0) @@ -1079,7 +1104,7 @@ func_802D0EDC: /* 0F5BBC 802D120C C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5BC0 802D1210 4406B000 */ mfc1 $a2, $f22 /* 0F5BC4 802D1214 4407A000 */ mfc1 $a3, $f20 -/* 0F5BC8 802D1218 0C00A7B5 */ jal func_80029ED4 +/* 0F5BC8 802D1218 0C00A7B5 */ jal dist2D /* 0F5BCC 802D121C 00000000 */ nop /* 0F5BD0 802D1220 C6220070 */ lwc1 $f2, 0x70($s1) /* 0F5BD4 802D1224 468010A0 */ cvt.s.w $f2, $f2 @@ -1088,7 +1113,7 @@ func_802D122C: /* 0F5BDC 802D122C 8E240070 */ lw $a0, 0x70($s1) /* 0F5BE0 802D1230 8E450080 */ lw $a1, 0x80($s2) /* 0F5BE4 802D1234 44060000 */ mfc1 $a2, $f0 -/* 0F5BE8 802D1238 0C0389DE */ jal func_800E2778 +/* 0F5BE8 802D1238 0C0389DE */ jal move_player /* 0F5BEC 802D123C 00000000 */ nop .L802D1240: /* 0F5BF0 802D1240 8E230070 */ lw $v1, 0x70($s1) @@ -1118,32 +1143,32 @@ func_802D122C: /* 0F5C4C 802D129C 10A0002A */ beqz $a1, .L802D1348 /* 0F5C50 802D12A0 8E30000C */ lw $s0, 0xc($s1) /* 0F5C54 802D12A4 8E050000 */ lw $a1, ($s0) -/* 0F5C58 802D12A8 0C0B1EAF */ jal func_802C7ABC +/* 0F5C58 802D12A8 0C0B1EAF */ jal get_variable /* 0F5C5C 802D12AC 26100004 */ addiu $s0, $s0, 4 /* 0F5C60 802D12B0 8E050000 */ lw $a1, ($s0) /* 0F5C64 802D12B4 26100004 */ addiu $s0, $s0, 4 /* 0F5C68 802D12B8 4482C000 */ mtc1 $v0, $f24 /* 0F5C6C 802D12BC 00000000 */ nop /* 0F5C70 802D12C0 4680C620 */ cvt.s.w $f24, $f24 -/* 0F5C74 802D12C4 0C0B1EAF */ jal func_802C7ABC +/* 0F5C74 802D12C4 0C0B1EAF */ jal get_variable /* 0F5C78 802D12C8 0220202D */ daddu $a0, $s1, $zero /* 0F5C7C 802D12CC 8E050000 */ lw $a1, ($s0) /* 0F5C80 802D12D0 4482B000 */ mtc1 $v0, $f22 /* 0F5C84 802D12D4 00000000 */ nop /* 0F5C88 802D12D8 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F5C8C 802D12DC 0C0B210B */ jal func_802C842C +/* 0F5C8C 802D12DC 0C0B210B */ jal get_float_variable /* 0F5C90 802D12E0 0220202D */ daddu $a0, $s1, $zero /* 0F5C94 802D12E4 C64C0028 */ lwc1 $f12, 0x28($s2) /* 0F5C98 802D12E8 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5C9C 802D12EC 4406C000 */ mfc1 $a2, $f24 /* 0F5CA0 802D12F0 4407B000 */ mfc1 $a3, $f22 -/* 0F5CA4 802D12F4 0C00A720 */ jal func_80029C80 +/* 0F5CA4 802D12F4 0C00A720 */ jal atan2 /* 0F5CA8 802D12F8 46000506 */ mov.s $f20, $f0 /* 0F5CAC 802D12FC C64C0028 */ lwc1 $f12, 0x28($s2) /* 0F5CB0 802D1300 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5CB4 802D1304 4406C000 */ mfc1 $a2, $f24 /* 0F5CB8 802D1308 4407B000 */ mfc1 $a3, $f22 -/* 0F5CBC 802D130C 0C00A7B5 */ jal func_80029ED4 +/* 0F5CBC 802D130C 0C00A7B5 */ jal dist2D /* 0F5CC0 802D1310 E6400080 */ swc1 $f0, 0x80($s2) /* 0F5CC4 802D1314 46140503 */ div.s $f20, $f0, $f20 /* 0F5CC8 802D1318 4600A10D */ trunc.w.s $f4, $f20 @@ -1156,7 +1181,7 @@ func_802D122C: /* 0F5CE4 802D1334 AE240070 */ sw $a0, 0x70($s1) /* 0F5CE8 802D1338 8E450080 */ lw $a1, 0x80($s2) /* 0F5CEC 802D133C 44060000 */ mfc1 $a2, $f0 -/* 0F5CF0 802D1340 0C0389DE */ jal func_800E2778 +/* 0F5CF0 802D1340 0C0389DE */ jal move_player /* 0F5CF4 802D1344 00000000 */ nop .L802D1348: /* 0F5CF8 802D1348 8E230070 */ lw $v1, 0x70($s1) @@ -1187,20 +1212,20 @@ func_802D122C: /* 0F5D58 802D13A8 10A00044 */ beqz $a1, .L802D14BC /* 0F5D5C 802D13AC 8E30000C */ lw $s0, 0xc($s1) /* 0F5D60 802D13B0 8E050000 */ lw $a1, ($s0) -/* 0F5D64 802D13B4 0C0B1EAF */ jal func_802C7ABC +/* 0F5D64 802D13B4 0C0B1EAF */ jal get_variable /* 0F5D68 802D13B8 26100004 */ addiu $s0, $s0, 4 /* 0F5D6C 802D13BC 8E050000 */ lw $a1, ($s0) /* 0F5D70 802D13C0 26100004 */ addiu $s0, $s0, 4 /* 0F5D74 802D13C4 4482B000 */ mtc1 $v0, $f22 /* 0F5D78 802D13C8 00000000 */ nop /* 0F5D7C 802D13CC 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F5D80 802D13D0 0C0B1EAF */ jal func_802C7ABC +/* 0F5D80 802D13D0 0C0B1EAF */ jal get_variable /* 0F5D84 802D13D4 0220202D */ daddu $a0, $s1, $zero /* 0F5D88 802D13D8 8E050000 */ lw $a1, ($s0) /* 0F5D8C 802D13DC 4482A000 */ mtc1 $v0, $f20 /* 0F5D90 802D13E0 00000000 */ nop /* 0F5D94 802D13E4 4680A520 */ cvt.s.w $f20, $f20 -/* 0F5D98 802D13E8 0C0B1EAF */ jal func_802C7ABC +/* 0F5D98 802D13E8 0C0B1EAF */ jal get_variable /* 0F5D9C 802D13EC 0220202D */ daddu $a0, $s1, $zero /* 0F5DA0 802D13F0 3C10802E */ lui $s0, 0x802e /* 0F5DA4 802D13F4 26109D20 */ addiu $s0, $s0, -0x62e0 @@ -1209,7 +1234,7 @@ func_802D122C: /* 0F5DB0 802D1400 4407A000 */ mfc1 $a3, $f20 /* 0F5DB4 802D1404 A462008E */ sh $v0, 0x8e($v1) /* 0F5DB8 802D1408 C64C0028 */ lwc1 $f12, 0x28($s2) -/* 0F5DBC 802D140C 0C00A720 */ jal func_80029C80 +/* 0F5DBC 802D140C 0C00A720 */ jal atan2 /* 0F5DC0 802D1410 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5DC4 802D1414 8E020000 */ lw $v0, ($s0) /* 0F5DC8 802D1418 E6400080 */ swc1 $f0, 0x80($s2) @@ -1220,7 +1245,7 @@ func_802D122C: /* 0F5DDC 802D142C C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5DE0 802D1430 4406B000 */ mfc1 $a2, $f22 /* 0F5DE4 802D1434 4407A000 */ mfc1 $a3, $f20 -/* 0F5DE8 802D1438 0C00A7B5 */ jal func_80029ED4 +/* 0F5DE8 802D1438 0C00A7B5 */ jal dist2D /* 0F5DEC 802D143C 00000000 */ nop /* 0F5DF0 802D1440 8E030000 */ lw $v1, ($s0) /* 0F5DF4 802D1444 8462008E */ lh $v0, 0x8e($v1) @@ -1236,7 +1261,7 @@ func_802D122C: /* 0F5E14 802D1464 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F5E18 802D1468 4406B000 */ mfc1 $a2, $f22 /* 0F5E1C 802D146C 4407A000 */ mfc1 $a3, $f20 -/* 0F5E20 802D1470 0C00A7B5 */ jal func_80029ED4 +/* 0F5E20 802D1470 0C00A7B5 */ jal dist2D /* 0F5E24 802D1474 00000000 */ nop /* 0F5E28 802D1478 8E030000 */ lw $v1, ($s0) /* 0F5E2C 802D147C C4620018 */ lwc1 $f2, 0x18($v1) @@ -1255,7 +1280,7 @@ func_802D14A4: /* 0F5E58 802D14A8 8C429D20 */ lw $v0, -0x62e0($v0) /* 0F5E5C 802D14AC 8E450080 */ lw $a1, 0x80($s2) /* 0F5E60 802D14B0 8444008E */ lh $a0, 0x8e($v0) -/* 0F5E64 802D14B4 0C0389DE */ jal func_800E2778 +/* 0F5E64 802D14B4 0C0389DE */ jal move_player /* 0F5E68 802D14B8 8C460018 */ lw $a2, 0x18($v0) .L802D14BC: /* 0F5E6C 802D14BC 8FBF001C */ lw $ra, 0x1c($sp) @@ -1268,7 +1293,7 @@ func_802D14A4: /* 0F5E88 802D14D8 03E00008 */ jr $ra /* 0F5E8C 802D14DC 27BD0030 */ addiu $sp, $sp, 0x30 -func_802D14E0: +player_jump: /* 0F5E90 802D14E0 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0F5E94 802D14E4 AFB20020 */ sw $s2, 0x20($sp) /* 0F5E98 802D14E8 0080902D */ daddu $s2, $a0, $zero @@ -1291,27 +1316,27 @@ func_802D14E0: /* 0F5ED8 802D1528 00000000 */ nop /* 0F5EDC 802D152C 8E050000 */ lw $a1, ($s0) /* 0F5EE0 802D1530 26100004 */ addiu $s0, $s0, 4 -/* 0F5EE4 802D1534 0C0B1EAF */ jal func_802C7ABC +/* 0F5EE4 802D1534 0C0B1EAF */ jal get_variable /* 0F5EE8 802D1538 0240202D */ daddu $a0, $s2, $zero /* 0F5EEC 802D153C 8E050000 */ lw $a1, ($s0) /* 0F5EF0 802D1540 26100004 */ addiu $s0, $s0, 4 /* 0F5EF4 802D1544 4482B000 */ mtc1 $v0, $f22 /* 0F5EF8 802D1548 00000000 */ nop /* 0F5EFC 802D154C 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F5F00 802D1550 0C0B1EAF */ jal func_802C7ABC +/* 0F5F00 802D1550 0C0B1EAF */ jal get_variable /* 0F5F04 802D1554 0240202D */ daddu $a0, $s2, $zero /* 0F5F08 802D1558 4482C000 */ mtc1 $v0, $f24 /* 0F5F0C 802D155C 00000000 */ nop /* 0F5F10 802D1560 4680C620 */ cvt.s.w $f24, $f24 /* 0F5F14 802D1564 8E050000 */ lw $a1, ($s0) /* 0F5F18 802D1568 26100004 */ addiu $s0, $s0, 4 -/* 0F5F1C 802D156C 0C0B1EAF */ jal func_802C7ABC +/* 0F5F1C 802D156C 0C0B1EAF */ jal get_variable /* 0F5F20 802D1570 0240202D */ daddu $a0, $s2, $zero /* 0F5F24 802D1574 8E050000 */ lw $a1, ($s0) /* 0F5F28 802D1578 4482A000 */ mtc1 $v0, $f20 /* 0F5F2C 802D157C 00000000 */ nop /* 0F5F30 802D1580 4680A520 */ cvt.s.w $f20, $f20 -/* 0F5F34 802D1584 0C0B1EAF */ jal func_802C7ABC +/* 0F5F34 802D1584 0C0B1EAF */ jal get_variable /* 0F5F38 802D1588 0240202D */ daddu $a0, $s2, $zero /* 0F5F3C 802D158C 3C10802E */ lui $s0, 0x802e /* 0F5F40 802D1590 26109D20 */ addiu $s0, $s0, -0x62e0 @@ -1331,7 +1356,7 @@ func_802D14E0: /* 0F5F78 802D15C8 E4600040 */ swc1 $f0, 0x40($v1) /* 0F5F7C 802D15CC 46000386 */ mov.s $f14, $f0 /* 0F5F80 802D15D0 C6200080 */ lwc1 $f0, 0x80($s1) -/* 0F5F84 802D15D4 0C00A7B5 */ jal func_80029ED4 +/* 0F5F84 802D15D4 0C00A7B5 */ jal dist2D /* 0F5F88 802D15D8 E460000C */ swc1 $f0, 0xc($v1) /* 0F5F8C 802D15DC 46000506 */ mov.s $f20, $f0 /* 0F5F90 802D15E0 3C013FF0 */ lui $at, 0x3ff0 @@ -1346,7 +1371,7 @@ func_802D14E0: /* 0F5FB4 802D1604 C44C0038 */ lwc1 $f12, 0x38($v0) /* 0F5FB8 802D1608 C44E0040 */ lwc1 $f14, 0x40($v0) /* 0F5FBC 802D160C 8C460060 */ lw $a2, 0x60($v0) -/* 0F5FC0 802D1610 0C00A720 */ jal func_80029C80 +/* 0F5FC0 802D1610 0C00A720 */ jal atan2 /* 0F5FC4 802D1614 8C470068 */ lw $a3, 0x68($v0) /* 0F5FC8 802D1618 8E020000 */ lw $v0, ($s0) /* 0F5FCC 802D161C E440000C */ swc1 $f0, 0xc($v0) @@ -1418,7 +1443,7 @@ func_802D1704: /* 0F60B4 802D1704 0C037FBF */ jal func_800DFEFC /* 0F60B8 802D1708 00000000 */ nop /* 0F60BC 802D170C 24042081 */ addiu $a0, $zero, 0x2081 -/* 0F60C0 802D1710 0C052736 */ jal func_80149CD8 +/* 0F60C0 802D1710 0C052736 */ jal play_sound_at_player /* 0F60C4 802D1714 0000282D */ daddu $a1, $zero, $zero .L802D1718: /* 0F60C8 802D1718 24020001 */ addiu $v0, $zero, 1 @@ -1428,7 +1453,7 @@ func_802D1704: /* 0F60D4 802D1724 26109D20 */ addiu $s0, $s0, -0x62e0 /* 0F60D8 802D1728 8E040000 */ lw $a0, ($s0) /* 0F60DC 802D172C 8C850018 */ lw $a1, 0x18($a0) -/* 0F60E0 802D1730 0C00EA95 */ jal func_8003AA54 +/* 0F60E0 802D1730 0C00EA95 */ jal npc_move_heading /* 0F60E4 802D1734 8C86000C */ lw $a2, 0xc($a0) /* 0F60E8 802D1738 8E020000 */ lw $v0, ($s0) /* 0F60EC 802D173C C440001C */ lwc1 $f0, 0x1c($v0) @@ -1553,30 +1578,34 @@ func_802D1860: /* 0F6290 802D18E0 03E00008 */ jr $ra /* 0F6294 802D18E4 27BD0048 */ addiu $sp, $sp, 0x48 +PlayerJump: /* 0F6298 802D18E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F629C 802D18EC AFBF0010 */ sw $ra, 0x10($sp) -/* 0F62A0 802D18F0 0C0B4538 */ jal func_802D14E0 +/* 0F62A0 802D18F0 0C0B4538 */ jal player_jump /* 0F62A4 802D18F4 0000302D */ daddu $a2, $zero, $zero /* 0F62A8 802D18F8 8FBF0010 */ lw $ra, 0x10($sp) /* 0F62AC 802D18FC 03E00008 */ jr $ra /* 0F62B0 802D1900 27BD0018 */ addiu $sp, $sp, 0x18 +PlayerJump1: /* 0F62B4 802D1904 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F62B8 802D1908 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F62BC 802D190C 0C0B4538 */ jal func_802D14E0 +/* 0F62BC 802D190C 0C0B4538 */ jal player_jump /* 0F62C0 802D1910 24060001 */ addiu $a2, $zero, 1 /* 0F62C4 802D1914 8FBF0010 */ lw $ra, 0x10($sp) /* 0F62C8 802D1918 03E00008 */ jr $ra /* 0F62CC 802D191C 27BD0018 */ addiu $sp, $sp, 0x18 +PlayerJump2: /* 0F62D0 802D1920 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F62D4 802D1924 AFBF0010 */ sw $ra, 0x10($sp) -/* 0F62D8 802D1928 0C0B4538 */ jal func_802D14E0 +/* 0F62D8 802D1928 0C0B4538 */ jal player_jump /* 0F62DC 802D192C 24060002 */ addiu $a2, $zero, 2 /* 0F62E0 802D1930 8FBF0010 */ lw $ra, 0x10($sp) /* 0F62E4 802D1934 03E00008 */ jr $ra /* 0F62E8 802D1938 27BD0018 */ addiu $sp, $sp, 0x18 +InterpPlayerYaw: /* 0F62EC 802D193C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F62F0 802D1940 AFB10014 */ sw $s1, 0x14($sp) /* 0F62F4 802D1944 0080882D */ daddu $s1, $a0, $zero @@ -1601,13 +1630,13 @@ func_802D1860: /* 0F6340 802D1990 E440000C */ swc1 $f0, 0xc($v0) /* 0F6344 802D1994 E6200074 */ swc1 $f0, 0x74($s1) /* 0F6348 802D1998 8E450000 */ lw $a1, ($s2) -/* 0F634C 802D199C 0C0B210B */ jal func_802C842C +/* 0F634C 802D199C 0C0B210B */ jal get_float_variable /* 0F6350 802D19A0 26520004 */ addiu $s2, $s2, 4 /* 0F6354 802D19A4 C6220074 */ lwc1 $f2, 0x74($s1) /* 0F6358 802D19A8 46020001 */ sub.s $f0, $f0, $f2 /* 0F635C 802D19AC E6200078 */ swc1 $f0, 0x78($s1) /* 0F6360 802D19B0 8E450000 */ lw $a1, ($s2) -/* 0F6364 802D19B4 0C0B1EAF */ jal func_802C7ABC +/* 0F6364 802D19B4 0C0B1EAF */ jal get_variable /* 0F6368 802D19B8 0220202D */ daddu $a0, $s1, $zero /* 0F636C 802D19BC AE22007C */ sw $v0, 0x7c($s1) /* 0F6370 802D19C0 8E020000 */ lw $v0, ($s0) @@ -1648,7 +1677,7 @@ func_802D1860: /* 0F63F4 802D1A44 C6800000 */ lwc1 $f0, ($s4) /* 0F63F8 802D1A48 C44C000C */ lwc1 $f12, 0xc($v0) /* 0F63FC 802D1A4C 46006300 */ add.s $f12, $f12, $f0 -/* 0F6400 802D1A50 0C00A6C9 */ jal func_80029B24 +/* 0F6400 802D1A50 0C00A6C9 */ jal clamp_angle /* 0F6404 802D1A54 E44C000C */ swc1 $f12, 0xc($v0) /* 0F6408 802D1A58 8E030000 */ lw $v1, ($s0) /* 0F640C 802D1A5C 24020002 */ addiu $v0, $zero, 2 @@ -1676,7 +1705,7 @@ func_802D1860: /* 0F645C 802D1AAC 468010A0 */ cvt.s.w $f2, $f2 /* 0F6460 802D1AB0 46020003 */ div.s $f0, $f0, $f2 /* 0F6464 802D1AB4 46006300 */ add.s $f12, $f12, $f0 -/* 0F6468 802D1AB8 0C00A6C9 */ jal func_80029B24 +/* 0F6468 802D1AB8 0C00A6C9 */ jal clamp_angle /* 0F646C 802D1ABC E46C000C */ swc1 $f12, 0xc($v1) /* 0F6470 802D1AC0 8E020000 */ lw $v0, ($s0) /* 0F6474 802D1AC4 E440000C */ swc1 $f0, 0xc($v0) @@ -1697,6 +1726,7 @@ func_802D1ADC: /* 0F64AC 802D1AFC 03E00008 */ jr $ra /* 0F64B0 802D1B00 27BD0030 */ addiu $sp, $sp, 0x30 +PlayerFaceNpc: /* 0F64B4 802D1B04 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F64B8 802D1B08 AFB20018 */ sw $s2, 0x18($sp) /* 0F64BC 802D1B0C 0080902D */ daddu $s2, $a0, $zero @@ -1715,14 +1745,14 @@ func_802D1ADC: /* 0F64F0 802D1B40 10A00043 */ beqz $a1, .L802D1C50 /* 0F64F4 802D1B44 2654007C */ addiu $s4, $s2, 0x7c /* 0F64F8 802D1B48 8E650000 */ lw $a1, ($s3) -/* 0F64FC 802D1B4C 0C0B1EAF */ jal func_802C7ABC +/* 0F64FC 802D1B4C 0C0B1EAF */ jal get_variable /* 0F6500 802D1B50 26730004 */ addiu $s3, $s3, 4 /* 0F6504 802D1B54 0040202D */ daddu $a0, $v0, $zero /* 0F6508 802D1B58 2402FFFF */ addiu $v0, $zero, -1 /* 0F650C 802D1B5C 14820006 */ bne $a0, $v0, .L802D1B78 /* 0F6510 802D1B60 3C02EFE8 */ lui $v0, 0xefe8 /* 0F6514 802D1B64 8E44014C */ lw $a0, 0x14c($s2) -/* 0F6518 802D1B68 0C00EAD2 */ jal func_8003AB48 +/* 0F6518 802D1B68 0C00EAD2 */ jal get_npc_safe /* 0F651C 802D1B6C 00000000 */ nop /* 0F6520 802D1B70 080B46E7 */ j func_802D1B9C /* 0F6524 802D1B74 0040202D */ daddu $a0, $v0, $zero @@ -1732,7 +1762,7 @@ func_802D1ADC: /* 0F652C 802D1B7C 0082102A */ slt $v0, $a0, $v0 /* 0F6530 802D1B80 14400006 */ bnez $v0, .L802D1B9C /* 0F6534 802D1B84 00000000 */ nop -/* 0F6538 802D1B88 0C00EAD2 */ jal func_8003AB48 +/* 0F6538 802D1B88 0C00EAD2 */ jal get_npc_safe /* 0F653C 802D1B8C 00000000 */ nop /* 0F6540 802D1B90 0040202D */ daddu $a0, $v0, $zero /* 0F6544 802D1B94 1080005A */ beqz $a0, .L802D1D00 @@ -1748,13 +1778,13 @@ func_802D1B9C: /* 0F6564 802D1BB4 C6CC0028 */ lwc1 $f12, 0x28($s6) /* 0F6568 802D1BB8 C6CE0030 */ lwc1 $f14, 0x30($s6) /* 0F656C 802D1BBC 8C860038 */ lw $a2, 0x38($a0) -/* 0F6570 802D1BC0 0C00A720 */ jal func_80029C80 +/* 0F6570 802D1BC0 0C00A720 */ jal atan2 /* 0F6574 802D1BC4 8C870040 */ lw $a3, 0x40($a0) /* 0F6578 802D1BC8 C6A20000 */ lwc1 $f2, ($s5) /* 0F657C 802D1BCC 46020001 */ sub.s $f0, $f0, $f2 /* 0F6580 802D1BD0 E6200000 */ swc1 $f0, ($s1) /* 0F6584 802D1BD4 8E650000 */ lw $a1, ($s3) -/* 0F6588 802D1BD8 0C0B1EAF */ jal func_802C7ABC +/* 0F6588 802D1BD8 0C0B1EAF */ jal get_variable /* 0F658C 802D1BDC 0240202D */ daddu $a0, $s2, $zero /* 0F6590 802D1BE0 AE820000 */ sw $v0, ($s4) /* 0F6594 802D1BE4 8E020000 */ lw $v0, ($s0) @@ -1795,7 +1825,7 @@ func_802D1B9C: /* 0F6618 802D1C68 C6200000 */ lwc1 $f0, ($s1) /* 0F661C 802D1C6C C44C000C */ lwc1 $f12, 0xc($v0) /* 0F6620 802D1C70 46006300 */ add.s $f12, $f12, $f0 -/* 0F6624 802D1C74 0C00A6C9 */ jal func_80029B24 +/* 0F6624 802D1C74 0C00A6C9 */ jal clamp_angle /* 0F6628 802D1C78 E44C000C */ swc1 $f12, 0xc($v0) /* 0F662C 802D1C7C 8E030000 */ lw $v1, ($s0) /* 0F6630 802D1C80 24020002 */ addiu $v0, $zero, 2 @@ -1823,7 +1853,7 @@ func_802D1B9C: /* 0F6680 802D1CD0 468010A0 */ cvt.s.w $f2, $f2 /* 0F6684 802D1CD4 46020003 */ div.s $f0, $f0, $f2 /* 0F6688 802D1CD8 46006300 */ add.s $f12, $f12, $f0 -/* 0F668C 802D1CDC 0C00A6C9 */ jal func_80029B24 +/* 0F668C 802D1CDC 0C00A6C9 */ jal clamp_angle /* 0F6690 802D1CE0 E46C000C */ swc1 $f12, 0xc($v1) /* 0F6694 802D1CE4 8E020000 */ lw $v0, ($s0) /* 0F6698 802D1CE8 E440000C */ swc1 $f0, 0xc($v0) @@ -1845,6 +1875,7 @@ func_802D1D00: /* 0F66D0 802D1D20 03E00008 */ jr $ra /* 0F66D4 802D1D24 27BD0030 */ addiu $sp, $sp, 0x30 +GetPlayerTargetYaw: /* 0F66D8 802D1D28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F66DC 802D1D2C AFBF0010 */ sw $ra, 0x10($sp) /* 0F66E0 802D1D30 8C82000C */ lw $v0, 0xc($a0) @@ -1853,13 +1884,14 @@ func_802D1D00: /* 0F66EC 802D1D3C 8C450000 */ lw $a1, ($v0) /* 0F66F0 802D1D40 4600008D */ trunc.w.s $f2, $f0 /* 0F66F4 802D1D44 44061000 */ mfc1 $a2, $f2 -/* 0F66F8 802D1D48 0C0B2026 */ jal func_802C8098 +/* 0F66F8 802D1D48 0C0B2026 */ jal set_variable /* 0F66FC 802D1D4C 00000000 */ nop /* 0F6700 802D1D50 8FBF0010 */ lw $ra, 0x10($sp) /* 0F6704 802D1D54 24020002 */ addiu $v0, $zero, 2 /* 0F6708 802D1D58 03E00008 */ jr $ra /* 0F670C 802D1D5C 27BD0018 */ addiu $sp, $sp, 0x18 +SetPlayerFlagBits: /* 0F6710 802D1D60 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F6714 802D1D64 AFB10014 */ sw $s1, 0x14($sp) /* 0F6718 802D1D68 3C118011 */ lui $s1, 0x8011 @@ -1870,7 +1902,7 @@ func_802D1D00: /* 0F672C 802D1D7C 8C82000C */ lw $v0, 0xc($a0) /* 0F6730 802D1D80 8C450004 */ lw $a1, 4($v0) /* 0F6734 802D1D84 8C500000 */ lw $s0, ($v0) -/* 0F6738 802D1D88 0C0B1EAF */ jal func_802C7ABC +/* 0F6738 802D1D88 0C0B1EAF */ jal get_variable /* 0F673C 802D1D8C 0220902D */ daddu $s2, $s1, $zero /* 0F6740 802D1D90 10400005 */ beqz $v0, .L802D1DA8 /* 0F6744 802D1D94 00101827 */ nor $v1, $zero, $s0 @@ -1892,18 +1924,20 @@ func_802D1DB4: /* 0F6778 802D1DC8 03E00008 */ jr $ra /* 0F677C 802D1DCC 27BD0020 */ addiu $sp, $sp, 0x20 +GetPlayerActionState: /* 0F6780 802D1DD0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F6784 802D1DD4 AFBF0010 */ sw $ra, 0x10($sp) /* 0F6788 802D1DD8 8C82000C */ lw $v0, 0xc($a0) /* 0F678C 802D1DDC 3C068011 */ lui $a2, 0x8011 /* 0F6790 802D1DE0 80C6F07C */ lb $a2, -0xf84($a2) -/* 0F6794 802D1DE4 0C0B2026 */ jal func_802C8098 +/* 0F6794 802D1DE4 0C0B2026 */ jal set_variable /* 0F6798 802D1DE8 8C450000 */ lw $a1, ($v0) /* 0F679C 802D1DEC 8FBF0010 */ lw $ra, 0x10($sp) /* 0F67A0 802D1DF0 24020002 */ addiu $v0, $zero, 2 /* 0F67A4 802D1DF4 03E00008 */ jr $ra /* 0F67A8 802D1DF8 27BD0018 */ addiu $sp, $sp, 0x18 +GetPlayerPos: /* 0F67AC 802D1DFC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F67B0 802D1E00 AFB00010 */ sw $s0, 0x10($sp) /* 0F67B4 802D1E04 0080802D */ daddu $s0, $a0, $zero @@ -1920,19 +1954,19 @@ func_802D1DB4: /* 0F67E0 802D1E30 4600008D */ trunc.w.s $f2, $f0 /* 0F67E4 802D1E34 44061000 */ mfc1 $a2, $f2 /* 0F67E8 802D1E38 8C520000 */ lw $s2, ($v0) -/* 0F67EC 802D1E3C 0C0B2026 */ jal func_802C8098 +/* 0F67EC 802D1E3C 0C0B2026 */ jal set_variable /* 0F67F0 802D1E40 8C530004 */ lw $s3, 4($v0) /* 0F67F4 802D1E44 0200202D */ daddu $a0, $s0, $zero /* 0F67F8 802D1E48 C620002C */ lwc1 $f0, 0x2c($s1) /* 0F67FC 802D1E4C 4600008D */ trunc.w.s $f2, $f0 /* 0F6800 802D1E50 44061000 */ mfc1 $a2, $f2 -/* 0F6804 802D1E54 0C0B2026 */ jal func_802C8098 +/* 0F6804 802D1E54 0C0B2026 */ jal set_variable /* 0F6808 802D1E58 0240282D */ daddu $a1, $s2, $zero /* 0F680C 802D1E5C 0200202D */ daddu $a0, $s0, $zero /* 0F6810 802D1E60 C6200030 */ lwc1 $f0, 0x30($s1) /* 0F6814 802D1E64 4600008D */ trunc.w.s $f2, $f0 /* 0F6818 802D1E68 44061000 */ mfc1 $a2, $f2 -/* 0F681C 802D1E6C 0C0B2026 */ jal func_802C8098 +/* 0F681C 802D1E6C 0C0B2026 */ jal set_variable /* 0F6820 802D1E70 0260282D */ daddu $a1, $s3, $zero /* 0F6824 802D1E74 8FBF0020 */ lw $ra, 0x20($sp) /* 0F6828 802D1E78 8FB3001C */ lw $s3, 0x1c($sp) @@ -1943,18 +1977,20 @@ func_802D1DB4: /* 0F683C 802D1E8C 03E00008 */ jr $ra /* 0F6840 802D1E90 27BD0028 */ addiu $sp, $sp, 0x28 +GetPlayerAnimation: /* 0F6844 802D1E94 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F6848 802D1E98 AFBF0010 */ sw $ra, 0x10($sp) /* 0F684C 802D1E9C 8C82000C */ lw $v0, 0xc($a0) /* 0F6850 802D1EA0 3C068011 */ lui $a2, 0x8011 /* 0F6854 802D1EA4 8CC6F080 */ lw $a2, -0xf80($a2) -/* 0F6858 802D1EA8 0C0B2026 */ jal func_802C8098 +/* 0F6858 802D1EA8 0C0B2026 */ jal set_variable /* 0F685C 802D1EAC 8C450000 */ lw $a1, ($v0) /* 0F6860 802D1EB0 8FBF0010 */ lw $ra, 0x10($sp) /* 0F6864 802D1EB4 24020002 */ addiu $v0, $zero, 2 /* 0F6868 802D1EB8 03E00008 */ jr $ra /* 0F686C 802D1EBC 27BD0018 */ addiu $sp, $sp, 0x18 +FullyRestoreHPandFP: /* 0F6870 802D1EC0 3C028011 */ lui $v0, 0x8011 /* 0F6874 802D1EC4 2442F290 */ addiu $v0, $v0, -0xd70 /* 0F6878 802D1EC8 90430003 */ lbu $v1, 3($v0) @@ -1964,6 +2000,7 @@ func_802D1DB4: /* 0F6888 802D1ED8 03E00008 */ jr $ra /* 0F688C 802D1EDC 24020002 */ addiu $v0, $zero, 2 +FullyRestoreSP: /* 0F6890 802D1EE0 3C038011 */ lui $v1, 0x8011 /* 0F6894 802D1EE4 2463F290 */ addiu $v1, $v1, -0xd70 /* 0F6898 802D1EE8 8062028E */ lb $v0, 0x28e($v1) @@ -1972,10 +2009,11 @@ func_802D1DB4: /* 0F68A4 802D1EF4 03E00008 */ jr $ra /* 0F68A8 802D1EF8 24020002 */ addiu $v0, $zero, 2 +EnablePartner: /* 0F68AC 802D1EFC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F68B0 802D1F00 AFBF0010 */ sw $ra, 0x10($sp) /* 0F68B4 802D1F04 8C82000C */ lw $v0, 0xc($a0) -/* 0F68B8 802D1F08 0C0B1EAF */ jal func_802C7ABC +/* 0F68B8 802D1F08 0C0B1EAF */ jal get_variable /* 0F68BC 802D1F0C 8C450000 */ lw $a1, ($v0) /* 0F68C0 802D1F10 2443FFFF */ addiu $v1, $v0, -1 /* 0F68C4 802D1F14 000318C0 */ sll $v1, $v1, 3 @@ -1988,10 +2026,11 @@ func_802D1DB4: /* 0F68E0 802D1F30 03E00008 */ jr $ra /* 0F68E4 802D1F34 27BD0018 */ addiu $sp, $sp, 0x18 +DisablePartner: /* 0F68E8 802D1F38 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F68EC 802D1F3C AFBF0010 */ sw $ra, 0x10($sp) /* 0F68F0 802D1F40 8C82000C */ lw $v0, 0xc($a0) -/* 0F68F4 802D1F44 0C0B1EAF */ jal func_802C7ABC +/* 0F68F4 802D1F44 0C0B1EAF */ jal get_variable /* 0F68F8 802D1F48 8C450000 */ lw $a1, ($v0) /* 0F68FC 802D1F4C 2443FFFF */ addiu $v1, $v0, -1 /* 0F6900 802D1F50 000318C0 */ sll $v1, $v1, 3 @@ -2003,6 +2042,7 @@ func_802D1DB4: /* 0F6918 802D1F68 03E00008 */ jr $ra /* 0F691C 802D1F6C 27BD0018 */ addiu $sp, $sp, 0x18 +ForceExitHeading: /* 0F6920 802D1F70 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0F6924 802D1F74 AFB20020 */ sw $s2, 0x20($sp) /* 0F6928 802D1F78 0080902D */ daddu $s2, $a0, $zero @@ -2012,16 +2052,16 @@ func_802D1DB4: /* 0F6938 802D1F88 AFB00018 */ sw $s0, 0x18($sp) /* 0F693C 802D1F8C F7B60038 */ sdc1 $f22, 0x38($sp) /* 0F6940 802D1F90 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0F6944 802D1F94 0C016AFA */ jal func_8005ABE8 +/* 0F6944 802D1F94 0C016AFA */ jal get_current_map_header /* 0F6948 802D1F98 8E50000C */ lw $s0, 0xc($s2) /* 0F694C 802D1F9C 0240202D */ daddu $a0, $s2, $zero /* 0F6950 802D1FA0 0040882D */ daddu $s1, $v0, $zero /* 0F6954 802D1FA4 8E050000 */ lw $a1, ($s0) -/* 0F6958 802D1FA8 0C0B1EAF */ jal func_802C7ABC +/* 0F6958 802D1FA8 0C0B1EAF */ jal get_variable /* 0F695C 802D1FAC 26100004 */ addiu $s0, $s0, 4 /* 0F6960 802D1FB0 0240202D */ daddu $a0, $s2, $zero /* 0F6964 802D1FB4 8E050000 */ lw $a1, ($s0) -/* 0F6968 802D1FB8 0C0B1EAF */ jal func_802C7ABC +/* 0F6968 802D1FB8 0C0B1EAF */ jal get_variable /* 0F696C 802D1FBC 0040982D */ daddu $s3, $v0, $zero /* 0F6970 802D1FC0 3C108007 */ lui $s0, 0x8007 /* 0F6974 802D1FC4 2610419C */ addiu $s0, $s0, 0x419c @@ -2065,11 +2105,11 @@ func_802D1DB4: /* 0F6A0C 802D205C 4486B000 */ mtc1 $a2, $f22 /* 0F6A10 802D2060 00000000 */ nop /* 0F6A14 802D2064 4680B5A0 */ cvt.s.w $f22, $f22 -/* 0F6A18 802D2068 0C00A6C9 */ jal func_80029B24 +/* 0F6A18 802D2068 0C00A6C9 */ jal clamp_angle /* 0F6A1C 802D206C 0040882D */ daddu $s1, $v0, $zero /* 0F6A20 802D2070 46000306 */ mov.s $f12, $f0 /* 0F6A24 802D2074 27A50010 */ addiu $a1, $sp, 0x10 -/* 0F6A28 802D2078 0C00A88D */ jal func_8002A234 +/* 0F6A28 802D2078 0C00A88D */ jal sin_cos_deg /* 0F6A2C 802D207C 27A60014 */ addiu $a2, $sp, 0x14 /* 0F6A30 802D2080 C7A40010 */ lwc1 $f4, 0x10($sp) /* 0F6A34 802D2084 44937000 */ mtc1 $s3, $f14 @@ -2100,7 +2140,7 @@ func_802D1DB4: /* 0F6A98 802D20E8 3C108011 */ lui $s0, 0x8011 /* 0F6A9C 802D20EC 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 0F6AA0 802D20F0 E60C0028 */ swc1 $f12, 0x28($s0) -/* 0F6AA4 802D20F4 0C00A7B5 */ jal func_80029ED4 +/* 0F6AA4 802D20F4 0C00A7B5 */ jal dist2D /* 0F6AA8 802D20F8 E60E0030 */ swc1 $f14, 0x30($s0) /* 0F6AAC 802D20FC 44911000 */ mtc1 $s1, $f2 /* 0F6AB0 802D2100 00000000 */ nop @@ -2132,6 +2172,7 @@ func_802D1DB4: /* 0F6B14 802D2164 03E00008 */ jr $ra /* 0F6B18 802D2168 24020002 */ addiu $v0, $zero, 2 +UseExitHeading: /* 0F6B1C 802D216C 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0F6B20 802D2170 AFB30024 */ sw $s3, 0x24($sp) /* 0F6B24 802D2174 0080982D */ daddu $s3, $a0, $zero @@ -2148,7 +2189,7 @@ func_802D1DB4: /* 0F6B50 802D21A0 F7B60040 */ sdc1 $f22, 0x40($sp) /* 0F6B54 802D21A4 F7B40038 */ sdc1 $f20, 0x38($sp) /* 0F6B58 802D21A8 8E70000C */ lw $s0, 0xc($s3) -/* 0F6B5C 802D21AC 0C016AFA */ jal func_8005ABE8 +/* 0F6B5C 802D21AC 0C016AFA */ jal get_current_map_header /* 0F6B60 802D21B0 26750098 */ addiu $s5, $s3, 0x98 /* 0F6B64 802D21B4 3C128011 */ lui $s2, 0x8011 /* 0F6B68 802D21B8 2652EFC8 */ addiu $s2, $s2, -0x1038 @@ -2158,11 +2199,11 @@ func_802D1DB4: /* 0F6B78 802D21C8 0000102D */ daddu $v0, $zero, $zero /* 0F6B7C 802D21CC 8E050000 */ lw $a1, ($s0) /* 0F6B80 802D21D0 26100004 */ addiu $s0, $s0, 4 -/* 0F6B84 802D21D4 0C0B1EAF */ jal func_802C7ABC +/* 0F6B84 802D21D4 0C0B1EAF */ jal get_variable /* 0F6B88 802D21D8 0260202D */ daddu $a0, $s3, $zero /* 0F6B8C 802D21DC 0040882D */ daddu $s1, $v0, $zero /* 0F6B90 802D21E0 8E050000 */ lw $a1, ($s0) -/* 0F6B94 802D21E4 0C0B1EAF */ jal func_802C7ABC +/* 0F6B94 802D21E4 0C0B1EAF */ jal get_variable /* 0F6B98 802D21E8 0260202D */ daddu $a0, $s3, $zero /* 0F6B9C 802D21EC 0040802D */ daddu $s0, $v0, $zero /* 0F6BA0 802D21F0 00101100 */ sll $v0, $s0, 4 @@ -2183,7 +2224,7 @@ func_802D1DB4: /* 0F6BDC 802D222C 00000000 */ nop /* 0F6BE0 802D2230 C45E0008 */ lwc1 $f30, 8($v0) /* 0F6BE4 802D2234 4600E306 */ mov.s $f12, $f28 -/* 0F6BE8 802D2238 0C00A7B5 */ jal func_80029ED4 +/* 0F6BE8 802D2238 0C00A7B5 */ jal dist2D /* 0F6BEC 802D223C 4600F386 */ mov.s $f14, $f30 /* 0F6BF0 802D2240 46140081 */ sub.s $f2, $f0, $f20 /* 0F6BF4 802D2244 44800000 */ mtc1 $zero, $f0 @@ -2209,11 +2250,11 @@ func_802D1DB4: /* 0F6C3C 802D228C 44816000 */ mtc1 $at, $f12 /* 0F6C40 802D2290 02021021 */ addu $v0, $s0, $v0 /* 0F6C44 802D2294 C440000C */ lwc1 $f0, 0xc($v0) -/* 0F6C48 802D2298 0C00A6C9 */ jal func_80029B24 +/* 0F6C48 802D2298 0C00A6C9 */ jal clamp_angle /* 0F6C4C 802D229C 460C0300 */ add.s $f12, $f0, $f12 /* 0F6C50 802D22A0 46000306 */ mov.s $f12, $f0 /* 0F6C54 802D22A4 27A50010 */ addiu $a1, $sp, 0x10 -/* 0F6C58 802D22A8 0C00A88D */ jal func_8002A234 +/* 0F6C58 802D22A8 0C00A88D */ jal sin_cos_deg /* 0F6C5C 802D22AC 27A60014 */ addiu $a2, $sp, 0x14 /* 0F6C60 802D22B0 C7AA0010 */ lwc1 $f10, 0x10($sp) /* 0F6C64 802D22B4 44913000 */ mtc1 $s1, $f6 @@ -2364,7 +2405,7 @@ func_802D23F8: /* 0F6E7C 802D24CC 0002302B */ sltu $a2, $zero, $v0 .L802D24D0: /* 0F6E80 802D24D0 8E050000 */ lw $a1, ($s0) -/* 0F6E84 802D24D4 0C0B2026 */ jal func_802C8098 +/* 0F6E84 802D24D4 0C0B2026 */ jal set_variable /* 0F6E88 802D24D8 0220202D */ daddu $a0, $s1, $zero /* 0F6E8C 802D24DC 8FBF0018 */ lw $ra, 0x18($sp) /* 0F6E90 802D24E0 8FB10014 */ lw $s1, 0x14($sp) @@ -2399,7 +2440,7 @@ func_802D23F8: /* 0F6EF8 802D2548 8E150000 */ lw $s5, ($s0) /* 0F6EFC 802D254C 26100004 */ addiu $s0, $s0, 4 /* 0F6F00 802D2550 8E050000 */ lw $a1, ($s0) -/* 0F6F04 802D2554 0C0B1EAF */ jal func_802C7ABC +/* 0F6F04 802D2554 0C0B1EAF */ jal get_variable /* 0F6F08 802D2558 26100004 */ addiu $s0, $s0, 4 /* 0F6F0C 802D255C 02A0202D */ daddu $a0, $s5, $zero /* 0F6F10 802D2560 0000282D */ daddu $a1, $zero, $zero @@ -2449,16 +2490,16 @@ func_802D23F8: /* 0F6FB8 802D2608 A24200BE */ sb $v0, 0xbe($s2) /* 0F6FBC 802D260C 8E050000 */ lw $a1, ($s0) /* 0F6FC0 802D2610 26100004 */ addiu $s0, $s0, 4 -/* 0F6FC4 802D2614 0C0B1EAF */ jal func_802C7ABC +/* 0F6FC4 802D2614 0C0B1EAF */ jal get_variable /* 0F6FC8 802D2618 0280202D */ daddu $a0, $s4, $zero /* 0F6FCC 802D261C 0040982D */ daddu $s3, $v0, $zero /* 0F6FD0 802D2620 8E050000 */ lw $a1, ($s0) /* 0F6FD4 802D2624 26100004 */ addiu $s0, $s0, 4 -/* 0F6FD8 802D2628 0C0B1EAF */ jal func_802C7ABC +/* 0F6FD8 802D2628 0C0B1EAF */ jal get_variable /* 0F6FDC 802D262C 0280202D */ daddu $a0, $s4, $zero /* 0F6FE0 802D2630 0040902D */ daddu $s2, $v0, $zero /* 0F6FE4 802D2634 8E050000 */ lw $a1, ($s0) -/* 0F6FE8 802D2638 0C0B1EAF */ jal func_802C7ABC +/* 0F6FE8 802D2638 0C0B1EAF */ jal get_variable /* 0F6FEC 802D263C 0280202D */ daddu $a0, $s4, $zero /* 0F6FF0 802D2640 02A0202D */ daddu $a0, $s5, $zero /* 0F6FF4 802D2644 24050004 */ addiu $a1, $zero, 4 @@ -2474,16 +2515,16 @@ func_802D23F8: /* 0F7018 802D2668 A24200BE */ sb $v0, 0xbe($s2) /* 0F701C 802D266C 8E050000 */ lw $a1, ($s0) /* 0F7020 802D2670 26100004 */ addiu $s0, $s0, 4 -/* 0F7024 802D2674 0C0B1EAF */ jal func_802C7ABC +/* 0F7024 802D2674 0C0B1EAF */ jal get_variable /* 0F7028 802D2678 0280202D */ daddu $a0, $s4, $zero /* 0F702C 802D267C 0040982D */ daddu $s3, $v0, $zero /* 0F7030 802D2680 8E050000 */ lw $a1, ($s0) /* 0F7034 802D2684 26100004 */ addiu $s0, $s0, 4 -/* 0F7038 802D2688 0C0B1EAF */ jal func_802C7ABC +/* 0F7038 802D2688 0C0B1EAF */ jal get_variable /* 0F703C 802D268C 0280202D */ daddu $a0, $s4, $zero /* 0F7040 802D2690 0040902D */ daddu $s2, $v0, $zero /* 0F7044 802D2694 8E050000 */ lw $a1, ($s0) -/* 0F7048 802D2698 0C0B1EAF */ jal func_802C7ABC +/* 0F7048 802D2698 0C0B1EAF */ jal get_variable /* 0F704C 802D269C 0280202D */ daddu $a0, $s4, $zero /* 0F7050 802D26A0 02A0202D */ daddu $a0, $s5, $zero /* 0F7054 802D26A4 24050006 */ addiu $a1, $zero, 6 @@ -2498,7 +2539,7 @@ func_802D23F8: /* 0F7074 802D26C4 24020016 */ addiu $v0, $zero, 0x16 /* 0F7078 802D26C8 A24200BE */ sb $v0, 0xbe($s2) /* 0F707C 802D26CC 8E050000 */ lw $a1, ($s0) -/* 0F7080 802D26D0 0C0B1EAF */ jal func_802C7ABC +/* 0F7080 802D26D0 0C0B1EAF */ jal get_variable /* 0F7084 802D26D4 0280202D */ daddu $a0, $s4, $zero /* 0F7088 802D26D8 02A0202D */ daddu $a0, $s5, $zero /* 0F708C 802D26DC 24050007 */ addiu $a1, $zero, 7 @@ -2516,21 +2557,21 @@ func_802D23F8: /* 0F70B8 802D2708 A24200BE */ sb $v0, 0xbe($s2) /* 0F70BC 802D270C 8E050000 */ lw $a1, ($s0) /* 0F70C0 802D2710 26100004 */ addiu $s0, $s0, 4 -/* 0F70C4 802D2714 0C0B1EAF */ jal func_802C7ABC +/* 0F70C4 802D2714 0C0B1EAF */ jal get_variable /* 0F70C8 802D2718 0280202D */ daddu $a0, $s4, $zero /* 0F70CC 802D271C 0040982D */ daddu $s3, $v0, $zero /* 0F70D0 802D2720 8E050000 */ lw $a1, ($s0) /* 0F70D4 802D2724 26100004 */ addiu $s0, $s0, 4 -/* 0F70D8 802D2728 0C0B1EAF */ jal func_802C7ABC +/* 0F70D8 802D2728 0C0B1EAF */ jal get_variable /* 0F70DC 802D272C 0280202D */ daddu $a0, $s4, $zero /* 0F70E0 802D2730 0040902D */ daddu $s2, $v0, $zero /* 0F70E4 802D2734 8E050000 */ lw $a1, ($s0) /* 0F70E8 802D2738 26100004 */ addiu $s0, $s0, 4 -/* 0F70EC 802D273C 0C0B1EAF */ jal func_802C7ABC +/* 0F70EC 802D273C 0C0B1EAF */ jal get_variable /* 0F70F0 802D2740 0280202D */ daddu $a0, $s4, $zero /* 0F70F4 802D2744 0040882D */ daddu $s1, $v0, $zero /* 0F70F8 802D2748 8E050000 */ lw $a1, ($s0) -/* 0F70FC 802D274C 0C0B1EAF */ jal func_802C7ABC +/* 0F70FC 802D274C 0C0B1EAF */ jal get_variable /* 0F7100 802D2750 0280202D */ daddu $a0, $s4, $zero /* 0F7104 802D2754 02A0202D */ daddu $a0, $s5, $zero /* 0F7108 802D2758 080B4A06 */ j func_802D2818 @@ -2540,16 +2581,16 @@ func_802D23F8: /* 0F7114 802D2764 A24200BE */ sb $v0, 0xbe($s2) /* 0F7118 802D2768 8E050000 */ lw $a1, ($s0) /* 0F711C 802D276C 26100004 */ addiu $s0, $s0, 4 -/* 0F7120 802D2770 0C0B1EAF */ jal func_802C7ABC +/* 0F7120 802D2770 0C0B1EAF */ jal get_variable /* 0F7124 802D2774 0280202D */ daddu $a0, $s4, $zero /* 0F7128 802D2778 0040982D */ daddu $s3, $v0, $zero /* 0F712C 802D277C 8E050000 */ lw $a1, ($s0) /* 0F7130 802D2780 26100004 */ addiu $s0, $s0, 4 -/* 0F7134 802D2784 0C0B1EAF */ jal func_802C7ABC +/* 0F7134 802D2784 0C0B1EAF */ jal get_variable /* 0F7138 802D2788 0280202D */ daddu $a0, $s4, $zero /* 0F713C 802D278C 0040902D */ daddu $s2, $v0, $zero /* 0F7140 802D2790 8E050000 */ lw $a1, ($s0) -/* 0F7144 802D2794 0C0B1EAF */ jal func_802C7ABC +/* 0F7144 802D2794 0C0B1EAF */ jal get_variable /* 0F7148 802D2798 0280202D */ daddu $a0, $s4, $zero /* 0F714C 802D279C 02A0202D */ daddu $a0, $s5, $zero /* 0F7150 802D27A0 24050005 */ addiu $a1, $zero, 5 @@ -2565,21 +2606,21 @@ func_802D23F8: /* 0F7174 802D27C4 A24200BE */ sb $v0, 0xbe($s2) /* 0F7178 802D27C8 8E050000 */ lw $a1, ($s0) /* 0F717C 802D27CC 26100004 */ addiu $s0, $s0, 4 -/* 0F7180 802D27D0 0C0B1EAF */ jal func_802C7ABC +/* 0F7180 802D27D0 0C0B1EAF */ jal get_variable /* 0F7184 802D27D4 0280202D */ daddu $a0, $s4, $zero /* 0F7188 802D27D8 0040982D */ daddu $s3, $v0, $zero /* 0F718C 802D27DC 8E050000 */ lw $a1, ($s0) /* 0F7190 802D27E0 26100004 */ addiu $s0, $s0, 4 -/* 0F7194 802D27E4 0C0B1EAF */ jal func_802C7ABC +/* 0F7194 802D27E4 0C0B1EAF */ jal get_variable /* 0F7198 802D27E8 0280202D */ daddu $a0, $s4, $zero /* 0F719C 802D27EC 0040902D */ daddu $s2, $v0, $zero /* 0F71A0 802D27F0 8E050000 */ lw $a1, ($s0) /* 0F71A4 802D27F4 26100004 */ addiu $s0, $s0, 4 -/* 0F71A8 802D27F8 0C0B1EAF */ jal func_802C7ABC +/* 0F71A8 802D27F8 0C0B1EAF */ jal get_variable /* 0F71AC 802D27FC 0280202D */ daddu $a0, $s4, $zero /* 0F71B0 802D2800 0040882D */ daddu $s1, $v0, $zero /* 0F71B4 802D2804 8E050000 */ lw $a1, ($s0) -/* 0F71B8 802D2808 0C0B1EAF */ jal func_802C7ABC +/* 0F71B8 802D2808 0C0B1EAF */ jal get_variable /* 0F71BC 802D280C 0280202D */ daddu $a0, $s4, $zero /* 0F71C0 802D2810 02A0202D */ daddu $a0, $s5, $zero /* 0F71C4 802D2814 2405000D */ addiu $a1, $zero, 0xd @@ -2635,11 +2676,11 @@ func_802D2834: /* 0F7270 802D28C0 10A00043 */ beqz $a1, .L802D29D0 /* 0F7274 802D28C4 2654007C */ addiu $s4, $s2, 0x7c /* 0F7278 802D28C8 8E050000 */ lw $a1, ($s0) -/* 0F727C 802D28CC 0C0B210B */ jal func_802C842C +/* 0F727C 802D28CC 0C0B210B */ jal get_float_variable /* 0F7280 802D28D0 26100004 */ addiu $s0, $s0, 4 /* 0F7284 802D28D4 0240202D */ daddu $a0, $s2, $zero /* 0F7288 802D28D8 8E050000 */ lw $a1, ($s0) -/* 0F728C 802D28DC 0C0B210B */ jal func_802C842C +/* 0F728C 802D28DC 0C0B210B */ jal get_float_variable /* 0F7290 802D28E0 46000506 */ mov.s $f20, $f0 /* 0F7294 802D28E4 3C02802E */ lui $v0, 0x802e /* 0F7298 802D28E8 8C429D20 */ lw $v0, -0x62e0($v0) @@ -2661,7 +2702,7 @@ func_802D2834: /* 0F72D4 802D2924 C66E0030 */ lwc1 $f14, 0x30($s3) /* 0F72D8 802D2928 4406A000 */ mfc1 $a2, $f20 /* 0F72DC 802D292C 44071000 */ mfc1 $a3, $f2 -/* 0F72E0 802D2930 0C00A720 */ jal func_80029C80 +/* 0F72E0 802D2930 0C00A720 */ jal atan2 /* 0F72E4 802D2934 00000000 */ nop /* 0F72E8 802D2938 080B4A51 */ j func_802D2944 /* 0F72EC 802D293C 46000086 */ mov.s $f2, $f0 @@ -2673,7 +2714,7 @@ func_802D2944: /* 0F72F8 802D2948 46001001 */ sub.s $f0, $f2, $f0 /* 0F72FC 802D294C E6200000 */ swc1 $f0, ($s1) /* 0F7300 802D2950 8E050000 */ lw $a1, ($s0) -/* 0F7304 802D2954 0C0B1EAF */ jal func_802C7ABC +/* 0F7304 802D2954 0C0B1EAF */ jal get_variable /* 0F7308 802D2958 0240202D */ daddu $a0, $s2, $zero /* 0F730C 802D295C AE820000 */ sw $v0, ($s4) /* 0F7310 802D2960 3C02802E */ lui $v0, 0x802e @@ -2715,7 +2756,7 @@ func_802D2944: /* 0F7398 802D29E8 C6200000 */ lwc1 $f0, ($s1) /* 0F739C 802D29EC C44C000C */ lwc1 $f12, 0xc($v0) /* 0F73A0 802D29F0 46006300 */ add.s $f12, $f12, $f0 -/* 0F73A4 802D29F4 0C00A6C9 */ jal func_80029B24 +/* 0F73A4 802D29F4 0C00A6C9 */ jal clamp_angle /* 0F73A8 802D29F8 E44C000C */ swc1 $f12, 0xc($v0) /* 0F73AC 802D29FC 8E030000 */ lw $v1, ($s0) /* 0F73B0 802D2A00 24020002 */ addiu $v0, $zero, 2 @@ -2743,7 +2784,7 @@ func_802D2944: /* 0F7400 802D2A50 468010A0 */ cvt.s.w $f2, $f2 /* 0F7404 802D2A54 46020003 */ div.s $f0, $f0, $f2 /* 0F7408 802D2A58 46006300 */ add.s $f12, $f12, $f0 -/* 0F740C 802D2A5C 0C00A6C9 */ jal func_80029B24 +/* 0F740C 802D2A5C 0C00A6C9 */ jal clamp_angle /* 0F7410 802D2A60 E46C000C */ swc1 $f12, 0xc($v1) /* 0F7414 802D2A64 8E020000 */ lw $v0, ($s0) /* 0F7418 802D2A68 E440000C */ swc1 $f0, 0xc($v0) @@ -2764,6 +2805,7 @@ func_802D2A80: /* 0F7450 802D2AA0 03E00008 */ jr $ra /* 0F7454 802D2AA4 27BD0038 */ addiu $sp, $sp, 0x38 +DisablePulseStone: /* 0F7458 802D2AA8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F745C 802D2AAC AFBF0018 */ sw $ra, 0x18($sp) /* 0F7460 802D2AB0 AFB10014 */ sw $s1, 0x14($sp) @@ -2772,7 +2814,7 @@ func_802D2A80: /* 0F746C 802D2ABC 3C108011 */ lui $s0, 0x8011 /* 0F7470 802D2AC0 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 0F7474 802D2AC4 8C450000 */ lw $a1, ($v0) -/* 0F7478 802D2AC8 0C0B1EAF */ jal func_802C7ABC +/* 0F7478 802D2AC8 0C0B1EAF */ jal get_variable /* 0F747C 802D2ACC 0200882D */ daddu $s1, $s0, $zero /* 0F7480 802D2AD0 10400005 */ beqz $v0, .L802D2AE8 /* 0F7484 802D2AD4 2403FF7F */ addiu $v1, $zero, -0x81 @@ -2793,6 +2835,7 @@ func_802D2AF4: /* 0F74B4 802D2B04 03E00008 */ jr $ra /* 0F74B8 802D2B08 27BD0020 */ addiu $sp, $sp, 0x20 +GetCurrentPartner: /* 0F74BC 802D2B0C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F74C0 802D2B10 AFBF0010 */ sw $ra, 0x10($sp) /* 0F74C4 802D2B14 8C82000C */ lw $v0, 0xc($a0) @@ -2805,7 +2848,7 @@ func_802D2AF4: /* 0F74E0 802D2B30 2442F290 */ addiu $v0, $v0, -0xd70 /* 0F74E4 802D2B34 80460012 */ lb $a2, 0x12($v0) .L802D2B38: -/* 0F74E8 802D2B38 0C0B2026 */ jal func_802C8098 +/* 0F74E8 802D2B38 0C0B2026 */ jal set_variable /* 0F74EC 802D2B3C 00000000 */ nop /* 0F74F0 802D2B40 8FBF0010 */ lw $ra, 0x10($sp) /* 0F74F4 802D2B44 24020002 */ addiu $v0, $zero, 2 @@ -2828,6 +2871,7 @@ func_802D2AF4: /* 0F7530 802D2B80 03E00008 */ jr $ra /* 0F7534 802D2B84 24020002 */ addiu $v0, $zero, 2 +Disable8bitMario: /* 0F7538 802D2B88 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F753C 802D2B8C AFBF0018 */ sw $ra, 0x18($sp) /* 0F7540 802D2B90 AFB10014 */ sw $s1, 0x14($sp) @@ -2836,7 +2880,7 @@ func_802D2AF4: /* 0F754C 802D2B9C 3C108011 */ lui $s0, 0x8011 /* 0F7550 802D2BA0 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 0F7554 802D2BA4 8C450000 */ lw $a1, ($v0) -/* 0F7558 802D2BA8 0C0B1EAF */ jal func_802C7ABC +/* 0F7558 802D2BA8 0C0B1EAF */ jal get_variable /* 0F755C 802D2BAC 0200882D */ daddu $s1, $s0, $zero /* 0F7560 802D2BB0 10400009 */ beqz $v0, .L802D2BD8 /* 0F7564 802D2BB4 24020025 */ addiu $v0, $zero, 0x25 @@ -2870,7 +2914,7 @@ func_802D2BFC: /* 0F75C4 802D2C14 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F75C8 802D2C18 AFBF0010 */ sw $ra, 0x10($sp) /* 0F75CC 802D2C1C 8C82000C */ lw $v0, 0xc($a0) -/* 0F75D0 802D2C20 0C0B1EAF */ jal func_802C7ABC +/* 0F75D0 802D2C20 0C0B1EAF */ jal get_variable /* 0F75D4 802D2C24 8C450000 */ lw $a1, ($v0) /* 0F75D8 802D2C28 0C03BCF5 */ jal func_800EF3D4 /* 0F75DC 802D2C2C 0040202D */ daddu $a0, $v0, $zero @@ -2887,7 +2931,7 @@ func_802D2BFC: /* 0F7604 802D2C54 AFB00010 */ sw $s0, 0x10($sp) /* 0F7608 802D2C58 8E50000C */ lw $s0, 0xc($s2) /* 0F760C 802D2C5C 8E050000 */ lw $a1, ($s0) -/* 0F7610 802D2C60 0C0B1EAF */ jal func_802C7ABC +/* 0F7610 802D2C60 0C0B1EAF */ jal get_variable /* 0F7614 802D2C64 26100004 */ addiu $s0, $s0, 4 /* 0F7618 802D2C68 44820000 */ mtc1 $v0, $f0 /* 0F761C 802D2C6C 00000000 */ nop @@ -2897,14 +2941,14 @@ func_802D2BFC: /* 0F762C 802D2C7C E620001C */ swc1 $f0, 0x1c($s1) /* 0F7630 802D2C80 8E050000 */ lw $a1, ($s0) /* 0F7634 802D2C84 26100004 */ addiu $s0, $s0, 4 -/* 0F7638 802D2C88 0C0B1EAF */ jal func_802C7ABC +/* 0F7638 802D2C88 0C0B1EAF */ jal get_variable /* 0F763C 802D2C8C 0240202D */ daddu $a0, $s2, $zero /* 0F7640 802D2C90 44820000 */ mtc1 $v0, $f0 /* 0F7644 802D2C94 00000000 */ nop /* 0F7648 802D2C98 46800020 */ cvt.s.w $f0, $f0 /* 0F764C 802D2C9C E6200020 */ swc1 $f0, 0x20($s1) /* 0F7650 802D2CA0 8E050000 */ lw $a1, ($s0) -/* 0F7654 802D2CA4 0C0B1EAF */ jal func_802C7ABC +/* 0F7654 802D2CA4 0C0B1EAF */ jal get_variable /* 0F7658 802D2CA8 0240202D */ daddu $a0, $s2, $zero /* 0F765C 802D2CAC 44820000 */ mtc1 $v0, $f0 /* 0F7660 802D2CB0 00000000 */ nop @@ -2918,6 +2962,7 @@ func_802D2BFC: /* 0F7680 802D2CD0 03E00008 */ jr $ra /* 0F7684 802D2CD4 27BD0020 */ addiu $sp, $sp, 0x20 +PlaySoundAtPlayer: /* 0F7688 802D2CD8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F768C 802D2CDC AFB10014 */ sw $s1, 0x14($sp) /* 0F7690 802D2CE0 0080882D */ daddu $s1, $a0, $zero @@ -2925,14 +2970,14 @@ func_802D2BFC: /* 0F7698 802D2CE8 AFB00010 */ sw $s0, 0x10($sp) /* 0F769C 802D2CEC 8E30000C */ lw $s0, 0xc($s1) /* 0F76A0 802D2CF0 8E050000 */ lw $a1, ($s0) -/* 0F76A4 802D2CF4 0C0B1EAF */ jal func_802C7ABC +/* 0F76A4 802D2CF4 0C0B1EAF */ jal get_variable /* 0F76A8 802D2CF8 26100004 */ addiu $s0, $s0, 4 /* 0F76AC 802D2CFC 0220202D */ daddu $a0, $s1, $zero /* 0F76B0 802D2D00 8E050000 */ lw $a1, ($s0) -/* 0F76B4 802D2D04 0C0B1EAF */ jal func_802C7ABC +/* 0F76B4 802D2D04 0C0B1EAF */ jal get_variable /* 0F76B8 802D2D08 0040802D */ daddu $s0, $v0, $zero /* 0F76BC 802D2D0C 0200202D */ daddu $a0, $s0, $zero -/* 0F76C0 802D2D10 0C052736 */ jal func_80149CD8 +/* 0F76C0 802D2D10 0C052736 */ jal play_sound_at_player /* 0F76C4 802D2D14 0040282D */ daddu $a1, $v0, $zero /* 0F76C8 802D2D18 8FBF0018 */ lw $ra, 0x18($sp) /* 0F76CC 802D2D1C 8FB10014 */ lw $s1, 0x14($sp) @@ -3093,10 +3138,10 @@ func_802D2F34: /* 0F7918 802D2F68 0080802D */ daddu $s0, $a0, $zero /* 0F791C 802D2F6C AFBF0014 */ sw $ra, 0x14($sp) /* 0F7920 802D2F70 4600A503 */ div.s $f20, $f20, $f0 -/* 0F7924 802D2F74 0C00A85B */ jal func_8002A16C +/* 0F7924 802D2F74 0C00A85B */ jal sin_rad /* 0F7928 802D2F78 4600A306 */ mov.s $f12, $f20 /* 0F792C 802D2F7C 4600A306 */ mov.s $f12, $f20 -/* 0F7930 802D2F80 0C00A874 */ jal func_8002A1D0 +/* 0F7930 802D2F80 0C00A874 */ jal cos_rad /* 0F7934 802D2F84 46000506 */ mov.s $f20, $f0 /* 0F7938 802D2F88 4614B502 */ mul.s $f20, $f22, $f20 /* 0F793C 802D2F8C 00000000 */ nop @@ -3394,11 +3439,11 @@ func_802D33C4: /* 0F7D94 802D33E4 AFB00010 */ sw $s0, 0x10($sp) /* 0F7D98 802D33E8 8E30000C */ lw $s0, 0xc($s1) /* 0F7D9C 802D33EC 8E050000 */ lw $a1, ($s0) -/* 0F7DA0 802D33F0 0C0B1EAF */ jal func_802C7ABC +/* 0F7DA0 802D33F0 0C0B1EAF */ jal get_variable /* 0F7DA4 802D33F4 26100004 */ addiu $s0, $s0, 4 /* 0F7DA8 802D33F8 0220202D */ daddu $a0, $s1, $zero /* 0F7DAC 802D33FC 8E050000 */ lw $a1, ($s0) -/* 0F7DB0 802D3400 0C0B1EAF */ jal func_802C7ABC +/* 0F7DB0 802D3400 0C0B1EAF */ jal get_variable /* 0F7DB4 802D3404 0040802D */ daddu $s0, $v0, $zero /* 0F7DB8 802D3408 0040202D */ daddu $a0, $v0, $zero /* 0F7DBC 802D340C 3C02802E */ lui $v0, 0x802e @@ -3428,6 +3473,7 @@ func_802D33C4: /* 0F7E1C 802D346C 03E00008 */ jr $ra /* 0F7E20 802D3470 27BD0020 */ addiu $sp, $sp, 0x20 +CreateImageObj: /* 0F7E24 802D3474 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F7E28 802D3478 AFB20018 */ sw $s2, 0x18($sp) /* 0F7E2C 802D347C 0080902D */ daddu $s2, $a0, $zero @@ -3438,7 +3484,7 @@ func_802D33C4: /* 0F7E40 802D3490 8E42000C */ lw $v0, 0xc($s2) /* 0F7E44 802D3494 8C450004 */ lw $a1, 4($v0) /* 0F7E48 802D3498 8C530000 */ lw $s3, ($v0) -/* 0F7E4C 802D349C 0C0B1EAF */ jal func_802C7ABC +/* 0F7E4C 802D349C 0C0B1EAF */ jal get_variable /* 0F7E50 802D34A0 0000882D */ daddu $s1, $zero, $zero /* 0F7E54 802D34A4 0040202D */ daddu $a0, $v0, $zero /* 0F7E58 802D34A8 3C03802E */ lui $v1, 0x802e @@ -3474,7 +3520,7 @@ func_802D33C4: /* 0F7EC8 802D3518 E6000024 */ swc1 $f0, 0x24($s0) /* 0F7ECC 802D351C 0240202D */ daddu $a0, $s2, $zero /* 0F7ED0 802D3520 0260282D */ daddu $a1, $s3, $zero -/* 0F7ED4 802D3524 0C0B2026 */ jal func_802C8098 +/* 0F7ED4 802D3524 0C0B2026 */ jal set_variable /* 0F7ED8 802D3528 0220302D */ daddu $a2, $s1, $zero /* 0F7EDC 802D352C 24020002 */ addiu $v0, $zero, 2 .L802D3530: @@ -3496,7 +3542,7 @@ func_802D33C4: /* 0F7F18 802D3568 8E42000C */ lw $v0, 0xc($s2) /* 0F7F1C 802D356C 8C450004 */ lw $a1, 4($v0) /* 0F7F20 802D3570 8C530000 */ lw $s3, ($v0) -/* 0F7F24 802D3574 0C0B1EAF */ jal func_802C7ABC +/* 0F7F24 802D3574 0C0B1EAF */ jal get_variable /* 0F7F28 802D3578 0000882D */ daddu $s1, $zero, $zero /* 0F7F2C 802D357C 0040202D */ daddu $a0, $v0, $zero /* 0F7F30 802D3580 3C03802E */ lui $v1, 0x802e @@ -3532,7 +3578,7 @@ func_802D33C4: /* 0F7FA0 802D35F0 E6000024 */ swc1 $f0, 0x24($s0) /* 0F7FA4 802D35F4 0240202D */ daddu $a0, $s2, $zero /* 0F7FA8 802D35F8 0260282D */ daddu $a1, $s3, $zero -/* 0F7FAC 802D35FC 0C0B2026 */ jal func_802C8098 +/* 0F7FAC 802D35FC 0C0B2026 */ jal set_variable /* 0F7FB0 802D3600 0220302D */ daddu $a2, $s1, $zero /* 0F7FB4 802D3604 24020002 */ addiu $v0, $zero, 2 .L802D3608: @@ -3544,11 +3590,12 @@ func_802D33C4: /* 0F7FCC 802D361C 03E00008 */ jr $ra /* 0F7FD0 802D3620 27BD0028 */ addiu $sp, $sp, 0x28 +RemoveImageObj: /* 0F7FD4 802D3624 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F7FD8 802D3628 AFBF0014 */ sw $ra, 0x14($sp) /* 0F7FDC 802D362C AFB00010 */ sw $s0, 0x10($sp) /* 0F7FE0 802D3630 8C82000C */ lw $v0, 0xc($a0) -/* 0F7FE4 802D3634 0C0B1EAF */ jal func_802C7ABC +/* 0F7FE4 802D3634 0C0B1EAF */ jal get_variable /* 0F7FE8 802D3638 8C450000 */ lw $a1, ($v0) /* 0F7FEC 802D363C 3C03802E */ lui $v1, 0x802e /* 0F7FF0 802D3640 8C63B7C0 */ lw $v1, -0x4840($v1) @@ -3572,11 +3619,11 @@ func_802D33C4: /* 0F8034 802D3684 AFB00010 */ sw $s0, 0x10($sp) /* 0F8038 802D3688 8E30000C */ lw $s0, 0xc($s1) /* 0F803C 802D368C 8E050000 */ lw $a1, ($s0) -/* 0F8040 802D3690 0C0B1EAF */ jal func_802C7ABC +/* 0F8040 802D3690 0C0B1EAF */ jal get_variable /* 0F8044 802D3694 26100004 */ addiu $s0, $s0, 4 /* 0F8048 802D3698 0220202D */ daddu $a0, $s1, $zero /* 0F804C 802D369C 8E050000 */ lw $a1, ($s0) -/* 0F8050 802D36A0 0C0B1EAF */ jal func_802C7ABC +/* 0F8050 802D36A0 0C0B1EAF */ jal get_variable /* 0F8054 802D36A4 0040802D */ daddu $s0, $v0, $zero /* 0F8058 802D36A8 3C03802E */ lui $v1, 0x802e /* 0F805C 802D36AC 8C63B7C0 */ lw $v1, -0x4840($v1) @@ -3593,6 +3640,7 @@ func_802D33C4: /* 0F8088 802D36D8 03E00008 */ jr $ra /* 0F808C 802D36DC 27BD0020 */ addiu $sp, $sp, 0x20 +SetObjPosition: /* 0F8090 802D36E0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F8094 802D36E4 AFB20018 */ sw $s2, 0x18($sp) /* 0F8098 802D36E8 0080902D */ daddu $s2, $a0, $zero @@ -3603,21 +3651,21 @@ func_802D33C4: /* 0F80AC 802D36FC F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F80B0 802D3700 8E50000C */ lw $s0, 0xc($s2) /* 0F80B4 802D3704 8E050000 */ lw $a1, ($s0) -/* 0F80B8 802D3708 0C0B1EAF */ jal func_802C7ABC +/* 0F80B8 802D3708 0C0B1EAF */ jal get_variable /* 0F80BC 802D370C 26100004 */ addiu $s0, $s0, 4 /* 0F80C0 802D3710 8E050000 */ lw $a1, ($s0) /* 0F80C4 802D3714 26100004 */ addiu $s0, $s0, 4 /* 0F80C8 802D3718 0240202D */ daddu $a0, $s2, $zero -/* 0F80CC 802D371C 0C0B210B */ jal func_802C842C +/* 0F80CC 802D371C 0C0B210B */ jal get_float_variable /* 0F80D0 802D3720 0040882D */ daddu $s1, $v0, $zero /* 0F80D4 802D3724 8E050000 */ lw $a1, ($s0) /* 0F80D8 802D3728 26100004 */ addiu $s0, $s0, 4 /* 0F80DC 802D372C 0240202D */ daddu $a0, $s2, $zero -/* 0F80E0 802D3730 0C0B210B */ jal func_802C842C +/* 0F80E0 802D3730 0C0B210B */ jal get_float_variable /* 0F80E4 802D3734 46000586 */ mov.s $f22, $f0 /* 0F80E8 802D3738 0240202D */ daddu $a0, $s2, $zero /* 0F80EC 802D373C 8E050000 */ lw $a1, ($s0) -/* 0F80F0 802D3740 0C0B210B */ jal func_802C842C +/* 0F80F0 802D3740 0C0B210B */ jal get_float_variable /* 0F80F4 802D3744 46000506 */ mov.s $f20, $f0 /* 0F80F8 802D3748 3C02802E */ lui $v0, 0x802e /* 0F80FC 802D374C 8C42B7C0 */ lw $v0, -0x4840($v0) @@ -3646,7 +3694,7 @@ func_802D33C4: /* 0F8154 802D37A4 AFB00010 */ sw $s0, 0x10($sp) /* 0F8158 802D37A8 8E50000C */ lw $s0, 0xc($s2) /* 0F815C 802D37AC 8E050000 */ lw $a1, ($s0) -/* 0F8160 802D37B0 0C0B1EAF */ jal func_802C7ABC +/* 0F8160 802D37B0 0C0B1EAF */ jal get_variable /* 0F8164 802D37B4 26100004 */ addiu $s0, $s0, 4 /* 0F8168 802D37B8 8E050000 */ lw $a1, ($s0) /* 0F816C 802D37BC 26100004 */ addiu $s0, $s0, 4 @@ -3660,19 +3708,19 @@ func_802D33C4: /* 0F818C 802D37DC 8E100004 */ lw $s0, 4($s0) /* 0F8190 802D37E0 4600008D */ trunc.w.s $f2, $f0 /* 0F8194 802D37E4 44061000 */ mfc1 $a2, $f2 -/* 0F8198 802D37E8 0C0B2026 */ jal func_802C8098 +/* 0F8198 802D37E8 0C0B2026 */ jal set_variable /* 0F819C 802D37EC 0240202D */ daddu $a0, $s2, $zero /* 0F81A0 802D37F0 0240202D */ daddu $a0, $s2, $zero /* 0F81A4 802D37F4 C6200008 */ lwc1 $f0, 8($s1) /* 0F81A8 802D37F8 4600008D */ trunc.w.s $f2, $f0 /* 0F81AC 802D37FC 44061000 */ mfc1 $a2, $f2 -/* 0F81B0 802D3800 0C0B2026 */ jal func_802C8098 +/* 0F81B0 802D3800 0C0B2026 */ jal set_variable /* 0F81B4 802D3804 0260282D */ daddu $a1, $s3, $zero /* 0F81B8 802D3808 0240202D */ daddu $a0, $s2, $zero /* 0F81BC 802D380C C620000C */ lwc1 $f0, 0xc($s1) /* 0F81C0 802D3810 4600008D */ trunc.w.s $f2, $f0 /* 0F81C4 802D3814 44061000 */ mfc1 $a2, $f2 -/* 0F81C8 802D3818 0C0B2026 */ jal func_802C8098 +/* 0F81C8 802D3818 0C0B2026 */ jal set_variable /* 0F81CC 802D381C 0200282D */ daddu $a1, $s0, $zero /* 0F81D0 802D3820 8FBF0020 */ lw $ra, 0x20($sp) /* 0F81D4 802D3824 8FB3001C */ lw $s3, 0x1c($sp) @@ -3683,6 +3731,7 @@ func_802D33C4: /* 0F81E8 802D3838 03E00008 */ jr $ra /* 0F81EC 802D383C 27BD0028 */ addiu $sp, $sp, 0x28 +SetObjRotation: /* 0F81F0 802D3840 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F81F4 802D3844 AFB20018 */ sw $s2, 0x18($sp) /* 0F81F8 802D3848 0080902D */ daddu $s2, $a0, $zero @@ -3693,21 +3742,21 @@ func_802D33C4: /* 0F820C 802D385C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F8210 802D3860 8E50000C */ lw $s0, 0xc($s2) /* 0F8214 802D3864 8E050000 */ lw $a1, ($s0) -/* 0F8218 802D3868 0C0B1EAF */ jal func_802C7ABC +/* 0F8218 802D3868 0C0B1EAF */ jal get_variable /* 0F821C 802D386C 26100004 */ addiu $s0, $s0, 4 /* 0F8220 802D3870 8E050000 */ lw $a1, ($s0) /* 0F8224 802D3874 26100004 */ addiu $s0, $s0, 4 /* 0F8228 802D3878 0240202D */ daddu $a0, $s2, $zero -/* 0F822C 802D387C 0C0B210B */ jal func_802C842C +/* 0F822C 802D387C 0C0B210B */ jal get_float_variable /* 0F8230 802D3880 0040882D */ daddu $s1, $v0, $zero /* 0F8234 802D3884 8E050000 */ lw $a1, ($s0) /* 0F8238 802D3888 26100004 */ addiu $s0, $s0, 4 /* 0F823C 802D388C 0240202D */ daddu $a0, $s2, $zero -/* 0F8240 802D3890 0C0B210B */ jal func_802C842C +/* 0F8240 802D3890 0C0B210B */ jal get_float_variable /* 0F8244 802D3894 46000586 */ mov.s $f22, $f0 /* 0F8248 802D3898 0240202D */ daddu $a0, $s2, $zero /* 0F824C 802D389C 8E050000 */ lw $a1, ($s0) -/* 0F8250 802D38A0 0C0B210B */ jal func_802C842C +/* 0F8250 802D38A0 0C0B210B */ jal get_float_variable /* 0F8254 802D38A4 46000506 */ mov.s $f20, $f0 /* 0F8258 802D38A8 3C02802E */ lui $v0, 0x802e /* 0F825C 802D38AC 8C42B7C0 */ lw $v0, -0x4840($v0) @@ -3727,6 +3776,7 @@ func_802D33C4: /* 0F8294 802D38E4 03E00008 */ jr $ra /* 0F8298 802D38E8 27BD0030 */ addiu $sp, $sp, 0x30 +SetObjScale: /* 0F829C 802D38EC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F82A0 802D38F0 AFB20018 */ sw $s2, 0x18($sp) /* 0F82A4 802D38F4 0080902D */ daddu $s2, $a0, $zero @@ -3737,21 +3787,21 @@ func_802D33C4: /* 0F82B8 802D3908 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0F82BC 802D390C 8E50000C */ lw $s0, 0xc($s2) /* 0F82C0 802D3910 8E050000 */ lw $a1, ($s0) -/* 0F82C4 802D3914 0C0B1EAF */ jal func_802C7ABC +/* 0F82C4 802D3914 0C0B1EAF */ jal get_variable /* 0F82C8 802D3918 26100004 */ addiu $s0, $s0, 4 /* 0F82CC 802D391C 8E050000 */ lw $a1, ($s0) /* 0F82D0 802D3920 26100004 */ addiu $s0, $s0, 4 /* 0F82D4 802D3924 0240202D */ daddu $a0, $s2, $zero -/* 0F82D8 802D3928 0C0B210B */ jal func_802C842C +/* 0F82D8 802D3928 0C0B210B */ jal get_float_variable /* 0F82DC 802D392C 0040882D */ daddu $s1, $v0, $zero /* 0F82E0 802D3930 8E050000 */ lw $a1, ($s0) /* 0F82E4 802D3934 26100004 */ addiu $s0, $s0, 4 /* 0F82E8 802D3938 0240202D */ daddu $a0, $s2, $zero -/* 0F82EC 802D393C 0C0B210B */ jal func_802C842C +/* 0F82EC 802D393C 0C0B210B */ jal get_float_variable /* 0F82F0 802D3940 46000586 */ mov.s $f22, $f0 /* 0F82F4 802D3944 0240202D */ daddu $a0, $s2, $zero /* 0F82F8 802D3948 8E050000 */ lw $a1, ($s0) -/* 0F82FC 802D394C 0C0B210B */ jal func_802C842C +/* 0F82FC 802D394C 0C0B210B */ jal get_float_variable /* 0F8300 802D3950 46000506 */ mov.s $f20, $f0 /* 0F8304 802D3954 3C02802E */ lui $v0, 0x802e /* 0F8308 802D3958 8C42B7C0 */ lw $v0, -0x4840($v0) @@ -3778,11 +3828,11 @@ func_802D33C4: /* 0F8358 802D39A8 AFB00010 */ sw $s0, 0x10($sp) /* 0F835C 802D39AC 8E30000C */ lw $s0, 0xc($s1) /* 0F8360 802D39B0 8E050000 */ lw $a1, ($s0) -/* 0F8364 802D39B4 0C0B1EAF */ jal func_802C7ABC +/* 0F8364 802D39B4 0C0B1EAF */ jal get_variable /* 0F8368 802D39B8 26100004 */ addiu $s0, $s0, 4 /* 0F836C 802D39BC 0220202D */ daddu $a0, $s1, $zero /* 0F8370 802D39C0 8E050000 */ lw $a1, ($s0) -/* 0F8374 802D39C4 0C0B210B */ jal func_802C842C +/* 0F8374 802D39C4 0C0B210B */ jal get_float_variable /* 0F8378 802D39C8 0040802D */ daddu $s0, $v0, $zero /* 0F837C 802D39CC 3C02802E */ lui $v0, 0x802e /* 0F8380 802D39D0 8C42B7C0 */ lw $v0, -0x4840($v0) @@ -3797,6 +3847,7 @@ func_802D33C4: /* 0F83A4 802D39F4 03E00008 */ jr $ra /* 0F83A8 802D39F8 27BD0020 */ addiu $sp, $sp, 0x20 +SetObjJumpScale: /* 0F83AC 802D39FC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F83B0 802D3A00 AFB10014 */ sw $s1, 0x14($sp) /* 0F83B4 802D3A04 0080882D */ daddu $s1, $a0, $zero @@ -3804,11 +3855,11 @@ func_802D33C4: /* 0F83BC 802D3A0C AFB00010 */ sw $s0, 0x10($sp) /* 0F83C0 802D3A10 8E30000C */ lw $s0, 0xc($s1) /* 0F83C4 802D3A14 8E050000 */ lw $a1, ($s0) -/* 0F83C8 802D3A18 0C0B1EAF */ jal func_802C7ABC +/* 0F83C8 802D3A18 0C0B1EAF */ jal get_variable /* 0F83CC 802D3A1C 26100004 */ addiu $s0, $s0, 4 /* 0F83D0 802D3A20 0220202D */ daddu $a0, $s1, $zero /* 0F83D4 802D3A24 8E050000 */ lw $a1, ($s0) -/* 0F83D8 802D3A28 0C0B210B */ jal func_802C842C +/* 0F83D8 802D3A28 0C0B210B */ jal get_float_variable /* 0F83DC 802D3A2C 0040802D */ daddu $s0, $v0, $zero /* 0F83E0 802D3A30 3C02802E */ lui $v0, 0x802e /* 0F83E4 802D3A34 8C42B7C0 */ lw $v0, -0x4840($v0) @@ -3842,32 +3893,32 @@ func_802D33C4: /* 0F844C 802D3A9C 00000000 */ nop /* 0F8450 802D3AA0 8E250000 */ lw $a1, ($s1) /* 0F8454 802D3AA4 26310004 */ addiu $s1, $s1, 4 -/* 0F8458 802D3AA8 0C0B1EAF */ jal func_802C7ABC +/* 0F8458 802D3AA8 0C0B1EAF */ jal get_variable /* 0F845C 802D3AAC 0240202D */ daddu $a0, $s2, $zero /* 0F8460 802D3AB0 8E250000 */ lw $a1, ($s1) /* 0F8464 802D3AB4 26310004 */ addiu $s1, $s1, 4 /* 0F8468 802D3AB8 0240202D */ daddu $a0, $s2, $zero -/* 0F846C 802D3ABC 0C0B1EAF */ jal func_802C7ABC +/* 0F846C 802D3ABC 0C0B1EAF */ jal get_variable /* 0F8470 802D3AC0 0040802D */ daddu $s0, $v0, $zero /* 0F8474 802D3AC4 4482D000 */ mtc1 $v0, $f26 /* 0F8478 802D3AC8 00000000 */ nop /* 0F847C 802D3ACC 4680D6A0 */ cvt.s.w $f26, $f26 /* 0F8480 802D3AD0 8E250000 */ lw $a1, ($s1) /* 0F8484 802D3AD4 26310004 */ addiu $s1, $s1, 4 -/* 0F8488 802D3AD8 0C0B1EAF */ jal func_802C7ABC +/* 0F8488 802D3AD8 0C0B1EAF */ jal get_variable /* 0F848C 802D3ADC 0240202D */ daddu $a0, $s2, $zero /* 0F8490 802D3AE0 8E250000 */ lw $a1, ($s1) /* 0F8494 802D3AE4 26310004 */ addiu $s1, $s1, 4 /* 0F8498 802D3AE8 4482A000 */ mtc1 $v0, $f20 /* 0F849C 802D3AEC 00000000 */ nop /* 0F84A0 802D3AF0 4680A520 */ cvt.s.w $f20, $f20 -/* 0F84A4 802D3AF4 0C0B1EAF */ jal func_802C7ABC +/* 0F84A4 802D3AF4 0C0B1EAF */ jal get_variable /* 0F84A8 802D3AF8 0240202D */ daddu $a0, $s2, $zero /* 0F84AC 802D3AFC 4482C000 */ mtc1 $v0, $f24 /* 0F84B0 802D3B00 00000000 */ nop /* 0F84B4 802D3B04 4680C620 */ cvt.s.w $f24, $f24 /* 0F84B8 802D3B08 8E250000 */ lw $a1, ($s1) -/* 0F84BC 802D3B0C 0C0B1EAF */ jal func_802C7ABC +/* 0F84BC 802D3B0C 0C0B1EAF */ jal get_variable /* 0F84C0 802D3B10 0240202D */ daddu $a0, $s2, $zero /* 0F84C4 802D3B14 3C04802E */ lui $a0, 0x802e /* 0F84C8 802D3B18 8C84B7C0 */ lw $a0, -0x4840($a0) @@ -3889,13 +3940,13 @@ func_802D33C4: /* 0F8508 802D3B58 4600D306 */ mov.s $f12, $f26 /* 0F850C 802D3B5C 4406A000 */ mfc1 $a2, $f20 /* 0F8510 802D3B60 4407B000 */ mfc1 $a3, $f22 -/* 0F8514 802D3B64 0C00A720 */ jal func_80029C80 +/* 0F8514 802D3B64 0C00A720 */ jal atan2 /* 0F8518 802D3B68 4600C386 */ mov.s $f14, $f24 /* 0F851C 802D3B6C 4600D306 */ mov.s $f12, $f26 /* 0F8520 802D3B70 4406A000 */ mfc1 $a2, $f20 /* 0F8524 802D3B74 4407B000 */ mfc1 $a3, $f22 /* 0F8528 802D3B78 4600C386 */ mov.s $f14, $f24 -/* 0F852C 802D3B7C 0C00A7B5 */ jal func_80029ED4 +/* 0F852C 802D3B7C 0C00A7B5 */ jal dist2D /* 0F8530 802D3B80 E6200038 */ swc1 $f0, 0x38($s1) /* 0F8534 802D3B84 C6260048 */ lwc1 $f6, 0x48($s1) /* 0F8538 802D3B88 44801000 */ mtc1 $zero, $f2 @@ -3958,6 +4009,7 @@ func_802D3C30: /* 0F8600 802D3C50 03E00008 */ jr $ra /* 0F8604 802D3C54 27BD0040 */ addiu $sp, $sp, 0x40 +JumpObj: /* 0F8608 802D3C58 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0F860C 802D3C5C AFB20018 */ sw $s2, 0x18($sp) /* 0F8610 802D3C60 0080902D */ daddu $s2, $a0, $zero @@ -3978,32 +4030,32 @@ func_802D3C30: /* 0F8648 802D3C98 00000000 */ nop /* 0F864C 802D3C9C 8E250000 */ lw $a1, ($s1) /* 0F8650 802D3CA0 26310004 */ addiu $s1, $s1, 4 -/* 0F8654 802D3CA4 0C0B1EAF */ jal func_802C7ABC +/* 0F8654 802D3CA4 0C0B1EAF */ jal get_variable /* 0F8658 802D3CA8 0240202D */ daddu $a0, $s2, $zero /* 0F865C 802D3CAC 8E250000 */ lw $a1, ($s1) /* 0F8660 802D3CB0 26310004 */ addiu $s1, $s1, 4 /* 0F8664 802D3CB4 0240202D */ daddu $a0, $s2, $zero -/* 0F8668 802D3CB8 0C0B1EAF */ jal func_802C7ABC +/* 0F8668 802D3CB8 0C0B1EAF */ jal get_variable /* 0F866C 802D3CBC 0040802D */ daddu $s0, $v0, $zero /* 0F8670 802D3CC0 4482D000 */ mtc1 $v0, $f26 /* 0F8674 802D3CC4 00000000 */ nop /* 0F8678 802D3CC8 4680D6A0 */ cvt.s.w $f26, $f26 /* 0F867C 802D3CCC 8E250000 */ lw $a1, ($s1) /* 0F8680 802D3CD0 26310004 */ addiu $s1, $s1, 4 -/* 0F8684 802D3CD4 0C0B1EAF */ jal func_802C7ABC +/* 0F8684 802D3CD4 0C0B1EAF */ jal get_variable /* 0F8688 802D3CD8 0240202D */ daddu $a0, $s2, $zero /* 0F868C 802D3CDC 4482E000 */ mtc1 $v0, $f28 /* 0F8690 802D3CE0 00000000 */ nop /* 0F8694 802D3CE4 4680E720 */ cvt.s.w $f28, $f28 /* 0F8698 802D3CE8 8E250000 */ lw $a1, ($s1) /* 0F869C 802D3CEC 26310004 */ addiu $s1, $s1, 4 -/* 0F86A0 802D3CF0 0C0B1EAF */ jal func_802C7ABC +/* 0F86A0 802D3CF0 0C0B1EAF */ jal get_variable /* 0F86A4 802D3CF4 0240202D */ daddu $a0, $s2, $zero /* 0F86A8 802D3CF8 4482C000 */ mtc1 $v0, $f24 /* 0F86AC 802D3CFC 00000000 */ nop /* 0F86B0 802D3D00 4680C620 */ cvt.s.w $f24, $f24 /* 0F86B4 802D3D04 8E250000 */ lw $a1, ($s1) -/* 0F86B8 802D3D08 0C0B1EAF */ jal func_802C7ABC +/* 0F86B8 802D3D08 0C0B1EAF */ jal get_variable /* 0F86BC 802D3D0C 0240202D */ daddu $a0, $s2, $zero /* 0F86C0 802D3D10 3C04802E */ lui $a0, 0x802e /* 0F86C4 802D3D14 8C84B7C0 */ lw $a0, -0x4840($a0) @@ -4028,13 +4080,13 @@ func_802D3C30: /* 0F8710 802D3D60 4600C386 */ mov.s $f14, $f24 /* 0F8714 802D3D64 4406B000 */ mfc1 $a2, $f22 /* 0F8718 802D3D68 4407A000 */ mfc1 $a3, $f20 -/* 0F871C 802D3D6C 0C00A720 */ jal func_80029C80 +/* 0F871C 802D3D6C 0C00A720 */ jal atan2 /* 0F8720 802D3D70 461C0701 */ sub.s $f28, $f0, $f28 /* 0F8724 802D3D74 4600D306 */ mov.s $f12, $f26 /* 0F8728 802D3D78 4406B000 */ mfc1 $a2, $f22 /* 0F872C 802D3D7C 4407A000 */ mfc1 $a3, $f20 /* 0F8730 802D3D80 4600C386 */ mov.s $f14, $f24 -/* 0F8734 802D3D84 0C00A7B5 */ jal func_80029ED4 +/* 0F8734 802D3D84 0C00A7B5 */ jal dist2D /* 0F8738 802D3D88 E6200038 */ swc1 $f0, 0x38($s1) /* 0F873C 802D3D8C C6260048 */ lwc1 $f6, 0x48($s1) /* 0F8740 802D3D90 44801000 */ mtc1 $zero, $f2 @@ -4131,7 +4183,7 @@ func_802D3E8C: /* 0F8888 802D3ED8 14400007 */ bnez $v0, .L802D3EF8 /* 0F888C 802D3EDC 00000000 */ nop /* 0F8890 802D3EE0 8C650000 */ lw $a1, ($v1) -/* 0F8894 802D3EE4 0C0B1EAF */ jal func_802C7ABC +/* 0F8894 802D3EE4 0C0B1EAF */ jal get_variable /* 0F8898 802D3EE8 0200202D */ daddu $a0, $s0, $zero /* 0F889C 802D3EEC AE020074 */ sw $v0, 0x74($s0) /* 0F88A0 802D3EF0 24020001 */ addiu $v0, $zero, 1 @@ -4177,7 +4229,7 @@ func_802D3F64: /* 0F892C 802D3F7C AFB00010 */ sw $s0, 0x10($sp) /* 0F8930 802D3F80 8C90000C */ lw $s0, 0xc($a0) /* 0F8934 802D3F84 8E050000 */ lw $a1, ($s0) -/* 0F8938 802D3F88 0C0B1EAF */ jal func_802C7ABC +/* 0F8938 802D3F88 0C0B1EAF */ jal get_variable /* 0F893C 802D3F8C 26100004 */ addiu $s0, $s0, 4 /* 0F8940 802D3F90 3C03802E */ lui $v1, 0x802e /* 0F8944 802D3F94 8C63B7C0 */ lw $v1, -0x4840($v1) @@ -4201,12 +4253,12 @@ func_802D3F64: /* 0F8988 802D3FD8 AFB00010 */ sw $s0, 0x10($sp) /* 0F898C 802D3FDC 8E30000C */ lw $s0, 0xc($s1) /* 0F8990 802D3FE0 8E050000 */ lw $a1, ($s0) -/* 0F8994 802D3FE4 0C0B1EAF */ jal func_802C7ABC +/* 0F8994 802D3FE4 0C0B1EAF */ jal get_variable /* 0F8998 802D3FE8 26100004 */ addiu $s0, $s0, 4 /* 0F899C 802D3FEC 0220202D */ daddu $a0, $s1, $zero /* 0F89A0 802D3FF0 8E050004 */ lw $a1, 4($s0) /* 0F89A4 802D3FF4 8E100000 */ lw $s0, ($s0) -/* 0F89A8 802D3FF8 0C0B1EAF */ jal func_802C7ABC +/* 0F89A8 802D3FF8 0C0B1EAF */ jal get_variable /* 0F89AC 802D3FFC 0040882D */ daddu $s1, $v0, $zero /* 0F89B0 802D4000 3C03802E */ lui $v1, 0x802e /* 0F89B4 802D4004 8C63B7C0 */ lw $v1, -0x4840($v1) @@ -4240,11 +4292,11 @@ func_802D4038: /* 0F8A14 802D4064 AFB00010 */ sw $s0, 0x10($sp) /* 0F8A18 802D4068 8E51000C */ lw $s1, 0xc($s2) /* 0F8A1C 802D406C 8E250000 */ lw $a1, ($s1) -/* 0F8A20 802D4070 0C0B1EAF */ jal func_802C7ABC +/* 0F8A20 802D4070 0C0B1EAF */ jal get_variable /* 0F8A24 802D4074 26310004 */ addiu $s1, $s1, 4 /* 0F8A28 802D4078 0240202D */ daddu $a0, $s2, $zero /* 0F8A2C 802D407C 8E250000 */ lw $a1, ($s1) -/* 0F8A30 802D4080 0C0B1EAF */ jal func_802C7ABC +/* 0F8A30 802D4080 0C0B1EAF */ jal get_variable /* 0F8A34 802D4084 0040802D */ daddu $s0, $v0, $zero /* 0F8A38 802D4088 3C03802E */ lui $v1, 0x802e /* 0F8A3C 802D408C 8C63B7C0 */ lw $v1, -0x4840($v1) @@ -4285,20 +4337,20 @@ func_802D4038: /* 0F8AB8 802D4108 A0620004 */ sb $v0, 4($v1) /* 0F8ABC 802D410C 8E250000 */ lw $a1, ($s1) /* 0F8AC0 802D4110 26310004 */ addiu $s1, $s1, 4 -/* 0F8AC4 802D4114 0C0B1EAF */ jal func_802C7ABC +/* 0F8AC4 802D4114 0C0B1EAF */ jal get_variable /* 0F8AC8 802D4118 0240202D */ daddu $a0, $s2, $zero func_802D411C: /* 0F8ACC 802D411C 8E250000 */ lw $a1, ($s1) /* 0F8AD0 802D4120 26310004 */ addiu $s1, $s1, 4 -/* 0F8AD4 802D4124 0C0B1EAF */ jal func_802C7ABC +/* 0F8AD4 802D4124 0C0B1EAF */ jal get_variable /* 0F8AD8 802D4128 0240202D */ daddu $a0, $s2, $zero /* 0F8ADC 802D412C 8E250000 */ lw $a1, ($s1) /* 0F8AE0 802D4130 26310004 */ addiu $s1, $s1, 4 -/* 0F8AE4 802D4134 0C0B1EAF */ jal func_802C7ABC +/* 0F8AE4 802D4134 0C0B1EAF */ jal get_variable /* 0F8AE8 802D4138 0240202D */ daddu $a0, $s2, $zero func_802D413C: /* 0F8AEC 802D413C 8E250000 */ lw $a1, ($s1) -/* 0F8AF0 802D4140 0C0B1EAF */ jal func_802C7ABC +/* 0F8AF0 802D4140 0C0B1EAF */ jal get_variable /* 0F8AF4 802D4144 0240202D */ daddu $a0, $s2, $zero func_802D4148: .L802D4148: @@ -4557,7 +4609,7 @@ func_802D44C8: /* 0F8E84 802D44D4 2412FFFF */ addiu $s2, $zero, -1 /* 0F8E88 802D44D8 0220802D */ daddu $s0, $s1, $zero .L802D44DC: -/* 0F8E8C 802D44DC 0C00AB39 */ jal func_8002ACE4 +/* 0F8E8C 802D44DC 0C00AB39 */ jal heap_malloc /* 0F8E90 802D44E0 2404004C */ addiu $a0, $zero, 0x4c /* 0F8E94 802D44E4 3C03802E */ lui $v1, 0x802e /* 0F8E98 802D44E8 8C63B7C0 */ lw $v1, -0x4840($v1) diff --git a/papermario/asm/code_f8f60_len_1560.s b/papermario/asm/code_f8f60_len_1560.s index 8f4cba9640..54ba0598ff 100644 --- a/papermario/asm/code_f8f60_len_1560.s +++ b/papermario/asm/code_f8f60_len_1560.s @@ -1,6 +1,7 @@ .section .text802D45B0, "ax" +MakeLerp: /* 0F8F60 802D45B0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F8F64 802D45B4 AFB10014 */ sw $s1, 0x14($sp) /* 0F8F68 802D45B8 0080882D */ daddu $s1, $a0, $zero @@ -8,21 +9,21 @@ /* 0F8F70 802D45C0 AFB00010 */ sw $s0, 0x10($sp) /* 0F8F74 802D45C4 8E30000C */ lw $s0, 0xc($s1) /* 0F8F78 802D45C8 8E050000 */ lw $a1, ($s0) -/* 0F8F7C 802D45CC 0C0B1EAF */ jal func_802C7ABC +/* 0F8F7C 802D45CC 0C0B1EAF */ jal get_variable /* 0F8F80 802D45D0 26100004 */ addiu $s0, $s0, 4 /* 0F8F84 802D45D4 AE2200B4 */ sw $v0, 0xb4($s1) /* 0F8F88 802D45D8 8E050000 */ lw $a1, ($s0) /* 0F8F8C 802D45DC 26100004 */ addiu $s0, $s0, 4 -/* 0F8F90 802D45E0 0C0B1EAF */ jal func_802C7ABC +/* 0F8F90 802D45E0 0C0B1EAF */ jal get_variable /* 0F8F94 802D45E4 0220202D */ daddu $a0, $s1, $zero /* 0F8F98 802D45E8 AE2200B8 */ sw $v0, 0xb8($s1) /* 0F8F9C 802D45EC 8E050000 */ lw $a1, ($s0) /* 0F8FA0 802D45F0 26100004 */ addiu $s0, $s0, 4 -/* 0F8FA4 802D45F4 0C0B1EAF */ jal func_802C7ABC +/* 0F8FA4 802D45F4 0C0B1EAF */ jal get_variable /* 0F8FA8 802D45F8 0220202D */ daddu $a0, $s1, $zero /* 0F8FAC 802D45FC AE2200C0 */ sw $v0, 0xc0($s1) /* 0F8FB0 802D4600 8E050000 */ lw $a1, ($s0) -/* 0F8FB4 802D4604 0C0B1EAF */ jal func_802C7ABC +/* 0F8FB4 802D4604 0C0B1EAF */ jal get_variable /* 0F8FB8 802D4608 0220202D */ daddu $a0, $s1, $zero /* 0F8FBC 802D460C AE2200B0 */ sw $v0, 0xb0($s1) /* 0F8FC0 802D4610 AE2000BC */ sw $zero, 0xbc($s1) @@ -33,6 +34,7 @@ /* 0F8FD4 802D4624 03E00008 */ jr $ra /* 0F8FD8 802D4628 27BD0020 */ addiu $sp, $sp, 0x20 +UpdateLerp: /* 0F8FDC 802D462C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F8FE0 802D4630 AFB00018 */ sw $s0, 0x18($sp) /* 0F8FE4 802D4634 0080802D */ daddu $s0, $a0, $zero @@ -46,7 +48,7 @@ /* 0F9004 802D4654 44060000 */ mfc1 $a2, $f0 /* 0F9008 802D4658 AFA20010 */ sw $v0, 0x10($sp) /* 0F900C 802D465C 8E0400B0 */ lw $a0, 0xb0($s0) -/* 0F9010 802D4660 0C00A8ED */ jal func_8002A3B4 +/* 0F9010 802D4660 0C00A8ED */ jal update_lerp /* 0F9014 802D4664 8E0700BC */ lw $a3, 0xbc($s0) /* 0F9018 802D4668 8E0200BC */ lw $v0, 0xbc($s0) /* 0F901C 802D466C 8E0300C0 */ lw $v1, 0xc0($s0) @@ -70,6 +72,7 @@ func_802D4690: /* 0F9058 802D46A8 03E00008 */ jr $ra /* 0F905C 802D46AC 27BD0020 */ addiu $sp, $sp, 0x20 +RandInt: /* 0F9060 802D46B0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F9064 802D46B4 AFB10014 */ sw $s1, 0x14($sp) /* 0F9068 802D46B8 0080882D */ daddu $s1, $a0, $zero @@ -77,14 +80,14 @@ func_802D4690: /* 0F9070 802D46C0 AFB00010 */ sw $s0, 0x10($sp) /* 0F9074 802D46C4 8E30000C */ lw $s0, 0xc($s1) /* 0F9078 802D46C8 8E050000 */ lw $a1, ($s0) -/* 0F907C 802D46CC 0C0B1EAF */ jal func_802C7ABC +/* 0F907C 802D46CC 0C0B1EAF */ jal get_variable /* 0F9080 802D46D0 26100004 */ addiu $s0, $s0, 4 /* 0F9084 802D46D4 8E100000 */ lw $s0, ($s0) -/* 0F9088 802D46D8 0C00A67F */ jal func_800299FC +/* 0F9088 802D46D8 0C00A67F */ jal rand_int /* 0F908C 802D46DC 0040202D */ daddu $a0, $v0, $zero /* 0F9090 802D46E0 0220202D */ daddu $a0, $s1, $zero /* 0F9094 802D46E4 0040302D */ daddu $a2, $v0, $zero -/* 0F9098 802D46E8 0C0B2026 */ jal func_802C8098 +/* 0F9098 802D46E8 0C0B2026 */ jal set_variable /* 0F909C 802D46EC 0200282D */ daddu $a1, $s0, $zero /* 0F90A0 802D46F0 8FBF0018 */ lw $ra, 0x18($sp) /* 0F90A4 802D46F4 8FB10014 */ lw $s1, 0x14($sp) @@ -93,6 +96,7 @@ func_802D4690: /* 0F90B0 802D4700 03E00008 */ jr $ra /* 0F90B4 802D4704 27BD0020 */ addiu $sp, $sp, 0x20 +GetAngleBetweenNPCs: /* 0F90B8 802D4708 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F90BC 802D470C AFB20018 */ sw $s2, 0x18($sp) /* 0F90C0 802D4710 0080902D */ daddu $s2, $a0, $zero @@ -102,12 +106,12 @@ func_802D4690: /* 0F90D0 802D4720 AFB00010 */ sw $s0, 0x10($sp) /* 0F90D4 802D4724 8E50000C */ lw $s0, 0xc($s2) /* 0F90D8 802D4728 8E050000 */ lw $a1, ($s0) -/* 0F90DC 802D472C 0C0B1EAF */ jal func_802C7ABC +/* 0F90DC 802D472C 0C0B1EAF */ jal get_variable /* 0F90E0 802D4730 26100004 */ addiu $s0, $s0, 4 /* 0F90E4 802D4734 8E050000 */ lw $a1, ($s0) /* 0F90E8 802D4738 26100004 */ addiu $s0, $s0, 4 /* 0F90EC 802D473C 0240202D */ daddu $a0, $s2, $zero -/* 0F90F0 802D4740 0C0B1EAF */ jal func_802C7ABC +/* 0F90F0 802D4740 0C0B1EAF */ jal get_variable /* 0F90F4 802D4744 0040882D */ daddu $s1, $v0, $zero /* 0F90F8 802D4748 0240202D */ daddu $a0, $s2, $zero /* 0F90FC 802D474C 0220282D */ daddu $a1, $s1, $zero @@ -121,12 +125,12 @@ func_802D4690: /* 0F911C 802D476C 8C460038 */ lw $a2, 0x38($v0) /* 0F9120 802D4770 C60C0038 */ lwc1 $f12, 0x38($s0) /* 0F9124 802D4774 C60E0040 */ lwc1 $f14, 0x40($s0) -/* 0F9128 802D4778 0C00A720 */ jal func_80029C80 +/* 0F9128 802D4778 0C00A720 */ jal atan2 /* 0F912C 802D477C 8C470040 */ lw $a3, 0x40($v0) /* 0F9130 802D4780 0240202D */ daddu $a0, $s2, $zero /* 0F9134 802D4784 4600008D */ trunc.w.s $f2, $f0 /* 0F9138 802D4788 44061000 */ mfc1 $a2, $f2 -/* 0F913C 802D478C 0C0B2026 */ jal func_802C8098 +/* 0F913C 802D478C 0C0B2026 */ jal set_variable /* 0F9140 802D4790 0260282D */ daddu $a1, $s3, $zero /* 0F9144 802D4794 8FBF0020 */ lw $ra, 0x20($sp) /* 0F9148 802D4798 8FB3001C */ lw $s3, 0x1c($sp) @@ -137,6 +141,7 @@ func_802D4690: /* 0F915C 802D47AC 03E00008 */ jr $ra /* 0F9160 802D47B0 27BD0028 */ addiu $sp, $sp, 0x28 +GetAngleToNPC: /* 0F9164 802D47B4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F9168 802D47B8 AFB10014 */ sw $s1, 0x14($sp) /* 0F916C 802D47BC 0080882D */ daddu $s1, $a0, $zero @@ -144,7 +149,7 @@ func_802D4690: /* 0F9174 802D47C4 AFB00010 */ sw $s0, 0x10($sp) /* 0F9178 802D47C8 8E30000C */ lw $s0, 0xc($s1) /* 0F917C 802D47CC 8E050000 */ lw $a1, ($s0) -/* 0F9180 802D47D0 0C0B1EAF */ jal func_802C7ABC +/* 0F9180 802D47D0 0C0B1EAF */ jal get_variable /* 0F9184 802D47D4 26100004 */ addiu $s0, $s0, 4 /* 0F9188 802D47D8 0220202D */ daddu $a0, $s1, $zero /* 0F918C 802D47DC 8E100000 */ lw $s0, ($s0) @@ -155,12 +160,12 @@ func_802D4690: /* 0F91A0 802D47F0 8C460038 */ lw $a2, 0x38($v0) /* 0F91A4 802D47F4 C46C0028 */ lwc1 $f12, 0x28($v1) /* 0F91A8 802D47F8 C46E0030 */ lwc1 $f14, 0x30($v1) -/* 0F91AC 802D47FC 0C00A720 */ jal func_80029C80 +/* 0F91AC 802D47FC 0C00A720 */ jal atan2 /* 0F91B0 802D4800 8C470040 */ lw $a3, 0x40($v0) /* 0F91B4 802D4804 0220202D */ daddu $a0, $s1, $zero /* 0F91B8 802D4808 4600008D */ trunc.w.s $f2, $f0 /* 0F91BC 802D480C 44061000 */ mfc1 $a2, $f2 -/* 0F91C0 802D4810 0C0B2026 */ jal func_802C8098 +/* 0F91C0 802D4810 0C0B2026 */ jal set_variable /* 0F91C4 802D4814 0200282D */ daddu $a1, $s0, $zero /* 0F91C8 802D4818 8FBF0018 */ lw $ra, 0x18($sp) /* 0F91CC 802D481C 8FB10014 */ lw $s1, 0x14($sp) @@ -169,6 +174,7 @@ func_802D4690: /* 0F91D8 802D4828 03E00008 */ jr $ra /* 0F91DC 802D482C 27BD0020 */ addiu $sp, $sp, 0x20 +GetAngleToPlayer: /* 0F91E0 802D4830 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F91E4 802D4834 AFB10014 */ sw $s1, 0x14($sp) /* 0F91E8 802D4838 0080882D */ daddu $s1, $a0, $zero @@ -176,7 +182,7 @@ func_802D4690: /* 0F91F0 802D4840 AFB00010 */ sw $s0, 0x10($sp) /* 0F91F4 802D4844 8E30000C */ lw $s0, 0xc($s1) /* 0F91F8 802D4848 8E050000 */ lw $a1, ($s0) -/* 0F91FC 802D484C 0C0B1EAF */ jal func_802C7ABC +/* 0F91FC 802D484C 0C0B1EAF */ jal get_variable /* 0F9200 802D4850 26100004 */ addiu $s0, $s0, 4 /* 0F9204 802D4854 0220202D */ daddu $a0, $s1, $zero /* 0F9208 802D4858 8E100000 */ lw $s0, ($s0) @@ -187,12 +193,12 @@ func_802D4690: /* 0F921C 802D486C 8C660028 */ lw $a2, 0x28($v1) /* 0F9220 802D4870 C44C0038 */ lwc1 $f12, 0x38($v0) /* 0F9224 802D4874 C44E0040 */ lwc1 $f14, 0x40($v0) -/* 0F9228 802D4878 0C00A720 */ jal func_80029C80 +/* 0F9228 802D4878 0C00A720 */ jal atan2 /* 0F922C 802D487C 8C670030 */ lw $a3, 0x30($v1) /* 0F9230 802D4880 0220202D */ daddu $a0, $s1, $zero /* 0F9234 802D4884 4600008D */ trunc.w.s $f2, $f0 /* 0F9238 802D4888 44061000 */ mfc1 $a2, $f2 -/* 0F923C 802D488C 0C0B2026 */ jal func_802C8098 +/* 0F923C 802D488C 0C0B2026 */ jal set_variable /* 0F9240 802D4890 0200282D */ daddu $a1, $s0, $zero /* 0F9244 802D4894 8FBF0018 */ lw $ra, 0x18($sp) /* 0F9248 802D4898 8FB10014 */ lw $s1, 0x14($sp) @@ -201,6 +207,7 @@ func_802D4690: /* 0F9254 802D48A4 03E00008 */ jr $ra /* 0F9258 802D48A8 27BD0020 */ addiu $sp, $sp, 0x20 +AwaitPlayerApproach: /* 0F925C 802D48AC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F9260 802D48B0 AFB10014 */ sw $s1, 0x14($sp) /* 0F9264 802D48B4 0080882D */ daddu $s1, $a0, $zero @@ -212,16 +219,16 @@ func_802D4690: /* 0F927C 802D48CC 10A0000E */ beqz $a1, .L802D4908 /* 0F9280 802D48D0 8E30000C */ lw $s0, 0xc($s1) /* 0F9284 802D48D4 8E050000 */ lw $a1, ($s0) -/* 0F9288 802D48D8 0C0B1EAF */ jal func_802C7ABC +/* 0F9288 802D48D8 0C0B1EAF */ jal get_variable /* 0F928C 802D48DC 26100004 */ addiu $s0, $s0, 4 /* 0F9290 802D48E0 AE220070 */ sw $v0, 0x70($s1) /* 0F9294 802D48E4 8E050000 */ lw $a1, ($s0) /* 0F9298 802D48E8 26100004 */ addiu $s0, $s0, 4 -/* 0F929C 802D48EC 0C0B1EAF */ jal func_802C7ABC +/* 0F929C 802D48EC 0C0B1EAF */ jal get_variable /* 0F92A0 802D48F0 0220202D */ daddu $a0, $s1, $zero /* 0F92A4 802D48F4 AE220074 */ sw $v0, 0x74($s1) /* 0F92A8 802D48F8 8E050000 */ lw $a1, ($s0) -/* 0F92AC 802D48FC 0C0B1EAF */ jal func_802C7ABC +/* 0F92AC 802D48FC 0C0B1EAF */ jal get_variable /* 0F92B0 802D4900 0220202D */ daddu $a0, $s1, $zero /* 0F92B4 802D4904 AE220078 */ sw $v0, 0x78($s1) .L802D4908: @@ -233,7 +240,7 @@ func_802D4690: /* 0F92CC 802D491C C64C0028 */ lwc1 $f12, 0x28($s2) /* 0F92D0 802D4920 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F92D4 802D4924 44072000 */ mfc1 $a3, $f4 -/* 0F92D8 802D4928 0C00A7B5 */ jal func_80029ED4 +/* 0F92D8 802D4928 0C00A7B5 */ jal dist2D /* 0F92DC 802D492C 00000000 */ nop /* 0F92E0 802D4930 C6220078 */ lwc1 $f2, 0x78($s1) /* 0F92E4 802D4934 468010A0 */ cvt.s.w $f2, $f2 @@ -250,6 +257,7 @@ func_802D4690: /* 0F930C 802D495C 03E00008 */ jr $ra /* 0F9310 802D4960 27BD0020 */ addiu $sp, $sp, 0x20 +IsPlayerWithin: /* 0F9314 802D4964 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F9318 802D4968 AFB10014 */ sw $s1, 0x14($sp) /* 0F931C 802D496C 0080882D */ daddu $s1, $a0, $zero @@ -265,17 +273,17 @@ func_802D4690: /* 0F9344 802D4994 10A00010 */ beqz $a1, .L802D49D8 /* 0F9348 802D4998 36523C80 */ ori $s2, $s2, 0x3c80 /* 0F934C 802D499C 8E050000 */ lw $a1, ($s0) -/* 0F9350 802D49A0 0C0B1EAF */ jal func_802C7ABC +/* 0F9350 802D49A0 0C0B1EAF */ jal get_variable /* 0F9354 802D49A4 26100004 */ addiu $s0, $s0, 4 /* 0F9358 802D49A8 AE220070 */ sw $v0, 0x70($s1) /* 0F935C 802D49AC 8E050000 */ lw $a1, ($s0) /* 0F9360 802D49B0 26100004 */ addiu $s0, $s0, 4 -/* 0F9364 802D49B4 0C0B1EAF */ jal func_802C7ABC +/* 0F9364 802D49B4 0C0B1EAF */ jal get_variable /* 0F9368 802D49B8 0220202D */ daddu $a0, $s1, $zero /* 0F936C 802D49BC AE220074 */ sw $v0, 0x74($s1) /* 0F9370 802D49C0 8E050000 */ lw $a1, ($s0) /* 0F9374 802D49C4 26100004 */ addiu $s0, $s0, 4 -/* 0F9378 802D49C8 0C0B1EAF */ jal func_802C7ABC +/* 0F9378 802D49C8 0C0B1EAF */ jal get_variable /* 0F937C 802D49CC 0220202D */ daddu $a0, $s1, $zero /* 0F9380 802D49D0 AE220078 */ sw $v0, 0x78($s1) /* 0F9384 802D49D4 8E120000 */ lw $s2, ($s0) @@ -288,12 +296,12 @@ func_802D4690: /* 0F939C 802D49EC C66C0028 */ lwc1 $f12, 0x28($s3) /* 0F93A0 802D49F0 C66E0030 */ lwc1 $f14, 0x30($s3) /* 0F93A4 802D49F4 44071000 */ mfc1 $a3, $f2 -/* 0F93A8 802D49F8 0C00A7B5 */ jal func_80029ED4 +/* 0F93A8 802D49F8 0C00A7B5 */ jal dist2D /* 0F93AC 802D49FC 00000000 */ nop /* 0F93B0 802D4A00 0220202D */ daddu $a0, $s1, $zero /* 0F93B4 802D4A04 0240282D */ daddu $a1, $s2, $zero /* 0F93B8 802D4A08 0000302D */ daddu $a2, $zero, $zero -/* 0F93BC 802D4A0C 0C0B2026 */ jal func_802C8098 +/* 0F93BC 802D4A0C 0C0B2026 */ jal set_variable /* 0F93C0 802D4A10 46000506 */ mov.s $f20, $f0 /* 0F93C4 802D4A14 C6200078 */ lwc1 $f0, 0x78($s1) /* 0F93C8 802D4A18 46800020 */ cvt.s.w $f0, $f0 @@ -302,7 +310,7 @@ func_802D4690: /* 0F93D4 802D4A24 45000004 */ bc1f .L802D4A38 /* 0F93D8 802D4A28 0220202D */ daddu $a0, $s1, $zero /* 0F93DC 802D4A2C 0240282D */ daddu $a1, $s2, $zero -/* 0F93E0 802D4A30 0C0B2026 */ jal func_802C8098 +/* 0F93E0 802D4A30 0C0B2026 */ jal set_variable /* 0F93E4 802D4A34 24060001 */ addiu $a2, $zero, 1 .L802D4A38: /* 0F93E8 802D4A38 8FBF0020 */ lw $ra, 0x20($sp) @@ -315,6 +323,7 @@ func_802D4690: /* 0F9404 802D4A54 03E00008 */ jr $ra /* 0F9408 802D4A58 27BD0030 */ addiu $sp, $sp, 0x30 +AwaitPlayerLeave: /* 0F940C 802D4A5C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F9410 802D4A60 AFB10014 */ sw $s1, 0x14($sp) /* 0F9414 802D4A64 0080882D */ daddu $s1, $a0, $zero @@ -326,16 +335,16 @@ func_802D4690: /* 0F942C 802D4A7C 10A0000E */ beqz $a1, .L802D4AB8 /* 0F9430 802D4A80 8E30000C */ lw $s0, 0xc($s1) /* 0F9434 802D4A84 8E050000 */ lw $a1, ($s0) -/* 0F9438 802D4A88 0C0B1EAF */ jal func_802C7ABC +/* 0F9438 802D4A88 0C0B1EAF */ jal get_variable /* 0F943C 802D4A8C 26100004 */ addiu $s0, $s0, 4 /* 0F9440 802D4A90 AE220070 */ sw $v0, 0x70($s1) /* 0F9444 802D4A94 8E050000 */ lw $a1, ($s0) /* 0F9448 802D4A98 26100004 */ addiu $s0, $s0, 4 -/* 0F944C 802D4A9C 0C0B1EAF */ jal func_802C7ABC +/* 0F944C 802D4A9C 0C0B1EAF */ jal get_variable /* 0F9450 802D4AA0 0220202D */ daddu $a0, $s1, $zero /* 0F9454 802D4AA4 AE220074 */ sw $v0, 0x74($s1) /* 0F9458 802D4AA8 8E050000 */ lw $a1, ($s0) -/* 0F945C 802D4AAC 0C0B1EAF */ jal func_802C7ABC +/* 0F945C 802D4AAC 0C0B1EAF */ jal get_variable /* 0F9460 802D4AB0 0220202D */ daddu $a0, $s1, $zero /* 0F9464 802D4AB4 AE220078 */ sw $v0, 0x78($s1) .L802D4AB8: @@ -347,7 +356,7 @@ func_802D4690: /* 0F947C 802D4ACC C64C0028 */ lwc1 $f12, 0x28($s2) /* 0F9480 802D4AD0 C64E0030 */ lwc1 $f14, 0x30($s2) /* 0F9484 802D4AD4 44072000 */ mfc1 $a3, $f4 -/* 0F9488 802D4AD8 0C00A7B5 */ jal func_80029ED4 +/* 0F9488 802D4AD8 0C00A7B5 */ jal dist2D /* 0F948C 802D4ADC 00000000 */ nop /* 0F9490 802D4AE0 C6220078 */ lwc1 $f2, 0x78($s1) /* 0F9494 802D4AE4 468010A0 */ cvt.s.w $f2, $f2 @@ -364,6 +373,7 @@ func_802D4690: /* 0F94BC 802D4B0C 03E00008 */ jr $ra /* 0F94C0 802D4B10 27BD0020 */ addiu $sp, $sp, 0x20 +AddVectorPolar: /* 0F94C4 802D4B14 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F94C8 802D4B18 AFB1001C */ sw $s1, 0x1c($sp) /* 0F94CC 802D4B1C 0080882D */ daddu $s1, $a0, $zero @@ -375,35 +385,35 @@ func_802D4690: /* 0F94E4 802D4B34 8E30000C */ lw $s0, 0xc($s1) /* 0F94E8 802D4B38 8E130000 */ lw $s3, ($s0) /* 0F94EC 802D4B3C 26100004 */ addiu $s0, $s0, 4 -/* 0F94F0 802D4B40 0C0B210B */ jal func_802C842C +/* 0F94F0 802D4B40 0C0B210B */ jal get_float_variable /* 0F94F4 802D4B44 0260282D */ daddu $a1, $s3, $zero /* 0F94F8 802D4B48 E7A00010 */ swc1 $f0, 0x10($sp) /* 0F94FC 802D4B4C 8E120000 */ lw $s2, ($s0) /* 0F9500 802D4B50 26100004 */ addiu $s0, $s0, 4 /* 0F9504 802D4B54 0220202D */ daddu $a0, $s1, $zero -/* 0F9508 802D4B58 0C0B210B */ jal func_802C842C +/* 0F9508 802D4B58 0C0B210B */ jal get_float_variable /* 0F950C 802D4B5C 0240282D */ daddu $a1, $s2, $zero /* 0F9510 802D4B60 E7A00014 */ swc1 $f0, 0x14($sp) /* 0F9514 802D4B64 8E050000 */ lw $a1, ($s0) /* 0F9518 802D4B68 26100004 */ addiu $s0, $s0, 4 -/* 0F951C 802D4B6C 0C0B210B */ jal func_802C842C +/* 0F951C 802D4B6C 0C0B210B */ jal get_float_variable /* 0F9520 802D4B70 0220202D */ daddu $a0, $s1, $zero /* 0F9524 802D4B74 0220202D */ daddu $a0, $s1, $zero /* 0F9528 802D4B78 8E050000 */ lw $a1, ($s0) -/* 0F952C 802D4B7C 0C0B210B */ jal func_802C842C +/* 0F952C 802D4B7C 0C0B210B */ jal get_float_variable /* 0F9530 802D4B80 46000506 */ mov.s $f20, $f0 /* 0F9534 802D4B84 27A40010 */ addiu $a0, $sp, 0x10 /* 0F9538 802D4B88 4406A000 */ mfc1 $a2, $f20 /* 0F953C 802D4B8C 44070000 */ mfc1 $a3, $f0 -/* 0F9540 802D4B90 0C00A7E7 */ jal func_80029F9C +/* 0F9540 802D4B90 0C00A7E7 */ jal add_vec2D_polar /* 0F9544 802D4B94 27A50014 */ addiu $a1, $sp, 0x14 /* 0F9548 802D4B98 0220202D */ daddu $a0, $s1, $zero /* 0F954C 802D4B9C 8FA60010 */ lw $a2, 0x10($sp) -/* 0F9550 802D4BA0 0C0B2190 */ jal func_802C8640 +/* 0F9550 802D4BA0 0C0B2190 */ jal set_float_variable /* 0F9554 802D4BA4 0260282D */ daddu $a1, $s3, $zero /* 0F9558 802D4BA8 0220202D */ daddu $a0, $s1, $zero /* 0F955C 802D4BAC 8FA60014 */ lw $a2, 0x14($sp) -/* 0F9560 802D4BB0 0C0B2190 */ jal func_802C8640 +/* 0F9560 802D4BB0 0C0B2190 */ jal set_float_variable /* 0F9564 802D4BB4 0240282D */ daddu $a1, $s2, $zero /* 0F9568 802D4BB8 8FBF0028 */ lw $ra, 0x28($sp) /* 0F956C 802D4BBC 8FB30024 */ lw $s3, 0x24($sp) @@ -490,7 +500,7 @@ func_802D4CB8: /* 0F9674 802D4CC4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F9678 802D4CC8 AFBF0010 */ sw $ra, 0x10($sp) /* 0F967C 802D4CCC 8C82000C */ lw $v0, 0xc($a0) -/* 0F9680 802D4CD0 0C0B1EAF */ jal func_802C7ABC +/* 0F9680 802D4CD0 0C0B1EAF */ jal get_variable /* 0F9684 802D4CD4 8C450000 */ lw $a1, ($v0) /* 0F9688 802D4CD8 04410004 */ bgez $v0, .L802D4CEC /* 0F968C 802D4CDC 2404000A */ addiu $a0, $zero, 0xa @@ -515,7 +525,7 @@ func_802D4CFC: /* 0F96C8 802D4D18 AFBF0014 */ sw $ra, 0x14($sp) /* 0F96CC 802D4D1C AFB00010 */ sw $s0, 0x10($sp) /* 0F96D0 802D4D20 8C82000C */ lw $v0, 0xc($a0) -/* 0F96D4 802D4D24 0C0B210B */ jal func_802C842C +/* 0F96D4 802D4D24 0C0B210B */ jal get_float_variable /* 0F96D8 802D4D28 8C450000 */ lw $a1, ($v0) /* 0F96DC 802D4D2C 0000202D */ daddu $a0, $zero, $zero /* 0F96E0 802D4D30 0080282D */ daddu $a1, $a0, $zero @@ -551,7 +561,7 @@ func_802D4CFC: /* 0F9754 802D4DA4 03E00008 */ jr $ra /* 0F9758 802D4DA8 27BD0018 */ addiu $sp, $sp, 0x18 -func_802D4DAC: +setup_path_data: /* 0F975C 802D4DAC 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F9760 802D4DB0 AFB3001C */ sw $s3, 0x1c($sp) /* 0F9764 802D4DB4 0080982D */ daddu $s3, $a0, $zero @@ -567,12 +577,12 @@ func_802D4DAC: /* 0F978C 802D4DDC AFB40020 */ sw $s4, 0x20($sp) /* 0F9790 802D4DE0 AFB20018 */ sw $s2, 0x18($sp) /* 0F9794 802D4DE4 AFB10014 */ sw $s1, 0x14($sp) -/* 0F9798 802D4DE8 0C00AB39 */ jal func_8002ACE4 +/* 0F9798 802D4DE8 0C00AB39 */ jal heap_malloc /* 0F979C 802D4DEC AFB00010 */ sw $s0, 0x10($sp) /* 0F97A0 802D4DF0 00132040 */ sll $a0, $s3, 1 /* 0F97A4 802D4DF4 00932021 */ addu $a0, $a0, $s3 /* 0F97A8 802D4DF8 00042080 */ sll $a0, $a0, 2 -/* 0F97AC 802D4DFC 0C00AB39 */ jal func_8002ACE4 +/* 0F97AC 802D4DFC 0C00AB39 */ jal heap_malloc /* 0F97B0 802D4E00 0040B82D */ daddu $s7, $v0, $zero /* 0F97B4 802D4E04 24110001 */ addiu $s1, $zero, 1 /* 0F97B8 802D4E08 0040A02D */ daddu $s4, $v0, $zero @@ -852,9 +862,9 @@ func_802D4DAC: /* 0F9BD8 802D5228 1E20FFE1 */ bgtz $s1, .L802D51B0 /* 0F9BDC 802D522C 24E7FFF4 */ addiu $a3, $a3, -0xc .L802D5230: -/* 0F9BE0 802D5230 0C00AB4B */ jal func_8002AD2C +/* 0F9BE0 802D5230 0C00AB4B */ jal heap_free /* 0F9BE4 802D5234 02E0202D */ daddu $a0, $s7, $zero -/* 0F9BE8 802D5238 0C00AB4B */ jal func_8002AD2C +/* 0F9BE8 802D5238 0C00AB4B */ jal heap_free /* 0F9BEC 802D523C 0280202D */ daddu $a0, $s4, $zero /* 0F9BF0 802D5240 8FBF0034 */ lw $ra, 0x34($sp) /* 0F9BF4 802D5244 8FBE0030 */ lw $fp, 0x30($sp) @@ -987,6 +997,7 @@ func_802D5270: /* 0F9DD8 802D5428 03E00008 */ jr $ra /* 0F9DDC 802D542C E4A20008 */ swc1 $f2, 8($a1) +LoadPath: /* 0F9DE0 802D5430 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0F9DE4 802D5434 AFB20018 */ sw $s2, 0x18($sp) /* 0F9DE8 802D5438 0080902D */ daddu $s2, $a0, $zero @@ -998,41 +1009,41 @@ func_802D5270: /* 0F9E00 802D5450 AFB00010 */ sw $s0, 0x10($sp) /* 0F9E04 802D5454 8E50000C */ lw $s0, 0xc($s2) /* 0F9E08 802D5458 8E050000 */ lw $a1, ($s0) -/* 0F9E0C 802D545C 0C0B1EAF */ jal func_802C7ABC +/* 0F9E0C 802D545C 0C0B1EAF */ jal get_variable /* 0F9E10 802D5460 26100004 */ addiu $s0, $s0, 4 /* 0F9E14 802D5464 8E050000 */ lw $a1, ($s0) /* 0F9E18 802D5468 26100004 */ addiu $s0, $s0, 4 /* 0F9E1C 802D546C 0240202D */ daddu $a0, $s2, $zero -/* 0F9E20 802D5470 0C0B1EAF */ jal func_802C7ABC +/* 0F9E20 802D5470 0C0B1EAF */ jal get_variable /* 0F9E24 802D5474 0040982D */ daddu $s3, $v0, $zero /* 0F9E28 802D5478 8E050000 */ lw $a1, ($s0) /* 0F9E2C 802D547C 26100004 */ addiu $s0, $s0, 4 /* 0F9E30 802D5480 0240202D */ daddu $a0, $s2, $zero -/* 0F9E34 802D5484 0C0B1EAF */ jal func_802C7ABC +/* 0F9E34 802D5484 0C0B1EAF */ jal get_variable /* 0F9E38 802D5488 0040A02D */ daddu $s4, $v0, $zero /* 0F9E3C 802D548C 0240202D */ daddu $a0, $s2, $zero /* 0F9E40 802D5490 8E050000 */ lw $a1, ($s0) -/* 0F9E44 802D5494 0C0B1EAF */ jal func_802C7ABC +/* 0F9E44 802D5494 0C0B1EAF */ jal get_variable /* 0F9E48 802D5498 0040882D */ daddu $s1, $v0, $zero /* 0F9E4C 802D549C 2404001C */ addiu $a0, $zero, 0x1c -/* 0F9E50 802D54A0 0C00AB39 */ jal func_8002ACE4 +/* 0F9E50 802D54A0 0C00AB39 */ jal heap_malloc /* 0F9E54 802D54A4 0040A82D */ daddu $s5, $v0, $zero /* 0F9E58 802D54A8 00112080 */ sll $a0, $s1, 2 /* 0F9E5C 802D54AC 0040802D */ daddu $s0, $v0, $zero /* 0F9E60 802D54B0 AE5000C0 */ sw $s0, 0xc0($s2) -/* 0F9E64 802D54B4 0C00AB39 */ jal func_8002ACE4 +/* 0F9E64 802D54B4 0C00AB39 */ jal heap_malloc /* 0F9E68 802D54B8 AE110000 */ sw $s1, ($s0) /* 0F9E6C 802D54BC 00112040 */ sll $a0, $s1, 1 /* 0F9E70 802D54C0 00912021 */ addu $a0, $a0, $s1 /* 0F9E74 802D54C4 00042080 */ sll $a0, $a0, 2 /* 0F9E78 802D54C8 AE020004 */ sw $v0, 4($s0) -/* 0F9E7C 802D54CC 0C00AB39 */ jal func_8002ACE4 +/* 0F9E7C 802D54CC 0C00AB39 */ jal heap_malloc /* 0F9E80 802D54D0 AE140008 */ sw $s4, 8($s0) /* 0F9E84 802D54D4 8E040000 */ lw $a0, ($s0) /* 0F9E88 802D54D8 8E050004 */ lw $a1, 4($s0) /* 0F9E8C 802D54DC 8E060008 */ lw $a2, 8($s0) /* 0F9E90 802D54E0 0040382D */ daddu $a3, $v0, $zero -/* 0F9E94 802D54E4 0C0B536B */ jal func_802D4DAC +/* 0F9E94 802D54E4 0C0B536B */ jal setup_path_data /* 0F9E98 802D54E8 AE02000C */ sw $v0, 0xc($s0) /* 0F9E9C 802D54EC 2673FFFF */ addiu $s3, $s3, -1 /* 0F9EA0 802D54F0 AE000010 */ sw $zero, 0x10($s0) @@ -1049,6 +1060,7 @@ func_802D5270: /* 0F9ECC 802D551C 03E00008 */ jr $ra /* 0F9ED0 802D5520 27BD0030 */ addiu $sp, $sp, 0x30 +GetNextPathPos: /* 0F9ED4 802D5524 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0F9ED8 802D5528 AFB1002C */ sw $s1, 0x2c($sp) /* 0F9EDC 802D552C 0080882D */ daddu $s1, $a0, $zero @@ -1137,7 +1149,7 @@ func_802D5270: /* 0FA000 802D5650 C6000010 */ lwc1 $f0, 0x10($s0) /* 0FA004 802D5654 46800020 */ cvt.s.w $f0, $f0 /* 0FA008 802D5658 46006302 */ mul.s $f12, $f12, $f0 -/* 0FA00C 802D565C 0C00A874 */ jal func_8002A1D0 +/* 0FA00C 802D565C 0C00A874 */ jal cos_rad /* 0FA010 802D5660 00000000 */ nop /* 0FA014 802D5664 3C013F80 */ lui $at, 0x3f80 /* 0FA018 802D5668 44811000 */ mtc1 $at, $f2 @@ -1198,11 +1210,11 @@ func_802D5690: .L802D5738: /* 0FA0E8 802D5738 8E040004 */ lw $a0, 4($s0) -/* 0FA0EC 802D573C 0C00AB4B */ jal func_8002AD2C +/* 0FA0EC 802D573C 0C00AB4B */ jal heap_free /* 0FA0F0 802D5740 00000000 */ nop -/* 0FA0F4 802D5744 0C00AB4B */ jal func_8002AD2C +/* 0FA0F4 802D5744 0C00AB4B */ jal heap_free /* 0FA0F8 802D5748 8E04000C */ lw $a0, 0xc($s0) -/* 0FA0FC 802D574C 0C00AB4B */ jal func_8002AD2C +/* 0FA0FC 802D574C 0C00AB4B */ jal heap_free /* 0FA100 802D5750 8E2400C0 */ lw $a0, 0xc0($s1) /* 0FA104 802D5754 AE200084 */ sw $zero, 0x84($s1) func_802D5758: @@ -1213,6 +1225,7 @@ func_802D5758: /* 0FA118 802D5768 03E00008 */ jr $ra /* 0FA11C 802D576C 27BD0038 */ addiu $sp, $sp, 0x38 +GetDist2D: /* 0FA120 802D5770 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0FA124 802D5774 AFB10014 */ sw $s1, 0x14($sp) /* 0FA128 802D5778 0080882D */ daddu $s1, $a0, $zero @@ -1226,30 +1239,30 @@ func_802D5758: /* 0FA148 802D5798 8E120000 */ lw $s2, ($s0) /* 0FA14C 802D579C 26100004 */ addiu $s0, $s0, 4 /* 0FA150 802D57A0 8E050000 */ lw $a1, ($s0) -/* 0FA154 802D57A4 0C0B210B */ jal func_802C842C +/* 0FA154 802D57A4 0C0B210B */ jal get_float_variable /* 0FA158 802D57A8 26100004 */ addiu $s0, $s0, 4 /* 0FA15C 802D57AC 8E050000 */ lw $a1, ($s0) /* 0FA160 802D57B0 26100004 */ addiu $s0, $s0, 4 /* 0FA164 802D57B4 0220202D */ daddu $a0, $s1, $zero -/* 0FA168 802D57B8 0C0B210B */ jal func_802C842C +/* 0FA168 802D57B8 0C0B210B */ jal get_float_variable /* 0FA16C 802D57BC 46000606 */ mov.s $f24, $f0 /* 0FA170 802D57C0 8E050000 */ lw $a1, ($s0) /* 0FA174 802D57C4 26100004 */ addiu $s0, $s0, 4 /* 0FA178 802D57C8 0220202D */ daddu $a0, $s1, $zero -/* 0FA17C 802D57CC 0C0B210B */ jal func_802C842C +/* 0FA17C 802D57CC 0C0B210B */ jal get_float_variable /* 0FA180 802D57D0 46000586 */ mov.s $f22, $f0 /* 0FA184 802D57D4 0220202D */ daddu $a0, $s1, $zero /* 0FA188 802D57D8 8E050000 */ lw $a1, ($s0) -/* 0FA18C 802D57DC 0C0B210B */ jal func_802C842C +/* 0FA18C 802D57DC 0C0B210B */ jal get_float_variable /* 0FA190 802D57E0 46000506 */ mov.s $f20, $f0 /* 0FA194 802D57E4 4600C306 */ mov.s $f12, $f24 /* 0FA198 802D57E8 4406A000 */ mfc1 $a2, $f20 /* 0FA19C 802D57EC 44070000 */ mfc1 $a3, $f0 -/* 0FA1A0 802D57F0 0C00A7B5 */ jal func_80029ED4 +/* 0FA1A0 802D57F0 0C00A7B5 */ jal dist2D /* 0FA1A4 802D57F4 4600B386 */ mov.s $f14, $f22 /* 0FA1A8 802D57F8 0220202D */ daddu $a0, $s1, $zero /* 0FA1AC 802D57FC 44060000 */ mfc1 $a2, $f0 -/* 0FA1B0 802D5800 0C0B2190 */ jal func_802C8640 +/* 0FA1B0 802D5800 0C0B2190 */ jal set_float_variable /* 0FA1B4 802D5804 0240282D */ daddu $a1, $s2, $zero /* 0FA1B8 802D5808 8FBF001C */ lw $ra, 0x1c($sp) /* 0FA1BC 802D580C 8FB20018 */ lw $s2, 0x18($sp) @@ -1265,7 +1278,7 @@ func_802D5758: /* 0FA1E0 802D5830 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA1E4 802D5834 AFBF0010 */ sw $ra, 0x10($sp) /* 0FA1E8 802D5838 8C82000C */ lw $v0, 0xc($a0) -/* 0FA1EC 802D583C 0C0B1EAF */ jal func_802C7ABC +/* 0FA1EC 802D583C 0C0B1EAF */ jal get_variable /* 0FA1F0 802D5840 8C450000 */ lw $a1, ($v0) /* 0FA1F4 802D5844 0C009C22 */ jal func_80027088 /* 0FA1F8 802D5848 0040202D */ daddu $a0, $v0, $zero @@ -1281,11 +1294,11 @@ func_802D5758: /* 0FA21C 802D586C AFB00010 */ sw $s0, 0x10($sp) /* 0FA220 802D5870 8E30000C */ lw $s0, 0xc($s1) /* 0FA224 802D5874 8E050000 */ lw $a1, ($s0) -/* 0FA228 802D5878 0C0B1EAF */ jal func_802C7ABC +/* 0FA228 802D5878 0C0B1EAF */ jal get_variable /* 0FA22C 802D587C 26100004 */ addiu $s0, $s0, 4 /* 0FA230 802D5880 0220202D */ daddu $a0, $s1, $zero /* 0FA234 802D5884 8E050000 */ lw $a1, ($s0) -/* 0FA238 802D5888 0C0B1EAF */ jal func_802C7ABC +/* 0FA238 802D5888 0C0B1EAF */ jal get_variable /* 0FA23C 802D588C 0040802D */ daddu $s0, $v0, $zero /* 0FA240 802D5890 12000007 */ beqz $s0, .L802D58B0 /* 0FA244 802D5894 0040202D */ daddu $a0, $v0, $zero @@ -1311,6 +1324,7 @@ func_802D58C8: /* 0FA288 802D58D8 03E00008 */ jr $ra /* 0FA28C 802D58DC 27BD0020 */ addiu $sp, $sp, 0x20 +SetValueByRef: /* 0FA290 802D58E0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FA294 802D58E4 AFB10014 */ sw $s1, 0x14($sp) /* 0FA298 802D58E8 0080882D */ daddu $s1, $a0, $zero @@ -1318,15 +1332,15 @@ func_802D58C8: /* 0FA2A0 802D58F0 AFB00010 */ sw $s0, 0x10($sp) /* 0FA2A4 802D58F4 8E30000C */ lw $s0, 0xc($s1) /* 0FA2A8 802D58F8 8E050000 */ lw $a1, ($s0) -/* 0FA2AC 802D58FC 0C0B1EAF */ jal func_802C7ABC +/* 0FA2AC 802D58FC 0C0B1EAF */ jal get_variable /* 0FA2B0 802D5900 26100004 */ addiu $s0, $s0, 4 /* 0FA2B4 802D5904 0220202D */ daddu $a0, $s1, $zero /* 0FA2B8 802D5908 8E050000 */ lw $a1, ($s0) -/* 0FA2BC 802D590C 0C0B1EAF */ jal func_802C7ABC +/* 0FA2BC 802D590C 0C0B1EAF */ jal get_variable /* 0FA2C0 802D5910 0040802D */ daddu $s0, $v0, $zero /* 0FA2C4 802D5914 0220202D */ daddu $a0, $s1, $zero /* 0FA2C8 802D5918 0200282D */ daddu $a1, $s0, $zero -/* 0FA2CC 802D591C 0C0B2026 */ jal func_802C8098 +/* 0FA2CC 802D591C 0C0B2026 */ jal set_variable /* 0FA2D0 802D5920 0040302D */ daddu $a2, $v0, $zero /* 0FA2D4 802D5924 8FBF0018 */ lw $ra, 0x18($sp) /* 0FA2D8 802D5928 8FB10014 */ lw $s1, 0x14($sp) @@ -1335,6 +1349,7 @@ func_802D58C8: /* 0FA2E4 802D5934 03E00008 */ jr $ra /* 0FA2E8 802D5938 27BD0020 */ addiu $sp, $sp, 0x20 +GetValueByRef: /* 0FA2EC 802D593C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FA2F0 802D5940 AFB10014 */ sw $s1, 0x14($sp) /* 0FA2F4 802D5944 0080882D */ daddu $s1, $a0, $zero @@ -1342,15 +1357,15 @@ func_802D58C8: /* 0FA2FC 802D594C AFB00010 */ sw $s0, 0x10($sp) /* 0FA300 802D5950 8E30000C */ lw $s0, 0xc($s1) /* 0FA304 802D5954 8E050000 */ lw $a1, ($s0) -/* 0FA308 802D5958 0C0B1EAF */ jal func_802C7ABC +/* 0FA308 802D5958 0C0B1EAF */ jal get_variable /* 0FA30C 802D595C 26100004 */ addiu $s0, $s0, 4 /* 0FA310 802D5960 0220202D */ daddu $a0, $s1, $zero /* 0FA314 802D5964 8E100000 */ lw $s0, ($s0) -/* 0FA318 802D5968 0C0B1EAF */ jal func_802C7ABC +/* 0FA318 802D5968 0C0B1EAF */ jal get_variable /* 0FA31C 802D596C 0040282D */ daddu $a1, $v0, $zero /* 0FA320 802D5970 0220202D */ daddu $a0, $s1, $zero /* 0FA324 802D5974 0040302D */ daddu $a2, $v0, $zero -/* 0FA328 802D5978 0C0B2026 */ jal func_802C8098 +/* 0FA328 802D5978 0C0B2026 */ jal set_variable /* 0FA32C 802D597C 0200282D */ daddu $a1, $s0, $zero /* 0FA330 802D5980 8FBF0018 */ lw $ra, 0x18($sp) /* 0FA334 802D5984 8FB10014 */ lw $s1, 0x14($sp) @@ -1359,20 +1374,21 @@ func_802D58C8: /* 0FA340 802D5990 03E00008 */ jr $ra /* 0FA344 802D5994 27BD0020 */ addiu $sp, $sp, 0x20 +EnableStatusMenu: /* 0FA348 802D5998 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA34C 802D599C AFBF0010 */ sw $ra, 0x10($sp) /* 0FA350 802D59A0 8C82000C */ lw $v0, 0xc($a0) -/* 0FA354 802D59A4 0C0B1EAF */ jal func_802C7ABC +/* 0FA354 802D59A4 0C0B1EAF */ jal get_variable /* 0FA358 802D59A8 8C450000 */ lw $a1, ($v0) /* 0FA35C 802D59AC 10400005 */ beqz $v0, .L802D59C4 /* 0FA360 802D59B0 00000000 */ nop -/* 0FA364 802D59B4 0C03A6CC */ jal func_800E9B30 +/* 0FA364 802D59B4 0C03A6CC */ jal decrement_status_menu_disabled /* 0FA368 802D59B8 00000000 */ nop /* 0FA36C 802D59BC 080B5673 */ j func_802D59CC /* 0FA370 802D59C0 00000000 */ nop .L802D59C4: -/* 0FA374 802D59C4 0C03A6D5 */ jal func_800E9B54 +/* 0FA374 802D59C4 0C03A6D5 */ jal increment_status_menu_disabled /* 0FA378 802D59C8 00000000 */ nop func_802D59CC: /* 0FA37C 802D59CC 8FBF0010 */ lw $ra, 0x10($sp) @@ -1380,10 +1396,11 @@ func_802D59CC: /* 0FA384 802D59D4 03E00008 */ jr $ra /* 0FA388 802D59D8 27BD0018 */ addiu $sp, $sp, 0x18 +ShowStatusMenu: /* 0FA38C 802D59DC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA390 802D59E0 AFBF0010 */ sw $ra, 0x10($sp) /* 0FA394 802D59E4 8C82000C */ lw $v0, 0xc($a0) -/* 0FA398 802D59E8 0C0B1EAF */ jal func_802C7ABC +/* 0FA398 802D59E8 0C0B1EAF */ jal get_variable /* 0FA39C 802D59EC 8C450000 */ lw $a1, ($v0) /* 0FA3A0 802D59F0 10400007 */ beqz $v0, .L802D5A10 /* 0FA3A4 802D59F4 00000000 */ nop @@ -1403,35 +1420,37 @@ func_802D5A18: /* 0FA3D0 802D5A20 03E00008 */ jr $ra /* 0FA3D4 802D5A24 27BD0018 */ addiu $sp, $sp, 0x18 +SetGameMode: /* 0FA3D8 802D5A28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA3DC 802D5A2C AFBF0010 */ sw $ra, 0x10($sp) /* 0FA3E0 802D5A30 8C82000C */ lw $v0, 0xc($a0) -/* 0FA3E4 802D5A34 0C0B1EAF */ jal func_802C7ABC +/* 0FA3E4 802D5A34 0C0B1EAF */ jal get_variable /* 0FA3E8 802D5A38 8C450000 */ lw $a1, ($v0) /* 0FA3EC 802D5A3C 00021400 */ sll $v0, $v0, 0x10 -/* 0FA3F0 802D5A40 0C00CD3C */ jal func_800334F0 +/* 0FA3F0 802D5A40 0C00CD3C */ jal set_game_mode /* 0FA3F4 802D5A44 00022403 */ sra $a0, $v0, 0x10 /* 0FA3F8 802D5A48 8FBF0010 */ lw $ra, 0x10($sp) /* 0FA3FC 802D5A4C 24020002 */ addiu $v0, $zero, 2 /* 0FA400 802D5A50 03E00008 */ jr $ra /* 0FA404 802D5A54 27BD0018 */ addiu $sp, $sp, 0x18 +ClampAngleInt: /* 0FA408 802D5A58 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FA40C 802D5A5C AFB00010 */ sw $s0, 0x10($sp) /* 0FA410 802D5A60 0080802D */ daddu $s0, $a0, $zero /* 0FA414 802D5A64 AFBF0018 */ sw $ra, 0x18($sp) /* 0FA418 802D5A68 AFB10014 */ sw $s1, 0x14($sp) /* 0FA41C 802D5A6C 8E11000C */ lw $s1, 0xc($s0) -/* 0FA420 802D5A70 0C0B1EAF */ jal func_802C7ABC +/* 0FA420 802D5A70 0C0B1EAF */ jal get_variable /* 0FA424 802D5A74 8E250000 */ lw $a1, ($s1) /* 0FA428 802D5A78 44826000 */ mtc1 $v0, $f12 /* 0FA42C 802D5A7C 00000000 */ nop -/* 0FA430 802D5A80 0C00A6C9 */ jal func_80029B24 +/* 0FA430 802D5A80 0C00A6C9 */ jal clamp_angle /* 0FA434 802D5A84 46806320 */ cvt.s.w $f12, $f12 /* 0FA438 802D5A88 8E250000 */ lw $a1, ($s1) /* 0FA43C 802D5A8C 4600008D */ trunc.w.s $f2, $f0 /* 0FA440 802D5A90 44061000 */ mfc1 $a2, $f2 -/* 0FA444 802D5A94 0C0B2026 */ jal func_802C8098 +/* 0FA444 802D5A94 0C0B2026 */ jal set_variable /* 0FA448 802D5A98 0200202D */ daddu $a0, $s0, $zero /* 0FA44C 802D5A9C 8FBF0018 */ lw $ra, 0x18($sp) /* 0FA450 802D5AA0 8FB10014 */ lw $s1, 0x14($sp) @@ -1440,19 +1459,20 @@ func_802D5A18: /* 0FA45C 802D5AAC 03E00008 */ jr $ra /* 0FA460 802D5AB0 27BD0020 */ addiu $sp, $sp, 0x20 +ClampAngleFloat: /* 0FA464 802D5AB4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FA468 802D5AB8 AFB00010 */ sw $s0, 0x10($sp) /* 0FA46C 802D5ABC 0080802D */ daddu $s0, $a0, $zero /* 0FA470 802D5AC0 AFBF0018 */ sw $ra, 0x18($sp) /* 0FA474 802D5AC4 AFB10014 */ sw $s1, 0x14($sp) /* 0FA478 802D5AC8 8E11000C */ lw $s1, 0xc($s0) -/* 0FA47C 802D5ACC 0C0B210B */ jal func_802C842C +/* 0FA47C 802D5ACC 0C0B210B */ jal get_float_variable /* 0FA480 802D5AD0 8E250000 */ lw $a1, ($s1) -/* 0FA484 802D5AD4 0C00A6C9 */ jal func_80029B24 +/* 0FA484 802D5AD4 0C00A6C9 */ jal clamp_angle /* 0FA488 802D5AD8 46000306 */ mov.s $f12, $f0 /* 0FA48C 802D5ADC 8E250000 */ lw $a1, ($s1) /* 0FA490 802D5AE0 44060000 */ mfc1 $a2, $f0 -/* 0FA494 802D5AE4 0C0B2190 */ jal func_802C8640 +/* 0FA494 802D5AE4 0C0B2190 */ jal set_float_variable /* 0FA498 802D5AE8 0200202D */ daddu $a0, $s0, $zero /* 0FA49C 802D5AEC 8FBF0018 */ lw $ra, 0x18($sp) /* 0FA4A0 802D5AF0 8FB10014 */ lw $s1, 0x14($sp) diff --git a/papermario/asm/code_fa4c0_len_3bf0.s b/papermario/asm/code_fa4c0_len_3bf0.s index 852e107433..08ce001347 100644 --- a/papermario/asm/code_fa4c0_len_3bf0.s +++ b/papermario/asm/code_fa4c0_len_3bf0.s @@ -54,14 +54,14 @@ /* 0FA57C 802D5BCC 10600004 */ beqz $v1, .L802D5BE0 /* 0FA580 802D5BD0 02341021 */ addu $v0, $s1, $s4 /* 0FA584 802D5BD4 8C440000 */ lw $a0, ($v0) -/* 0FA588 802D5BD8 0C0B102B */ jal func_802C40AC +/* 0FA588 802D5BD8 0C0B102B */ jal kill_script_by_ID /* 0FA58C 802D5BDC 00000000 */ nop .L802D5BE0: /* 0FA590 802D5BE0 5200000A */ beql $s0, $zero, .L802D5C0C /* 0FA594 802D5BE4 26730001 */ addiu $s3, $s3, 1 /* 0FA598 802D5BE8 0200202D */ daddu $a0, $s0, $zero /* 0FA59C 802D5BEC 24050001 */ addiu $a1, $zero, 1 -/* 0FA5A0 802D5BF0 0C0B0CF8 */ jal func_802C33E0 +/* 0FA5A0 802D5BF0 0C0B0CF8 */ jal start_script /* 0FA5A4 802D5BF4 0000302D */ daddu $a2, $zero, $zero /* 0FA5A8 802D5BF8 AE420000 */ sw $v0, ($s2) /* 0FA5AC 802D5BFC 8C430144 */ lw $v1, 0x144($v0) @@ -99,7 +99,7 @@ /* 0FA620 802D5C70 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA624 802D5C74 AFBF0010 */ sw $ra, 0x10($sp) /* 0FA628 802D5C78 8C82000C */ lw $v0, 0xc($a0) -/* 0FA62C 802D5C7C 0C0B1EAF */ jal func_802C7ABC +/* 0FA62C 802D5C7C 0C0B1EAF */ jal get_variable /* 0FA630 802D5C80 8C450000 */ lw $a1, ($v0) /* 0FA634 802D5C84 0000282D */ daddu $a1, $zero, $zero /* 0FA638 802D5C88 3C04802E */ lui $a0, 0x802e @@ -119,13 +119,14 @@ /* 0FA66C 802D5CBC 3C04802E */ lui $a0, 0x802e /* 0FA670 802D5CC0 24849D34 */ addiu $a0, $a0, -0x62cc /* 0FA674 802D5CC4 24050001 */ addiu $a1, $zero, 1 -/* 0FA678 802D5CC8 0C0B0CF8 */ jal func_802C33E0 +/* 0FA678 802D5CC8 0C0B0CF8 */ jal start_script /* 0FA67C 802D5CCC 0000302D */ daddu $a2, $zero, $zero /* 0FA680 802D5CD0 8FBF0010 */ lw $ra, 0x10($sp) /* 0FA684 802D5CD4 24020002 */ addiu $v0, $zero, 2 /* 0FA688 802D5CD8 03E00008 */ jr $ra /* 0FA68C 802D5CDC 27BD0018 */ addiu $sp, $sp, 0x18 +FadeOutMusic: /* 0FA690 802D5CE0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0FA694 802D5CE4 AFB1001C */ sw $s1, 0x1c($sp) /* 0FA698 802D5CE8 0080882D */ daddu $s1, $a0, $zero @@ -133,18 +134,18 @@ /* 0FA6A0 802D5CF0 AFB00018 */ sw $s0, 0x18($sp) /* 0FA6A4 802D5CF4 8E30000C */ lw $s0, 0xc($s1) /* 0FA6A8 802D5CF8 8E050000 */ lw $a1, ($s0) -/* 0FA6AC 802D5CFC 0C0B1EAF */ jal func_802C7ABC +/* 0FA6AC 802D5CFC 0C0B1EAF */ jal get_variable /* 0FA6B0 802D5D00 26100004 */ addiu $s0, $s0, 4 /* 0FA6B4 802D5D04 0220202D */ daddu $a0, $s1, $zero /* 0FA6B8 802D5D08 8E050000 */ lw $a1, ($s0) -/* 0FA6BC 802D5D0C 0C0B1EAF */ jal func_802C7ABC +/* 0FA6BC 802D5D0C 0C0B1EAF */ jal get_variable /* 0FA6C0 802D5D10 0040802D */ daddu $s0, $v0, $zero /* 0FA6C4 802D5D14 0200202D */ daddu $a0, $s0, $zero /* 0FA6C8 802D5D18 2405FFFF */ addiu $a1, $zero, -1 /* 0FA6CC 802D5D1C 24030008 */ addiu $v1, $zero, 8 /* 0FA6D0 802D5D20 0000302D */ daddu $a2, $zero, $zero /* 0FA6D4 802D5D24 0040382D */ daddu $a3, $v0, $zero -/* 0FA6D8 802D5D28 0C052A46 */ jal func_8014A918 +/* 0FA6D8 802D5D28 0C052A46 */ jal set_music_track /* 0FA6DC 802D5D2C AFA30010 */ sw $v1, 0x10($sp) /* 0FA6E0 802D5D30 0002102B */ sltu $v0, $zero, $v0 /* 0FA6E4 802D5D34 8FBF0020 */ lw $ra, 0x20($sp) @@ -154,6 +155,7 @@ /* 0FA6F4 802D5D44 03E00008 */ jr $ra /* 0FA6F8 802D5D48 27BD0028 */ addiu $sp, $sp, 0x28 +SetMusicTrack: /* 0FA6FC 802D5D4C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0FA700 802D5D50 AFB1001C */ sw $s1, 0x1c($sp) /* 0FA704 802D5D54 0080882D */ daddu $s1, $a0, $zero @@ -163,21 +165,21 @@ /* 0FA714 802D5D64 AFB00018 */ sw $s0, 0x18($sp) /* 0FA718 802D5D68 8E30000C */ lw $s0, 0xc($s1) /* 0FA71C 802D5D6C 8E050000 */ lw $a1, ($s0) -/* 0FA720 802D5D70 0C0B1EAF */ jal func_802C7ABC +/* 0FA720 802D5D70 0C0B1EAF */ jal get_variable /* 0FA724 802D5D74 26100004 */ addiu $s0, $s0, 4 /* 0FA728 802D5D78 8E050000 */ lw $a1, ($s0) /* 0FA72C 802D5D7C 26100004 */ addiu $s0, $s0, 4 /* 0FA730 802D5D80 0220202D */ daddu $a0, $s1, $zero -/* 0FA734 802D5D84 0C0B1EAF */ jal func_802C7ABC +/* 0FA734 802D5D84 0C0B1EAF */ jal get_variable /* 0FA738 802D5D88 0040982D */ daddu $s3, $v0, $zero /* 0FA73C 802D5D8C 8E050000 */ lw $a1, ($s0) /* 0FA740 802D5D90 26100004 */ addiu $s0, $s0, 4 /* 0FA744 802D5D94 0220202D */ daddu $a0, $s1, $zero -/* 0FA748 802D5D98 0C0B1EAF */ jal func_802C7ABC +/* 0FA748 802D5D98 0C0B1EAF */ jal get_variable /* 0FA74C 802D5D9C 0040902D */ daddu $s2, $v0, $zero /* 0FA750 802D5DA0 0220202D */ daddu $a0, $s1, $zero /* 0FA754 802D5DA4 8E050000 */ lw $a1, ($s0) -/* 0FA758 802D5DA8 0C0B1EAF */ jal func_802C7ABC +/* 0FA758 802D5DA8 0C0B1EAF */ jal get_variable /* 0FA75C 802D5DAC 0040802D */ daddu $s0, $v0, $zero /* 0FA760 802D5DB0 0260202D */ daddu $a0, $s3, $zero /* 0FA764 802D5DB4 0240282D */ daddu $a1, $s2, $zero @@ -185,7 +187,7 @@ /* 0FA76C 802D5DBC 00021403 */ sra $v0, $v0, 0x10 /* 0FA770 802D5DC0 0200302D */ daddu $a2, $s0, $zero /* 0FA774 802D5DC4 240701F4 */ addiu $a3, $zero, 0x1f4 -/* 0FA778 802D5DC8 0C052A46 */ jal func_8014A918 +/* 0FA778 802D5DC8 0C052A46 */ jal set_music_track /* 0FA77C 802D5DCC AFA20010 */ sw $v0, 0x10($sp) /* 0FA780 802D5DD0 0002102B */ sltu $v0, $zero, $v0 /* 0FA784 802D5DD4 8FBF0028 */ lw $ra, 0x28($sp) @@ -197,6 +199,7 @@ /* 0FA79C 802D5DEC 03E00008 */ jr $ra /* 0FA7A0 802D5DF0 27BD0030 */ addiu $sp, $sp, 0x30 +FadeInMusic: /* 0FA7A4 802D5DF4 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0FA7A8 802D5DF8 AFB1001C */ sw $s1, 0x1c($sp) /* 0FA7AC 802D5DFC 0080882D */ daddu $s1, $a0, $zero @@ -208,31 +211,31 @@ /* 0FA7C4 802D5E14 AFB00018 */ sw $s0, 0x18($sp) /* 0FA7C8 802D5E18 8E30000C */ lw $s0, 0xc($s1) /* 0FA7CC 802D5E1C 8E050000 */ lw $a1, ($s0) -/* 0FA7D0 802D5E20 0C0B1EAF */ jal func_802C7ABC +/* 0FA7D0 802D5E20 0C0B1EAF */ jal get_variable /* 0FA7D4 802D5E24 26100004 */ addiu $s0, $s0, 4 /* 0FA7D8 802D5E28 8E050000 */ lw $a1, ($s0) /* 0FA7DC 802D5E2C 26100004 */ addiu $s0, $s0, 4 /* 0FA7E0 802D5E30 0220202D */ daddu $a0, $s1, $zero -/* 0FA7E4 802D5E34 0C0B1EAF */ jal func_802C7ABC +/* 0FA7E4 802D5E34 0C0B1EAF */ jal get_variable /* 0FA7E8 802D5E38 0040A82D */ daddu $s5, $v0, $zero /* 0FA7EC 802D5E3C 8E050000 */ lw $a1, ($s0) /* 0FA7F0 802D5E40 26100004 */ addiu $s0, $s0, 4 /* 0FA7F4 802D5E44 0220202D */ daddu $a0, $s1, $zero -/* 0FA7F8 802D5E48 0C0B1EAF */ jal func_802C7ABC +/* 0FA7F8 802D5E48 0C0B1EAF */ jal get_variable /* 0FA7FC 802D5E4C 0040982D */ daddu $s3, $v0, $zero /* 0FA800 802D5E50 8E050000 */ lw $a1, ($s0) /* 0FA804 802D5E54 26100004 */ addiu $s0, $s0, 4 /* 0FA808 802D5E58 0220202D */ daddu $a0, $s1, $zero -/* 0FA80C 802D5E5C 0C0B1EAF */ jal func_802C7ABC +/* 0FA80C 802D5E5C 0C0B1EAF */ jal get_variable /* 0FA810 802D5E60 0040A02D */ daddu $s4, $v0, $zero /* 0FA814 802D5E64 8E050000 */ lw $a1, ($s0) /* 0FA818 802D5E68 26100004 */ addiu $s0, $s0, 4 /* 0FA81C 802D5E6C 0220202D */ daddu $a0, $s1, $zero -/* 0FA820 802D5E70 0C0B1EAF */ jal func_802C7ABC +/* 0FA820 802D5E70 0C0B1EAF */ jal get_variable /* 0FA824 802D5E74 0040902D */ daddu $s2, $v0, $zero /* 0FA828 802D5E78 0220202D */ daddu $a0, $s1, $zero /* 0FA82C 802D5E7C 8E050000 */ lw $a1, ($s0) -/* 0FA830 802D5E80 0C0B1EAF */ jal func_802C7ABC +/* 0FA830 802D5E80 0C0B1EAF */ jal get_variable /* 0FA834 802D5E84 0040802D */ daddu $s0, $v0, $zero /* 0FA838 802D5E88 02A0202D */ daddu $a0, $s5, $zero /* 0FA83C 802D5E8C 0260282D */ daddu $a1, $s3, $zero @@ -260,7 +263,7 @@ /* 0FA890 802D5EE0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA894 802D5EE4 AFBF0010 */ sw $ra, 0x10($sp) /* 0FA898 802D5EE8 8C82000C */ lw $v0, 0xc($a0) -/* 0FA89C 802D5EEC 0C0B1EAF */ jal func_802C7ABC +/* 0FA89C 802D5EEC 0C0B1EAF */ jal get_variable /* 0FA8A0 802D5EF0 8C450000 */ lw $a1, ($v0) /* 0FA8A4 802D5EF4 3C048016 */ lui $a0, 0x8016 /* 0FA8A8 802D5EF8 24849AF0 */ addiu $a0, $a0, -0x6510 @@ -284,16 +287,16 @@ /* 0FA8EC 802D5F3C AFB00010 */ sw $s0, 0x10($sp) /* 0FA8F0 802D5F40 8E30000C */ lw $s0, 0xc($s1) /* 0FA8F4 802D5F44 8E050000 */ lw $a1, ($s0) -/* 0FA8F8 802D5F48 0C0B1EAF */ jal func_802C7ABC +/* 0FA8F8 802D5F48 0C0B1EAF */ jal get_variable /* 0FA8FC 802D5F4C 26100004 */ addiu $s0, $s0, 4 /* 0FA900 802D5F50 8E050000 */ lw $a1, ($s0) /* 0FA904 802D5F54 26100004 */ addiu $s0, $s0, 4 /* 0FA908 802D5F58 0220202D */ daddu $a0, $s1, $zero -/* 0FA90C 802D5F5C 0C0B1EAF */ jal func_802C7ABC +/* 0FA90C 802D5F5C 0C0B1EAF */ jal get_variable /* 0FA910 802D5F60 0040902D */ daddu $s2, $v0, $zero /* 0FA914 802D5F64 0220202D */ daddu $a0, $s1, $zero /* 0FA918 802D5F68 8E050000 */ lw $a1, ($s0) -/* 0FA91C 802D5F6C 0C0B1EAF */ jal func_802C7ABC +/* 0FA91C 802D5F6C 0C0B1EAF */ jal get_variable /* 0FA920 802D5F70 0040802D */ daddu $s0, $v0, $zero /* 0FA924 802D5F74 0240202D */ daddu $a0, $s2, $zero /* 0FA928 802D5F78 0200282D */ daddu $a1, $s0, $zero @@ -311,7 +314,7 @@ /* 0FA954 802D5FA4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FA958 802D5FA8 AFBF0010 */ sw $ra, 0x10($sp) /* 0FA95C 802D5FAC 8C82000C */ lw $v0, 0xc($a0) -/* 0FA960 802D5FB0 0C0B1EAF */ jal func_802C7ABC +/* 0FA960 802D5FB0 0C0B1EAF */ jal get_variable /* 0FA964 802D5FB4 8C450000 */ lw $a1, ($v0) /* 0FA968 802D5FB8 0000202D */ daddu $a0, $zero, $zero /* 0FA96C 802D5FBC 00021400 */ sll $v0, $v0, 0x10 @@ -338,11 +341,11 @@ /* 0FA9B8 802D6008 AFB00010 */ sw $s0, 0x10($sp) /* 0FA9BC 802D600C 8E30000C */ lw $s0, 0xc($s1) /* 0FA9C0 802D6010 8E050000 */ lw $a1, ($s0) -/* 0FA9C4 802D6014 0C0B1EAF */ jal func_802C7ABC +/* 0FA9C4 802D6014 0C0B1EAF */ jal get_variable /* 0FA9C8 802D6018 26100004 */ addiu $s0, $s0, 4 /* 0FA9CC 802D601C 0220202D */ daddu $a0, $s1, $zero /* 0FA9D0 802D6020 8E050000 */ lw $a1, ($s0) -/* 0FA9D4 802D6024 0C0B1EAF */ jal func_802C7ABC +/* 0FA9D4 802D6024 0C0B1EAF */ jal get_variable /* 0FA9D8 802D6028 0040802D */ daddu $s0, $v0, $zero /* 0FA9DC 802D602C 0200202D */ daddu $a0, $s0, $zero /* 0FA9E0 802D6030 0C052B7E */ jal func_8014ADF8 @@ -379,11 +382,11 @@ /* 0FAA50 802D60A0 AFB00010 */ sw $s0, 0x10($sp) /* 0FAA54 802D60A4 8E30000C */ lw $s0, 0xc($s1) /* 0FAA58 802D60A8 8E050000 */ lw $a1, ($s0) -/* 0FAA5C 802D60AC 0C0B1EAF */ jal func_802C7ABC +/* 0FAA5C 802D60AC 0C0B1EAF */ jal get_variable /* 0FAA60 802D60B0 26100004 */ addiu $s0, $s0, 4 /* 0FAA64 802D60B4 0220202D */ daddu $a0, $s1, $zero /* 0FAA68 802D60B8 8E050000 */ lw $a1, ($s0) -/* 0FAA6C 802D60BC 0C0B1EAF */ jal func_802C7ABC +/* 0FAA6C 802D60BC 0C0B1EAF */ jal get_variable /* 0FAA70 802D60C0 0040802D */ daddu $s0, $v0, $zero /* 0FAA74 802D60C4 0200202D */ daddu $a0, $s0, $zero /* 0FAA78 802D60C8 0C052BE3 */ jal func_8014AF8C @@ -398,10 +401,10 @@ /* 0FAA98 802D60E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FAA9C 802D60EC AFBF0010 */ sw $ra, 0x10($sp) /* 0FAAA0 802D60F0 8C82000C */ lw $v0, 0xc($a0) -/* 0FAAA4 802D60F4 0C0B1EAF */ jal func_802C7ABC +/* 0FAAA4 802D60F4 0C0B1EAF */ jal get_variable /* 0FAAA8 802D60F8 8C450000 */ lw $a1, ($v0) /* 0FAAAC 802D60FC 2404FFFF */ addiu $a0, $zero, -1 -/* 0FAAB0 802D6100 0C051CDA */ jal func_80147368 +/* 0FAAB0 802D6100 0C051CDA */ jal play_ambient_sounds /* 0FAAB4 802D6104 0040282D */ daddu $a1, $v0, $zero /* 0FAAB8 802D6108 0002102B */ sltu $v0, $zero, $v0 /* 0FAABC 802D610C 8FBF0010 */ lw $ra, 0x10($sp) @@ -409,13 +412,14 @@ /* 0FAAC4 802D6114 03E00008 */ jr $ra /* 0FAAC8 802D6118 27BD0018 */ addiu $sp, $sp, 0x18 +PlayAmbientSounds: /* 0FAACC 802D611C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FAAD0 802D6120 AFBF0010 */ sw $ra, 0x10($sp) /* 0FAAD4 802D6124 8C82000C */ lw $v0, 0xc($a0) -/* 0FAAD8 802D6128 0C0B1EAF */ jal func_802C7ABC +/* 0FAAD8 802D6128 0C0B1EAF */ jal get_variable /* 0FAADC 802D612C 8C450000 */ lw $a1, ($v0) /* 0FAAE0 802D6130 0040202D */ daddu $a0, $v0, $zero -/* 0FAAE4 802D6134 0C051CDA */ jal func_80147368 +/* 0FAAE4 802D6134 0C051CDA */ jal play_ambient_sounds /* 0FAAE8 802D6138 240500FA */ addiu $a1, $zero, 0xfa /* 0FAAEC 802D613C 0002102B */ sltu $v0, $zero, $v0 /* 0FAAF0 802D6140 8FBF0010 */ lw $ra, 0x10($sp) @@ -423,12 +427,13 @@ /* 0FAAF8 802D6148 03E00008 */ jr $ra /* 0FAAFC 802D614C 27BD0018 */ addiu $sp, $sp, 0x18 +PlaySound: /* 0FAB00 802D6150 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FAB04 802D6154 AFBF0010 */ sw $ra, 0x10($sp) /* 0FAB08 802D6158 8C82000C */ lw $v0, 0xc($a0) -/* 0FAB0C 802D615C 0C0B1EAF */ jal func_802C7ABC +/* 0FAB0C 802D615C 0C0B1EAF */ jal get_variable /* 0FAB10 802D6160 8C450000 */ lw $a1, ($v0) -/* 0FAB14 802D6164 0C05272D */ jal func_80149CB4 +/* 0FAB14 802D6164 0C05272D */ jal play_sound /* 0FAB18 802D6168 0040202D */ daddu $a0, $v0, $zero /* 0FAB1C 802D616C 8FBF0010 */ lw $ra, 0x10($sp) /* 0FAB20 802D6170 24020002 */ addiu $v0, $zero, 2 @@ -442,16 +447,16 @@ /* 0FAB3C 802D618C AFB00010 */ sw $s0, 0x10($sp) /* 0FAB40 802D6190 8E30000C */ lw $s0, 0xc($s1) /* 0FAB44 802D6194 8E050000 */ lw $a1, ($s0) -/* 0FAB48 802D6198 0C0B1EAF */ jal func_802C7ABC +/* 0FAB48 802D6198 0C0B1EAF */ jal get_variable /* 0FAB4C 802D619C 26100004 */ addiu $s0, $s0, 4 /* 0FAB50 802D61A0 0220202D */ daddu $a0, $s1, $zero /* 0FAB54 802D61A4 8E050000 */ lw $a1, ($s0) -/* 0FAB58 802D61A8 0C0B1EAF */ jal func_802C7ABC +/* 0FAB58 802D61A8 0C0B1EAF */ jal get_variable /* 0FAB5C 802D61AC 0040802D */ daddu $s0, $v0, $zero /* 0FAB60 802D61B0 0200202D */ daddu $a0, $s0, $zero /* 0FAB64 802D61B4 304500FF */ andi $a1, $v0, 0xff /* 0FAB68 802D61B8 0000302D */ daddu $a2, $zero, $zero -/* 0FAB6C 802D61BC 0C0526AE */ jal func_80149AB8 +/* 0FAB6C 802D61BC 0C0526AE */ jal _play_sound /* 0FAB70 802D61C0 00C0382D */ daddu $a3, $a2, $zero /* 0FAB74 802D61C4 8FBF0018 */ lw $ra, 0x18($sp) /* 0FAB78 802D61C8 8FB10014 */ lw $s1, 0x14($sp) @@ -460,6 +465,7 @@ /* 0FAB84 802D61D4 03E00008 */ jr $ra /* 0FAB88 802D61D8 27BD0020 */ addiu $sp, $sp, 0x20 +PlaySoundAt: /* 0FAB8C 802D61DC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0FAB90 802D61E0 AFB1001C */ sw $s1, 0x1c($sp) /* 0FAB94 802D61E4 0080882D */ daddu $s1, $a0, $zero @@ -470,26 +476,26 @@ /* 0FABA8 802D61F8 AFB00018 */ sw $s0, 0x18($sp) /* 0FABAC 802D61FC 8E30000C */ lw $s0, 0xc($s1) /* 0FABB0 802D6200 8E050000 */ lw $a1, ($s0) -/* 0FABB4 802D6204 0C0B1EAF */ jal func_802C7ABC +/* 0FABB4 802D6204 0C0B1EAF */ jal get_variable /* 0FABB8 802D6208 26100004 */ addiu $s0, $s0, 4 /* 0FABBC 802D620C 8E050000 */ lw $a1, ($s0) /* 0FABC0 802D6210 26100004 */ addiu $s0, $s0, 4 /* 0FABC4 802D6214 0220202D */ daddu $a0, $s1, $zero -/* 0FABC8 802D6218 0C0B1EAF */ jal func_802C7ABC +/* 0FABC8 802D6218 0C0B1EAF */ jal get_variable /* 0FABCC 802D621C 0040A02D */ daddu $s4, $v0, $zero /* 0FABD0 802D6220 8E050000 */ lw $a1, ($s0) /* 0FABD4 802D6224 26100004 */ addiu $s0, $s0, 4 /* 0FABD8 802D6228 0220202D */ daddu $a0, $s1, $zero -/* 0FABDC 802D622C 0C0B1EAF */ jal func_802C7ABC +/* 0FABDC 802D622C 0C0B1EAF */ jal get_variable /* 0FABE0 802D6230 0040982D */ daddu $s3, $v0, $zero /* 0FABE4 802D6234 8E050000 */ lw $a1, ($s0) /* 0FABE8 802D6238 26100004 */ addiu $s0, $s0, 4 /* 0FABEC 802D623C 0220202D */ daddu $a0, $s1, $zero -/* 0FABF0 802D6240 0C0B1EAF */ jal func_802C7ABC +/* 0FABF0 802D6240 0C0B1EAF */ jal get_variable /* 0FABF4 802D6244 0040902D */ daddu $s2, $v0, $zero /* 0FABF8 802D6248 0220202D */ daddu $a0, $s1, $zero /* 0FABFC 802D624C 8E050000 */ lw $a1, ($s0) -/* 0FAC00 802D6250 0C0B1EAF */ jal func_802C7ABC +/* 0FAC00 802D6250 0C0B1EAF */ jal get_variable /* 0FAC04 802D6254 0040802D */ daddu $s0, $v0, $zero /* 0FAC08 802D6258 0280202D */ daddu $a0, $s4, $zero /* 0FAC0C 802D625C 0260282D */ daddu $a1, $s3, $zero @@ -504,7 +510,7 @@ /* 0FAC30 802D6280 44820000 */ mtc1 $v0, $f0 /* 0FAC34 802D6284 00000000 */ nop /* 0FAC38 802D6288 46800020 */ cvt.s.w $f0, $f0 -/* 0FAC3C 802D628C 0C052757 */ jal func_80149D5C +/* 0FAC3C 802D628C 0C052757 */ jal play_sound_at_position /* 0FAC40 802D6290 E7A00010 */ swc1 $f0, 0x10($sp) /* 0FAC44 802D6294 8FBF002C */ lw $ra, 0x2c($sp) /* 0FAC48 802D6298 8FB40028 */ lw $s4, 0x28($sp) @@ -516,12 +522,13 @@ /* 0FAC60 802D62B0 03E00008 */ jr $ra /* 0FAC64 802D62B4 27BD0030 */ addiu $sp, $sp, 0x30 +StopSound: /* 0FAC68 802D62B8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FAC6C 802D62BC AFBF0010 */ sw $ra, 0x10($sp) /* 0FAC70 802D62C0 8C82000C */ lw $v0, 0xc($a0) -/* 0FAC74 802D62C4 0C0B1EAF */ jal func_802C7ABC +/* 0FAC74 802D62C4 0C0B1EAF */ jal get_variable /* 0FAC78 802D62C8 8C450000 */ lw $a1, ($v0) -/* 0FAC7C 802D62CC 0C05271B */ jal func_80149C6C +/* 0FAC7C 802D62CC 0C05271B */ jal stop_sound /* 0FAC80 802D62D0 0040202D */ daddu $a0, $v0, $zero /* 0FAC84 802D62D4 8FBF0010 */ lw $ra, 0x10($sp) /* 0FAC88 802D62D8 24020002 */ addiu $v0, $zero, 2 @@ -531,7 +538,7 @@ /* 0FAC94 802D62E4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FAC98 802D62E8 AFBF0010 */ sw $ra, 0x10($sp) /* 0FAC9C 802D62EC 8C82000C */ lw $v0, 0xc($a0) -/* 0FACA0 802D62F0 0C0B1EAF */ jal func_802C7ABC +/* 0FACA0 802D62F0 0C0B1EAF */ jal get_variable /* 0FACA4 802D62F4 8C450000 */ lw $a1, ($v0) /* 0FACA8 802D62F8 0040202D */ daddu $a0, $v0, $zero /* 0FACAC 802D62FC 0C05269B */ jal func_80149A6C @@ -541,10 +548,11 @@ /* 0FACBC 802D630C 03E00008 */ jr $ra /* 0FACC0 802D6310 27BD0018 */ addiu $sp, $sp, 0x18 +UseDoorSounds: /* 0FACC4 802D6314 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FACC8 802D6318 AFBF0010 */ sw $ra, 0x10($sp) /* 0FACCC 802D631C 8C82000C */ lw $v0, 0xc($a0) -/* 0FACD0 802D6320 0C0B1EAF */ jal func_802C7ABC +/* 0FACD0 802D6320 0C0B1EAF */ jal get_variable /* 0FACD4 802D6324 8C450000 */ lw $a1, ($v0) /* 0FACD8 802D6328 8FBF0010 */ lw $ra, 0x10($sp) /* 0FACDC 802D632C 3C018015 */ lui $at, 0x8015 @@ -556,7 +564,7 @@ /* 0FACF0 802D6340 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FACF4 802D6344 AFBF0010 */ sw $ra, 0x10($sp) /* 0FACF8 802D6348 8C82000C */ lw $v0, 0xc($a0) -/* 0FACFC 802D634C 0C0B1EAF */ jal func_802C7ABC +/* 0FACFC 802D634C 0C0B1EAF */ jal get_variable /* 0FAD00 802D6350 8C450000 */ lw $a1, ($v0) /* 0FAD04 802D6354 8FBF0010 */ lw $ra, 0x10($sp) /* 0FAD08 802D6358 3C018015 */ lui $at, 0x8015 @@ -565,6 +573,7 @@ /* 0FAD14 802D6364 03E00008 */ jr $ra /* 0FAD18 802D6368 27BD0018 */ addiu $sp, $sp, 0x18 +PlaySoundAtF: /* 0FAD1C 802D636C 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 0FAD20 802D6370 AFB1001C */ sw $s1, 0x1c($sp) /* 0FAD24 802D6374 0080882D */ daddu $s1, $a0, $zero @@ -578,27 +587,27 @@ /* 0FAD44 802D6394 8E130000 */ lw $s3, ($s0) /* 0FAD48 802D6398 26100004 */ addiu $s0, $s0, 4 /* 0FAD4C 802D639C 8E050000 */ lw $a1, ($s0) -/* 0FAD50 802D63A0 0C0B1EAF */ jal func_802C7ABC +/* 0FAD50 802D63A0 0C0B1EAF */ jal get_variable /* 0FAD54 802D63A4 26100004 */ addiu $s0, $s0, 4 /* 0FAD58 802D63A8 8E050000 */ lw $a1, ($s0) /* 0FAD5C 802D63AC 26100004 */ addiu $s0, $s0, 4 /* 0FAD60 802D63B0 0220202D */ daddu $a0, $s1, $zero -/* 0FAD64 802D63B4 0C0B210B */ jal func_802C842C +/* 0FAD64 802D63B4 0C0B210B */ jal get_float_variable /* 0FAD68 802D63B8 0040902D */ daddu $s2, $v0, $zero /* 0FAD6C 802D63BC 8E050000 */ lw $a1, ($s0) /* 0FAD70 802D63C0 26100004 */ addiu $s0, $s0, 4 /* 0FAD74 802D63C4 0220202D */ daddu $a0, $s1, $zero -/* 0FAD78 802D63C8 0C0B210B */ jal func_802C842C +/* 0FAD78 802D63C8 0C0B210B */ jal get_float_variable /* 0FAD7C 802D63CC 46000586 */ mov.s $f22, $f0 /* 0FAD80 802D63D0 0220202D */ daddu $a0, $s1, $zero /* 0FAD84 802D63D4 8E050000 */ lw $a1, ($s0) -/* 0FAD88 802D63D8 0C0B210B */ jal func_802C842C +/* 0FAD88 802D63D8 0C0B210B */ jal get_float_variable /* 0FAD8C 802D63DC 46000506 */ mov.s $f20, $f0 /* 0FAD90 802D63E0 0260202D */ daddu $a0, $s3, $zero /* 0FAD94 802D63E4 4406B000 */ mfc1 $a2, $f22 /* 0FAD98 802D63E8 4407A000 */ mfc1 $a3, $f20 /* 0FAD9C 802D63EC 3245FFFF */ andi $a1, $s2, 0xffff -/* 0FADA0 802D63F0 0C052757 */ jal func_80149D5C +/* 0FADA0 802D63F0 0C052757 */ jal play_sound_at_position /* 0FADA4 802D63F4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0FADA8 802D63F8 8FBF0028 */ lw $ra, 0x28($sp) /* 0FADAC 802D63FC 8FB30024 */ lw $s3, 0x24($sp) @@ -637,7 +646,7 @@ .L802D6474: /* 0FAE24 802D6474 0C03805E */ jal func_800E0178 /* 0FAE28 802D6478 00000000 */ nop -/* 0FAE2C 802D647C 0C038045 */ jal func_800E0114 +/* 0FAE2C 802D647C 0C038045 */ jal enable_player_physics /* 0FAE30 802D6480 00000000 */ nop /* 0FAE34 802D6484 0C03BD8A */ jal func_800EF628 /* 0FAE38 802D6488 00000000 */ nop @@ -795,7 +804,7 @@ func_802D6620: .L802D6690: /* 0FB040 802D6690 0C03805E */ jal func_800E0178 /* 0FB044 802D6694 00000000 */ nop -/* 0FB048 802D6698 0C038045 */ jal func_800E0114 +/* 0FB048 802D6698 0C038045 */ jal enable_player_physics /* 0FB04C 802D669C 00000000 */ nop /* 0FB050 802D66A0 0C03BD8A */ jal func_800EF628 /* 0FB054 802D66A4 00000000 */ nop @@ -927,10 +936,11 @@ func_802D683C: /* 0FB200 802D6850 03E00008 */ jr $ra /* 0FB204 802D6854 27BD0028 */ addiu $sp, $sp, 0x28 +RemoveKeyItemAt: /* 0FB208 802D6858 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FB20C 802D685C AFBF0010 */ sw $ra, 0x10($sp) /* 0FB210 802D6860 8C82000C */ lw $v0, 0xc($a0) -/* 0FB214 802D6864 0C0B1EAF */ jal func_802C7ABC +/* 0FB214 802D6864 0C0B1EAF */ jal get_variable /* 0FB218 802D6868 8C450000 */ lw $a1, ($v0) /* 0FB21C 802D686C 00021840 */ sll $v1, $v0, 1 /* 0FB220 802D6870 3C018011 */ lui $at, 0x8011 @@ -941,27 +951,29 @@ func_802D683C: /* 0FB234 802D6884 03E00008 */ jr $ra /* 0FB238 802D6888 27BD0018 */ addiu $sp, $sp, 0x18 +RemoveItemAt: /* 0FB23C 802D688C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FB240 802D6890 AFBF0010 */ sw $ra, 0x10($sp) /* 0FB244 802D6894 8C82000C */ lw $v0, 0xc($a0) -/* 0FB248 802D6898 0C0B1EAF */ jal func_802C7ABC +/* 0FB248 802D6898 0C0B1EAF */ jal get_variable /* 0FB24C 802D689C 8C450000 */ lw $a1, ($v0) /* 0FB250 802D68A0 00021040 */ sll $v0, $v0, 1 /* 0FB254 802D68A4 3C018011 */ lui $at, 0x8011 /* 0FB258 802D68A8 00220821 */ addu $at, $at, $v0 /* 0FB25C 802D68AC A420F444 */ sh $zero, -0xbbc($at) -/* 0FB260 802D68B0 0C039DB3 */ jal func_800E76CC +/* 0FB260 802D68B0 0C039DB3 */ jal sort_items /* 0FB264 802D68B4 00000000 */ nop /* 0FB268 802D68B8 8FBF0010 */ lw $ra, 0x10($sp) /* 0FB26C 802D68BC 24020002 */ addiu $v0, $zero, 2 /* 0FB270 802D68C0 03E00008 */ jr $ra /* 0FB274 802D68C4 27BD0018 */ addiu $sp, $sp, 0x18 +AddKeyItem: /* 0FB278 802D68C8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FB27C 802D68CC AFBF0014 */ sw $ra, 0x14($sp) /* 0FB280 802D68D0 AFB00010 */ sw $s0, 0x10($sp) /* 0FB284 802D68D4 8C82000C */ lw $v0, 0xc($a0) -/* 0FB288 802D68D8 0C0B1EAF */ jal func_802C7ABC +/* 0FB288 802D68D8 0C0B1EAF */ jal get_variable /* 0FB28C 802D68DC 8C450000 */ lw $a1, ($v0) /* 0FB290 802D68E0 3C108011 */ lui $s0, 0x8011 /* 0FB294 802D68E4 2610F290 */ addiu $s0, $s0, -0xd70 @@ -1003,7 +1015,7 @@ func_802D6944: /* 0FB308 802D6958 AFBF0010 */ sw $ra, 0x10($sp) /* 0FB30C 802D695C 0C038069 */ jal func_800E01A4 /* 0FB310 802D6960 00000000 */ nop -/* 0FB314 802D6964 0C038050 */ jal func_800E0140 +/* 0FB314 802D6964 0C038050 */ jal disable_player_physics /* 0FB318 802D6968 00000000 */ nop /* 0FB31C 802D696C 0C03BD80 */ jal func_800EF600 /* 0FB320 802D6970 00000000 */ nop @@ -1018,6 +1030,7 @@ func_802D6944: /* 0FB344 802D6994 03E00008 */ jr $ra /* 0FB348 802D6998 27BD0018 */ addiu $sp, $sp, 0x18 +HasKeyItem: /* 0FB34C 802D699C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB350 802D69A0 AFB10014 */ sw $s1, 0x14($sp) /* 0FB354 802D69A4 0080882D */ daddu $s1, $a0, $zero @@ -1025,7 +1038,7 @@ func_802D6944: /* 0FB35C 802D69AC AFB00010 */ sw $s0, 0x10($sp) /* 0FB360 802D69B0 8E30000C */ lw $s0, 0xc($s1) /* 0FB364 802D69B4 8E050000 */ lw $a1, ($s0) -/* 0FB368 802D69B8 0C0B1EAF */ jal func_802C7ABC +/* 0FB368 802D69B8 0C0B1EAF */ jal get_variable /* 0FB36C 802D69BC 26100004 */ addiu $s0, $s0, 4 /* 0FB370 802D69C0 0040202D */ daddu $a0, $v0, $zero /* 0FB374 802D69C4 0000302D */ daddu $a2, $zero, $zero @@ -1042,7 +1055,7 @@ func_802D6944: /* 0FB39C 802D69EC 24630002 */ addiu $v1, $v1, 2 /* 0FB3A0 802D69F0 0220202D */ daddu $a0, $s1, $zero .L802D69F4: -/* 0FB3A4 802D69F4 0C0B2026 */ jal func_802C8098 +/* 0FB3A4 802D69F4 0C0B2026 */ jal set_variable /* 0FB3A8 802D69F8 28C60020 */ slti $a2, $a2, 0x20 /* 0FB3AC 802D69FC 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB3B0 802D6A00 8FB10014 */ lw $s1, 0x14($sp) @@ -1051,6 +1064,7 @@ func_802D6944: /* 0FB3BC 802D6A0C 03E00008 */ jr $ra /* 0FB3C0 802D6A10 27BD0020 */ addiu $sp, $sp, 0x20 +FindKeyItem: /* 0FB3C4 802D6A14 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB3C8 802D6A18 AFB10014 */ sw $s1, 0x14($sp) /* 0FB3CC 802D6A1C 0080882D */ daddu $s1, $a0, $zero @@ -1058,7 +1072,7 @@ func_802D6944: /* 0FB3D4 802D6A24 AFB00010 */ sw $s0, 0x10($sp) /* 0FB3D8 802D6A28 8E30000C */ lw $s0, 0xc($s1) /* 0FB3DC 802D6A2C 8E050000 */ lw $a1, ($s0) -/* 0FB3E0 802D6A30 0C0B1EAF */ jal func_802C7ABC +/* 0FB3E0 802D6A30 0C0B1EAF */ jal get_variable /* 0FB3E4 802D6A34 26100004 */ addiu $s0, $s0, 4 /* 0FB3E8 802D6A38 0040302D */ daddu $a2, $v0, $zero /* 0FB3EC 802D6A3C 0000182D */ daddu $v1, $zero, $zero @@ -1079,7 +1093,7 @@ func_802D6944: /* 0FB420 802D6A70 2406FFFF */ addiu $a2, $zero, -1 /* 0FB424 802D6A74 0060302D */ daddu $a2, $v1, $zero .L802D6A78: -/* 0FB428 802D6A78 0C0B2026 */ jal func_802C8098 +/* 0FB428 802D6A78 0C0B2026 */ jal set_variable /* 0FB42C 802D6A7C 0220202D */ daddu $a0, $s1, $zero /* 0FB430 802D6A80 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB434 802D6A84 8FB10014 */ lw $s1, 0x14($sp) @@ -1088,6 +1102,7 @@ func_802D6944: /* 0FB440 802D6A90 03E00008 */ jr $ra /* 0FB444 802D6A94 27BD0020 */ addiu $sp, $sp, 0x20 +AddItem: /* 0FB448 802D6A98 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB44C 802D6A9C AFB10014 */ sw $s1, 0x14($sp) /* 0FB450 802D6AA0 0080882D */ daddu $s1, $a0, $zero @@ -1095,14 +1110,14 @@ func_802D6944: /* 0FB458 802D6AA8 AFB00010 */ sw $s0, 0x10($sp) /* 0FB45C 802D6AAC 8E30000C */ lw $s0, 0xc($s1) /* 0FB460 802D6AB0 8E050000 */ lw $a1, ($s0) -/* 0FB464 802D6AB4 0C0B1EAF */ jal func_802C7ABC +/* 0FB464 802D6AB4 0C0B1EAF */ jal get_variable /* 0FB468 802D6AB8 26100004 */ addiu $s0, $s0, 4 /* 0FB46C 802D6ABC 8E100000 */ lw $s0, ($s0) -/* 0FB470 802D6AC0 0C039D5D */ jal func_800E7574 +/* 0FB470 802D6AC0 0C039D5D */ jal add_item /* 0FB474 802D6AC4 0040202D */ daddu $a0, $v0, $zero /* 0FB478 802D6AC8 0220202D */ daddu $a0, $s1, $zero /* 0FB47C 802D6ACC 0040302D */ daddu $a2, $v0, $zero -/* 0FB480 802D6AD0 0C0B2026 */ jal func_802C8098 +/* 0FB480 802D6AD0 0C0B2026 */ jal set_variable /* 0FB484 802D6AD4 0200282D */ daddu $a1, $s0, $zero /* 0FB488 802D6AD8 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB48C 802D6ADC 8FB10014 */ lw $s1, 0x14($sp) @@ -1115,13 +1130,14 @@ func_802D6944: /* 0FB4A4 802D6AF4 AFBF0010 */ sw $ra, 0x10($sp) /* 0FB4A8 802D6AF8 8C82000C */ lw $v0, 0xc($a0) /* 0FB4AC 802D6AFC 8C450000 */ lw $a1, ($v0) -/* 0FB4B0 802D6B00 0C0B2026 */ jal func_802C8098 +/* 0FB4B0 802D6B00 0C0B2026 */ jal set_variable /* 0FB4B4 802D6B04 0000302D */ daddu $a2, $zero, $zero /* 0FB4B8 802D6B08 8FBF0010 */ lw $ra, 0x10($sp) /* 0FB4BC 802D6B0C 24020002 */ addiu $v0, $zero, 2 /* 0FB4C0 802D6B10 03E00008 */ jr $ra /* 0FB4C4 802D6B14 27BD0018 */ addiu $sp, $sp, 0x18 +FindItem: /* 0FB4C8 802D6B18 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB4CC 802D6B1C AFB10014 */ sw $s1, 0x14($sp) /* 0FB4D0 802D6B20 0080882D */ daddu $s1, $a0, $zero @@ -1129,7 +1145,7 @@ func_802D6944: /* 0FB4D8 802D6B28 AFB00010 */ sw $s0, 0x10($sp) /* 0FB4DC 802D6B2C 8E30000C */ lw $s0, 0xc($s1) /* 0FB4E0 802D6B30 8E050000 */ lw $a1, ($s0) -/* 0FB4E4 802D6B34 0C0B1EAF */ jal func_802C7ABC +/* 0FB4E4 802D6B34 0C0B1EAF */ jal get_variable /* 0FB4E8 802D6B38 26100004 */ addiu $s0, $s0, 4 /* 0FB4EC 802D6B3C 0040302D */ daddu $a2, $v0, $zero /* 0FB4F0 802D6B40 0000182D */ daddu $v1, $zero, $zero @@ -1150,7 +1166,7 @@ func_802D6944: /* 0FB524 802D6B74 2406FFFF */ addiu $a2, $zero, -1 /* 0FB528 802D6B78 0060302D */ daddu $a2, $v1, $zero .L802D6B7C: -/* 0FB52C 802D6B7C 0C0B2026 */ jal func_802C8098 +/* 0FB52C 802D6B7C 0C0B2026 */ jal set_variable /* 0FB530 802D6B80 0220202D */ daddu $a0, $s1, $zero /* 0FB534 802D6B84 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB538 802D6B88 8FB10014 */ lw $s1, 0x14($sp) @@ -1159,6 +1175,7 @@ func_802D6944: /* 0FB544 802D6B94 03E00008 */ jr $ra /* 0FB548 802D6B98 27BD0020 */ addiu $sp, $sp, 0x20 +RemoveItem: /* 0FB54C 802D6B9C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB550 802D6BA0 AFB10014 */ sw $s1, 0x14($sp) /* 0FB554 802D6BA4 0080882D */ daddu $s1, $a0, $zero @@ -1167,7 +1184,7 @@ func_802D6944: /* 0FB560 802D6BB0 AFB00010 */ sw $s0, 0x10($sp) /* 0FB564 802D6BB4 8E30000C */ lw $s0, 0xc($s1) /* 0FB568 802D6BB8 8E050000 */ lw $a1, ($s0) -/* 0FB56C 802D6BBC 0C0B1EAF */ jal func_802C7ABC +/* 0FB56C 802D6BBC 0C0B1EAF */ jal get_variable /* 0FB570 802D6BC0 26100004 */ addiu $s0, $s0, 4 /* 0FB574 802D6BC4 0040282D */ daddu $a1, $v0, $zero /* 0FB578 802D6BC8 0000182D */ daddu $v1, $zero, $zero @@ -1194,11 +1211,11 @@ func_802D6944: /* 0FB5C0 802D6C10 00461021 */ addu $v0, $v0, $a2 /* 0FB5C4 802D6C14 A44001B4 */ sh $zero, 0x1b4($v0) .L802D6C18: -/* 0FB5C8 802D6C18 0C039DB3 */ jal func_800E76CC +/* 0FB5C8 802D6C18 0C039DB3 */ jal sort_items /* 0FB5CC 802D6C1C 00000000 */ nop /* 0FB5D0 802D6C20 0220202D */ daddu $a0, $s1, $zero /* 0FB5D4 802D6C24 0240282D */ daddu $a1, $s2, $zero -/* 0FB5D8 802D6C28 0C0B2026 */ jal func_802C8098 +/* 0FB5D8 802D6C28 0C0B2026 */ jal set_variable /* 0FB5DC 802D6C2C 0200302D */ daddu $a2, $s0, $zero /* 0FB5E0 802D6C30 8FBF001C */ lw $ra, 0x1c($sp) /* 0FB5E4 802D6C34 8FB20018 */ lw $s2, 0x18($sp) @@ -1208,17 +1225,18 @@ func_802D6944: /* 0FB5F4 802D6C44 03E00008 */ jr $ra /* 0FB5F8 802D6C48 27BD0020 */ addiu $sp, $sp, 0x20 +CountFortessKeys: /* 0FB5FC 802D6C4C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB600 802D6C50 AFB00010 */ sw $s0, 0x10($sp) /* 0FB604 802D6C54 0080802D */ daddu $s0, $a0, $zero /* 0FB608 802D6C58 AFBF0018 */ sw $ra, 0x18($sp) /* 0FB60C 802D6C5C AFB10014 */ sw $s1, 0x14($sp) /* 0FB610 802D6C60 8E02000C */ lw $v0, 0xc($s0) -/* 0FB614 802D6C64 0C03A8F9 */ jal func_800EA3E4 +/* 0FB614 802D6C64 0C03A8F9 */ jal get_fortress_key_count /* 0FB618 802D6C68 8C510000 */ lw $s1, ($v0) /* 0FB61C 802D6C6C 0200202D */ daddu $a0, $s0, $zero /* 0FB620 802D6C70 0040302D */ daddu $a2, $v0, $zero -/* 0FB624 802D6C74 0C0B2026 */ jal func_802C8098 +/* 0FB624 802D6C74 0C0B2026 */ jal set_variable /* 0FB628 802D6C78 0220282D */ daddu $a1, $s1, $zero /* 0FB62C 802D6C7C 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB630 802D6C80 8FB10014 */ lw $s1, 0x14($sp) @@ -1227,18 +1245,20 @@ func_802D6944: /* 0FB63C 802D6C8C 03E00008 */ jr $ra /* 0FB640 802D6C90 27BD0020 */ addiu $sp, $sp, 0x20 +RemoveFortressKeys: /* 0FB644 802D6C94 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FB648 802D6C98 AFBF0010 */ sw $ra, 0x10($sp) /* 0FB64C 802D6C9C 8C82000C */ lw $v0, 0xc($a0) -/* 0FB650 802D6CA0 0C0B1EAF */ jal func_802C7ABC +/* 0FB650 802D6CA0 0C0B1EAF */ jal get_variable /* 0FB654 802D6CA4 8C450000 */ lw $a1, ($v0) -/* 0FB658 802D6CA8 0C03A8EE */ jal func_800EA3B8 +/* 0FB658 802D6CA8 0C03A8EE */ jal subtract_fortress_keys /* 0FB65C 802D6CAC 0040202D */ daddu $a0, $v0, $zero /* 0FB660 802D6CB0 8FBF0010 */ lw $ra, 0x10($sp) /* 0FB664 802D6CB4 24020002 */ addiu $v0, $zero, 2 /* 0FB668 802D6CB8 03E00008 */ jr $ra /* 0FB66C 802D6CBC 27BD0018 */ addiu $sp, $sp, 0x18 +MakeItemEntity: /* 0FB670 802D6CC0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0FB674 802D6CC4 AFB1001C */ sw $s1, 0x1c($sp) /* 0FB678 802D6CC8 0080882D */ daddu $s1, $a0, $zero @@ -1250,31 +1270,31 @@ func_802D6944: /* 0FB690 802D6CE0 AFB00018 */ sw $s0, 0x18($sp) /* 0FB694 802D6CE4 8E30000C */ lw $s0, 0xc($s1) /* 0FB698 802D6CE8 8E050000 */ lw $a1, ($s0) -/* 0FB69C 802D6CEC 0C0B1EAF */ jal func_802C7ABC +/* 0FB69C 802D6CEC 0C0B1EAF */ jal get_variable /* 0FB6A0 802D6CF0 26100004 */ addiu $s0, $s0, 4 /* 0FB6A4 802D6CF4 8E050000 */ lw $a1, ($s0) /* 0FB6A8 802D6CF8 26100004 */ addiu $s0, $s0, 4 /* 0FB6AC 802D6CFC 0220202D */ daddu $a0, $s1, $zero -/* 0FB6B0 802D6D00 0C0B1EAF */ jal func_802C7ABC +/* 0FB6B0 802D6D00 0C0B1EAF */ jal get_variable /* 0FB6B4 802D6D04 0040A82D */ daddu $s5, $v0, $zero /* 0FB6B8 802D6D08 8E050000 */ lw $a1, ($s0) /* 0FB6BC 802D6D0C 26100004 */ addiu $s0, $s0, 4 /* 0FB6C0 802D6D10 0220202D */ daddu $a0, $s1, $zero -/* 0FB6C4 802D6D14 0C0B1EAF */ jal func_802C7ABC +/* 0FB6C4 802D6D14 0C0B1EAF */ jal get_variable /* 0FB6C8 802D6D18 0040A02D */ daddu $s4, $v0, $zero /* 0FB6CC 802D6D1C 8E050000 */ lw $a1, ($s0) /* 0FB6D0 802D6D20 26100004 */ addiu $s0, $s0, 4 /* 0FB6D4 802D6D24 0220202D */ daddu $a0, $s1, $zero -/* 0FB6D8 802D6D28 0C0B1EAF */ jal func_802C7ABC +/* 0FB6D8 802D6D28 0C0B1EAF */ jal get_variable /* 0FB6DC 802D6D2C 0040982D */ daddu $s3, $v0, $zero /* 0FB6E0 802D6D30 8E050000 */ lw $a1, ($s0) /* 0FB6E4 802D6D34 26100004 */ addiu $s0, $s0, 4 /* 0FB6E8 802D6D38 0220202D */ daddu $a0, $s1, $zero -/* 0FB6EC 802D6D3C 0C0B1EAF */ jal func_802C7ABC +/* 0FB6EC 802D6D3C 0C0B1EAF */ jal get_variable /* 0FB6F0 802D6D40 0040902D */ daddu $s2, $v0, $zero /* 0FB6F4 802D6D44 0220202D */ daddu $a0, $s1, $zero /* 0FB6F8 802D6D48 8E050000 */ lw $a1, ($s0) -/* 0FB6FC 802D6D4C 0C0B1F6A */ jal func_802C7DA8 +/* 0FB6FC 802D6D4C 0C0B1F6A */ jal get_variable_index /* 0FB700 802D6D50 0040802D */ daddu $s0, $v0, $zero /* 0FB704 802D6D54 44940000 */ mtc1 $s4, $f0 /* 0FB708 802D6D58 00000000 */ nop @@ -1290,7 +1310,7 @@ func_802D6944: /* 0FB730 802D6D80 44070000 */ mfc1 $a3, $f0 /* 0FB734 802D6D84 02A0202D */ daddu $a0, $s5, $zero /* 0FB738 802D6D88 AFB00010 */ sw $s0, 0x10($sp) -/* 0FB73C 802D6D8C 0C04C6A5 */ jal func_80131A94 +/* 0FB73C 802D6D8C 0C04C6A5 */ jal make_item_entity_nodelay /* 0FB740 802D6D90 AFA20014 */ sw $v0, 0x14($sp) /* 0FB744 802D6D94 AE220084 */ sw $v0, 0x84($s1) /* 0FB748 802D6D98 8FBF0030 */ lw $ra, 0x30($sp) @@ -1304,6 +1324,7 @@ func_802D6944: /* 0FB768 802D6DB8 03E00008 */ jr $ra /* 0FB76C 802D6DBC 27BD0038 */ addiu $sp, $sp, 0x38 +DropItemEntity: /* 0FB770 802D6DC0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0FB774 802D6DC4 AFB1001C */ sw $s1, 0x1c($sp) /* 0FB778 802D6DC8 0080882D */ daddu $s1, $a0, $zero @@ -1315,31 +1336,31 @@ func_802D6944: /* 0FB790 802D6DE0 AFB00018 */ sw $s0, 0x18($sp) /* 0FB794 802D6DE4 8E30000C */ lw $s0, 0xc($s1) /* 0FB798 802D6DE8 8E050000 */ lw $a1, ($s0) -/* 0FB79C 802D6DEC 0C0B1EAF */ jal func_802C7ABC +/* 0FB79C 802D6DEC 0C0B1EAF */ jal get_variable /* 0FB7A0 802D6DF0 26100004 */ addiu $s0, $s0, 4 /* 0FB7A4 802D6DF4 8E050000 */ lw $a1, ($s0) /* 0FB7A8 802D6DF8 26100004 */ addiu $s0, $s0, 4 /* 0FB7AC 802D6DFC 0220202D */ daddu $a0, $s1, $zero -/* 0FB7B0 802D6E00 0C0B1EAF */ jal func_802C7ABC +/* 0FB7B0 802D6E00 0C0B1EAF */ jal get_variable /* 0FB7B4 802D6E04 0040A82D */ daddu $s5, $v0, $zero /* 0FB7B8 802D6E08 8E050000 */ lw $a1, ($s0) /* 0FB7BC 802D6E0C 26100004 */ addiu $s0, $s0, 4 /* 0FB7C0 802D6E10 0220202D */ daddu $a0, $s1, $zero -/* 0FB7C4 802D6E14 0C0B1EAF */ jal func_802C7ABC +/* 0FB7C4 802D6E14 0C0B1EAF */ jal get_variable /* 0FB7C8 802D6E18 0040A02D */ daddu $s4, $v0, $zero /* 0FB7CC 802D6E1C 8E050000 */ lw $a1, ($s0) /* 0FB7D0 802D6E20 26100004 */ addiu $s0, $s0, 4 /* 0FB7D4 802D6E24 0220202D */ daddu $a0, $s1, $zero -/* 0FB7D8 802D6E28 0C0B1EAF */ jal func_802C7ABC +/* 0FB7D8 802D6E28 0C0B1EAF */ jal get_variable /* 0FB7DC 802D6E2C 0040982D */ daddu $s3, $v0, $zero /* 0FB7E0 802D6E30 8E050000 */ lw $a1, ($s0) /* 0FB7E4 802D6E34 26100004 */ addiu $s0, $s0, 4 /* 0FB7E8 802D6E38 0220202D */ daddu $a0, $s1, $zero -/* 0FB7EC 802D6E3C 0C0B1EAF */ jal func_802C7ABC +/* 0FB7EC 802D6E3C 0C0B1EAF */ jal get_variable /* 0FB7F0 802D6E40 0040902D */ daddu $s2, $v0, $zero /* 0FB7F4 802D6E44 0220202D */ daddu $a0, $s1, $zero /* 0FB7F8 802D6E48 8E050000 */ lw $a1, ($s0) -/* 0FB7FC 802D6E4C 0C0B1EAF */ jal func_802C7ABC +/* 0FB7FC 802D6E4C 0C0B1EAF */ jal get_variable /* 0FB800 802D6E50 0040802D */ daddu $s0, $v0, $zero /* 0FB804 802D6E54 44940000 */ mtc1 $s4, $f0 /* 0FB808 802D6E58 00000000 */ nop @@ -1355,7 +1376,7 @@ func_802D6944: /* 0FB830 802D6E80 44070000 */ mfc1 $a3, $f0 /* 0FB834 802D6E84 02A0202D */ daddu $a0, $s5, $zero /* 0FB838 802D6E88 AFB00010 */ sw $s0, 0x10($sp) -/* 0FB83C 802D6E8C 0C04C6A5 */ jal func_80131A94 +/* 0FB83C 802D6E8C 0C04C6A5 */ jal make_item_entity_nodelay /* 0FB840 802D6E90 AFA20014 */ sw $v0, 0x14($sp) /* 0FB844 802D6E94 AE220084 */ sw $v0, 0x84($s1) /* 0FB848 802D6E98 8FBF0030 */ lw $ra, 0x30($sp) @@ -1369,6 +1390,7 @@ func_802D6944: /* 0FB868 802D6EB8 03E00008 */ jr $ra /* 0FB86C 802D6EBC 27BD0038 */ addiu $sp, $sp, 0x38 +DropItemEntityB: /* 0FB870 802D6EC0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0FB874 802D6EC4 AFB1001C */ sw $s1, 0x1c($sp) /* 0FB878 802D6EC8 0080882D */ daddu $s1, $a0, $zero @@ -1380,31 +1402,31 @@ func_802D6944: /* 0FB890 802D6EE0 AFB00018 */ sw $s0, 0x18($sp) /* 0FB894 802D6EE4 8E30000C */ lw $s0, 0xc($s1) /* 0FB898 802D6EE8 8E050000 */ lw $a1, ($s0) -/* 0FB89C 802D6EEC 0C0B1EAF */ jal func_802C7ABC +/* 0FB89C 802D6EEC 0C0B1EAF */ jal get_variable /* 0FB8A0 802D6EF0 26100004 */ addiu $s0, $s0, 4 /* 0FB8A4 802D6EF4 8E050000 */ lw $a1, ($s0) /* 0FB8A8 802D6EF8 26100004 */ addiu $s0, $s0, 4 /* 0FB8AC 802D6EFC 0220202D */ daddu $a0, $s1, $zero -/* 0FB8B0 802D6F00 0C0B1EAF */ jal func_802C7ABC +/* 0FB8B0 802D6F00 0C0B1EAF */ jal get_variable /* 0FB8B4 802D6F04 0040A82D */ daddu $s5, $v0, $zero /* 0FB8B8 802D6F08 8E050000 */ lw $a1, ($s0) /* 0FB8BC 802D6F0C 26100004 */ addiu $s0, $s0, 4 /* 0FB8C0 802D6F10 0220202D */ daddu $a0, $s1, $zero -/* 0FB8C4 802D6F14 0C0B1EAF */ jal func_802C7ABC +/* 0FB8C4 802D6F14 0C0B1EAF */ jal get_variable /* 0FB8C8 802D6F18 0040A02D */ daddu $s4, $v0, $zero /* 0FB8CC 802D6F1C 8E050000 */ lw $a1, ($s0) /* 0FB8D0 802D6F20 26100004 */ addiu $s0, $s0, 4 /* 0FB8D4 802D6F24 0220202D */ daddu $a0, $s1, $zero -/* 0FB8D8 802D6F28 0C0B1EAF */ jal func_802C7ABC +/* 0FB8D8 802D6F28 0C0B1EAF */ jal get_variable /* 0FB8DC 802D6F2C 0040982D */ daddu $s3, $v0, $zero /* 0FB8E0 802D6F30 8E050000 */ lw $a1, ($s0) /* 0FB8E4 802D6F34 26100004 */ addiu $s0, $s0, 4 /* 0FB8E8 802D6F38 0220202D */ daddu $a0, $s1, $zero -/* 0FB8EC 802D6F3C 0C0B1EAF */ jal func_802C7ABC +/* 0FB8EC 802D6F3C 0C0B1EAF */ jal get_variable /* 0FB8F0 802D6F40 0040902D */ daddu $s2, $v0, $zero /* 0FB8F4 802D6F44 0220202D */ daddu $a0, $s1, $zero /* 0FB8F8 802D6F48 8E050000 */ lw $a1, ($s0) -/* 0FB8FC 802D6F4C 0C0B1F6A */ jal func_802C7DA8 +/* 0FB8FC 802D6F4C 0C0B1F6A */ jal get_variable_index /* 0FB900 802D6F50 0040802D */ daddu $s0, $v0, $zero /* 0FB904 802D6F54 44940000 */ mtc1 $s4, $f0 /* 0FB908 802D6F58 00000000 */ nop @@ -1420,11 +1442,11 @@ func_802D6944: /* 0FB930 802D6F80 44070000 */ mfc1 $a3, $f0 /* 0FB934 802D6F84 02A0202D */ daddu $a0, $s5, $zero /* 0FB938 802D6F88 AFB00010 */ sw $s0, 0x10($sp) -/* 0FB93C 802D6F8C 0C04C6A5 */ jal func_80131A94 +/* 0FB93C 802D6F8C 0C04C6A5 */ jal make_item_entity_nodelay /* 0FB940 802D6F90 AFA20014 */ sw $v0, 0x14($sp) /* 0FB944 802D6F94 0040202D */ daddu $a0, $v0, $zero /* 0FB948 802D6F98 24054000 */ addiu $a1, $zero, 0x4000 -/* 0FB94C 802D6F9C 0C04D052 */ jal func_80134148 +/* 0FB94C 802D6F9C 0C04D052 */ jal set_item_entity_flags /* 0FB950 802D6FA0 AE240084 */ sw $a0, 0x84($s1) /* 0FB954 802D6FA4 8FBF0030 */ lw $ra, 0x30($sp) /* 0FB958 802D6FA8 8FB5002C */ lw $s5, 0x2c($sp) @@ -1437,18 +1459,20 @@ func_802D6944: /* 0FB974 802D6FC4 03E00008 */ jr $ra /* 0FB978 802D6FC8 27BD0038 */ addiu $sp, $sp, 0x38 +RemoveItemEntity: /* 0FB97C 802D6FCC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FB980 802D6FD0 AFBF0010 */ sw $ra, 0x10($sp) /* 0FB984 802D6FD4 8C82000C */ lw $v0, 0xc($a0) -/* 0FB988 802D6FD8 0C0B1EAF */ jal func_802C7ABC +/* 0FB988 802D6FD8 0C0B1EAF */ jal get_variable /* 0FB98C 802D6FDC 8C450000 */ lw $a1, ($v0) -/* 0FB990 802D6FE0 0C04CE7F */ jal func_801339FC +/* 0FB990 802D6FE0 0C04CE7F */ jal remove_item_entity_by_index /* 0FB994 802D6FE4 0040202D */ daddu $a0, $v0, $zero /* 0FB998 802D6FE8 8FBF0010 */ lw $ra, 0x10($sp) /* 0FB99C 802D6FEC 24020002 */ addiu $v0, $zero, 2 /* 0FB9A0 802D6FF0 03E00008 */ jr $ra /* 0FB9A4 802D6FF4 27BD0018 */ addiu $sp, $sp, 0x18 +AddBadge: /* 0FB9A8 802D6FF8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FB9AC 802D6FFC AFB10014 */ sw $s1, 0x14($sp) /* 0FB9B0 802D7000 0080882D */ daddu $s1, $a0, $zero @@ -1456,14 +1480,14 @@ func_802D6944: /* 0FB9B8 802D7008 AFB00010 */ sw $s0, 0x10($sp) /* 0FB9BC 802D700C 8E30000C */ lw $s0, 0xc($s1) /* 0FB9C0 802D7010 8E050000 */ lw $a1, ($s0) -/* 0FB9C4 802D7014 0C0B1EAF */ jal func_802C7ABC +/* 0FB9C4 802D7014 0C0B1EAF */ jal get_variable /* 0FB9C8 802D7018 26100004 */ addiu $s0, $s0, 4 /* 0FB9CC 802D701C 8E100000 */ lw $s0, ($s0) -/* 0FB9D0 802D7020 0C039DCF */ jal func_800E773C +/* 0FB9D0 802D7020 0C039DCF */ jal add_badge /* 0FB9D4 802D7024 0040202D */ daddu $a0, $v0, $zero /* 0FB9D8 802D7028 0220202D */ daddu $a0, $s1, $zero /* 0FB9DC 802D702C 0040302D */ daddu $a2, $v0, $zero -/* 0FB9E0 802D7030 0C0B2026 */ jal func_802C8098 +/* 0FB9E0 802D7030 0C0B2026 */ jal set_variable /* 0FB9E4 802D7034 0200282D */ daddu $a1, $s0, $zero /* 0FB9E8 802D7038 8FBF0018 */ lw $ra, 0x18($sp) /* 0FB9EC 802D703C 8FB10014 */ lw $s1, 0x14($sp) @@ -1472,11 +1496,12 @@ func_802D6944: /* 0FB9F8 802D7048 03E00008 */ jr $ra /* 0FB9FC 802D704C 27BD0020 */ addiu $sp, $sp, 0x20 +RemoveBadge: /* 0FBA00 802D7050 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FBA04 802D7054 AFBF0014 */ sw $ra, 0x14($sp) /* 0FBA08 802D7058 AFB00010 */ sw $s0, 0x10($sp) /* 0FBA0C 802D705C 8C82000C */ lw $v0, 0xc($a0) -/* 0FBA10 802D7060 0C0B1EAF */ jal func_802C7ABC +/* 0FBA10 802D7060 0C0B1EAF */ jal get_variable /* 0FBA14 802D7064 8C450000 */ lw $a1, ($v0) /* 0FBA18 802D7068 0040282D */ daddu $a1, $v0, $zero /* 0FBA1C 802D706C 0000202D */ daddu $a0, $zero, $zero @@ -1509,6 +1534,7 @@ func_802D6944: /* 0FBA78 802D70C8 03E00008 */ jr $ra /* 0FBA7C 802D70CC 27BD0018 */ addiu $sp, $sp, 0x18 +SetItemPos: /* 0FBA80 802D70D0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0FBA84 802D70D4 AFB10014 */ sw $s1, 0x14($sp) /* 0FBA88 802D70D8 0080882D */ daddu $s1, $a0, $zero @@ -1518,24 +1544,24 @@ func_802D6944: /* 0FBA98 802D70E8 AFB00010 */ sw $s0, 0x10($sp) /* 0FBA9C 802D70EC 8E30000C */ lw $s0, 0xc($s1) /* 0FBAA0 802D70F0 8E050000 */ lw $a1, ($s0) -/* 0FBAA4 802D70F4 0C0B1EAF */ jal func_802C7ABC +/* 0FBAA4 802D70F4 0C0B1EAF */ jal get_variable /* 0FBAA8 802D70F8 26100004 */ addiu $s0, $s0, 4 /* 0FBAAC 802D70FC 8E050000 */ lw $a1, ($s0) /* 0FBAB0 802D7100 26100004 */ addiu $s0, $s0, 4 /* 0FBAB4 802D7104 0220202D */ daddu $a0, $s1, $zero -/* 0FBAB8 802D7108 0C0B1EAF */ jal func_802C7ABC +/* 0FBAB8 802D7108 0C0B1EAF */ jal get_variable /* 0FBABC 802D710C 0040982D */ daddu $s3, $v0, $zero /* 0FBAC0 802D7110 8E050000 */ lw $a1, ($s0) /* 0FBAC4 802D7114 26100004 */ addiu $s0, $s0, 4 /* 0FBAC8 802D7118 0220202D */ daddu $a0, $s1, $zero -/* 0FBACC 802D711C 0C0B1EAF */ jal func_802C7ABC +/* 0FBACC 802D711C 0C0B1EAF */ jal get_variable /* 0FBAD0 802D7120 0040902D */ daddu $s2, $v0, $zero /* 0FBAD4 802D7124 0220202D */ daddu $a0, $s1, $zero /* 0FBAD8 802D7128 8E050000 */ lw $a1, ($s0) -/* 0FBADC 802D712C 0C0B1EAF */ jal func_802C7ABC +/* 0FBADC 802D712C 0C0B1EAF */ jal get_variable /* 0FBAE0 802D7130 0040882D */ daddu $s1, $v0, $zero /* 0FBAE4 802D7134 0260202D */ daddu $a0, $s3, $zero -/* 0FBAE8 802D7138 0C04C3D6 */ jal func_80130F58 +/* 0FBAE8 802D7138 0C04C3D6 */ jal get_item_entity /* 0FBAEC 802D713C 0040802D */ daddu $s0, $v0, $zero /* 0FBAF0 802D7140 0040182D */ daddu $v1, $v0, $zero /* 0FBAF4 802D7144 44920000 */ mtc1 $s2, $f0 @@ -1559,6 +1585,7 @@ func_802D6944: /* 0FBB3C 802D718C 03E00008 */ jr $ra /* 0FBB40 802D7190 27BD0028 */ addiu $sp, $sp, 0x28 +SetItemFlags: /* 0FBB44 802D7194 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FBB48 802D7198 AFB10014 */ sw $s1, 0x14($sp) /* 0FBB4C 802D719C 0080882D */ daddu $s1, $a0, $zero @@ -1567,15 +1594,15 @@ func_802D6944: /* 0FBB58 802D71A8 AFB00010 */ sw $s0, 0x10($sp) /* 0FBB5C 802D71AC 8E30000C */ lw $s0, 0xc($s1) /* 0FBB60 802D71B0 8E050000 */ lw $a1, ($s0) -/* 0FBB64 802D71B4 0C0B1EAF */ jal func_802C7ABC +/* 0FBB64 802D71B4 0C0B1EAF */ jal get_variable /* 0FBB68 802D71B8 26100004 */ addiu $s0, $s0, 4 /* 0FBB6C 802D71BC 0220202D */ daddu $a0, $s1, $zero /* 0FBB70 802D71C0 8E050004 */ lw $a1, 4($s0) /* 0FBB74 802D71C4 8E120000 */ lw $s2, ($s0) -/* 0FBB78 802D71C8 0C0B1EAF */ jal func_802C7ABC +/* 0FBB78 802D71C8 0C0B1EAF */ jal get_variable /* 0FBB7C 802D71CC 0040882D */ daddu $s1, $v0, $zero /* 0FBB80 802D71D0 0220202D */ daddu $a0, $s1, $zero -/* 0FBB84 802D71D4 0C04C3D6 */ jal func_80130F58 +/* 0FBB84 802D71D4 0C04C3D6 */ jal get_item_entity /* 0FBB88 802D71D8 0040802D */ daddu $s0, $v0, $zero /* 0FBB8C 802D71DC 12000004 */ beqz $s0, .L802D71F0 /* 0FBB90 802D71E0 0040202D */ daddu $a0, $v0, $zero @@ -1604,14 +1631,14 @@ func_802D71FC: /* 0FBBDC 802D722C AFB00010 */ sw $s0, 0x10($sp) /* 0FBBE0 802D7230 8E30000C */ lw $s0, 0xc($s1) /* 0FBBE4 802D7234 8E050000 */ lw $a1, ($s0) -/* 0FBBE8 802D7238 0C0B1EAF */ jal func_802C7ABC +/* 0FBBE8 802D7238 0C0B1EAF */ jal get_variable /* 0FBBEC 802D723C 26100004 */ addiu $s0, $s0, 4 /* 0FBBF0 802D7240 0220202D */ daddu $a0, $s1, $zero /* 0FBBF4 802D7244 8E050000 */ lw $a1, ($s0) -/* 0FBBF8 802D7248 0C0B1EAF */ jal func_802C7ABC +/* 0FBBF8 802D7248 0C0B1EAF */ jal get_variable /* 0FBBFC 802D724C 0040802D */ daddu $s0, $v0, $zero /* 0FBC00 802D7250 0200202D */ daddu $a0, $s0, $zero -/* 0FBC04 802D7254 0C04C3D6 */ jal func_80130F58 +/* 0FBC04 802D7254 0C04C3D6 */ jal get_item_entity /* 0FBC08 802D7258 0040802D */ daddu $s0, $v0, $zero /* 0FBC0C 802D725C A050002F */ sb $s0, 0x2f($v0) /* 0FBC10 802D7260 8FBF0018 */ lw $ra, 0x18($sp) @@ -1621,14 +1648,15 @@ func_802D71FC: /* 0FBC20 802D7270 03E00008 */ jr $ra /* 0FBC24 802D7274 27BD0020 */ addiu $sp, $sp, 0x20 +AddCoin: /* 0FBC28 802D7278 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FBC2C 802D727C AFB00010 */ sw $s0, 0x10($sp) /* 0FBC30 802D7280 0080802D */ daddu $s0, $a0, $zero /* 0FBC34 802D7284 AFBF0014 */ sw $ra, 0x14($sp) /* 0FBC38 802D7288 8E02000C */ lw $v0, 0xc($s0) -/* 0FBC3C 802D728C 0C0B1EAF */ jal func_802C7ABC +/* 0FBC3C 802D728C 0C0B1EAF */ jal get_variable /* 0FBC40 802D7290 8C450000 */ lw $a1, ($v0) -/* 0FBC44 802D7294 0C03A830 */ jal func_800EA0C0 +/* 0FBC44 802D7294 0C03A830 */ jal add_coins /* 0FBC48 802D7298 0040202D */ daddu $a0, $v0, $zero /* 0FBC4C 802D729C AE020084 */ sw $v0, 0x84($s0) /* 0FBC50 802D72A0 8FBF0014 */ lw $ra, 0x14($sp) @@ -1637,14 +1665,15 @@ func_802D71FC: /* 0FBC5C 802D72AC 03E00008 */ jr $ra /* 0FBC60 802D72B0 27BD0018 */ addiu $sp, $sp, 0x18 +AddStarPoints: /* 0FBC64 802D72B4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FBC68 802D72B8 AFB00010 */ sw $s0, 0x10($sp) /* 0FBC6C 802D72BC 0080802D */ daddu $s0, $a0, $zero /* 0FBC70 802D72C0 AFBF0014 */ sw $ra, 0x14($sp) /* 0FBC74 802D72C4 8E02000C */ lw $v0, 0xc($s0) -/* 0FBC78 802D72C8 0C0B1EAF */ jal func_802C7ABC +/* 0FBC78 802D72C8 0C0B1EAF */ jal get_variable /* 0FBC7C 802D72CC 8C450000 */ lw $a1, ($v0) -/* 0FBC80 802D72D0 0C03A84A */ jal func_800EA128 +/* 0FBC80 802D72D0 0C03A84A */ jal add_star_points /* 0FBC84 802D72D4 0040202D */ daddu $a0, $v0, $zero /* 0FBC88 802D72D8 AE020084 */ sw $v0, 0x84($s0) /* 0FBC8C 802D72DC 8FBF0014 */ lw $ra, 0x14($sp) @@ -1653,14 +1682,15 @@ func_802D71FC: /* 0FBC98 802D72E8 03E00008 */ jr $ra /* 0FBC9C 802D72EC 27BD0018 */ addiu $sp, $sp, 0x18 +AddStarPieces: /* 0FBCA0 802D72F0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FBCA4 802D72F4 AFB00010 */ sw $s0, 0x10($sp) /* 0FBCA8 802D72F8 0080802D */ daddu $s0, $a0, $zero /* 0FBCAC 802D72FC AFBF0014 */ sw $ra, 0x14($sp) /* 0FBCB0 802D7300 8E02000C */ lw $v0, 0xc($s0) -/* 0FBCB4 802D7304 0C0B1EAF */ jal func_802C7ABC +/* 0FBCB4 802D7304 0C0B1EAF */ jal get_variable /* 0FBCB8 802D7308 8C450000 */ lw $a1, ($v0) -/* 0FBCBC 802D730C 0C03A85C */ jal func_800EA170 +/* 0FBCBC 802D730C 0C03A85C */ jal add_star_pieces /* 0FBCC0 802D7310 0040202D */ daddu $a0, $v0, $zero /* 0FBCC4 802D7314 AE020084 */ sw $v0, 0x84($s0) /* 0FBCC8 802D7318 8FBF0014 */ lw $ra, 0x14($sp) @@ -1669,6 +1699,7 @@ func_802D71FC: /* 0FBCD4 802D7324 03E00008 */ jr $ra /* 0FBCD8 802D7328 27BD0018 */ addiu $sp, $sp, 0x18 +GetItemPower: /* 0FBCDC 802D732C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FBCE0 802D7330 AFB20018 */ sw $s2, 0x18($sp) /* 0FBCE4 802D7334 0080902D */ daddu $s2, $a0, $zero @@ -1677,7 +1708,7 @@ func_802D71FC: /* 0FBCF0 802D7340 AFB00010 */ sw $s0, 0x10($sp) /* 0FBCF4 802D7344 8E50000C */ lw $s0, 0xc($s2) /* 0FBCF8 802D7348 8E050000 */ lw $a1, ($s0) -/* 0FBCFC 802D734C 0C0B1EAF */ jal func_802C7ABC +/* 0FBCFC 802D734C 0C0B1EAF */ jal get_variable /* 0FBD00 802D7350 26100004 */ addiu $s0, $s0, 4 /* 0FBD04 802D7354 3C038008 */ lui $v1, 0x8008 /* 0FBD08 802D7358 246378E0 */ addiu $v1, $v1, 0x78e0 @@ -1686,11 +1717,11 @@ func_802D71FC: /* 0FBD14 802D7364 8E050000 */ lw $a1, ($s0) /* 0FBD18 802D7368 8226001B */ lb $a2, 0x1b($s1) /* 0FBD1C 802D736C 8E100004 */ lw $s0, 4($s0) -/* 0FBD20 802D7370 0C0B2026 */ jal func_802C8098 +/* 0FBD20 802D7370 0C0B2026 */ jal set_variable /* 0FBD24 802D7374 0240202D */ daddu $a0, $s2, $zero /* 0FBD28 802D7378 0240202D */ daddu $a0, $s2, $zero /* 0FBD2C 802D737C 8226001C */ lb $a2, 0x1c($s1) -/* 0FBD30 802D7380 0C0B2026 */ jal func_802C8098 +/* 0FBD30 802D7380 0C0B2026 */ jal set_variable /* 0FBD34 802D7384 0200282D */ daddu $a1, $s0, $zero /* 0FBD38 802D7388 8FBF001C */ lw $ra, 0x1c($sp) /* 0FBD3C 802D738C 8FB20018 */ lw $s2, 0x18($sp) @@ -1700,6 +1731,7 @@ func_802D71FC: /* 0FBD4C 802D739C 03E00008 */ jr $ra /* 0FBD50 802D73A0 27BD0020 */ addiu $sp, $sp, 0x20 +ShowGotItem: /* 0FBD54 802D73A4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0FBD58 802D73A8 AFB20018 */ sw $s2, 0x18($sp) /* 0FBD5C 802D73AC 0080902D */ daddu $s2, $a0, $zero @@ -1721,16 +1753,16 @@ func_802D71FC: .L802D73E4: /* 0FBD94 802D73E4 8E250000 */ lw $a1, ($s1) /* 0FBD98 802D73E8 26310004 */ addiu $s1, $s1, 4 -/* 0FBD9C 802D73EC 0C0B1EAF */ jal func_802C7ABC +/* 0FBD9C 802D73EC 0C0B1EAF */ jal get_variable /* 0FBDA0 802D73F0 0240202D */ daddu $a0, $s2, $zero /* 0FBDA4 802D73F4 8E250000 */ lw $a1, ($s1) /* 0FBDA8 802D73F8 26310004 */ addiu $s1, $s1, 4 /* 0FBDAC 802D73FC 0240202D */ daddu $a0, $s2, $zero -/* 0FBDB0 802D7400 0C0B1EAF */ jal func_802C7ABC +/* 0FBDB0 802D7400 0C0B1EAF */ jal get_variable /* 0FBDB4 802D7404 0040802D */ daddu $s0, $v0, $zero /* 0FBDB8 802D7408 0200202D */ daddu $a0, $s0, $zero /* 0FBDBC 802D740C 8E260000 */ lw $a2, ($s1) -/* 0FBDC0 802D7410 0C04C6C0 */ jal func_80131B00 +/* 0FBDC0 802D7410 0C04C6C0 */ jal init_got_item /* 0FBDC4 802D7414 0040282D */ daddu $a1, $v0, $zero /* 0FBDC8 802D7418 AE420074 */ sw $v0, 0x74($s2) /* 0FBDCC 802D741C 24020001 */ addiu $v0, $zero, 1 @@ -1739,7 +1771,7 @@ func_802D71FC: .L802D7428: /* 0FBDD8 802D7428 8E440074 */ lw $a0, 0x74($s2) -/* 0FBDDC 802D742C 0C04C3D6 */ jal func_80130F58 +/* 0FBDDC 802D742C 0C04C3D6 */ jal get_item_entity /* 0FBDE0 802D7430 00000000 */ nop /* 0FBDE4 802D7434 0040182D */ daddu $v1, $v0, $zero /* 0FBDE8 802D7438 10600002 */ beqz $v1, .L802D7444 @@ -1818,21 +1850,21 @@ func_802D74C0: /* 0FBEEC 802D753C F7B40028 */ sdc1 $f20, 0x28($sp) /* 0FBEF0 802D7540 8E30000C */ lw $s0, 0xc($s1) /* 0FBEF4 802D7544 8E050000 */ lw $a1, ($s0) -/* 0FBEF8 802D7548 0C0B210B */ jal func_802C842C +/* 0FBEF8 802D7548 0C0B210B */ jal get_float_variable /* 0FBEFC 802D754C 26100004 */ addiu $s0, $s0, 4 /* 0FBF00 802D7550 8E050000 */ lw $a1, ($s0) /* 0FBF04 802D7554 26100004 */ addiu $s0, $s0, 4 /* 0FBF08 802D7558 0220202D */ daddu $a0, $s1, $zero -/* 0FBF0C 802D755C 0C0B210B */ jal func_802C842C +/* 0FBF0C 802D755C 0C0B210B */ jal get_float_variable /* 0FBF10 802D7560 46000606 */ mov.s $f24, $f0 /* 0FBF14 802D7564 8E050000 */ lw $a1, ($s0) /* 0FBF18 802D7568 26100004 */ addiu $s0, $s0, 4 /* 0FBF1C 802D756C 0220202D */ daddu $a0, $s1, $zero -/* 0FBF20 802D7570 0C0B210B */ jal func_802C842C +/* 0FBF20 802D7570 0C0B210B */ jal get_float_variable /* 0FBF24 802D7574 46000586 */ mov.s $f22, $f0 /* 0FBF28 802D7578 0220202D */ daddu $a0, $s1, $zero /* 0FBF2C 802D757C 8E050000 */ lw $a1, ($s0) -/* 0FBF30 802D7580 0C0B1EAF */ jal func_802C7ABC +/* 0FBF30 802D7580 0C0B1EAF */ jal get_variable /* 0FBF34 802D7584 46000506 */ mov.s $f20, $f0 /* 0FBF38 802D7588 0040382D */ daddu $a3, $v0, $zero /* 0FBF3C 802D758C 4600C306 */ mov.s $f12, $f24 @@ -1843,7 +1875,7 @@ func_802D74C0: /* 0FBF50 802D75A0 4406C000 */ mfc1 $a2, $f24 /* 0FBF54 802D75A4 4407B000 */ mfc1 $a3, $f22 /* 0FBF58 802D75A8 0000282D */ daddu $a1, $zero, $zero -/* 0FBF5C 802D75AC 0C052757 */ jal func_80149D5C +/* 0FBF5C 802D75AC 0C052757 */ jal play_sound_at_position /* 0FBF60 802D75B0 E7B40010 */ swc1 $f20, 0x10($sp) /* 0FBF64 802D75B4 8FBF0020 */ lw $ra, 0x20($sp) /* 0FBF68 802D75B8 8FB1001C */ lw $s1, 0x1c($sp) @@ -1865,21 +1897,21 @@ func_802D74C0: /* 0FBFA4 802D75F4 F7B40028 */ sdc1 $f20, 0x28($sp) /* 0FBFA8 802D75F8 8E30000C */ lw $s0, 0xc($s1) /* 0FBFAC 802D75FC 8E050000 */ lw $a1, ($s0) -/* 0FBFB0 802D7600 0C0B210B */ jal func_802C842C +/* 0FBFB0 802D7600 0C0B210B */ jal get_float_variable /* 0FBFB4 802D7604 26100004 */ addiu $s0, $s0, 4 /* 0FBFB8 802D7608 8E050000 */ lw $a1, ($s0) /* 0FBFBC 802D760C 26100004 */ addiu $s0, $s0, 4 /* 0FBFC0 802D7610 0220202D */ daddu $a0, $s1, $zero -/* 0FBFC4 802D7614 0C0B210B */ jal func_802C842C +/* 0FBFC4 802D7614 0C0B210B */ jal get_float_variable /* 0FBFC8 802D7618 46000606 */ mov.s $f24, $f0 /* 0FBFCC 802D761C 8E050000 */ lw $a1, ($s0) /* 0FBFD0 802D7620 26100004 */ addiu $s0, $s0, 4 /* 0FBFD4 802D7624 0220202D */ daddu $a0, $s1, $zero -/* 0FBFD8 802D7628 0C0B210B */ jal func_802C842C +/* 0FBFD8 802D7628 0C0B210B */ jal get_float_variable /* 0FBFDC 802D762C 46000586 */ mov.s $f22, $f0 /* 0FBFE0 802D7630 0220202D */ daddu $a0, $s1, $zero /* 0FBFE4 802D7634 8E050000 */ lw $a1, ($s0) -/* 0FBFE8 802D7638 0C0B1EAF */ jal func_802C7ABC +/* 0FBFE8 802D7638 0C0B1EAF */ jal get_variable /* 0FBFEC 802D763C 46000506 */ mov.s $f20, $f0 /* 0FBFF0 802D7640 0040382D */ daddu $a3, $v0, $zero /* 0FBFF4 802D7644 4600C306 */ mov.s $f12, $f24 @@ -1890,7 +1922,7 @@ func_802D74C0: /* 0FC008 802D7658 4406C000 */ mfc1 $a2, $f24 /* 0FC00C 802D765C 4407B000 */ mfc1 $a3, $f22 /* 0FC010 802D7660 0000282D */ daddu $a1, $zero, $zero -/* 0FC014 802D7664 0C052757 */ jal func_80149D5C +/* 0FC014 802D7664 0C052757 */ jal play_sound_at_position /* 0FC018 802D7668 E7B40010 */ swc1 $f20, 0x10($sp) /* 0FC01C 802D766C 8FBF0020 */ lw $ra, 0x20($sp) /* 0FC020 802D7670 8FB1001C */ lw $s1, 0x1c($sp) @@ -1917,43 +1949,43 @@ func_802D74C0: /* 0FC070 802D76C0 F7B40028 */ sdc1 $f20, 0x28($sp) /* 0FC074 802D76C4 8E50000C */ lw $s0, 0xc($s2) /* 0FC078 802D76C8 8E050000 */ lw $a1, ($s0) -/* 0FC07C 802D76CC 0C0B210B */ jal func_802C842C +/* 0FC07C 802D76CC 0C0B210B */ jal get_float_variable /* 0FC080 802D76D0 26100004 */ addiu $s0, $s0, 4 /* 0FC084 802D76D4 8E050000 */ lw $a1, ($s0) /* 0FC088 802D76D8 26100004 */ addiu $s0, $s0, 4 /* 0FC08C 802D76DC 0240202D */ daddu $a0, $s2, $zero -/* 0FC090 802D76E0 0C0B210B */ jal func_802C842C +/* 0FC090 802D76E0 0C0B210B */ jal get_float_variable /* 0FC094 802D76E4 E7A00010 */ swc1 $f0, 0x10($sp) /* 0FC098 802D76E8 8E050000 */ lw $a1, ($s0) /* 0FC09C 802D76EC 26100004 */ addiu $s0, $s0, 4 /* 0FC0A0 802D76F0 0240202D */ daddu $a0, $s2, $zero -/* 0FC0A4 802D76F4 0C0B210B */ jal func_802C842C +/* 0FC0A4 802D76F4 0C0B210B */ jal get_float_variable /* 0FC0A8 802D76F8 46000786 */ mov.s $f30, $f0 /* 0FC0AC 802D76FC 8E050000 */ lw $a1, ($s0) /* 0FC0B0 802D7700 26100004 */ addiu $s0, $s0, 4 /* 0FC0B4 802D7704 0240202D */ daddu $a0, $s2, $zero -/* 0FC0B8 802D7708 0C0B210B */ jal func_802C842C +/* 0FC0B8 802D7708 0C0B210B */ jal get_float_variable /* 0FC0BC 802D770C E7A00014 */ swc1 $f0, 0x14($sp) /* 0FC0C0 802D7710 8E050000 */ lw $a1, ($s0) /* 0FC0C4 802D7714 26100004 */ addiu $s0, $s0, 4 /* 0FC0C8 802D7718 0240202D */ daddu $a0, $s2, $zero -/* 0FC0CC 802D771C 0C0B210B */ jal func_802C842C +/* 0FC0CC 802D771C 0C0B210B */ jal get_float_variable /* 0FC0D0 802D7720 46000586 */ mov.s $f22, $f0 /* 0FC0D4 802D7724 0240202D */ daddu $a0, $s2, $zero /* 0FC0D8 802D7728 8E050000 */ lw $a1, ($s0) -/* 0FC0DC 802D772C 0C0B1EAF */ jal func_802C7ABC +/* 0FC0DC 802D772C 0C0B1EAF */ jal get_variable /* 0FC0E0 802D7730 46000706 */ mov.s $f28, $f0 /* 0FC0E4 802D7734 12200002 */ beqz $s1, .L802D7740 /* 0FC0E8 802D7738 0040802D */ daddu $s0, $v0, $zero /* 0FC0EC 802D773C AE400070 */ sw $zero, 0x70($s2) .L802D7740: -/* 0FC0F0 802D7740 0C00A67F */ jal func_800299FC +/* 0FC0F0 802D7740 0C00A67F */ jal rand_int /* 0FC0F4 802D7744 2404000A */ addiu $a0, $zero, 0xa /* 0FC0F8 802D7748 2442FFFB */ addiu $v0, $v0, -5 /* 0FC0FC 802D774C 4482D000 */ mtc1 $v0, $f26 /* 0FC100 802D7750 00000000 */ nop /* 0FC104 802D7754 4680D6A0 */ cvt.s.w $f26, $f26 -/* 0FC108 802D7758 0C00A67F */ jal func_800299FC +/* 0FC108 802D7758 0C00A67F */ jal rand_int /* 0FC10C 802D775C 2404000A */ addiu $a0, $zero, 0xa /* 0FC110 802D7760 461AD082 */ mul.s $f2, $f26, $f26 /* 0FC114 802D7764 00000000 */ nop @@ -1979,10 +2011,10 @@ func_802D74C0: /* 0FC164 802D77B4 44810000 */ mtc1 $at, $f0 /* 0FC168 802D77B8 4600A306 */ mov.s $f12, $f20 /* 0FC16C 802D77BC 46001083 */ div.s $f2, $f2, $f0 -/* 0FC170 802D77C0 0C00A85B */ jal func_8002A16C +/* 0FC170 802D77C0 0C00A85B */ jal sin_rad /* 0FC174 802D77C4 4602B581 */ sub.s $f22, $f22, $f2 /* 0FC178 802D77C8 4600A306 */ mov.s $f12, $f20 -/* 0FC17C 802D77CC 0C00A874 */ jal func_8002A1D0 +/* 0FC17C 802D77CC 0C00A874 */ jal cos_rad /* 0FC180 802D77D0 46000506 */ mov.s $f20, $f0 /* 0FC184 802D77D4 461CA502 */ mul.s $f20, $f20, $f28 /* 0FC188 802D77D8 00000000 */ nop @@ -2036,6 +2068,7 @@ func_802D74C0: /* 0FC248 802D7898 03E00008 */ jr $ra /* 0FC24C 802D789C 27BD0058 */ addiu $sp, $sp, 0x58 +ShowEmote: /* 0FC250 802D78A0 27BDFF90 */ addiu $sp, $sp, -0x70 /* 0FC254 802D78A4 AFB10034 */ sw $s1, 0x34($sp) /* 0FC258 802D78A8 0080882D */ daddu $s1, $a0, $zero @@ -2051,46 +2084,46 @@ func_802D74C0: /* 0FC280 802D78D0 F7B40050 */ sdc1 $f20, 0x50($sp) /* 0FC284 802D78D4 8E30000C */ lw $s0, 0xc($s1) /* 0FC288 802D78D8 8E050000 */ lw $a1, ($s0) -/* 0FC28C 802D78DC 0C0B1EAF */ jal func_802C7ABC +/* 0FC28C 802D78DC 0C0B1EAF */ jal get_variable /* 0FC290 802D78E0 26100004 */ addiu $s0, $s0, 4 /* 0FC294 802D78E4 8E050000 */ lw $a1, ($s0) /* 0FC298 802D78E8 26100004 */ addiu $s0, $s0, 4 /* 0FC29C 802D78EC 0220202D */ daddu $a0, $s1, $zero -/* 0FC2A0 802D78F0 0C0B1EAF */ jal func_802C7ABC +/* 0FC2A0 802D78F0 0C0B1EAF */ jal get_variable /* 0FC2A4 802D78F4 0040982D */ daddu $s3, $v0, $zero /* 0FC2A8 802D78F8 8E050000 */ lw $a1, ($s0) /* 0FC2AC 802D78FC 26100004 */ addiu $s0, $s0, 4 /* 0FC2B0 802D7900 0220202D */ daddu $a0, $s1, $zero -/* 0FC2B4 802D7904 0C0B210B */ jal func_802C842C +/* 0FC2B4 802D7904 0C0B210B */ jal get_float_variable /* 0FC2B8 802D7908 0040A82D */ daddu $s5, $v0, $zero /* 0FC2BC 802D790C 8E050000 */ lw $a1, ($s0) /* 0FC2C0 802D7910 26100004 */ addiu $s0, $s0, 4 /* 0FC2C4 802D7914 0220202D */ daddu $a0, $s1, $zero -/* 0FC2C8 802D7918 0C0B1EAF */ jal func_802C7ABC +/* 0FC2C8 802D7918 0C0B1EAF */ jal get_variable /* 0FC2CC 802D791C 46000686 */ mov.s $f26, $f0 /* 0FC2D0 802D7920 8E050000 */ lw $a1, ($s0) /* 0FC2D4 802D7924 26100004 */ addiu $s0, $s0, 4 /* 0FC2D8 802D7928 0220202D */ daddu $a0, $s1, $zero -/* 0FC2DC 802D792C 0C0B1EAF */ jal func_802C7ABC +/* 0FC2DC 802D792C 0C0B1EAF */ jal get_variable /* 0FC2E0 802D7930 0040A02D */ daddu $s4, $v0, $zero /* 0FC2E4 802D7934 8E050000 */ lw $a1, ($s0) /* 0FC2E8 802D7938 26100004 */ addiu $s0, $s0, 4 /* 0FC2EC 802D793C 0220202D */ daddu $a0, $s1, $zero -/* 0FC2F0 802D7940 0C0B210B */ jal func_802C842C +/* 0FC2F0 802D7940 0C0B210B */ jal get_float_variable /* 0FC2F4 802D7944 0040902D */ daddu $s2, $v0, $zero /* 0FC2F8 802D7948 8E050000 */ lw $a1, ($s0) /* 0FC2FC 802D794C 26100004 */ addiu $s0, $s0, 4 /* 0FC300 802D7950 0220202D */ daddu $a0, $s1, $zero -/* 0FC304 802D7954 0C0B210B */ jal func_802C842C +/* 0FC304 802D7954 0C0B210B */ jal get_float_variable /* 0FC308 802D7958 46000606 */ mov.s $f24, $f0 /* 0FC30C 802D795C 8E050000 */ lw $a1, ($s0) /* 0FC310 802D7960 26100004 */ addiu $s0, $s0, 4 /* 0FC314 802D7964 0220202D */ daddu $a0, $s1, $zero -/* 0FC318 802D7968 0C0B210B */ jal func_802C842C +/* 0FC318 802D7968 0C0B210B */ jal get_float_variable /* 0FC31C 802D796C 46000586 */ mov.s $f22, $f0 /* 0FC320 802D7970 0220202D */ daddu $a0, $s1, $zero /* 0FC324 802D7974 8E050000 */ lw $a1, ($s0) -/* 0FC328 802D7978 0C0B210B */ jal func_802C842C +/* 0FC328 802D7978 0C0B210B */ jal get_float_variable /* 0FC32C 802D797C 46000506 */ mov.s $f20, $f0 /* 0FC330 802D7980 12400006 */ beqz $s2, .L802D799C /* 0FC334 802D7984 3C055555 */ lui $a1, 0x5555 @@ -2173,7 +2206,7 @@ func_802D7A84: /* 0FC448 802D7A98 E7A00014 */ swc1 $f0, 0x14($sp) /* 0FC44C 802D7A9C E7BA0018 */ swc1 $f26, 0x18($sp) /* 0FC450 802D7AA0 AFB4001C */ sw $s4, 0x1c($sp) -/* 0FC454 802D7AA4 0C01BFA4 */ jal func_8006FE90 +/* 0FC454 802D7AA4 0C01BFA4 */ jal fx_emote /* 0FC458 802D7AA8 AFA20020 */ sw $v0, 0x20($sp) .L802D7AAC: /* 0FC45C 802D7AAC 24020002 */ addiu $v0, $zero, 2 @@ -2191,12 +2224,13 @@ func_802D7A84: /* 0FC48C 802D7ADC 03E00008 */ jr $ra /* 0FC490 802D7AE0 27BD0070 */ addiu $sp, $sp, 0x70 +RemoveEffect: /* 0FC494 802D7AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FC498 802D7AE8 AFBF0010 */ sw $ra, 0x10($sp) /* 0FC49C 802D7AEC 8C82000C */ lw $v0, 0xc($a0) -/* 0FC4A0 802D7AF0 0C0B1EAF */ jal func_802C7ABC +/* 0FC4A0 802D7AF0 0C0B1EAF */ jal get_variable /* 0FC4A4 802D7AF4 8C450000 */ lw $a1, ($v0) -/* 0FC4A8 802D7AF8 0C016914 */ jal func_8005A450 +/* 0FC4A8 802D7AF8 0C016914 */ jal remove_effect /* 0FC4AC 802D7AFC 0040202D */ daddu $a0, $v0, $zero /* 0FC4B0 802D7B00 8FBF0010 */ lw $ra, 0x10($sp) /* 0FC4B4 802D7B04 24020002 */ addiu $v0, $zero, 2 @@ -2206,7 +2240,7 @@ func_802D7A84: /* 0FC4C0 802D7B10 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FC4C4 802D7B14 AFBF0010 */ sw $ra, 0x10($sp) /* 0FC4C8 802D7B18 8C82000C */ lw $v0, 0xc($a0) -/* 0FC4CC 802D7B1C 0C0B1EAF */ jal func_802C7ABC +/* 0FC4CC 802D7B1C 0C0B1EAF */ jal get_variable /* 0FC4D0 802D7B20 8C450000 */ lw $a1, ($v0) /* 0FC4D4 802D7B24 0040202D */ daddu $a0, $v0, $zero /* 0FC4D8 802D7B28 8C830000 */ lw $v1, ($a0) @@ -2220,7 +2254,7 @@ func_802D7A84: /* 0FC4F4 802D7B44 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FC4F8 802D7B48 AFBF0010 */ sw $ra, 0x10($sp) /* 0FC4FC 802D7B4C 8C82000C */ lw $v0, 0xc($a0) -/* 0FC500 802D7B50 0C0B1EAF */ jal func_802C7ABC +/* 0FC500 802D7B50 0C0B1EAF */ jal get_variable /* 0FC504 802D7B54 8C450000 */ lw $a1, ($v0) /* 0FC508 802D7B58 8C44000C */ lw $a0, 0xc($v0) /* 0FC50C 802D7B5C 2403000A */ addiu $v1, $zero, 0xa @@ -2233,7 +2267,7 @@ func_802D7A84: /* 0FC524 802D7B74 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FC528 802D7B78 AFBF0010 */ sw $ra, 0x10($sp) /* 0FC52C 802D7B7C 8C82000C */ lw $v0, 0xc($a0) -/* 0FC530 802D7B80 0C0B1EAF */ jal func_802C7ABC +/* 0FC530 802D7B80 0C0B1EAF */ jal get_variable /* 0FC534 802D7B84 8C450000 */ lw $a1, ($v0) /* 0FC538 802D7B88 8C44000C */ lw $a0, 0xc($v0) /* 0FC53C 802D7B8C 24030005 */ addiu $v1, $zero, 5 @@ -2347,42 +2381,42 @@ func_802D7CD0: /* 0FC6CC 802D7D1C AFB00010 */ sw $s0, 0x10($sp) /* 0FC6D0 802D7D20 8E30000C */ lw $s0, 0xc($s1) /* 0FC6D4 802D7D24 8E050000 */ lw $a1, ($s0) -/* 0FC6D8 802D7D28 0C0B1EAF */ jal func_802C7ABC +/* 0FC6D8 802D7D28 0C0B1EAF */ jal get_variable /* 0FC6DC 802D7D2C 26100004 */ addiu $s0, $s0, 4 /* 0FC6E0 802D7D30 8E050000 */ lw $a1, ($s0) /* 0FC6E4 802D7D34 26100004 */ addiu $s0, $s0, 4 /* 0FC6E8 802D7D38 0220202D */ daddu $a0, $s1, $zero -/* 0FC6EC 802D7D3C 0C0B1EAF */ jal func_802C7ABC +/* 0FC6EC 802D7D3C 0C0B1EAF */ jal get_variable /* 0FC6F0 802D7D40 0040B02D */ daddu $s6, $v0, $zero /* 0FC6F4 802D7D44 8E050000 */ lw $a1, ($s0) /* 0FC6F8 802D7D48 26100004 */ addiu $s0, $s0, 4 /* 0FC6FC 802D7D4C 0220202D */ daddu $a0, $s1, $zero -/* 0FC700 802D7D50 0C0B1EAF */ jal func_802C7ABC +/* 0FC700 802D7D50 0C0B1EAF */ jal get_variable /* 0FC704 802D7D54 0040A82D */ daddu $s5, $v0, $zero /* 0FC708 802D7D58 8E050000 */ lw $a1, ($s0) /* 0FC70C 802D7D5C 26100004 */ addiu $s0, $s0, 4 /* 0FC710 802D7D60 0220202D */ daddu $a0, $s1, $zero -/* 0FC714 802D7D64 0C0B1EAF */ jal func_802C7ABC +/* 0FC714 802D7D64 0C0B1EAF */ jal get_variable /* 0FC718 802D7D68 0040A02D */ daddu $s4, $v0, $zero /* 0FC71C 802D7D6C 8E050000 */ lw $a1, ($s0) /* 0FC720 802D7D70 26100004 */ addiu $s0, $s0, 4 /* 0FC724 802D7D74 0220202D */ daddu $a0, $s1, $zero -/* 0FC728 802D7D78 0C0B1EAF */ jal func_802C7ABC +/* 0FC728 802D7D78 0C0B1EAF */ jal get_variable /* 0FC72C 802D7D7C 0040982D */ daddu $s3, $v0, $zero /* 0FC730 802D7D80 8E050000 */ lw $a1, ($s0) /* 0FC734 802D7D84 26100004 */ addiu $s0, $s0, 4 /* 0FC738 802D7D88 0220202D */ daddu $a0, $s1, $zero -/* 0FC73C 802D7D8C 0C0B1EAF */ jal func_802C7ABC +/* 0FC73C 802D7D8C 0C0B1EAF */ jal get_variable /* 0FC740 802D7D90 0040902D */ daddu $s2, $v0, $zero /* 0FC744 802D7D94 0220202D */ daddu $a0, $s1, $zero /* 0FC748 802D7D98 8E050000 */ lw $a1, ($s0) -/* 0FC74C 802D7D9C 0C0B1EAF */ jal func_802C7ABC +/* 0FC74C 802D7D9C 0C0B1EAF */ jal get_variable /* 0FC750 802D7DA0 0040882D */ daddu $s1, $v0, $zero /* 0FC754 802D7DA4 3C04802E */ lui $a0, 0x802e /* 0FC758 802D7DA8 24849D50 */ addiu $a0, $a0, -0x62b0 /* 0FC75C 802D7DAC 24050001 */ addiu $a1, $zero, 1 /* 0FC760 802D7DB0 0040802D */ daddu $s0, $v0, $zero -/* 0FC764 802D7DB4 0C0B0CF8 */ jal func_802C33E0 +/* 0FC764 802D7DB4 0C0B0CF8 */ jal start_script /* 0FC768 802D7DB8 0000302D */ daddu $a2, $zero, $zero /* 0FC76C 802D7DBC 0040182D */ daddu $v1, $v0, $zero /* 0FC770 802D7DC0 AC760084 */ sw $s6, 0x84($v1) @@ -2419,46 +2453,46 @@ func_802D7CD0: /* 0FC7E8 802D7E38 F7B40038 */ sdc1 $f20, 0x38($sp) /* 0FC7EC 802D7E3C 8E30000C */ lw $s0, 0xc($s1) /* 0FC7F0 802D7E40 8E050000 */ lw $a1, ($s0) -/* 0FC7F4 802D7E44 0C0B1EAF */ jal func_802C7ABC +/* 0FC7F4 802D7E44 0C0B1EAF */ jal get_variable /* 0FC7F8 802D7E48 26100004 */ addiu $s0, $s0, 4 /* 0FC7FC 802D7E4C 8E050000 */ lw $a1, ($s0) /* 0FC800 802D7E50 26100004 */ addiu $s0, $s0, 4 /* 0FC804 802D7E54 0220202D */ daddu $a0, $s1, $zero -/* 0FC808 802D7E58 0C0B1EAF */ jal func_802C7ABC +/* 0FC808 802D7E58 0C0B1EAF */ jal get_variable /* 0FC80C 802D7E5C 0040982D */ daddu $s3, $v0, $zero /* 0FC810 802D7E60 8E050000 */ lw $a1, ($s0) /* 0FC814 802D7E64 26100004 */ addiu $s0, $s0, 4 /* 0FC818 802D7E68 0220202D */ daddu $a0, $s1, $zero -/* 0FC81C 802D7E6C 0C0B210B */ jal func_802C842C +/* 0FC81C 802D7E6C 0C0B210B */ jal get_float_variable /* 0FC820 802D7E70 0040A02D */ daddu $s4, $v0, $zero /* 0FC824 802D7E74 8E050000 */ lw $a1, ($s0) /* 0FC828 802D7E78 26100004 */ addiu $s0, $s0, 4 /* 0FC82C 802D7E7C 0220202D */ daddu $a0, $s1, $zero -/* 0FC830 802D7E80 0C0B1EAF */ jal func_802C7ABC +/* 0FC830 802D7E80 0C0B1EAF */ jal get_variable /* 0FC834 802D7E84 46000706 */ mov.s $f28, $f0 /* 0FC838 802D7E88 8E050000 */ lw $a1, ($s0) /* 0FC83C 802D7E8C 26100004 */ addiu $s0, $s0, 4 /* 0FC840 802D7E90 0220202D */ daddu $a0, $s1, $zero -/* 0FC844 802D7E94 0C0B210B */ jal func_802C842C +/* 0FC844 802D7E94 0C0B210B */ jal get_float_variable /* 0FC848 802D7E98 0040902D */ daddu $s2, $v0, $zero /* 0FC84C 802D7E9C 8E050000 */ lw $a1, ($s0) /* 0FC850 802D7EA0 26100004 */ addiu $s0, $s0, 4 /* 0FC854 802D7EA4 0220202D */ daddu $a0, $s1, $zero -/* 0FC858 802D7EA8 0C0B210B */ jal func_802C842C +/* 0FC858 802D7EA8 0C0B210B */ jal get_float_variable /* 0FC85C 802D7EAC 46000686 */ mov.s $f26, $f0 /* 0FC860 802D7EB0 8E050000 */ lw $a1, ($s0) /* 0FC864 802D7EB4 26100004 */ addiu $s0, $s0, 4 /* 0FC868 802D7EB8 0220202D */ daddu $a0, $s1, $zero -/* 0FC86C 802D7EBC 0C0B210B */ jal func_802C842C +/* 0FC86C 802D7EBC 0C0B210B */ jal get_float_variable /* 0FC870 802D7EC0 46000606 */ mov.s $f24, $f0 /* 0FC874 802D7EC4 8E050000 */ lw $a1, ($s0) /* 0FC878 802D7EC8 26100004 */ addiu $s0, $s0, 4 /* 0FC87C 802D7ECC 0220202D */ daddu $a0, $s1, $zero -/* 0FC880 802D7ED0 0C0B210B */ jal func_802C842C +/* 0FC880 802D7ED0 0C0B210B */ jal get_float_variable /* 0FC884 802D7ED4 46000586 */ mov.s $f22, $f0 /* 0FC888 802D7ED8 0220202D */ daddu $a0, $s1, $zero /* 0FC88C 802D7EDC 8E050000 */ lw $a1, ($s0) -/* 0FC890 802D7EE0 0C0B1EAF */ jal func_802C7ABC +/* 0FC890 802D7EE0 0C0B1EAF */ jal get_variable /* 0FC894 802D7EE4 46000506 */ mov.s $f20, $f0 /* 0FC898 802D7EE8 12400006 */ beqz $s2, .L802D7F04 /* 0FC89C 802D7EEC 0040802D */ daddu $s0, $v0, $zero @@ -2532,7 +2566,7 @@ func_802D7FD0: /* 0FC98C 802D7FDC 0280202D */ daddu $a0, $s4, $zero /* 0FC990 802D7FE0 E7A40010 */ swc1 $f4, 0x10($sp) /* 0FC994 802D7FE4 E7BC0014 */ swc1 $f28, 0x14($sp) -/* 0FC998 802D7FE8 0C01C1E4 */ jal func_80070790 +/* 0FC998 802D7FE8 0C01C1E4 */ jal fx_sweat /* 0FC99C 802D7FEC AFB00018 */ sw $s0, 0x18($sp) .L802D7FF0: /* 0FC9A0 802D7FF0 24020002 */ addiu $v0, $zero, 2 @@ -2550,6 +2584,7 @@ func_802D7FD0: /* 0FC9D0 802D8020 03E00008 */ jr $ra /* 0FC9D4 802D8024 27BD0060 */ addiu $sp, $sp, 0x60 +ShowSleepBubble: /* 0FC9D8 802D8028 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 0FC9DC 802D802C AFB1002C */ sw $s1, 0x2c($sp) /* 0FC9E0 802D8030 0080882D */ daddu $s1, $a0, $zero @@ -2564,42 +2599,42 @@ func_802D7FD0: /* 0FCA04 802D8054 F7B40040 */ sdc1 $f20, 0x40($sp) /* 0FCA08 802D8058 8E30000C */ lw $s0, 0xc($s1) /* 0FCA0C 802D805C 8E050000 */ lw $a1, ($s0) -/* 0FCA10 802D8060 0C0B1EAF */ jal func_802C7ABC +/* 0FCA10 802D8060 0C0B1EAF */ jal get_variable /* 0FCA14 802D8064 26100004 */ addiu $s0, $s0, 4 /* 0FCA18 802D8068 8E050000 */ lw $a1, ($s0) /* 0FCA1C 802D806C 26100004 */ addiu $s0, $s0, 4 /* 0FCA20 802D8070 0220202D */ daddu $a0, $s1, $zero -/* 0FCA24 802D8074 0C0B1EAF */ jal func_802C7ABC +/* 0FCA24 802D8074 0C0B1EAF */ jal get_variable /* 0FCA28 802D8078 0040982D */ daddu $s3, $v0, $zero /* 0FCA2C 802D807C 8E050000 */ lw $a1, ($s0) /* 0FCA30 802D8080 26100004 */ addiu $s0, $s0, 4 /* 0FCA34 802D8084 0220202D */ daddu $a0, $s1, $zero -/* 0FCA38 802D8088 0C0B210B */ jal func_802C842C +/* 0FCA38 802D8088 0C0B210B */ jal get_float_variable /* 0FCA3C 802D808C 0040A02D */ daddu $s4, $v0, $zero /* 0FCA40 802D8090 8E050000 */ lw $a1, ($s0) /* 0FCA44 802D8094 26100004 */ addiu $s0, $s0, 4 /* 0FCA48 802D8098 0220202D */ daddu $a0, $s1, $zero -/* 0FCA4C 802D809C 0C0B1EAF */ jal func_802C7ABC +/* 0FCA4C 802D809C 0C0B1EAF */ jal get_variable /* 0FCA50 802D80A0 46000686 */ mov.s $f26, $f0 /* 0FCA54 802D80A4 8E050000 */ lw $a1, ($s0) /* 0FCA58 802D80A8 26100004 */ addiu $s0, $s0, 4 /* 0FCA5C 802D80AC 0220202D */ daddu $a0, $s1, $zero -/* 0FCA60 802D80B0 0C0B210B */ jal func_802C842C +/* 0FCA60 802D80B0 0C0B210B */ jal get_float_variable /* 0FCA64 802D80B4 0040902D */ daddu $s2, $v0, $zero /* 0FCA68 802D80B8 8E050000 */ lw $a1, ($s0) /* 0FCA6C 802D80BC 26100004 */ addiu $s0, $s0, 4 /* 0FCA70 802D80C0 0220202D */ daddu $a0, $s1, $zero -/* 0FCA74 802D80C4 0C0B210B */ jal func_802C842C +/* 0FCA74 802D80C4 0C0B210B */ jal get_float_variable /* 0FCA78 802D80C8 46000606 */ mov.s $f24, $f0 /* 0FCA7C 802D80CC 8E050000 */ lw $a1, ($s0) /* 0FCA80 802D80D0 26100004 */ addiu $s0, $s0, 4 /* 0FCA84 802D80D4 0220202D */ daddu $a0, $s1, $zero -/* 0FCA88 802D80D8 0C0B210B */ jal func_802C842C +/* 0FCA88 802D80D8 0C0B210B */ jal get_float_variable /* 0FCA8C 802D80DC 46000586 */ mov.s $f22, $f0 /* 0FCA90 802D80E0 8E050000 */ lw $a1, ($s0) /* 0FCA94 802D80E4 26100004 */ addiu $s0, $s0, 4 /* 0FCA98 802D80E8 0220202D */ daddu $a0, $s1, $zero -/* 0FCA9C 802D80EC 0C0B210B */ jal func_802C842C +/* 0FCA9C 802D80EC 0C0B210B */ jal get_float_variable /* 0FCAA0 802D80F0 46000506 */ mov.s $f20, $f0 /* 0FCAA4 802D80F4 8E100000 */ lw $s0, ($s0) /* 0FCAA8 802D80F8 12400006 */ beqz $s2, .L802D8114 @@ -2675,11 +2710,11 @@ func_802D81E0: /* 0FCBA0 802D81F0 27A20020 */ addiu $v0, $sp, 0x20 /* 0FCBA4 802D81F4 E7A40010 */ swc1 $f4, 0x10($sp) /* 0FCBA8 802D81F8 E7BA0014 */ swc1 $f26, 0x14($sp) -/* 0FCBAC 802D81FC 0C01C1FC */ jal func_800707F0 +/* 0FCBAC 802D81FC 0C01C1FC */ jal fx_sleep_bubble /* 0FCBB0 802D8200 AFA20018 */ sw $v0, 0x18($sp) /* 0FCBB4 802D8204 0220202D */ daddu $a0, $s1, $zero /* 0FCBB8 802D8208 8FA60020 */ lw $a2, 0x20($sp) -/* 0FCBBC 802D820C 0C0B2026 */ jal func_802C8098 +/* 0FCBBC 802D820C 0C0B2026 */ jal set_variable /* 0FCBC0 802D8210 0200282D */ daddu $a1, $s0, $zero .L802D8214: /* 0FCBC4 802D8214 24020002 */ addiu $v0, $zero, 2 @@ -2703,11 +2738,11 @@ func_802D81E0: /* 0FCC08 802D8258 AFB00010 */ sw $s0, 0x10($sp) /* 0FCC0C 802D825C 8E30000C */ lw $s0, 0xc($s1) /* 0FCC10 802D8260 8E050000 */ lw $a1, ($s0) -/* 0FCC14 802D8264 0C0B1EAF */ jal func_802C7ABC +/* 0FCC14 802D8264 0C0B1EAF */ jal get_variable /* 0FCC18 802D8268 26100004 */ addiu $s0, $s0, 4 /* 0FCC1C 802D826C 0220202D */ daddu $a0, $s1, $zero /* 0FCC20 802D8270 8E050000 */ lw $a1, ($s0) -/* 0FCC24 802D8274 0C0B1EAF */ jal func_802C7ABC +/* 0FCC24 802D8274 0C0B1EAF */ jal get_variable /* 0FCC28 802D8278 0040802D */ daddu $s0, $v0, $zero /* 0FCC2C 802D827C 8E03000C */ lw $v1, 0xc($s0) /* 0FCC30 802D8280 AC62001C */ sw $v0, 0x1c($v1) @@ -2718,6 +2753,7 @@ func_802D81E0: /* 0FCC44 802D8294 03E00008 */ jr $ra /* 0FCC48 802D8298 27BD0020 */ addiu $sp, $sp, 0x20 +PlayEffect: /* 0FCC4C 802D829C 27BDFF38 */ addiu $sp, $sp, -0xc8 /* 0FCC50 802D82A0 AFBF0094 */ sw $ra, 0x94($sp) /* 0FCC54 802D82A4 AFBE0090 */ sw $fp, 0x90($sp) @@ -2740,141 +2776,141 @@ func_802D81E0: /* 0FCC98 802D82E8 0000A82D */ daddu $s5, $zero, $zero /* 0FCC9C 802D82EC 0200882D */ daddu $s1, $s0, $zero /* 0FCCA0 802D82F0 8E050000 */ lw $a1, ($s0) -/* 0FCCA4 802D82F4 0C0B1EAF */ jal func_802C7ABC +/* 0FCCA4 802D82F4 0C0B1EAF */ jal get_variable /* 0FCCA8 802D82F8 0200902D */ daddu $s2, $s0, $zero /* 0FCCAC 802D82FC 8E250000 */ lw $a1, ($s1) /* 0FCCB0 802D8300 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCCB4 802D8304 26100004 */ addiu $s0, $s0, 4 -/* 0FCCB8 802D8308 0C0B1EAF */ jal func_802C7ABC +/* 0FCCB8 802D8308 0C0B1EAF */ jal get_variable /* 0FCCBC 802D830C AFA20040 */ sw $v0, 0x40($sp) /* 0FCCC0 802D8310 8E450000 */ lw $a1, ($s2) /* 0FCCC4 802D8314 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCCC8 802D8318 0C0B1EAF */ jal func_802C7ABC +/* 0FCCC8 802D8318 0C0B1EAF */ jal get_variable /* 0FCCCC 802D831C 26310004 */ addiu $s1, $s1, 4 /* 0FCCD0 802D8320 8E050000 */ lw $a1, ($s0) /* 0FCCD4 802D8324 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCCD8 802D8328 0C0B1EAF */ jal func_802C7ABC +/* 0FCCD8 802D8328 0C0B1EAF */ jal get_variable /* 0FCCDC 802D832C 26100004 */ addiu $s0, $s0, 4 /* 0FCCE0 802D8330 8E050000 */ lw $a1, ($s0) /* 0FCCE4 802D8334 26100004 */ addiu $s0, $s0, 4 /* 0FCCE8 802D8338 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCCEC 802D833C 0C0B1EAF */ jal func_802C7ABC +/* 0FCCEC 802D833C 0C0B1EAF */ jal get_variable /* 0FCCF0 802D8340 0040982D */ daddu $s3, $v0, $zero /* 0FCCF4 802D8344 8E050000 */ lw $a1, ($s0) /* 0FCCF8 802D8348 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCCFC 802D834C 26100004 */ addiu $s0, $s0, 4 -/* 0FCD00 802D8350 0C0B1EAF */ jal func_802C7ABC +/* 0FCD00 802D8350 0C0B1EAF */ jal get_variable /* 0FCD04 802D8354 AFA20044 */ sw $v0, 0x44($sp) /* 0FCD08 802D8358 8E050000 */ lw $a1, ($s0) /* 0FCD0C 802D835C 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCD10 802D8360 26100004 */ addiu $s0, $s0, 4 -/* 0FCD14 802D8364 0C0B1EAF */ jal func_802C7ABC +/* 0FCD14 802D8364 0C0B1EAF */ jal get_variable /* 0FCD18 802D8368 AFA20048 */ sw $v0, 0x48($sp) /* 0FCD1C 802D836C 8E050000 */ lw $a1, ($s0) /* 0FCD20 802D8370 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCD24 802D8374 26100004 */ addiu $s0, $s0, 4 -/* 0FCD28 802D8378 0C0B1EAF */ jal func_802C7ABC +/* 0FCD28 802D8378 0C0B1EAF */ jal get_variable /* 0FCD2C 802D837C AFA2004C */ sw $v0, 0x4c($sp) /* 0FCD30 802D8380 8E050000 */ lw $a1, ($s0) /* 0FCD34 802D8384 26100004 */ addiu $s0, $s0, 4 /* 0FCD38 802D8388 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCD3C 802D838C 0C0B1EAF */ jal func_802C7ABC +/* 0FCD3C 802D838C 0C0B1EAF */ jal get_variable /* 0FCD40 802D8390 0040B02D */ daddu $s6, $v0, $zero /* 0FCD44 802D8394 8E050000 */ lw $a1, ($s0) /* 0FCD48 802D8398 26100004 */ addiu $s0, $s0, 4 /* 0FCD4C 802D839C 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCD50 802D83A0 0C0B1EAF */ jal func_802C7ABC +/* 0FCD50 802D83A0 0C0B1EAF */ jal get_variable /* 0FCD54 802D83A4 0040A02D */ daddu $s4, $v0, $zero /* 0FCD58 802D83A8 8E050000 */ lw $a1, ($s0) /* 0FCD5C 802D83AC 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCD60 802D83B0 26100004 */ addiu $s0, $s0, 4 -/* 0FCD64 802D83B4 0C0B1EAF */ jal func_802C7ABC +/* 0FCD64 802D83B4 0C0B1EAF */ jal get_variable /* 0FCD68 802D83B8 AFA20050 */ sw $v0, 0x50($sp) /* 0FCD6C 802D83BC 8E050000 */ lw $a1, ($s0) /* 0FCD70 802D83C0 26100004 */ addiu $s0, $s0, 4 /* 0FCD74 802D83C4 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCD78 802D83C8 0C0B1EAF */ jal func_802C7ABC +/* 0FCD78 802D83C8 0C0B1EAF */ jal get_variable /* 0FCD7C 802D83CC 0040B82D */ daddu $s7, $v0, $zero /* 0FCD80 802D83D0 8E050000 */ lw $a1, ($s0) /* 0FCD84 802D83D4 26100004 */ addiu $s0, $s0, 4 /* 0FCD88 802D83D8 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCD8C 802D83DC 0C0B1EAF */ jal func_802C7ABC +/* 0FCD8C 802D83DC 0C0B1EAF */ jal get_variable /* 0FCD90 802D83E0 0040F02D */ daddu $fp, $v0, $zero /* 0FCD94 802D83E4 8E050000 */ lw $a1, ($s0) /* 0FCD98 802D83E8 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCD9C 802D83EC 26100004 */ addiu $s0, $s0, 4 -/* 0FCDA0 802D83F0 0C0B1EAF */ jal func_802C7ABC +/* 0FCDA0 802D83F0 0C0B1EAF */ jal get_variable /* 0FCDA4 802D83F4 AFA20054 */ sw $v0, 0x54($sp) /* 0FCDA8 802D83F8 8E050000 */ lw $a1, ($s0) /* 0FCDAC 802D83FC 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCDB0 802D8400 0C0B1EAF */ jal func_802C7ABC +/* 0FCDB0 802D8400 0C0B1EAF */ jal get_variable /* 0FCDB4 802D8404 26100004 */ addiu $s0, $s0, 4 /* 0FCDB8 802D8408 8E050000 */ lw $a1, ($s0) /* 0FCDBC 802D840C 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCDC0 802D8410 0C0B1EAF */ jal func_802C7ABC +/* 0FCDC0 802D8410 0C0B1EAF */ jal get_variable /* 0FCDC4 802D8414 26520004 */ addiu $s2, $s2, 4 /* 0FCDC8 802D8418 8E250000 */ lw $a1, ($s1) /* 0FCDCC 802D841C 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCDD0 802D8420 0C0B210B */ jal func_802C842C +/* 0FCDD0 802D8420 0C0B210B */ jal get_float_variable /* 0FCDD4 802D8424 26310004 */ addiu $s1, $s1, 4 /* 0FCDD8 802D8428 8E250000 */ lw $a1, ($s1) /* 0FCDDC 802D842C 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCDE0 802D8430 26310004 */ addiu $s1, $s1, 4 -/* 0FCDE4 802D8434 0C0B210B */ jal func_802C842C +/* 0FCDE4 802D8434 0C0B210B */ jal get_float_variable /* 0FCDE8 802D8438 E7A00058 */ swc1 $f0, 0x58($sp) /* 0FCDEC 802D843C 8E250000 */ lw $a1, ($s1) /* 0FCDF0 802D8440 26310004 */ addiu $s1, $s1, 4 /* 0FCDF4 802D8444 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCDF8 802D8448 0C0B210B */ jal func_802C842C +/* 0FCDF8 802D8448 0C0B210B */ jal get_float_variable /* 0FCDFC 802D844C 46000506 */ mov.s $f20, $f0 /* 0FCE00 802D8450 8E250000 */ lw $a1, ($s1) /* 0FCE04 802D8454 26310004 */ addiu $s1, $s1, 4 /* 0FCE08 802D8458 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCE0C 802D845C 0C0B210B */ jal func_802C842C +/* 0FCE0C 802D845C 0C0B210B */ jal get_float_variable /* 0FCE10 802D8460 46000586 */ mov.s $f22, $f0 /* 0FCE14 802D8464 8E250000 */ lw $a1, ($s1) /* 0FCE18 802D8468 26310004 */ addiu $s1, $s1, 4 /* 0FCE1C 802D846C 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCE20 802D8470 0C0B210B */ jal func_802C842C +/* 0FCE20 802D8470 0C0B210B */ jal get_float_variable /* 0FCE24 802D8474 46000606 */ mov.s $f24, $f0 /* 0FCE28 802D8478 8E250000 */ lw $a1, ($s1) /* 0FCE2C 802D847C 26310004 */ addiu $s1, $s1, 4 /* 0FCE30 802D8480 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCE34 802D8484 0C0B210B */ jal func_802C842C +/* 0FCE34 802D8484 0C0B210B */ jal get_float_variable /* 0FCE38 802D8488 46000686 */ mov.s $f26, $f0 /* 0FCE3C 802D848C 8E250000 */ lw $a1, ($s1) /* 0FCE40 802D8490 26310004 */ addiu $s1, $s1, 4 /* 0FCE44 802D8494 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCE48 802D8498 0C0B210B */ jal func_802C842C +/* 0FCE48 802D8498 0C0B210B */ jal get_float_variable /* 0FCE4C 802D849C 46000706 */ mov.s $f28, $f0 /* 0FCE50 802D84A0 8E250000 */ lw $a1, ($s1) /* 0FCE54 802D84A4 26310004 */ addiu $s1, $s1, 4 /* 0FCE58 802D84A8 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCE5C 802D84AC 0C0B210B */ jal func_802C842C +/* 0FCE5C 802D84AC 0C0B210B */ jal get_float_variable /* 0FCE60 802D84B0 46000786 */ mov.s $f30, $f0 /* 0FCE64 802D84B4 8E250000 */ lw $a1, ($s1) /* 0FCE68 802D84B8 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCE6C 802D84BC 26310004 */ addiu $s1, $s1, 4 -/* 0FCE70 802D84C0 0C0B210B */ jal func_802C842C +/* 0FCE70 802D84C0 0C0B210B */ jal get_float_variable /* 0FCE74 802D84C4 E7A0005C */ swc1 $f0, 0x5c($sp) /* 0FCE78 802D84C8 8E250000 */ lw $a1, ($s1) /* 0FCE7C 802D84CC 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCE80 802D84D0 26310004 */ addiu $s1, $s1, 4 -/* 0FCE84 802D84D4 0C0B210B */ jal func_802C842C +/* 0FCE84 802D84D4 0C0B210B */ jal get_float_variable /* 0FCE88 802D84D8 E7A00060 */ swc1 $f0, 0x60($sp) /* 0FCE8C 802D84DC 8E250000 */ lw $a1, ($s1) /* 0FCE90 802D84E0 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCE94 802D84E4 26310004 */ addiu $s1, $s1, 4 -/* 0FCE98 802D84E8 0C0B210B */ jal func_802C842C +/* 0FCE98 802D84E8 0C0B210B */ jal get_float_variable /* 0FCE9C 802D84EC E7A00064 */ swc1 $f0, 0x64($sp) /* 0FCEA0 802D84F0 8E250000 */ lw $a1, ($s1) /* 0FCEA4 802D84F4 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FCEA8 802D84F8 26310004 */ addiu $s1, $s1, 4 -/* 0FCEAC 802D84FC 0C0B210B */ jal func_802C842C +/* 0FCEAC 802D84FC 0C0B210B */ jal get_float_variable /* 0FCEB0 802D8500 E7A00068 */ swc1 $f0, 0x68($sp) /* 0FCEB4 802D8504 8E250000 */ lw $a1, ($s1) /* 0FCEB8 802D8508 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0FCEBC 802D850C 0C0B210B */ jal func_802C842C +/* 0FCEBC 802D850C 0C0B210B */ jal get_float_variable /* 0FCEC0 802D8510 26520004 */ addiu $s2, $s2, 4 /* 0FCEC4 802D8514 8E450000 */ lw $a1, ($s2) /* 0FCEC8 802D8518 26520010 */ addiu $s2, $s2, 0x10 @@ -2917,7 +2953,7 @@ func_802D81E0: /* 0FCF54 802D85A4 4405A000 */ mfc1 $a1, $f20 /* 0FCF58 802D85A8 4406B000 */ mfc1 $a2, $f22 /* 0FCF5C 802D85AC 4407C000 */ mfc1 $a3, $f24 -/* 0FCF60 802D85B0 0C01BEB4 */ jal func_8006FAD0 +/* 0FCF60 802D85B0 0C01BEB4 */ jal fx_walk_large /* 0FCF64 802D85B4 E7BA0010 */ swc1 $f26, 0x10($sp) /* 0FCF68 802D85B8 080B65A4 */ j func_802D9690 /* 0FCF6C 802D85BC 00000000 */ nop @@ -2926,7 +2962,7 @@ func_802D81E0: /* 0FCF74 802D85C4 4406B000 */ mfc1 $a2, $f22 /* 0FCF78 802D85C8 4407C000 */ mfc1 $a3, $f24 /* 0FCF7C 802D85CC E7BA0010 */ swc1 $f26, 0x10($sp) -/* 0FCF80 802D85D0 0C01BECC */ jal func_8006FB30 +/* 0FCF80 802D85D0 0C01BECC */ jal fx_walk_normal /* 0FCF84 802D85D4 E7BC0014 */ swc1 $f28, 0x14($sp) /* 0FCF88 802D85D8 080B65A4 */ j func_802D9690 /* 0FCF8C 802D85DC 00000000 */ nop @@ -3010,7 +3046,7 @@ func_802D81E0: /* 0FD0A0 802D86F0 E7BC0014 */ swc1 $f28, 0x14($sp) /* 0FD0A4 802D86F4 E7BE0018 */ swc1 $f30, 0x18($sp) /* 0FD0A8 802D86F8 AFB7001C */ sw $s7, 0x1c($sp) -/* 0FD0AC 802D86FC 0C01BFA4 */ jal func_8006FE90 +/* 0FD0AC 802D86FC 0C01BFA4 */ jal fx_emote /* 0FD0B0 802D8700 AFA20020 */ sw $v0, 0x20($sp) /* 0FD0B4 802D8704 080B6234 */ j func_802D88D0 /* 0FD0B8 802D8708 00000000 */ nop @@ -3144,7 +3180,7 @@ func_802D81E0: func_802D88D0: /* 0FD280 802D88D0 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FD284 802D88D4 8FA60030 */ lw $a2, 0x30($sp) -/* 0FD288 802D88D8 0C0B2026 */ jal func_802C8098 +/* 0FD288 802D88D8 0C0B2026 */ jal set_variable /* 0FD28C 802D88DC 0260282D */ daddu $a1, $s3, $zero /* 0FD290 802D88E0 080B65A4 */ j func_802D9690 /* 0FD294 802D88E4 00000000 */ nop @@ -3232,7 +3268,7 @@ func_802D88D0: /* 0FD3B8 802D8A08 8FA30050 */ lw $v1, 0x50($sp) /* 0FD3BC 802D8A0C E7BA0010 */ swc1 $f26, 0x10($sp) /* 0FD3C0 802D8A10 E7BC0014 */ swc1 $f28, 0x14($sp) -/* 0FD3C4 802D8A14 0C01C1E4 */ jal func_80070790 +/* 0FD3C4 802D8A14 0C01C1E4 */ jal fx_sweat /* 0FD3C8 802D8A18 AFA30018 */ sw $v1, 0x18($sp) /* 0FD3CC 802D8A1C 080B65A4 */ j func_802D9690 /* 0FD3D0 802D8A20 00000000 */ nop @@ -3243,7 +3279,7 @@ func_802D88D0: /* 0FD3E0 802D8A30 27A20038 */ addiu $v0, $sp, 0x38 /* 0FD3E4 802D8A34 E7BA0010 */ swc1 $f26, 0x10($sp) /* 0FD3E8 802D8A38 E7BC0014 */ swc1 $f28, 0x14($sp) -/* 0FD3EC 802D8A3C 0C01C1FC */ jal func_800707F0 +/* 0FD3EC 802D8A3C 0C01C1FC */ jal fx_sleep_bubble /* 0FD3F0 802D8A40 AFA20018 */ sw $v0, 0x18($sp) /* 0FD3F4 802D8A44 080B62C2 */ j func_802D8B08 /* 0FD3F8 802D8A48 00000000 */ nop @@ -3303,7 +3339,7 @@ func_802D88D0: func_802D8B08: /* 0FD4B8 802D8B08 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FD4BC 802D8B0C 8FA60038 */ lw $a2, 0x38($sp) -/* 0FD4C0 802D8B10 0C0B2026 */ jal func_802C8098 +/* 0FD4C0 802D8B10 0C0B2026 */ jal set_variable /* 0FD4C4 802D8B14 8FA5006C */ lw $a1, 0x6c($sp) /* 0FD4C8 802D8B18 080B65A4 */ j func_802D9690 /* 0FD4CC 802D8B1C 00000000 */ nop @@ -3434,7 +3470,7 @@ func_802D8B08: func_802D8CDC: /* 0FD68C 802D8CDC 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FD690 802D8CE0 8FA60034 */ lw $a2, 0x34($sp) -/* 0FD694 802D8CE4 0C0B2026 */ jal func_802C8098 +/* 0FD694 802D8CE4 0C0B2026 */ jal set_variable /* 0FD698 802D8CE8 0200282D */ daddu $a1, $s0, $zero /* 0FD69C 802D8CEC 080B65A4 */ j func_802D9690 /* 0FD6A0 802D8CF0 00000000 */ nop @@ -3451,7 +3487,7 @@ func_802D8CDC: /* 0FD6C8 802D8D18 AFA20020 */ sw $v0, 0x20($sp) /* 0FD6CC 802D8D1C 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FD6D0 802D8D20 8FA6003C */ lw $a2, 0x3c($sp) -/* 0FD6D4 802D8D24 0C0B2026 */ jal func_802C8098 +/* 0FD6D4 802D8D24 0C0B2026 */ jal set_variable /* 0FD6D8 802D8D28 0220282D */ daddu $a1, $s1, $zero /* 0FD6DC 802D8D2C 080B65A4 */ j func_802D9690 /* 0FD6E0 802D8D30 00000000 */ nop @@ -4132,7 +4168,7 @@ func_802D9690: /* 0FE044 802D9694 3C05FE36 */ lui $a1, 0xfe36 /* 0FE048 802D9698 8FA400C8 */ lw $a0, 0xc8($sp) /* 0FE04C 802D969C 34A53C8F */ ori $a1, $a1, 0x3c8f -/* 0FE050 802D96A0 0C0B2026 */ jal func_802C8098 +/* 0FE050 802D96A0 0C0B2026 */ jal set_variable /* 0FE054 802D96A4 02A0302D */ daddu $a2, $s5, $zero .L802D96A8: /* 0FE058 802D96A8 8FBF0094 */ lw $ra, 0x94($sp) diff --git a/papermario/asm/code_fe0b0_len_5a0.s b/papermario/asm/code_fe0b0_len_5a0.s index d0f762cdd7..44207fc820 100644 --- a/papermario/asm/code_fe0b0_len_5a0.s +++ b/papermario/asm/code_fe0b0_len_5a0.s @@ -1,6 +1,7 @@ .section .text802D9700, "ax" +SetSpriteShading: /* 0FE0B0 802D9700 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0FE0B4 802D9704 AFBF0064 */ sw $ra, 0x64($sp) /* 0FE0B8 802D9708 AFBE0060 */ sw $fp, 0x60($sp) @@ -13,7 +14,7 @@ /* 0FE0D4 802D9724 AFB10044 */ sw $s1, 0x44($sp) /* 0FE0D8 802D9728 AFB00040 */ sw $s0, 0x40($sp) /* 0FE0DC 802D972C 8C82000C */ lw $v0, 0xc($a0) -/* 0FE0E0 802D9730 0C0B1EAF */ jal func_802C7ABC +/* 0FE0E0 802D9730 0C0B1EAF */ jal get_variable /* 0FE0E4 802D9734 8C450000 */ lw $a1, ($v0) /* 0FE0E8 802D9738 00021C03 */ sra $v1, $v0, 0x10 /* 0FE0EC 802D973C 000330C0 */ sll $a2, $v1, 3 @@ -29,14 +30,14 @@ /* 0FE114 802D9764 00C52821 */ addu $a1, $a2, $a1 /* 0FE118 802D9768 3C11802E */ lui $s1, 0x802e /* 0FE11C 802D976C 2631BB60 */ addiu $s1, $s1, -0x44a0 -/* 0FE120 802D9770 0C00A5CF */ jal func_8002973C +/* 0FE120 802D9770 0C00A5CF */ jal dma_copy /* 0FE124 802D9774 0220302D */ daddu $a2, $s1, $zero /* 0FE128 802D9778 0220302D */ daddu $a2, $s1, $zero /* 0FE12C 802D977C 8E240004 */ lw $a0, 4($s1) /* 0FE130 802D9780 02508021 */ addu $s0, $s2, $s0 /* 0FE134 802D9784 00902021 */ addu $a0, $a0, $s0 /* 0FE138 802D9788 8E300000 */ lw $s0, ($s1) -/* 0FE13C 802D978C 0C00A5CF */ jal func_8002973C +/* 0FE13C 802D978C 0C00A5CF */ jal dma_copy /* 0FE140 802D9790 24850004 */ addiu $a1, $a0, 4 /* 0FE144 802D9794 3C12802E */ lui $s2, 0x802e /* 0FE148 802D9798 2652BB68 */ addiu $s2, $s2, -0x4498 @@ -47,7 +48,7 @@ /* 0FE15C 802D97AC 00431021 */ addu $v0, $v0, $v1 /* 0FE160 802D97B0 02028021 */ addu $s0, $s0, $v0 /* 0FE164 802D97B4 0200202D */ daddu $a0, $s0, $zero -/* 0FE168 802D97B8 0C00A5CF */ jal func_8002973C +/* 0FE168 802D97B8 0C00A5CF */ jal dma_copy /* 0FE16C 802D97BC 24850100 */ addiu $a1, $a0, 0x100 /* 0FE170 802D97C0 3C058015 */ lui $a1, 0x8015 /* 0FE174 802D97C4 24A51328 */ addiu $a1, $a1, 0x1328 @@ -212,10 +213,11 @@ /* 0FE3E4 802D9A34 03E00008 */ jr $ra /* 0FE3E8 802D9A38 27BD0068 */ addiu $sp, $sp, 0x68 +EnableSpriteShading: /* 0FE3EC 802D9A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FE3F0 802D9A40 AFBF0010 */ sw $ra, 0x10($sp) /* 0FE3F4 802D9A44 8C82000C */ lw $v0, 0xc($a0) -/* 0FE3F8 802D9A48 0C0B1EAF */ jal func_802C7ABC +/* 0FE3F8 802D9A48 0C0B1EAF */ jal get_variable /* 0FE3FC 802D9A4C 8C450000 */ lw $a1, ($v0) /* 0FE400 802D9A50 10400006 */ beqz $v0, .L802D9A6C /* 0FE404 802D9A54 00000000 */ nop @@ -237,13 +239,14 @@ func_802D9A7C: /* 0FE438 802D9A88 03E00008 */ jr $ra /* 0FE43C 802D9A8C 27BD0018 */ addiu $sp, $sp, 0x18 +GetDemoState: /* 0FE440 802D9A90 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FE444 802D9A94 AFBF0010 */ sw $ra, 0x10($sp) /* 0FE448 802D9A98 8C82000C */ lw $v0, 0xc($a0) /* 0FE44C 802D9A9C 3C038007 */ lui $v1, 0x8007 /* 0FE450 802D9AA0 8C63419C */ lw $v1, 0x419c($v1) /* 0FE454 802D9AA4 8C450000 */ lw $a1, ($v0) -/* 0FE458 802D9AA8 0C0B2026 */ jal func_802C8098 +/* 0FE458 802D9AA8 0C0B2026 */ jal set_variable /* 0FE45C 802D9AAC 80660071 */ lb $a2, 0x71($v1) /* 0FE460 802D9AB0 8FBF0010 */ lw $ra, 0x10($sp) /* 0FE464 802D9AB4 24020002 */ addiu $v0, $zero, 2 @@ -253,7 +256,8 @@ func_802D9A7C: /* 0FE470 802D9AC0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FE474 802D9AC4 AFBF0010 */ sw $ra, 0x10($sp) /* 0FE478 802D9AC8 8C82000C */ lw $v0, 0xc($a0) -/* 0FE47C 802D9ACC 0C0B1EAF */ jal func_802C7ABC +DemoPressButton: +/* 0FE47C 802D9ACC 0C0B1EAF */ jal get_variable /* 0FE480 802D9AD0 8C450000 */ lw $a1, ($v0) /* 0FE484 802D9AD4 3C048007 */ lui $a0, 0x8007 /* 0FE488 802D9AD8 8C84419C */ lw $a0, 0x419c($a0) @@ -265,10 +269,11 @@ func_802D9A7C: /* 0FE4A0 802D9AF0 03E00008 */ jr $ra /* 0FE4A4 802D9AF4 27BD0018 */ addiu $sp, $sp, 0x18 +DemoReleaseButton: /* 0FE4A8 802D9AF8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FE4AC 802D9AFC AFBF0010 */ sw $ra, 0x10($sp) /* 0FE4B0 802D9B00 8C82000C */ lw $v0, 0xc($a0) -/* 0FE4B4 802D9B04 0C0B1EAF */ jal func_802C7ABC +/* 0FE4B4 802D9B04 0C0B1EAF */ jal get_variable /* 0FE4B8 802D9B08 8C450000 */ lw $a1, ($v0) /* 0FE4BC 802D9B0C 3C058007 */ lui $a1, 0x8007 /* 0FE4C0 802D9B10 8CA5419C */ lw $a1, 0x419c($a1) @@ -281,10 +286,11 @@ func_802D9A7C: /* 0FE4DC 802D9B2C 03E00008 */ jr $ra /* 0FE4E0 802D9B30 27BD0018 */ addiu $sp, $sp, 0x18 +DemoSetButtons: /* 0FE4E4 802D9B34 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0FE4E8 802D9B38 AFBF0010 */ sw $ra, 0x10($sp) /* 0FE4EC 802D9B3C 8C82000C */ lw $v0, 0xc($a0) -/* 0FE4F0 802D9B40 0C0B1EAF */ jal func_802C7ABC +/* 0FE4F0 802D9B40 0C0B1EAF */ jal get_variable /* 0FE4F4 802D9B44 8C450000 */ lw $a1, ($v0) /* 0FE4F8 802D9B48 3C038007 */ lui $v1, 0x8007 /* 0FE4FC 802D9B4C 8C63419C */ lw $v1, 0x419c($v1) @@ -294,6 +300,7 @@ func_802D9A7C: /* 0FE50C 802D9B5C 03E00008 */ jr $ra /* 0FE510 802D9B60 27BD0018 */ addiu $sp, $sp, 0x18 +DemoJoystickRadial: /* 0FE514 802D9B64 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0FE518 802D9B68 AFB10014 */ sw $s1, 0x14($sp) /* 0FE51C 802D9B6C 0080882D */ daddu $s1, $a0, $zero @@ -303,14 +310,14 @@ func_802D9A7C: /* 0FE52C 802D9B7C F7B40020 */ sdc1 $f20, 0x20($sp) /* 0FE530 802D9B80 8E30000C */ lw $s0, 0xc($s1) /* 0FE534 802D9B84 8E050000 */ lw $a1, ($s0) -/* 0FE538 802D9B88 0C0B210B */ jal func_802C842C +/* 0FE538 802D9B88 0C0B210B */ jal get_float_variable /* 0FE53C 802D9B8C 26100004 */ addiu $s0, $s0, 4 /* 0FE540 802D9B90 0220202D */ daddu $a0, $s1, $zero /* 0FE544 802D9B94 8E050000 */ lw $a1, ($s0) -/* 0FE548 802D9B98 0C0B210B */ jal func_802C842C +/* 0FE548 802D9B98 0C0B210B */ jal get_float_variable /* 0FE54C 802D9B9C 46000586 */ mov.s $f22, $f0 /* 0FE550 802D9BA0 46000506 */ mov.s $f20, $f0 -/* 0FE554 802D9BA4 0C00A8BB */ jal func_8002A2EC +/* 0FE554 802D9BA4 0C00A8BB */ jal sin_deg /* 0FE558 802D9BA8 4600A306 */ mov.s $f12, $f20 /* 0FE55C 802D9BAC 4600B002 */ mul.s $f0, $f22, $f0 /* 0FE560 802D9BB0 00000000 */ nop @@ -320,7 +327,7 @@ func_802D9A7C: /* 0FE570 802D9BC0 8E030000 */ lw $v1, ($s0) /* 0FE574 802D9BC4 4600008D */ trunc.w.s $f2, $f0 /* 0FE578 802D9BC8 44021000 */ mfc1 $v0, $f2 -/* 0FE57C 802D9BCC 0C00A8D4 */ jal func_8002A350 +/* 0FE57C 802D9BCC 0C00A8D4 */ jal cos_deg /* 0FE580 802D9BD0 A062006A */ sb $v0, 0x6a($v1) /* 0FE584 802D9BD4 4600B582 */ mul.s $f22, $f22, $f0 /* 0FE588 802D9BD8 00000000 */ nop @@ -338,6 +345,7 @@ func_802D9A7C: /* 0FE5B8 802D9C08 03E00008 */ jr $ra /* 0FE5BC 802D9C0C 27BD0030 */ addiu $sp, $sp, 0x30 +DemoJoystickXY: /* 0FE5C0 802D9C10 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0FE5C4 802D9C14 AFB10014 */ sw $s1, 0x14($sp) /* 0FE5C8 802D9C18 0080882D */ daddu $s1, $a0, $zero @@ -346,11 +354,11 @@ func_802D9A7C: /* 0FE5D4 802D9C24 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0FE5D8 802D9C28 8E30000C */ lw $s0, 0xc($s1) /* 0FE5DC 802D9C2C 8E050000 */ lw $a1, ($s0) -/* 0FE5E0 802D9C30 0C0B210B */ jal func_802C842C +/* 0FE5E0 802D9C30 0C0B210B */ jal get_float_variable /* 0FE5E4 802D9C34 26100004 */ addiu $s0, $s0, 4 /* 0FE5E8 802D9C38 0220202D */ daddu $a0, $s1, $zero /* 0FE5EC 802D9C3C 8E050000 */ lw $a1, ($s0) -/* 0FE5F0 802D9C40 0C0B210B */ jal func_802C842C +/* 0FE5F0 802D9C40 0C0B210B */ jal get_float_variable /* 0FE5F4 802D9C44 46000506 */ mov.s $f20, $f0 /* 0FE5F8 802D9C48 3C048007 */ lui $a0, 0x8007 /* 0FE5FC 802D9C4C 2484419C */ addiu $a0, $a0, 0x419c diff --git a/papermario/asm/code_fee30_len_2d60.s b/papermario/asm/code_fee30_len_2d60.s index 43175ebf17..5adbfe03e6 100644 --- a/papermario/asm/code_fee30_len_2d60.s +++ b/papermario/asm/code_fee30_len_2d60.s @@ -6,7 +6,7 @@ func_802DBD40: /* 0FEE34 802DBD44 3C048035 */ lui $a0, 0x8035 /* 0FEE38 802DBD48 2484F800 */ addiu $a0, $a0, -0x800 /* 0FEE3C 802DBD4C AFBF0010 */ sw $ra, 0x10($sp) -/* 0FEE40 802DBD50 0C00A41B */ jal func_8002906C +/* 0FEE40 802DBD50 0C00A41B */ jal _heap_malloc /* 0FEE44 802DBD54 24050580 */ addiu $a1, $zero, 0x580 /* 0FEE48 802DBD58 2404FFFF */ addiu $a0, $zero, -1 /* 0FEE4C 802DBD5C 24030015 */ addiu $v1, $zero, 0x15 @@ -813,7 +813,7 @@ func_802DC87C: /* 0FF9DC 802DC8EC 03E00008 */ jr $ra /* 0FF9E0 802DC8F0 27BD0038 */ addiu $sp, $sp, 0x38 -func_802DC8F4: +spr_appendMDL_component: /* 0FF9E4 802DC8F4 27BDFEF0 */ addiu $sp, $sp, -0x110 /* 0FF9E8 802DC8F8 F7B800F0 */ sdc1 $f24, 0xf0($sp) /* 0FF9EC 802DC8FC C7B80120 */ lwc1 $f24, 0x120($sp) @@ -1091,7 +1091,7 @@ func_802DCC98: /* 0FFDE8 802DCCF8 03E00008 */ jr $ra /* 0FFDEC 802DCCFC 27BD0110 */ addiu $sp, $sp, 0x110 -func_802DCD00: +spr_transform_point: /* 0FFDF0 802DCD00 27BDFF20 */ addiu $sp, $sp, -0xe0 /* 0FFDF4 802DCD04 F7B800C8 */ sdc1 $f24, 0xc8($sp) /* 0FFDF8 802DCD08 4487C000 */ mtc1 $a3, $f24 @@ -1215,7 +1215,7 @@ func_802DCEA4: /* 0FFFC4 802DCED4 03E00008 */ jr $ra /* 0FFFC8 802DCED8 27BD00E0 */ addiu $sp, $sp, 0xe0 -func_802DCEDC: +spr_draw_component: /* 0FFFCC 802DCEDC 27BDFF88 */ addiu $sp, $sp, -0x78 /* 0FFFD0 802DCEE0 AFB30054 */ sw $s3, 0x54($sp) /* 0FFFD4 802DCEE4 0080982D */ daddu $s3, $a0, $zero @@ -1278,7 +1278,7 @@ func_802DCEDC: /* 1000B8 802DCFC8 27A20040 */ addiu $v0, $sp, 0x40 /* 1000BC 802DCFCC AFA20020 */ sw $v0, 0x20($sp) /* 1000C0 802DCFD0 E7A20010 */ swc1 $f2, 0x10($sp) -/* 1000C4 802DCFD4 0C0B7340 */ jal func_802DCD00 +/* 1000C4 802DCFD4 0C0B7340 */ jal spr_transform_point /* 1000C8 802DCFD8 E7A40014 */ swc1 $f4, 0x14($sp) /* 1000CC 802DCFDC 3C030800 */ lui $v1, 0x800 /* 1000D0 802DCFE0 8E240014 */ lw $a0, 0x14($s1) @@ -1331,7 +1331,7 @@ func_802DCEDC: /* 100188 802DD098 AFB30028 */ sw $s3, 0x28($sp) /* 10018C 802DD09C AFA3002C */ sw $v1, 0x2c($sp) /* 100190 802DD0A0 AFA20030 */ sw $v0, 0x30($sp) -/* 100194 802DD0A4 0C0B723D */ jal func_802DC8F4 +/* 100194 802DD0A4 0C0B723D */ jal spr_appendMDL_component /* 100198 802DD0A8 E7A00024 */ swc1 $f0, 0x24($sp) /* 10019C 802DD0AC 8E020000 */ lw $v0, ($s0) /* 1001A0 802DD0B0 AE22004C */ sw $v0, 0x4c($s1) @@ -1347,7 +1347,7 @@ func_802DCEDC: /* 1001C4 802DD0D4 03E00008 */ jr $ra /* 1001C8 802DD0D8 27BD0078 */ addiu $sp, $sp, 0x78 -func_802DD0DC: +_spr_sign_extend_12bit: /* 1001CC 802DD0DC 30840FFF */ andi $a0, $a0, 0xfff /* 1001D0 802DD0E0 30820800 */ andi $v0, $a0, 0x800 /* 1001D4 802DD0E4 14400003 */ bnez $v0, .L802DD0F4 @@ -1359,7 +1359,7 @@ func_802DD0DC: /* 1001E4 802DD0F4 03E00008 */ jr $ra /* 1001E8 802DD0F8 00821025 */ or $v0, $a0, $v0 -func_802DD0FC: +_spr_sign_extend_16bit: /* 1001EC 802DD0FC 3084FFFF */ andi $a0, $a0, 0xffff /* 1001F0 802DD100 30828000 */ andi $v0, $a0, 0x8000 /* 1001F4 802DD104 14400003 */ bnez $v0, .L802DD114 @@ -1371,7 +1371,7 @@ func_802DD0FC: /* 100204 802DD114 03E00008 */ jr $ra /* 100208 802DD118 00821025 */ or $v0, $a0, $v0 -func_802DD11C: +update_component: /* 10020C 802DD11C 27BDFF88 */ addiu $sp, $sp, -0x78 /* 100210 802DD120 AFB1002C */ sw $s1, 0x2c($sp) /* 100214 802DD124 0080882D */ daddu $s1, $a0, $zero @@ -1499,7 +1499,7 @@ func_802DD11C: .L802DD2DC: /* 1003CC 802DD2DC 96040000 */ lhu $a0, ($s0) -/* 1003D0 802DD2E0 0C0B7437 */ jal func_802DD0DC +/* 1003D0 802DD2E0 0C0B7437 */ jal _spr_sign_extend_12bit /* 1003D4 802DD2E4 00000000 */ nop /* 1003D8 802DD2E8 8E630000 */ lw $v1, ($s3) /* 1003DC 802DD2EC 00021040 */ sll $v0, $v0, 1 @@ -1575,21 +1575,21 @@ func_802DD344: /* 1004B0 802DD3C0 00000000 */ nop /* 1004B4 802DD3C4 96040000 */ lhu $a0, ($s0) /* 1004B8 802DD3C8 26100002 */ addiu $s0, $s0, 2 -/* 1004BC 802DD3CC 0C0B743F */ jal func_802DD0FC +/* 1004BC 802DD3CC 0C0B743F */ jal _spr_sign_extend_16bit /* 1004C0 802DD3D0 36520001 */ ori $s2, $s2, 1 /* 1004C4 802DD3D4 96040000 */ lhu $a0, ($s0) /* 1004C8 802DD3D8 26100002 */ addiu $s0, $s0, 2 /* 1004CC 802DD3DC 44822000 */ mtc1 $v0, $f4 /* 1004D0 802DD3E0 00000000 */ nop /* 1004D4 802DD3E4 46802120 */ cvt.s.w $f4, $f4 -/* 1004D8 802DD3E8 0C0B743F */ jal func_802DD0FC +/* 1004D8 802DD3E8 0C0B743F */ jal _spr_sign_extend_16bit /* 1004DC 802DD3EC E7A40010 */ swc1 $f4, 0x10($sp) /* 1004E0 802DD3F0 96040000 */ lhu $a0, ($s0) /* 1004E4 802DD3F4 26100002 */ addiu $s0, $s0, 2 /* 1004E8 802DD3F8 44822000 */ mtc1 $v0, $f4 /* 1004EC 802DD3FC 00000000 */ nop /* 1004F0 802DD400 46802120 */ cvt.s.w $f4, $f4 -/* 1004F4 802DD404 0C0B743F */ jal func_802DD0FC +/* 1004F4 802DD404 0C0B743F */ jal _spr_sign_extend_16bit /* 1004F8 802DD408 E7A40014 */ swc1 $f4, 0x14($sp) /* 1004FC 802DD40C 44822000 */ mtc1 $v0, $f4 /* 100500 802DD410 00000000 */ nop @@ -1600,21 +1600,21 @@ func_802DD344: .L802DD420: /* 100510 802DD420 96040000 */ lhu $a0, ($s0) /* 100514 802DD424 26100002 */ addiu $s0, $s0, 2 -/* 100518 802DD428 0C0B7437 */ jal func_802DD0DC +/* 100518 802DD428 0C0B7437 */ jal _spr_sign_extend_12bit /* 10051C 802DD42C 36520002 */ ori $s2, $s2, 2 /* 100520 802DD430 96040000 */ lhu $a0, ($s0) /* 100524 802DD434 26100002 */ addiu $s0, $s0, 2 /* 100528 802DD438 44822000 */ mtc1 $v0, $f4 /* 10052C 802DD43C 00000000 */ nop /* 100530 802DD440 46802120 */ cvt.s.w $f4, $f4 -/* 100534 802DD444 0C0B743F */ jal func_802DD0FC +/* 100534 802DD444 0C0B743F */ jal _spr_sign_extend_16bit /* 100538 802DD448 E7A4001C */ swc1 $f4, 0x1c($sp) /* 10053C 802DD44C 96040000 */ lhu $a0, ($s0) /* 100540 802DD450 26100002 */ addiu $s0, $s0, 2 /* 100544 802DD454 44822000 */ mtc1 $v0, $f4 /* 100548 802DD458 00000000 */ nop /* 10054C 802DD45C 46802120 */ cvt.s.w $f4, $f4 -/* 100550 802DD460 0C0B743F */ jal func_802DD0FC +/* 100550 802DD460 0C0B743F */ jal _spr_sign_extend_16bit /* 100554 802DD464 E7A40020 */ swc1 $f4, 0x20($sp) /* 100558 802DD468 44822000 */ mtc1 $v0, $f4 /* 10055C 802DD46C 00000000 */ nop @@ -1695,7 +1695,7 @@ func_802DD530: /* 100644 802DD554 96020002 */ lhu $v0, 2($s0) /* 100648 802DD558 AE220010 */ sw $v0, 0x10($s1) .L802DD55C: -/* 10064C 802DD55C 0C0B7437 */ jal func_802DD0DC +/* 10064C 802DD55C 0C0B7437 */ jal _spr_sign_extend_12bit /* 100650 802DD560 96040000 */ lhu $a0, ($s0) /* 100654 802DD564 8E630000 */ lw $v1, ($s3) /* 100658 802DD568 00021040 */ sll $v0, $v0, 1 @@ -1828,7 +1828,7 @@ func_802DD6DC: .L802DD728: /* 100818 802DD728 8E040000 */ lw $a0, ($s0) /* 10081C 802DD72C 8E250000 */ lw $a1, ($s1) -/* 100820 802DD730 0C0B7447 */ jal func_802DD11C +/* 100820 802DD730 0C0B7447 */ jal update_component /* 100824 802DD734 26100004 */ addiu $s0, $s0, 4 /* 100828 802DD738 8E220000 */ lw $v0, ($s1) /* 10082C 802DD73C 54520001 */ bnel $v0, $s2, .L802DD744 @@ -1942,7 +1942,7 @@ func_802DD89C: /* 100998 802DD8A8 0200202D */ daddu $a0, $s0, $zero /* 10099C 802DD8AC 24050001 */ addiu $a1, $zero, 1 /* 1009A0 802DD8B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 1009A4 802DD8B4 0C0B7AC3 */ jal func_802DEB0C +/* 1009A4 802DD8B4 0C0B7AC3 */ jal load_sprite /* 1009A8 802DD8B8 0000302D */ daddu $a2, $zero, $zero /* 1009AC 802DD8BC 00108080 */ sll $s0, $s0, 2 /* 1009B0 802DD8C0 3C04802E */ lui $a0, 0x802e @@ -1971,7 +1971,7 @@ func_802DD8F8: /* 100A00 802DD910 AFB00010 */ sw $s0, 0x10($sp) /* 100A04 802DD914 3C01802E */ lui $at, 0x802e /* 100A08 802DD918 AC20F524 */ sw $zero, -0xadc($at) -/* 100A0C 802DD91C 0C00A40C */ jal func_80029030 +/* 100A0C 802DD91C 0C00A40C */ jal _heap_create /* 100A10 802DD920 3C050004 */ lui $a1, 4 /* 100A14 802DD924 0C04E8DF */ jal func_8013A37C /* 100A18 802DD928 2410000C */ addiu $s0, $zero, 0xc @@ -2191,7 +2191,7 @@ func_802DDA8C: /* 100D28 802DDC38 03E00008 */ jr $ra /* 100D2C 802DDC3C 27BD0048 */ addiu $sp, $sp, 0x48 -func_802DDC40: +render_sprite: /* 100D30 802DDC40 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 100D34 802DDC44 308A00FF */ andi $t2, $a0, 0xff /* 100D38 802DDC48 000A1040 */ sll $v0, $t2, 1 @@ -2351,7 +2351,7 @@ func_802DDDD4: /* 100F50 802DDE60 E7B40014 */ swc1 $f20, 0x14($sp) /* 100F54 802DDE64 AFB70018 */ sw $s7, 0x18($sp) /* 100F58 802DDE68 8E460000 */ lw $a2, ($s2) -/* 100F5C 802DDE6C 0C0B73B7 */ jal func_802DCEDC +/* 100F5C 802DDE6C 0C0B73B7 */ jal spr_draw_component /* 100F60 802DDE70 0280382D */ daddu $a3, $s4, $zero /* 100F64 802DDE74 8E420000 */ lw $v0, ($s2) /* 100F68 802DDE78 10510002 */ beq $v0, $s1, .L802DDE84 @@ -2600,7 +2600,7 @@ func_802DE0EC: /* 1012B8 802DE1C8 3C01802E */ lui $at, 0x802e /* 1012BC 802DE1CC 00340821 */ addu $at, $at, $s4 /* 1012C0 802DE1D0 A022F958 */ sb $v0, -0x6a8($at) -/* 1012C4 802DE1D4 0C0B7AC3 */ jal func_802DEB0C +/* 1012C4 802DE1D4 0C0B7AC3 */ jal load_sprite /* 1012C8 802DE1D8 0000282D */ daddu $a1, $zero, $zero /* 1012CC 802DE1DC 0040802D */ daddu $s0, $v0, $zero /* 1012D0 802DE1E0 00121080 */ sll $v0, $s2, 2 @@ -2855,7 +2855,7 @@ func_802DE50C: /* 101658 802DE568 E7B40014 */ swc1 $f20, 0x14($sp) /* 10165C 802DE56C AFB60018 */ sw $s6, 0x18($sp) /* 101660 802DE570 8E260000 */ lw $a2, ($s1) -/* 101664 802DE574 0C0B73B7 */ jal func_802DCEDC +/* 101664 802DE574 0C0B73B7 */ jal spr_draw_component /* 101668 802DE578 02A0382D */ daddu $a3, $s5, $zero /* 10166C 802DE57C 8E220000 */ lw $v0, ($s1) /* 101670 802DE580 10520002 */ beq $v0, $s2, .L802DE58C @@ -2953,7 +2953,7 @@ func_802DE5E8: /* 1017AC 802DE6BC AC20F5B0 */ sw $zero, -0xa50($at) /* 1017B0 802DE6C0 3C048035 */ lui $a0, 0x8035 /* 1017B4 802DE6C4 2484F800 */ addiu $a0, $a0, -0x800 -/* 1017B8 802DE6C8 0C00A487 */ jal func_8002921C +/* 1017B8 802DE6C8 0C00A487 */ jal _heap_free /* 1017BC 802DE6CC 0280282D */ daddu $a1, $s4, $zero .L802DE6D0: /* 1017C0 802DE6D0 3C02802E */ lui $v0, 0x802e @@ -2965,7 +2965,7 @@ func_802DE5E8: /* 1017D8 802DE6E8 3C048030 */ lui $a0, 0x8030 /* 1017DC 802DE6EC 2484B800 */ addiu $a0, $a0, -0x4800 .L802DE6F0: -/* 1017E0 802DE6F0 0C00A487 */ jal func_8002921C +/* 1017E0 802DE6F0 0C00A487 */ jal _heap_free /* 1017E4 802DE6F4 0200282D */ daddu $a1, $s0, $zero /* 1017E8 802DE6F8 0000102D */ daddu $v0, $zero, $zero /* 1017EC 802DE6FC 3C03802E */ lui $v1, 0x802e diff --git a/papermario/asm/giantchunk.s b/papermario/asm/giantchunk.s index 2e200a0699..6bec83a654 100644 --- a/papermario/asm/giantchunk.s +++ b/papermario/asm/giantchunk.s @@ -45,7 +45,7 @@ func_800DC500: /* 075A50 800DC5A0 AFA00010 */ sw $zero, 0x10($sp) /* 075A54 800DC5A4 E7B40014 */ swc1 $f20, 0x14($sp) /* 075A58 800DC5A8 AFA00018 */ sw $zero, 0x18($sp) -/* 075A5C 800DC5AC 0C017334 */ jal func_8005CCD0 +/* 075A5C 800DC5AC 0C017334 */ jal test_ray_colliders /* 075A60 800DC5B0 AFA20034 */ sw $v0, 0x34($sp) /* 075A64 800DC5B4 0040882D */ daddu $s1, $v0, $zero /* 075A68 800DC5B8 3C020004 */ lui $v0, 4 @@ -72,7 +72,7 @@ func_800DC500: /* 075ABC 800DC60C C66E0000 */ lwc1 $f14, ($s3) /* 075AC0 800DC610 8E860000 */ lw $a2, ($s4) /* 075AC4 800DC614 44070000 */ mfc1 $a3, $f0 -/* 075AC8 800DC618 0C017512 */ jal func_8005D448 +/* 075AC8 800DC618 0C017512 */ jal test_ray_entities /* 075ACC 800DC61C 00000000 */ nop /* 075AD0 800DC620 04400014 */ bltz $v0, .L800DC674 /* 075AD4 800DC624 00000000 */ nop @@ -128,7 +128,7 @@ func_800DC500: /* 075B94 800DC6E4 4600B386 */ mov.s $f14, $f22 /* 075B98 800DC6E8 E4400128 */ swc1 $f0, 0x128($v0) /* 075B9C 800DC6EC E442012C */ swc1 $f2, 0x12c($v0) -/* 075BA0 800DC6F0 0C00A720 */ jal func_80029C80 +/* 075BA0 800DC6F0 0C00A720 */ jal atan2 /* 075BA4 800DC6F4 E4440130 */ swc1 $f4, 0x130($v0) /* 075BA8 800DC6F8 C7A20048 */ lwc1 $f2, 0x48($sp) /* 075BAC 800DC6FC 46141082 */ mul.s $f2, $f2, $f20 @@ -143,7 +143,7 @@ func_800DC500: /* 075BD0 800DC720 44071000 */ mfc1 $a3, $f2 /* 075BD4 800DC724 46000007 */ neg.s $f0, $f0 /* 075BD8 800DC728 E440011C */ swc1 $f0, 0x11c($v0) -/* 075BDC 800DC72C 0C00A720 */ jal func_80029C80 +/* 075BDC 800DC72C 0C00A720 */ jal atan2 /* 075BE0 800DC730 E44C0120 */ swc1 $f12, 0x120($v0) /* 075BE4 800DC734 0220102D */ daddu $v0, $s1, $zero /* 075BE8 800DC738 8E030000 */ lw $v1, ($s0) @@ -214,7 +214,7 @@ func_800DC778: /* 075CD4 800DC824 46220003 */ div.d $f0, $f0, $f2 /* 075CD8 800DC828 C6820000 */ lwc1 $f2, ($s4) /* 075CDC 800DC82C 46200620 */ cvt.s.d $f24, $f0 -/* 075CE0 800DC830 0C00A6C9 */ jal func_80029B24 +/* 075CE0 800DC830 0C00A6C9 */ jal clamp_angle /* 075CE4 800DC834 46001685 */ abs.s $f26, $f2 /* 075CE8 800DC838 3C0140C9 */ lui $at, 0x40c9 /* 075CEC 800DC83C 34210FD0 */ ori $at, $at, 0xfd0 @@ -226,10 +226,10 @@ func_800DC778: /* 075D04 800DC854 44811000 */ mtc1 $at, $f2 /* 075D08 800DC858 00000000 */ nop /* 075D0C 800DC85C 46020503 */ div.s $f20, $f0, $f2 -/* 075D10 800DC860 0C00A85B */ jal func_8002A16C +/* 075D10 800DC860 0C00A85B */ jal sin_rad /* 075D14 800DC864 4600A306 */ mov.s $f12, $f20 /* 075D18 800DC868 46000586 */ mov.s $f22, $f0 -/* 075D1C 800DC86C 0C00A874 */ jal func_8002A1D0 +/* 075D1C 800DC86C 0C00A874 */ jal cos_rad /* 075D20 800DC870 4600A306 */ mov.s $f12, $f20 /* 075D24 800DC874 4616C102 */ mul.s $f4, $f24, $f22 /* 075D28 800DC878 00000000 */ nop @@ -278,7 +278,7 @@ func_800DC778: /* 075DD0 800DC920 3C0142F0 */ lui $at, 0x42f0 /* 075DD4 800DC924 44816000 */ mtc1 $at, $f12 /* 075DD8 800DC928 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 075DDC 800DC92C 0C00A6C9 */ jal func_80029B24 +/* 075DDC 800DC92C 0C00A6C9 */ jal clamp_angle /* 075DE0 800DC930 460C3300 */ add.s $f12, $f6, $f12 /* 075DE4 800DC934 3C0140C9 */ lui $at, 0x40c9 /* 075DE8 800DC938 34210FD0 */ ori $at, $at, 0xfd0 @@ -290,10 +290,10 @@ func_800DC778: /* 075E00 800DC950 44811000 */ mtc1 $at, $f2 /* 075E04 800DC954 00000000 */ nop /* 075E08 800DC958 46020503 */ div.s $f20, $f0, $f2 -/* 075E0C 800DC95C 0C00A85B */ jal func_8002A16C +/* 075E0C 800DC95C 0C00A85B */ jal sin_rad /* 075E10 800DC960 4600A306 */ mov.s $f12, $f20 /* 075E14 800DC964 46000586 */ mov.s $f22, $f0 -/* 075E18 800DC968 0C00A874 */ jal func_8002A1D0 +/* 075E18 800DC968 0C00A874 */ jal cos_rad /* 075E1C 800DC96C 4600A306 */ mov.s $f12, $f20 /* 075E20 800DC970 4616C102 */ mul.s $f4, $f24, $f22 /* 075E24 800DC974 00000000 */ nop @@ -338,7 +338,7 @@ func_800DC778: /* 075EBC 800DCA0C 3C0142F0 */ lui $at, 0x42f0 /* 075EC0 800DCA10 44816000 */ mtc1 $at, $f12 /* 075EC4 800DCA14 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 075EC8 800DCA18 0C00A6C9 */ jal func_80029B24 +/* 075EC8 800DCA18 0C00A6C9 */ jal clamp_angle /* 075ECC 800DCA1C 460C3301 */ sub.s $f12, $f6, $f12 /* 075ED0 800DCA20 3C0140C9 */ lui $at, 0x40c9 /* 075ED4 800DCA24 34210FD0 */ ori $at, $at, 0xfd0 @@ -350,10 +350,10 @@ func_800DC778: /* 075EEC 800DCA3C 44811000 */ mtc1 $at, $f2 /* 075EF0 800DCA40 00000000 */ nop /* 075EF4 800DCA44 46020503 */ div.s $f20, $f0, $f2 -/* 075EF8 800DCA48 0C00A85B */ jal func_8002A16C +/* 075EF8 800DCA48 0C00A85B */ jal sin_rad /* 075EFC 800DCA4C 4600A306 */ mov.s $f12, $f20 /* 075F00 800DCA50 46000586 */ mov.s $f22, $f0 -/* 075F04 800DCA54 0C00A874 */ jal func_8002A1D0 +/* 075F04 800DCA54 0C00A874 */ jal cos_rad /* 075F08 800DCA58 4600A306 */ mov.s $f12, $f20 /* 075F0C 800DCA5C 4616C102 */ mul.s $f4, $f24, $f22 /* 075F10 800DCA60 00000000 */ nop @@ -470,7 +470,7 @@ func_800DCB7C: /* 0760AC 800DCBFC E426C974 */ swc1 $f6, -0x368c($at) /* 0760B0 800DCC00 C6800000 */ lwc1 $f0, ($s4) /* 0760B4 800DCC04 44806000 */ mtc1 $zero, $f12 -/* 0760B8 800DCC08 0C00A6C9 */ jal func_80029B24 +/* 0760B8 800DCC08 0C00A6C9 */ jal clamp_angle /* 0760BC 800DCC0C 46000605 */ abs.s $f24, $f0 /* 0760C0 800DCC10 3C0140C9 */ lui $at, 0x40c9 /* 0760C4 800DCC14 34210FD0 */ ori $at, $at, 0xfd0 @@ -482,10 +482,10 @@ func_800DCB7C: /* 0760DC 800DCC2C 44811000 */ mtc1 $at, $f2 /* 0760E0 800DCC30 00000000 */ nop /* 0760E4 800DCC34 46020503 */ div.s $f20, $f0, $f2 -/* 0760E8 800DCC38 0C00A85B */ jal func_8002A16C +/* 0760E8 800DCC38 0C00A85B */ jal sin_rad /* 0760EC 800DCC3C 4600A306 */ mov.s $f12, $f20 /* 0760F0 800DCC40 46000586 */ mov.s $f22, $f0 -/* 0760F4 800DCC44 0C00A874 */ jal func_8002A1D0 +/* 0760F4 800DCC44 0C00A874 */ jal cos_rad /* 0760F8 800DCC48 4600A306 */ mov.s $f12, $f20 /* 0760FC 800DCC4C 3C014120 */ lui $at, 0x4120 /* 076100 800DCC50 44813000 */ mtc1 $at, $f6 @@ -535,7 +535,7 @@ func_800DCB7C: /* 0761AC 800DCCFC 3C014334 */ lui $at, 0x4334 /* 0761B0 800DCD00 44816000 */ mtc1 $at, $f12 /* 0761B4 800DCD04 44803000 */ mtc1 $zero, $f6 -/* 0761B8 800DCD08 0C00A6C9 */ jal func_80029B24 +/* 0761B8 800DCD08 0C00A6C9 */ jal clamp_angle /* 0761BC 800DCD0C 460C3300 */ add.s $f12, $f6, $f12 /* 0761C0 800DCD10 3C0140C9 */ lui $at, 0x40c9 /* 0761C4 800DCD14 34210FD0 */ ori $at, $at, 0xfd0 @@ -547,10 +547,10 @@ func_800DCB7C: /* 0761DC 800DCD2C 44811000 */ mtc1 $at, $f2 /* 0761E0 800DCD30 00000000 */ nop /* 0761E4 800DCD34 46020503 */ div.s $f20, $f0, $f2 -/* 0761E8 800DCD38 0C00A85B */ jal func_8002A16C +/* 0761E8 800DCD38 0C00A85B */ jal sin_rad /* 0761EC 800DCD3C 4600A306 */ mov.s $f12, $f20 /* 0761F0 800DCD40 46000586 */ mov.s $f22, $f0 -/* 0761F4 800DCD44 0C00A874 */ jal func_8002A1D0 +/* 0761F4 800DCD44 0C00A874 */ jal cos_rad /* 0761F8 800DCD48 4600A306 */ mov.s $f12, $f20 /* 0761FC 800DCD4C 3C014120 */ lui $at, 0x4120 /* 076200 800DCD50 44813000 */ mtc1 $at, $f6 @@ -675,7 +675,7 @@ func_800DCE70: /* 0763C4 800DCF14 AFA00010 */ sw $zero, 0x10($sp) /* 0763C8 800DCF18 E7BA0014 */ swc1 $f26, 0x14($sp) /* 0763CC 800DCF1C AFA00018 */ sw $zero, 0x18($sp) -/* 0763D0 800DCF20 0C017334 */ jal func_8005CCD0 +/* 0763D0 800DCF20 0C017334 */ jal test_ray_colliders /* 0763D4 800DCF24 AFA20034 */ sw $v0, 0x34($sp) /* 0763D8 800DCF28 0040882D */ daddu $s1, $v0, $zero /* 0763DC 800DCF2C 3C020004 */ lui $v0, 4 @@ -702,7 +702,7 @@ func_800DCE70: /* 076430 800DCF80 4600C386 */ mov.s $f14, $f24 /* 076434 800DCF84 E7BA0010 */ swc1 $f26, 0x10($sp) /* 076438 800DCF88 AFA20030 */ sw $v0, 0x30($sp) -/* 07643C 800DCF8C 0C017512 */ jal func_8005D448 +/* 07643C 800DCF8C 0C017512 */ jal test_ray_entities /* 076440 800DCF90 AFA70014 */ sw $a3, 0x14($sp) /* 076444 800DCF94 04400010 */ bltz $v0, .L800DCFD8 /* 076448 800DCF98 34434000 */ ori $v1, $v0, 0x4000 @@ -803,7 +803,7 @@ func_800DD04C: /* 0765A0 800DD0F0 AFA00010 */ sw $zero, 0x10($sp) /* 0765A4 800DD0F4 E7A20014 */ swc1 $f2, 0x14($sp) /* 0765A8 800DD0F8 AFA00018 */ sw $zero, 0x18($sp) -/* 0765AC 800DD0FC 0C017334 */ jal func_8005CCD0 +/* 0765AC 800DD0FC 0C017334 */ jal test_ray_colliders /* 0765B0 800DD100 AFA20034 */ sw $v0, 0x34($sp) /* 0765B4 800DD104 4600C686 */ mov.s $f26, $f24 /* 0765B8 800DD108 4600B706 */ mov.s $f28, $f22 @@ -850,7 +850,7 @@ func_800DD04C: /* 076654 800DD1A4 44072000 */ mfc1 $a3, $f4 /* 076658 800DD1A8 C64C0000 */ lwc1 $f12, ($s2) /* 07665C 800DD1AC C66E0000 */ lwc1 $f14, ($s3) -/* 076660 800DD1B0 0C017512 */ jal func_8005D448 +/* 076660 800DD1B0 0C017512 */ jal test_ray_entities /* 076664 800DD1B4 4600F506 */ mov.s $f20, $f30 /* 076668 800DD1B8 0442000D */ bltzl $v0, .L800DD1F0 /* 07666C 800DD1BC 0200102D */ daddu $v0, $s0, $zero @@ -913,13 +913,13 @@ func_800DD04C: /* 076748 800DD298 F7B80060 */ sdc1 $f24, 0x60($sp) /* 07674C 800DD29C AFA70084 */ sw $a3, 0x84($sp) /* 076750 800DD2A0 4600A503 */ div.s $f20, $f20, $f0 -/* 076754 800DD2A4 0C00A85B */ jal func_8002A16C +/* 076754 800DD2A4 0C00A85B */ jal sin_rad /* 076758 800DD2A8 4600A306 */ mov.s $f12, $f20 /* 07675C 800DD2AC 4600B702 */ mul.s $f28, $f22, $f0 /* 076760 800DD2B0 00000000 */ nop /* 076764 800DD2B4 2414FFFF */ addiu $s4, $zero, -1 /* 076768 800DD2B8 4600A306 */ mov.s $f12, $f20 -/* 07676C 800DD2BC 0C00A874 */ jal func_8002A1D0 +/* 07676C 800DD2BC 0C00A874 */ jal cos_rad /* 076770 800DD2C0 4600B587 */ neg.s $f22, $f22 /* 076774 800DD2C4 02A0202D */ daddu $a0, $s5, $zero /* 076778 800DD2C8 27B30018 */ addiu $s3, $sp, 0x18 @@ -1072,7 +1072,7 @@ func_800DD44C: /* 0769B0 800DD500 AFB50028 */ sw $s5, 0x28($sp) /* 0769B4 800DD504 AFB6002C */ sw $s6, 0x2c($sp) /* 0769B8 800DD508 AFB70030 */ sw $s7, 0x30($sp) -/* 0769BC 800DD50C 0C017334 */ jal func_8005CCD0 +/* 0769BC 800DD50C 0C017334 */ jal test_ray_colliders /* 0769C0 800DD510 AFBE0034 */ sw $fp, 0x34($sp) /* 0769C4 800DD514 0040802D */ daddu $s0, $v0, $zero /* 0769C8 800DD518 3C020004 */ lui $v0, 4 @@ -1092,7 +1092,7 @@ func_800DD44C: /* 0769FC 800DD54C AFB50024 */ sw $s5, 0x24($sp) /* 076A00 800DD550 AFB60028 */ sw $s6, 0x28($sp) /* 076A04 800DD554 AFB7002C */ sw $s7, 0x2c($sp) -/* 076A08 800DD558 0C017512 */ jal func_8005D448 +/* 076A08 800DD558 0C017512 */ jal test_ray_entities /* 076A0C 800DD55C AFBE0030 */ sw $fp, 0x30($sp) /* 076A10 800DD560 04430001 */ bgezl $v0, .L800DD568 /* 076A14 800DD564 34504000 */ ori $s0, $v0, 0x4000 @@ -1175,7 +1175,7 @@ func_800DD618: /* 076B30 800DD680 F7BC00A8 */ sdc1 $f28, 0xa8($sp) /* 076B34 800DD684 F7BA00A0 */ sdc1 $f26, 0xa0($sp) /* 076B38 800DD688 F7B60090 */ sdc1 $f22, 0x90($sp) -/* 076B3C 800DD68C 0C00A82D */ jal func_8002A0B4 +/* 076B3C 800DD68C 0C00A82D */ jal sin_cos_rad /* 076B40 800DD690 46006303 */ div.s $f12, $f12, $f0 /* 076B44 800DD694 C7A40038 */ lwc1 $f4, 0x38($sp) /* 076B48 800DD698 4604C702 */ mul.s $f28, $f24, $f4 @@ -1257,7 +1257,7 @@ func_800DD618: /* 076C74 800DD7C4 44806000 */ mtc1 $zero, $f12 /* 076C78 800DD7C8 46000007 */ neg.s $f0, $f0 /* 076C7C 800DD7CC 44070000 */ mfc1 $a3, $f0 -/* 076C80 800DD7D0 0C00A720 */ jal func_80029C80 +/* 076C80 800DD7D0 0C00A720 */ jal atan2 /* 076C84 800DD7D4 46006386 */ mov.s $f14, $f12 /* 076C88 800DD7D8 3C014270 */ lui $at, 0x4270 /* 076C8C 800DD7DC 44811000 */ mtc1 $at, $f2 @@ -1364,7 +1364,7 @@ func_800DD8FC: /* 076E0C 800DD95C AFB20068 */ sw $s2, 0x68($sp) /* 076E10 800DD960 F7BA0090 */ sdc1 $f26, 0x90($sp) /* 076E14 800DD964 F7B80088 */ sdc1 $f24, 0x88($sp) -/* 076E18 800DD968 0C00A82D */ jal func_8002A0B4 +/* 076E18 800DD968 0C00A82D */ jal sin_cos_rad /* 076E1C 800DD96C 46006303 */ div.s $f12, $f12, $f0 /* 076E20 800DD970 3C013F00 */ lui $at, 0x3f00 /* 076E24 800DD974 44813000 */ mtc1 $at, $f6 @@ -1790,7 +1790,7 @@ func_800DDD94: /* 077478 800DDFC8 27BD0070 */ addiu $sp, $sp, 0x70 /* 07747C 800DDFCC 00000000 */ nop -func_800DDFD0: +test_below_player: /* 077480 800DDFD0 27BDFF80 */ addiu $sp, $sp, -0x80 /* 077484 800DDFD4 AFB40038 */ sw $s4, 0x38($sp) /* 077488 800DDFD8 8FB40090 */ lw $s4, 0x90($sp) @@ -1835,7 +1835,7 @@ func_800DDFD0: /* 077524 800DE074 C63E0000 */ lwc1 $f30, ($s1) /* 077528 800DE078 46007502 */ mul.s $f20, $f14, $f0 /* 07752C 800DE07C 00000000 */ nop -/* 077530 800DE080 0C00A82D */ jal func_8002A0B4 +/* 077530 800DE080 0C00A82D */ jal sin_cos_rad /* 077534 800DE084 460C1303 */ div.s $f12, $f2, $f12 /* 077538 800DE088 C7A00010 */ lwc1 $f0, 0x10($sp) /* 07753C 800DE08C 4600A582 */ mul.s $f22, $f20, $f0 @@ -1857,7 +1857,7 @@ func_800DDFD0: /* 07757C 800DE0CC 4614D000 */ add.s $f0, $f26, $f20 /* 077580 800DE0D0 E7B8001C */ swc1 $f24, 0x1c($sp) /* 077584 800DE0D4 E7A20018 */ swc1 $f2, 0x18($sp) -/* 077588 800DE0D8 0C037953 */ jal func_800DE54C +/* 077588 800DE0D8 0C037953 */ jal trace_below_player /* 07758C 800DE0DC E7A00020 */ swc1 $f0, 0x20($sp) /* 077590 800DE0E0 0040202D */ daddu $a0, $v0, $zero /* 077594 800DE0E4 0482001E */ bltzl $a0, .L800DE160 @@ -1900,7 +1900,7 @@ func_800DDFD0: /* 077624 800DE174 E7B8001C */ swc1 $f24, 0x1c($sp) /* 077628 800DE178 E7BE0024 */ swc1 $f30, 0x24($sp) /* 07762C 800DE17C E7A20018 */ swc1 $f2, 0x18($sp) -/* 077630 800DE180 0C037953 */ jal func_800DE54C +/* 077630 800DE180 0C037953 */ jal trace_below_player /* 077634 800DE184 E7A00020 */ swc1 $f0, 0x20($sp) /* 077638 800DE188 0040202D */ daddu $a0, $v0, $zero /* 07763C 800DE18C 04820020 */ bltzl $a0, .L800DE210 @@ -1945,7 +1945,7 @@ func_800DDFD0: /* 0776D4 800DE224 E7B8001C */ swc1 $f24, 0x1c($sp) /* 0776D8 800DE228 E7BE0024 */ swc1 $f30, 0x24($sp) /* 0776DC 800DE22C E7A20018 */ swc1 $f2, 0x18($sp) -/* 0776E0 800DE230 0C037953 */ jal func_800DE54C +/* 0776E0 800DE230 0C037953 */ jal trace_below_player /* 0776E4 800DE234 E7A00020 */ swc1 $f0, 0x20($sp) /* 0776E8 800DE238 0040202D */ daddu $a0, $v0, $zero /* 0776EC 800DE23C 0482001E */ bltzl $a0, .L800DE2B8 @@ -1988,7 +1988,7 @@ func_800DDFD0: /* 07777C 800DE2CC E7B8001C */ swc1 $f24, 0x1c($sp) /* 077780 800DE2D0 E7BE0024 */ swc1 $f30, 0x24($sp) /* 077784 800DE2D4 E7A20018 */ swc1 $f2, 0x18($sp) -/* 077788 800DE2D8 0C037953 */ jal func_800DE54C +/* 077788 800DE2D8 0C037953 */ jal trace_below_player /* 07778C 800DE2DC E7A00020 */ swc1 $f0, 0x20($sp) /* 077790 800DE2E0 0040202D */ daddu $a0, $v0, $zero /* 077794 800DE2E4 04820020 */ bltzl $a0, .L800DE368 @@ -2031,7 +2031,7 @@ func_800DDFD0: /* 077824 800DE374 E7BC0018 */ swc1 $f28, 0x18($sp) /* 077828 800DE378 E7B8001C */ swc1 $f24, 0x1c($sp) /* 07782C 800DE37C E7BA0020 */ swc1 $f26, 0x20($sp) -/* 077830 800DE380 0C037953 */ jal func_800DE54C +/* 077830 800DE380 0C037953 */ jal trace_below_player /* 077834 800DE384 E7BE0024 */ swc1 $f30, 0x24($sp) /* 077838 800DE388 0040202D */ daddu $a0, $v0, $zero /* 07783C 800DE38C 0480001D */ bltz $a0, .L800DE404 @@ -2146,13 +2146,13 @@ func_800DE46C: /* 0779DC 800DE52C 44837000 */ mtc1 $v1, $f14 /* 0779E0 800DE530 00000000 */ nop /* 0779E4 800DE534 468073A0 */ cvt.s.w $f14, $f14 -/* 0779E8 800DE538 0C0377F4 */ jal func_800DDFD0 +/* 0779E8 800DE538 0C0377F4 */ jal test_below_player /* 0779EC 800DE53C AFA20024 */ sw $v0, 0x24($sp) /* 0779F0 800DE540 8FBF0028 */ lw $ra, 0x28($sp) /* 0779F4 800DE544 03E00008 */ jr $ra /* 0779F8 800DE548 27BD0030 */ addiu $sp, $sp, 0x30 -func_800DE54C: +trace_below_player: /* 0779FC 800DE54C 27BDFF78 */ addiu $sp, $sp, -0x88 /* 077A00 800DE550 AFB20060 */ sw $s2, 0x60($sp) /* 077A04 800DE554 0080902D */ daddu $s2, $a0, $zero @@ -2192,12 +2192,12 @@ func_800DE54C: /* 077A8C 800DE5DC C66E0000 */ lwc1 $f14, ($s3) /* 077A90 800DE5E0 8E860000 */ lw $a2, ($s4) /* 077A94 800DE5E4 44072000 */ mfc1 $a3, $f4 -/* 077A98 800DE5E8 0C017512 */ jal func_8005D448 +/* 077A98 800DE5E8 0C017512 */ jal test_ray_entities /* 077A9C 800DE5EC 2411FFFF */ addiu $s1, $zero, -1 /* 077AA0 800DE5F0 0040802D */ daddu $s0, $v0, $zero /* 077AA4 800DE5F4 0600000E */ bltz $s0, .L800DE630 /* 077AA8 800DE5F8 00000000 */ nop -/* 077AAC 800DE5FC 0C04417A */ jal func_801105E8 +/* 077AAC 800DE5FC 0C04417A */ jal get_entity_by_index /* 077AB0 800DE600 0200202D */ daddu $a0, $s0, $zero /* 077AB4 800DE604 0040202D */ daddu $a0, $v0, $zero /* 077AB8 800DE608 9082000B */ lbu $v0, 0xb($a0) @@ -2236,7 +2236,7 @@ func_800DE630: /* 077B2C 800DE67C 8E660000 */ lw $a2, ($s3) /* 077B30 800DE680 8E870000 */ lw $a3, ($s4) /* 077B34 800DE684 8E450000 */ lw $a1, ($s2) -/* 077B38 800DE688 0C017334 */ jal func_8005CCD0 +/* 077B38 800DE688 0C017334 */ jal test_ray_colliders /* 077B3C 800DE68C 3C040001 */ lui $a0, 1 /* 077B40 800DE690 04430001 */ bgezl $v0, .L800DE698 /* 077B44 800DE694 0040882D */ daddu $s1, $v0, $zero @@ -2259,11 +2259,11 @@ func_800DE630: /* 077B84 800DE6D4 C7A40050 */ lwc1 $f4, 0x50($sp) /* 077B88 800DE6D8 E4400128 */ swc1 $f0, 0x128($v0) /* 077B8C 800DE6DC E442012C */ swc1 $f2, 0x12c($v0) -/* 077B90 800DE6E0 0C00A788 */ jal func_80029E20 +/* 077B90 800DE6E0 0C00A788 */ jal get_player_normal_yaw /* 077B94 800DE6E4 E4440130 */ swc1 $f4, 0x130($v0) /* 077B98 800DE6E8 3C018011 */ lui $at, 0x8011 /* 077B9C 800DE6EC E420C938 */ swc1 $f0, -0x36c8($at) -/* 077BA0 800DE6F0 0C00A794 */ jal func_80029E50 +/* 077BA0 800DE6F0 0C00A794 */ jal get_player_normal_pitch /* 077BA4 800DE6F4 00000000 */ nop /* 077BA8 800DE6F8 C7A40050 */ lwc1 $f4, 0x50($sp) /* 077BAC 800DE6FC 3C014059 */ lui $at, 0x4059 @@ -2284,7 +2284,7 @@ func_800DE630: /* 077BE8 800DE738 462010A0 */ cvt.s.d $f2, $f2 /* 077BEC 800DE73C 44062000 */ mfc1 $a2, $f4 /* 077BF0 800DE740 44071000 */ mfc1 $a3, $f2 -/* 077BF4 800DE744 0C00A720 */ jal func_80029C80 +/* 077BF4 800DE744 0C00A720 */ jal atan2 /* 077BF8 800DE748 4600B386 */ mov.s $f14, $f22 /* 077BFC 800DE74C C7A40048 */ lwc1 $f4, 0x48($sp) /* 077C00 800DE750 46002121 */ cvt.d.s $f4, $f4 @@ -2302,7 +2302,7 @@ func_800DE630: /* 077C30 800DE780 44071000 */ mfc1 $a3, $f2 /* 077C34 800DE784 46006386 */ mov.s $f14, $f12 /* 077C38 800DE788 E440011C */ swc1 $f0, 0x11c($v0) -/* 077C3C 800DE78C 0C00A720 */ jal func_80029C80 +/* 077C3C 800DE78C 0C00A720 */ jal atan2 /* 077C40 800DE790 E44C0120 */ swc1 $f12, 0x120($v0) /* 077C44 800DE794 8E020000 */ lw $v0, ($s0) /* 077C48 800DE798 080379ED */ j func_800DE7B4 @@ -2368,11 +2368,11 @@ func_800DE7E4: /* 077D24 800DE874 4602B582 */ mul.s $f22, $f22, $f2 /* 077D28 800DE878 00000000 */ nop /* 077D2C 800DE87C 4600A503 */ div.s $f20, $f20, $f0 -/* 077D30 800DE880 0C00A85B */ jal func_8002A16C +/* 077D30 800DE880 0C00A85B */ jal sin_rad /* 077D34 800DE884 4600A306 */ mov.s $f12, $f20 /* 077D38 800DE888 4600B702 */ mul.s $f28, $f22, $f0 /* 077D3C 800DE88C 00000000 */ nop -/* 077D40 800DE890 0C00A874 */ jal func_8002A1D0 +/* 077D40 800DE890 0C00A874 */ jal cos_rad /* 077D44 800DE894 4600A306 */ mov.s $f12, $f20 /* 077D48 800DE898 27B30010 */ addiu $s3, $sp, 0x10 /* 077D4C 800DE89C 0260202D */ daddu $a0, $s3, $zero @@ -2394,7 +2394,7 @@ func_800DE7E4: /* 077D8C 800DE8DC 461AA000 */ add.s $f0, $f20, $f26 /* 077D90 800DE8E0 E7B80014 */ swc1 $f24, 0x14($sp) /* 077D94 800DE8E4 E7A20010 */ swc1 $f2, 0x10($sp) -/* 077D98 800DE8E8 0C037A82 */ jal func_800DEA08 +/* 077D98 800DE8E8 0C037A82 */ jal trace_above_player /* 077D9C 800DE8EC E7A00018 */ swc1 $f0, 0x18($sp) /* 077DA0 800DE8F0 04410022 */ bgez $v0, .L800DE97C /* 077DA4 800DE8F4 0260202D */ daddu $a0, $s3, $zero @@ -2405,7 +2405,7 @@ func_800DE7E4: /* 077DB8 800DE908 461AA001 */ sub.s $f0, $f20, $f26 /* 077DBC 800DE90C E7B80014 */ swc1 $f24, 0x14($sp) /* 077DC0 800DE910 E7A20010 */ swc1 $f2, 0x10($sp) -/* 077DC4 800DE914 0C037A82 */ jal func_800DEA08 +/* 077DC4 800DE914 0C037A82 */ jal trace_above_player /* 077DC8 800DE918 E7A00018 */ swc1 $f0, 0x18($sp) /* 077DCC 800DE91C 04410017 */ bgez $v0, .L800DE97C /* 077DD0 800DE920 0260202D */ daddu $a0, $s3, $zero @@ -2416,7 +2416,7 @@ func_800DE7E4: /* 077DE4 800DE934 461CA000 */ add.s $f0, $f20, $f28 /* 077DE8 800DE938 E7B80014 */ swc1 $f24, 0x14($sp) /* 077DEC 800DE93C E7A20010 */ swc1 $f2, 0x10($sp) -/* 077DF0 800DE940 0C037A82 */ jal func_800DEA08 +/* 077DF0 800DE940 0C037A82 */ jal trace_above_player /* 077DF4 800DE944 E7A00018 */ swc1 $f0, 0x18($sp) /* 077DF8 800DE948 0441000C */ bgez $v0, .L800DE97C /* 077DFC 800DE94C 0260202D */ daddu $a0, $s3, $zero @@ -2427,7 +2427,7 @@ func_800DE7E4: /* 077E10 800DE960 461CA001 */ sub.s $f0, $f20, $f28 /* 077E14 800DE964 E7B80014 */ swc1 $f24, 0x14($sp) /* 077E18 800DE968 E7A20010 */ swc1 $f2, 0x10($sp) -/* 077E1C 800DE96C 0C037A82 */ jal func_800DEA08 +/* 077E1C 800DE96C 0C037A82 */ jal trace_above_player /* 077E20 800DE970 E7A00018 */ swc1 $f0, 0x18($sp) /* 077E24 800DE974 0440000A */ bltz $v0, .L800DE9A0 /* 077E28 800DE978 00000000 */ nop @@ -2470,7 +2470,7 @@ func_800DE7E4: /* 077EB0 800DEA00 03E00008 */ jr $ra /* 077EB4 800DEA04 27BD0070 */ addiu $sp, $sp, 0x70 -func_800DEA08: +trace_above_player: /* 077EB8 800DEA08 27BDFF58 */ addiu $sp, $sp, -0xa8 /* 077EBC 800DEA0C AFB30064 */ sw $s3, 0x64($sp) /* 077EC0 800DEA10 0080982D */ daddu $s3, $a0, $zero @@ -2517,7 +2517,7 @@ func_800DEA08: /* 077F64 800DEAB4 AFA00010 */ sw $zero, 0x10($sp) /* 077F68 800DEAB8 E7A20014 */ swc1 $f2, 0x14($sp) /* 077F6C 800DEABC AFA00018 */ sw $zero, 0x18($sp) -/* 077F70 800DEAC0 0C017334 */ jal func_8005CCD0 +/* 077F70 800DEAC0 0C017334 */ jal test_ray_colliders /* 077F74 800DEAC4 AFA20034 */ sw $v0, 0x34($sp) /* 077F78 800DEAC8 0040802D */ daddu $s0, $v0, $zero /* 077F7C 800DEACC 4600C686 */ mov.s $f26, $f24 @@ -2565,7 +2565,7 @@ func_800DEA08: /* 07801C 800DEB6C 44072000 */ mfc1 $a3, $f4 /* 078020 800DEB70 C66C0000 */ lwc1 $f12, ($s3) /* 078024 800DEB74 C68E0000 */ lwc1 $f14, ($s4) -/* 078028 800DEB78 0C017512 */ jal func_8005D448 +/* 078028 800DEB78 0C017512 */ jal test_ray_entities /* 07802C 800DEB7C 4600F506 */ mov.s $f20, $f30 /* 078030 800DEB80 0040802D */ daddu $s0, $v0, $zero /* 078034 800DEB84 06000010 */ bltz $s0, .L800DEBC8 @@ -2576,7 +2576,7 @@ func_800DEA08: /* 078048 800DEB98 00000000 */ nop /* 07804C 800DEB9C 4500000A */ bc1f .L800DEBC8 /* 078050 800DEBA0 00000000 */ nop -/* 078054 800DEBA4 0C04417A */ jal func_801105E8 +/* 078054 800DEBA4 0C04417A */ jal get_entity_by_index /* 078058 800DEBA8 0200202D */ daddu $a0, $s0, $zero /* 07805C 800DEBAC C7A00044 */ lwc1 $f0, 0x44($sp) /* 078060 800DEBB0 36114000 */ ori $s1, $s0, 0x4000 @@ -2657,7 +2657,7 @@ func_800DECA8: /* 078174 800DECC4 3C0143B4 */ lui $at, 0x43b4 /* 078178 800DECC8 44810000 */ mtc1 $at, $f0 /* 07817C 800DECCC 27A6003C */ addiu $a2, $sp, 0x3c -/* 078180 800DECD0 0C00A82D */ jal func_8002A0B4 +/* 078180 800DECD0 0C00A82D */ jal sin_cos_rad /* 078184 800DECD4 46006303 */ div.s $f12, $f12, $f0 /* 078188 800DECD8 461CA080 */ add.s $f2, $f20, $f28 /* 07818C 800DECDC C7A0003C */ lwc1 $f0, 0x3c($sp) @@ -2806,12 +2806,12 @@ func_800DEE5C: /* 0783B0 800DEF00 AFBE0024 */ sw $fp, 0x24($sp) /* 0783B4 800DEF04 AFA80028 */ sw $t0, 0x28($sp) /* 0783B8 800DEF08 AFB4002C */ sw $s4, 0x2c($sp) -/* 0783BC 800DEF0C 0C017512 */ jal func_8005D448 +/* 0783BC 800DEF0C 0C017512 */ jal test_ray_entities /* 0783C0 800DEF10 AFB30030 */ sw $s3, 0x30($sp) /* 0783C4 800DEF14 0040802D */ daddu $s0, $v0, $zero /* 0783C8 800DEF18 0600000D */ bltz $s0, .L800DEF50 /* 0783CC 800DEF1C 24020003 */ addiu $v0, $zero, 3 -/* 0783D0 800DEF20 0C04417A */ jal func_801105E8 +/* 0783D0 800DEF20 0C04417A */ jal get_entity_by_index /* 0783D4 800DEF24 0200202D */ daddu $a0, $s0, $zero /* 0783D8 800DEF28 0040182D */ daddu $v1, $v0, $zero /* 0783DC 800DEF2C 9062000B */ lbu $v0, 0xb($v1) @@ -2841,7 +2841,7 @@ func_800DEE5C: /* 078434 800DEF84 AFBE0028 */ sw $fp, 0x28($sp) /* 078438 800DEF88 AFB40030 */ sw $s4, 0x30($sp) /* 07843C 800DEF8C AFB30034 */ sw $s3, 0x34($sp) -/* 078440 800DEF90 0C017334 */ jal func_8005CCD0 +/* 078440 800DEF90 0C017334 */ jal test_ray_colliders /* 078444 800DEF94 AFA8002C */ sw $t0, 0x2c($sp) /* 078448 800DEF98 0040882D */ daddu $s1, $v0, $zero func_800DEF9C: @@ -2869,7 +2869,7 @@ func_800DEF9C: /* 078494 800DEFE4 AFBE0028 */ sw $fp, 0x28($sp) /* 078498 800DEFE8 AFB40030 */ sw $s4, 0x30($sp) /* 07849C 800DEFEC AFB30034 */ sw $s3, 0x34($sp) -/* 0784A0 800DEFF0 0C017334 */ jal func_8005CCD0 +/* 0784A0 800DEFF0 0C017334 */ jal test_ray_colliders /* 0784A4 800DEFF4 AFA8002C */ sw $t0, 0x2c($sp) /* 0784A8 800DEFF8 06210004 */ bgez $s1, .L800DF00C /* 0784AC 800DEFFC 00000000 */ nop @@ -2895,7 +2895,7 @@ func_800DEF9C: /* 0784F8 800DF048 46200020 */ cvt.s.d $f0, $f0 /* 0784FC 800DF04C 44061000 */ mfc1 $a2, $f2 /* 078500 800DF050 44070000 */ mfc1 $a3, $f0 -/* 078504 800DF054 0C00A720 */ jal func_80029C80 +/* 078504 800DF054 0C00A720 */ jal atan2 /* 078508 800DF058 4600B386 */ mov.s $f14, $f22 /* 07850C 800DF05C C6820000 */ lwc1 $f2, ($s4) /* 078510 800DF060 460010A1 */ cvt.d.s $f2, $f2 @@ -2914,7 +2914,7 @@ func_800DEF9C: /* 078544 800DF094 44071000 */ mfc1 $a3, $f2 /* 078548 800DF098 46202120 */ cvt.s.d $f4, $f4 /* 07854C 800DF09C 44062000 */ mfc1 $a2, $f4 -/* 078550 800DF0A0 0C00A720 */ jal func_80029C80 +/* 078550 800DF0A0 0C00A720 */ jal atan2 /* 078554 800DF0A4 46006386 */ mov.s $f14, $f12 /* 078558 800DF0A8 3C0142B4 */ lui $at, 0x42b4 /* 07855C 800DF0AC 44811000 */ mtc1 $at, $f2 @@ -3007,7 +3007,7 @@ func_800DF15C: /* 0786A4 800DF1F4 3C0143B4 */ lui $at, 0x43b4 /* 0786A8 800DF1F8 44816000 */ mtc1 $at, $f12 /* 0786AC 800DF1FC C7B800B0 */ lwc1 $f24, 0xb0($sp) -/* 0786B0 800DF200 0C00A82D */ jal func_8002A0B4 +/* 0786B0 800DF200 0C00A82D */ jal sin_cos_rad /* 0786B4 800DF204 460C1303 */ div.s $f12, $f2, $f12 /* 0786B8 800DF208 4616C500 */ add.s $f20, $f24, $f22 /* 0786BC 800DF20C C7A0003C */ lwc1 $f0, 0x3c($sp) @@ -3165,7 +3165,7 @@ func_800DF3FC: /* 078908 800DF458 03E00008 */ jr $ra /* 07890C 800DF45C E4A80000 */ swc1 $f8, ($a1) -func_800DF460: +test_player_lateral: /* 078910 800DF460 27BDFF48 */ addiu $sp, $sp, -0xb8 /* 078914 800DF464 AFB40078 */ sw $s4, 0x78($sp) /* 078918 800DF468 0080A02D */ daddu $s4, $a0, $zero @@ -3212,7 +3212,7 @@ func_800DF460: /* 0789B8 800DF508 46800020 */ cvt.s.w $f0, $f0 /* 0789BC 800DF50C 46020782 */ mul.s $f30, $f0, $f2 /* 0789C0 800DF510 00000000 */ nop -/* 0789C4 800DF514 0C00A82D */ jal func_8002A0B4 +/* 0789C4 800DF514 0C00A82D */ jal sin_cos_rad /* 0789C8 800DF518 460C2303 */ div.s $f12, $f4, $f12 /* 0789CC 800DF51C 27A20040 */ addiu $v0, $sp, 0x40 /* 0789D0 800DF520 461EE580 */ add.s $f22, $f28, $f30 @@ -3407,7 +3407,7 @@ func_800DF740: /* 078CA8 800DF7F8 34420004 */ ori $v0, $v0, 4 /* 078CAC 800DF7FC 00821025 */ or $v0, $a0, $v0 /* 078CB0 800DF800 2404FFFC */ addiu $a0, $zero, -4 -/* 078CB4 800DF804 0C00EABB */ jal func_8003AAEC +/* 078CB4 800DF804 0C00EABB */ jal get_npc_unsafe /* 078CB8 800DF808 AE020004 */ sw $v0, 4($s0) /* 078CBC 800DF80C 86030016 */ lh $v1, 0x16($s0) /* 078CC0 800DF810 44830000 */ mtc1 $v1, $f0 @@ -3518,10 +3518,10 @@ func_800DF8FC: /* 078E34 800DF984 30421000 */ andi $v0, $v0, 0x1000 /* 078E38 800DF988 14400003 */ bnez $v0, .L800DF998 /* 078E3C 800DF98C 00000000 */ nop -/* 078E40 800DF990 0C039CA3 */ jal func_800E728C +/* 078E40 800DF990 0C039CA3 */ jal check_input_status_menu /* 078E44 800DF994 00000000 */ nop .L800DF998: -/* 078E48 800DF998 0C0386F1 */ jal func_800E1BC4 +/* 078E48 800DF998 0C0386F1 */ jal update_below_player /* 078E4C 800DF99C 00000000 */ nop /* 078E50 800DF9A0 0C038206 */ jal func_800E0818 /* 078E54 800DF9A4 00000000 */ nop @@ -3548,7 +3548,7 @@ func_800DF8FC: /* 078EA8 800DF9F8 03E00008 */ jr $ra /* 078EAC 800DF9FC 27BD0020 */ addiu $sp, $sp, 0x20 -func_800DFA00: +check_input_use_partner: /* 078EB0 800DFA00 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078EB4 800DFA04 3C038011 */ lui $v1, 0x8011 /* 078EB8 800DFA08 2463EFC8 */ addiu $v1, $v1, -0x1038 @@ -3589,7 +3589,7 @@ func_800DFA00: /* 078F40 800DFA90 3C01802C */ lui $at, 0x802c /* 078F44 800DFA94 AC22DF60 */ sw $v0, -0x20a0($at) .L800DFA98: -/* 078F48 800DFA98 0C03ACC5 */ jal func_800EB314 +/* 078F48 800DFA98 0C03ACC5 */ jal use_partner_ability /* 078F4C 800DFA9C 00000000 */ nop .L800DFAA0: /* 078F50 800DFAA0 8FBF0010 */ lw $ra, 0x10($sp) @@ -3599,7 +3599,7 @@ func_800DFA00: func_800DFAAC: /* 078F5C 800DFAAC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078F60 800DFAB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 078F64 800DFAB4 0C037E80 */ jal func_800DFA00 +/* 078F64 800DFAB4 0C037E80 */ jal check_input_use_partner /* 078F68 800DFAB8 AFB00010 */ sw $s0, 0x10($sp) /* 078F6C 800DFABC 0C03968B */ jal func_800E5A2C /* 078F70 800DFAC0 00000000 */ nop @@ -3624,7 +3624,7 @@ func_800DFAAC: /* 078FB8 800DFB08 0C038C40 */ jal func_800E3100 /* 078FBC 800DFB0C 00000000 */ nop .L800DFB10: -/* 078FC0 800DFB10 0C0393F3 */ jal func_800E4FCC +/* 078FC0 800DFB10 0C0393F3 */ jal check_input_midair_jump /* 078FC4 800DFB14 00000000 */ nop /* 078FC8 800DFB18 820300B4 */ lb $v1, 0xb4($s0) /* 078FCC 800DFB1C 24020011 */ addiu $v0, $zero, 0x11 @@ -3712,12 +3712,12 @@ func_800DFBE8: /* 0790F8 800DFC48 03E00008 */ jr $ra /* 0790FC 800DFC4C 27BD0018 */ addiu $sp, $sp, 0x18 -func_800DFC50: +clear_player_status: /* 079100 800DFC50 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079104 800DFC54 3C048011 */ lui $a0, 0x8011 /* 079108 800DFC58 2484EFC8 */ addiu $a0, $a0, -0x1038 /* 07910C 800DFC5C AFBF0010 */ sw $ra, 0x10($sp) -/* 079110 800DFC60 0C00A580 */ jal func_80029600 +/* 079110 800DFC60 0C00A580 */ jal mem_clear /* 079114 800DFC64 24050288 */ addiu $a1, $zero, 0x288 /* 079118 800DFC68 8FBF0010 */ lw $ra, 0x10($sp) /* 07911C 800DFC6C 03E00008 */ jr $ra @@ -3730,7 +3730,7 @@ func_800DFC74: /* 079130 800DFC80 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 079134 800DFC84 0200202D */ daddu $a0, $s0, $zero /* 079138 800DFC88 AFBF0014 */ sw $ra, 0x14($sp) -/* 07913C 800DFC8C 0C00A580 */ jal func_80029600 +/* 07913C 800DFC8C 0C00A580 */ jal mem_clear /* 079140 800DFC90 24050288 */ addiu $a1, $zero, 0x288 /* 079144 800DFC94 24020001 */ addiu $v0, $zero, 1 /* 079148 800DFC98 0C038817 */ jal func_800E205C @@ -3738,7 +3738,7 @@ func_800DFC74: /* 079150 800DFCA0 8E050028 */ lw $a1, 0x28($s0) /* 079154 800DFCA4 8E06002C */ lw $a2, 0x2c($s0) /* 079158 800DFCA8 8E070030 */ lw $a3, 0x30($s0) -/* 07915C 800DFCAC 0C044898 */ jal func_80112260 +/* 07915C 800DFCAC 0C044898 */ jal create_shadow_type /* 079160 800DFCB0 0000202D */ daddu $a0, $zero, $zero /* 079164 800DFCB4 0C039ADA */ jal func_800E6B68 /* 079168 800DFCB8 AE0200CC */ sw $v0, 0xcc($s0) @@ -3903,7 +3903,7 @@ func_800DFEC8: /* 079384 800DFED4 0200102D */ daddu $v0, $s0, $zero /* 079388 800DFED8 0000202D */ daddu $a0, $zero, $zero /* 07938C 800DFEDC 0080282D */ daddu $a1, $a0, $zero -/* 079390 800DFEE0 0C0B2D5B */ jal func_802CB56C +/* 079390 800DFEE0 0C0B2D5B */ jal exec_ShakeCam1 /* 079394 800DFEE4 24060002 */ addiu $a2, $zero, 2 /* 079398 800DFEE8 0200102D */ daddu $v0, $s0, $zero func_800DFEEC: @@ -4038,18 +4038,18 @@ func_800E0088: /* 079540 800E0090 2442EFC8 */ addiu $v0, $v0, -0x1038 /* 079544 800E0094 AFBF0010 */ sw $ra, 0x10($sp) /* 079548 800E0098 8C460028 */ lw $a2, 0x28($v0) -/* 07954C 800E009C 0C00A7B5 */ jal func_80029ED4 +/* 07954C 800E009C 0C00A7B5 */ jal dist2D /* 079550 800E00A0 8C470030 */ lw $a3, 0x30($v0) /* 079554 800E00A4 8FBF0010 */ lw $ra, 0x10($sp) /* 079558 800E00A8 03E00008 */ jr $ra /* 07955C 800E00AC 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E00B0: +enable_player_shadow: /* 079560 800E00B0 3C048011 */ lui $a0, 0x8011 /* 079564 800E00B4 8C84F094 */ lw $a0, -0xf6c($a0) /* 079568 800E00B8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07956C 800E00BC AFBF0010 */ sw $ra, 0x10($sp) -/* 079570 800E00C0 0C044181 */ jal func_80110604 +/* 079570 800E00C0 0C044181 */ jal get_shadow_by_index /* 079574 800E00C4 00000000 */ nop /* 079578 800E00C8 8C430000 */ lw $v1, ($v0) /* 07957C 800E00CC 2404FFFE */ addiu $a0, $zero, -2 @@ -4059,12 +4059,12 @@ func_800E00B0: /* 07958C 800E00DC 03E00008 */ jr $ra /* 079590 800E00E0 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E00E4: +disable_player_shadow: /* 079594 800E00E4 3C048011 */ lui $a0, 0x8011 /* 079598 800E00E8 8C84F094 */ lw $a0, -0xf6c($a0) /* 07959C 800E00EC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0795A0 800E00F0 AFBF0010 */ sw $ra, 0x10($sp) -/* 0795A4 800E00F4 0C044181 */ jal func_80110604 +/* 0795A4 800E00F4 0C044181 */ jal get_shadow_by_index /* 0795A8 800E00F8 00000000 */ nop /* 0795AC 800E00FC 8C430000 */ lw $v1, ($v0) /* 0795B0 800E0100 34630001 */ ori $v1, $v1, 1 @@ -4073,7 +4073,7 @@ func_800E00E4: /* 0795BC 800E010C 03E00008 */ jr $ra /* 0795C0 800E0110 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E0114: +enable_player_physics: /* 0795C4 800E0114 3C038011 */ lui $v1, 0x8011 /* 0795C8 800E0118 2463EFC8 */ addiu $v1, $v1, -0x1038 /* 0795CC 800E011C 8C640000 */ lw $a0, ($v1) @@ -4086,7 +4086,7 @@ func_800E0114: /* 0795E8 800E0138 03E00008 */ jr $ra /* 0795EC 800E013C AC640000 */ sw $a0, ($v1) -func_800E0140: +disable_player_physics: /* 0795F0 800E0140 3C048011 */ lui $a0, 0x8011 /* 0795F4 800E0144 2484EFC8 */ addiu $a0, $a0, -0x1038 /* 0795F8 800E0148 90820014 */ lbu $v0, 0x14($a0) @@ -4163,7 +4163,7 @@ func_800E0208: /* 0796E8 800E0238 8042EBB0 */ lb $v0, -0x1450($v0) /* 0796EC 800E023C 54400004 */ bnezl $v0, .L800E0250 /* 0796F0 800E0240 24040001 */ addiu $a0, $zero, 1 -/* 0796F4 800E0244 0C039769 */ jal func_800E5DA4 +/* 0796F4 800E0244 0C039769 */ jal set_action_state /* 0796F8 800E0248 00000000 */ nop /* 0796FC 800E024C 24040001 */ addiu $a0, $zero, 1 .L800E0250: @@ -4210,7 +4210,7 @@ func_800E0294: /* 079790 800E02E0 248425B0 */ addiu $a0, $a0, 0x25b0 /* 079794 800E02E4 3C0500E2 */ lui $a1, 0xe2 /* 079798 800E02E8 24A53260 */ addiu $a1, $a1, 0x3260 -/* 07979C 800E02EC 0C00A5CF */ jal func_8002973C +/* 07979C 800E02EC 0C00A5CF */ jal dma_copy /* 0797A0 800E02F0 34C67000 */ ori $a2, $a2, 0x7000 /* 0797A4 800E02F4 3C02802B */ lui $v0, 0x802b /* 0797A8 800E02F8 244272C0 */ addiu $v0, $v0, 0x72c0 @@ -4326,7 +4326,7 @@ func_800E0398: /* 079934 800E0484 24841870 */ addiu $a0, $a0, 0x1870 /* 079938 800E0488 3C0500E2 */ lui $a1, 0xe2 /* 07993C 800E048C 24A525B0 */ addiu $a1, $a1, 0x25b0 -/* 079940 800E0490 0C00A5CF */ jal func_8002973C +/* 079940 800E0490 0C00A5CF */ jal dma_copy /* 079944 800E0494 34C67000 */ ori $a2, $a2, 0x7000 /* 079948 800E0498 3C02802B */ lui $v0, 0x802b /* 07994C 800E049C 24427140 */ addiu $v0, $v0, 0x7140 @@ -4441,7 +4441,7 @@ func_800E0580: /* 079AC4 800E0614 24840EB0 */ addiu $a0, $a0, 0xeb0 /* 079AC8 800E0618 3C0500E2 */ lui $a1, 0xe2 /* 079ACC 800E061C 24A51870 */ addiu $a1, $a1, 0x1870 -/* 079AD0 800E0620 0C00A5CF */ jal func_8002973C +/* 079AD0 800E0620 0C00A5CF */ jal dma_copy /* 079AD4 800E0624 AE000000 */ sw $zero, ($s0) /* 079AD8 800E0628 3C02802B */ lui $v0, 0x802b /* 079ADC 800E062C 244270B4 */ addiu $v0, $v0, 0x70b4 @@ -4738,7 +4738,7 @@ func_800E09FC: /* 079EB0 800E0A00 00000000 */ nop /* 079EB4 800E0A04 0600000F */ bltz $s0, .L800E0A44 /* 079EB8 800E0A08 00000000 */ nop -/* 079EBC 800E0A0C 0C04417A */ jal func_801105E8 +/* 079EBC 800E0A0C 0C04417A */ jal get_entity_by_index /* 079EC0 800E0A10 0200202D */ daddu $a0, $s0, $zero /* 079EC4 800E0A14 8C420000 */ lw $v0, ($v0) /* 079EC8 800E0A18 30421000 */ andi $v0, $v0, 0x1000 @@ -4775,7 +4775,7 @@ func_800E09FC: /* 079F34 800E0A84 24840110 */ addiu $a0, $a0, 0x110 /* 079F38 800E0A88 3C0500E2 */ lui $a1, 0xe2 /* 079F3C 800E0A8C 24A50EB0 */ addiu $a1, $a1, 0xeb0 -/* 079F40 800E0A90 0C00A5CF */ jal func_8002973C +/* 079F40 800E0A90 0C00A5CF */ jal dma_copy /* 079F44 800E0A94 34C67000 */ ori $a2, $a2, 0x7000 /* 079F48 800E0A98 3C02802B */ lui $v0, 0x802b /* 079F4C 800E0A9C 244270B4 */ addiu $v0, $v0, 0x70b4 @@ -4875,7 +4875,7 @@ func_800E0B90: /* 07A088 800E0BD8 00220821 */ addu $at, $at, $v0 /* 07A08C 800E0BDC C4361DEC */ lwc1 $f22, 0x1dec($at) /* 07A090 800E0BE0 C62E0084 */ lwc1 $f14, 0x84($s1) -/* 07A094 800E0BE4 0C00A70A */ jal func_80029C28 +/* 07A094 800E0BE4 0C00A70A */ jal get_clamped_angle_diff /* 07A098 800E0BE8 4600B306 */ mov.s $f12, $f22 /* 07A09C 800E0BEC 46000506 */ mov.s $f20, $f0 /* 07A0A0 800E0BF0 3C01C0A0 */ lui $at, 0xc0a0 @@ -4948,7 +4948,7 @@ func_800E0C90: /* 07A190 800E0CE0 E4400090 */ swc1 $f0, 0x90($v0) func_800E0CE4: /* 07A194 800E0CE4 C62E0084 */ lwc1 $f14, 0x84($s1) -/* 07A198 800E0CE8 0C00A70A */ jal func_80029C28 +/* 07A198 800E0CE8 0C00A70A */ jal get_clamped_angle_diff /* 07A19C 800E0CEC 4600B306 */ mov.s $f12, $f22 /* 07A1A0 800E0CF0 3C0142B4 */ lui $at, 0x42b4 /* 07A1A4 800E0CF4 44811000 */ mtc1 $at, $f2 @@ -5016,7 +5016,7 @@ func_800E0CE4: /* 07A28C 800E0DDC 4600A306 */ mov.s $f12, $f20 /* 07A290 800E0DE0 00021080 */ sll $v0, $v0, 2 /* 07A294 800E0DE4 02221021 */ addu $v0, $s1, $v0 -/* 07A298 800E0DE8 0C00A6C9 */ jal func_80029B24 +/* 07A298 800E0DE8 0C00A6C9 */ jal clamp_angle /* 07A29C 800E0DEC E4440090 */ swc1 $f4, 0x90($v0) /* 07A2A0 800E0DF0 8E020000 */ lw $v0, ($s0) /* 07A2A4 800E0DF4 00021080 */ sll $v0, $v0, 2 @@ -5026,7 +5026,7 @@ func_800E0CE4: /* 07A2B4 800E0E04 4600220D */ trunc.w.s $f8, $f4 /* 07A2B8 800E0E08 3C01800F */ lui $at, 0x800f /* 07A2BC 800E0E0C E4287B40 */ swc1 $f8, 0x7b40($at) -/* 07A2C0 800E0E10 0C00A6C9 */ jal func_80029B24 +/* 07A2C0 800E0E10 0C00A6C9 */ jal clamp_angle /* 07A2C4 800E0E14 46046300 */ add.s $f12, $f12, $f4 /* 07A2C8 800E0E18 C6220054 */ lwc1 $f2, 0x54($s1) /* 07A2CC 800E0E1C 44803000 */ mtc1 $zero, $f6 @@ -5070,7 +5070,7 @@ func_800E0CE4: /* 07A360 800E0EB0 00000000 */ nop .L800E0EB4: /* 07A364 800E0EB4 C62E0084 */ lwc1 $f14, 0x84($s1) -/* 07A368 800E0EB8 0C00A70A */ jal func_80029C28 +/* 07A368 800E0EB8 0C00A70A */ jal get_clamped_angle_diff /* 07A36C 800E0EBC 4600B306 */ mov.s $f12, $f22 /* 07A370 800E0EC0 3C014270 */ lui $at, 0x4270 /* 07A374 800E0EC4 44811000 */ mtc1 $at, $f2 @@ -5267,7 +5267,7 @@ func_800E1120: /* 07A5E0 800E1130 03E00008 */ jr $ra /* 07A5E4 800E1134 00A0102D */ daddu $v0, $a1, $zero -func_800E1138: +render_player: /* 07A5E8 800E1138 3C028007 */ lui $v0, 0x8007 /* 07A5EC 800E113C 8C42419C */ lw $v0, 0x419c($v0) /* 07A5F0 800E1140 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -5275,14 +5275,14 @@ func_800E1138: /* 07A5F8 800E1148 80420078 */ lb $v0, 0x78($v0) /* 07A5FC 800E114C 14400003 */ bnez $v0, .L800E115C /* 07A600 800E1150 00000000 */ nop -/* 07A604 800E1154 0C03845A */ jal func_800E1168 +/* 07A604 800E1154 0C03845A */ jal render_player_model /* 07A608 800E1158 00000000 */ nop .L800E115C: /* 07A60C 800E115C 8FBF0010 */ lw $ra, 0x10($sp) /* 07A610 800E1160 03E00008 */ jr $ra /* 07A614 800E1164 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E1168: +render_player_model: /* 07A618 800E1168 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 07A61C 800E116C AFB10044 */ sw $s1, 0x44($sp) /* 07A620 800E1170 AFB00040 */ sw $s0, 0x40($sp) @@ -5308,7 +5308,7 @@ func_800E1168: /* 07A670 800E11C0 27A20034 */ addiu $v0, $sp, 0x34 /* 07A674 800E11C4 AFA20014 */ sw $v0, 0x14($sp) /* 07A678 800E11C8 27A20038 */ addiu $v0, $sp, 0x38 -/* 07A67C 800E11CC 0C00B94E */ jal func_8002E538 +/* 07A67C 800E11CC 0C00B94E */ jal get_screen_coords /* 07A680 800E11D0 AFA20018 */ sw $v0, 0x18($sp) /* 07A684 800E11D4 8E020000 */ lw $v0, ($s0) /* 07A688 800E11D8 3C030002 */ lui $v1, 2 @@ -5382,7 +5382,7 @@ func_800E1284: /* 07A778 800E12C8 248412F4 */ addiu $a0, $a0, 0x12f4 /* 07A77C 800E12CC AE24000C */ sw $a0, 0xc($s1) .L800E12D0: -/* 07A780 800E12D0 0C047644 */ jal func_8011D910 +/* 07A780 800E12D0 0C047644 */ jal queue_render_task /* 07A784 800E12D4 0220202D */ daddu $a0, $s1, $zero .L800E12D8: /* 07A788 800E12D8 0C03C327 */ jal func_800F0C9C @@ -5394,6 +5394,7 @@ func_800E1284: /* 07A79C 800E12EC 03E00008 */ jr $ra /* 07A7A0 800E12F0 27BD0050 */ addiu $sp, $sp, 0x50 +make_player_display_list: /* 07A7A4 800E12F4 3C03800A */ lui $v1, 0x800a /* 07A7A8 800E12F8 8463A634 */ lh $v1, -0x59cc($v1) /* 07A7AC 800E12FC 27BDFEB0 */ addiu $sp, $sp, -0x150 @@ -5484,7 +5485,7 @@ func_800E1284: /* 07A8F8 800E1448 0C019EC8 */ jal guRotateF /* 07A8FC 800E144C E7B40010 */ swc1 $f20, 0x10($sp) /* 07A900 800E1450 C64C008C */ lwc1 $f12, 0x8c($s2) -/* 07A904 800E1454 0C00A6C9 */ jal func_80029B24 +/* 07A904 800E1454 0C00A6C9 */ jal clamp_angle /* 07A908 800E1458 00000000 */ nop /* 07A90C 800E145C 44050000 */ mfc1 $a1, $f0 /* 07A910 800E1460 4406A000 */ mfc1 $a2, $f20 @@ -5640,7 +5641,7 @@ func_800E1284: /* 07AB5C 800E16AC 00A0302D */ daddu $a2, $a1, $zero /* 07AB60 800E16B0 00A0382D */ daddu $a3, $a1, $zero func_800E16B4: -/* 07AB64 800E16B4 0C0B7710 */ jal func_802DDC40 +/* 07AB64 800E16B4 0C0B7710 */ jal render_sprite /* 07AB68 800E16B8 00000000 */ nop /* 07AB6C 800E16BC 3C03800F */ lui $v1, 0x800f /* 07AB70 800E16C0 24637B4C */ addiu $v1, $v1, 0x7b4c @@ -5662,6 +5663,7 @@ func_800E16B4: /* 07ABAC 800E16FC 03E00008 */ jr $ra /* 07ABB0 800E1700 27BD0150 */ addiu $sp, $sp, 0x150 +make_spinning_player_display_list: /* 07ABB4 800E1704 27BDFE80 */ addiu $sp, $sp, -0x180 /* 07ABB8 800E1708 F7B60158 */ sdc1 $f22, 0x158($sp) /* 07ABBC 800E170C 4480B000 */ mtc1 $zero, $f22 @@ -5791,7 +5793,7 @@ func_800E1870: /* 07AD84 800E18D4 0C019EC8 */ jal guRotateF /* 07AD88 800E18D8 E7B60010 */ swc1 $f22, 0x10($sp) /* 07AD8C 800E18DC C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07AD90 800E18E0 0C00A6C9 */ jal func_80029B24 +/* 07AD90 800E18E0 0C00A6C9 */ jal clamp_angle /* 07AD94 800E18E4 00000000 */ nop /* 07AD98 800E18E8 44050000 */ mfc1 $a1, $f0 /* 07AD9C 800E18EC 4406B000 */ mfc1 $a2, $f22 @@ -5961,7 +5963,7 @@ func_800E19EC: /* 07B010 800E1B60 AFA20010 */ sw $v0, 0x10($sp) /* 07B014 800E1B64 0000282D */ daddu $a1, $zero, $zero /* 07B018 800E1B68 00A0302D */ daddu $a2, $a1, $zero -/* 07B01C 800E1B6C 0C0B7710 */ jal func_802DDC40 +/* 07B01C 800E1B6C 0C0B7710 */ jal render_sprite /* 07B020 800E1B70 00A0382D */ daddu $a3, $a1, $zero /* 07B024 800E1B74 26730001 */ addiu $s3, $s3, 1 /* 07B028 800E1B78 2A620002 */ slti $v0, $s3, 2 @@ -5984,7 +5986,7 @@ func_800E19EC: /* 07B06C 800E1BBC 03E00008 */ jr $ra /* 07B070 800E1BC0 27BD0180 */ addiu $sp, $sp, 0x180 -func_800E1BC4: +update_below_player: /* 07B074 800E1BC4 3C02800F */ lui $v0, 0x800f /* 07B078 800E1BC8 8C427B30 */ lw $v0, 0x7b30($v0) /* 07B07C 800E1BCC 27BDFF90 */ addiu $sp, $sp, -0x70 @@ -5995,7 +5997,7 @@ func_800E1BC4: /* 07B090 800E1BE0 AFB00048 */ sw $s0, 0x48($sp) /* 07B094 800E1BE4 F7B60068 */ sdc1 $f22, 0x68($sp) /* 07B098 800E1BE8 F7B40060 */ sdc1 $f20, 0x60($sp) -/* 07B09C 800E1BEC 0C044181 */ jal func_80110604 +/* 07B09C 800E1BEC 0C044181 */ jal get_shadow_by_index /* 07B0A0 800E1BF0 8C4400CC */ lw $a0, 0xcc($v0) /* 07B0A4 800E1BF4 3C128011 */ lui $s2, 0x8011 /* 07B0A8 800E1BF8 2652EFC8 */ addiu $s2, $s2, -0x1038 @@ -6083,7 +6085,7 @@ func_800E1BC4: /* 07B1EC 800E1D3C 27A20040 */ addiu $v0, $sp, 0x40 /* 07B1F0 800E1D40 AFA20020 */ sw $v0, 0x20($sp) /* 07B1F4 800E1D44 27A20044 */ addiu $v0, $sp, 0x44 -/* 07B1F8 800E1D48 0C0377F4 */ jal func_800DDFD0 +/* 07B1F8 800E1D48 0C0377F4 */ jal test_below_player /* 07B1FC 800E1D4C AFA20024 */ sw $v0, 0x24($sp) /* 07B200 800E1D50 C7A00038 */ lwc1 $f0, 0x38($sp) /* 07B204 800E1D54 C7A2003C */ lwc1 $f2, 0x3c($sp) @@ -6092,7 +6094,7 @@ func_800E1BC4: /* 07B210 800E1D60 E6000028 */ swc1 $f0, 0x28($s0) /* 07B214 800E1D64 E6020030 */ swc1 $f2, 0x30($s0) /* 07B218 800E1D68 C62C006C */ lwc1 $f12, 0x6c($s1) -/* 07B21C 800E1D6C 0C00A6C9 */ jal func_80029B24 +/* 07B21C 800E1D6C 0C00A6C9 */ jal clamp_angle /* 07B220 800E1D70 46006307 */ neg.s $f12, $f12 /* 07B224 800E1D74 C7A40038 */ lwc1 $f4, 0x38($sp) /* 07B228 800E1D78 3C014334 */ lui $at, 0x4334 @@ -6115,7 +6117,7 @@ func_800E1BC4: /* 07B268 800E1DB8 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 07B26C 800E1DBC C7AE0030 */ lwc1 $f14, 0x30($sp) /* 07B270 800E1DC0 8E460028 */ lw $a2, 0x28($s2) -/* 07B274 800E1DC4 0C00A7B5 */ jal func_80029ED4 +/* 07B274 800E1DC4 0C00A7B5 */ jal dist2D /* 07B278 800E1DC8 8E470030 */ lw $a3, 0x30($s2) /* 07B27C 800E1DCC C64C0028 */ lwc1 $f12, 0x28($s2) /* 07B280 800E1DD0 C64E0030 */ lwc1 $f14, 0x30($s2) @@ -6123,15 +6125,15 @@ func_800E1BC4: /* 07B288 800E1DD8 8FA70030 */ lw $a3, 0x30($sp) /* 07B28C 800E1DDC 4600028D */ trunc.w.s $f10, $f0 /* 07B290 800E1DE0 44135000 */ mfc1 $s3, $f10 -/* 07B294 800E1DE4 0C00A720 */ jal func_80029C80 +/* 07B294 800E1DE4 0C00A720 */ jal atan2 /* 07B298 800E1DE8 00000000 */ nop -/* 07B29C 800E1DEC 0C00A788 */ jal func_80029E20 +/* 07B29C 800E1DEC 0C00A788 */ jal get_player_normal_yaw /* 07B2A0 800E1DF0 46000506 */ mov.s $f20, $f0 /* 07B2A4 800E1DF4 3C01C2B4 */ lui $at, 0xc2b4 /* 07B2A8 800E1DF8 44816000 */ mtc1 $at, $f12 /* 07B2AC 800E1DFC 00000000 */ nop /* 07B2B0 800E1E00 46146301 */ sub.s $f12, $f12, $f20 -/* 07B2B4 800E1E04 0C00A6C9 */ jal func_80029B24 +/* 07B2B4 800E1E04 0C00A6C9 */ jal clamp_angle /* 07B2B8 800E1E08 46006300 */ add.s $f12, $f12, $f0 /* 07B2BC 800E1E0C 3C118007 */ lui $s1, 0x8007 /* 07B2C0 800E1E10 2631419C */ addiu $s1, $s1, 0x419c @@ -6145,7 +6147,7 @@ func_800E1BC4: /* 07B2E0 800E1E30 00000000 */ nop /* 07B2E4 800E1E34 44826000 */ mtc1 $v0, $f12 /* 07B2E8 800E1E38 00000000 */ nop -/* 07B2EC 800E1E3C 0C00A8BB */ jal func_8002A2EC +/* 07B2EC 800E1E3C 0C00A8BB */ jal sin_deg /* 07B2F0 800E1E40 46806320 */ cvt.s.w $f12, $f12 /* 07B2F4 800E1E44 8E220000 */ lw $v0, ($s1) /* 07B2F8 800E1E48 C4440128 */ lwc1 $f4, 0x128($v0) @@ -6218,14 +6220,14 @@ func_800E1F30: /* 07B3F0 800E1F40 14400006 */ bnez $v0, .L800E1F5C /* 07B3F4 800E1F44 00000000 */ nop /* 07B3F8 800E1F48 8FA50034 */ lw $a1, 0x34($sp) -/* 07B3FC 800E1F4C 0C044A17 */ jal func_8011285C +/* 07B3FC 800E1F4C 0C044A17 */ jal set_standard_shadow_scale /* 07B400 800E1F50 0200202D */ daddu $a0, $s0, $zero /* 07B404 800E1F54 080387DA */ j func_800E1F68 /* 07B408 800E1F58 00000000 */ nop .L800E1F5C: /* 07B40C 800E1F5C 8FA50034 */ lw $a1, 0x34($sp) -/* 07B410 800E1F60 0C044A75 */ jal func_801129D4 +/* 07B410 800E1F60 0C044A75 */ jal set_shadow_scale_peach /* 07B414 800E1F64 0200202D */ daddu $a0, $s0, $zero func_800E1F68: /* 07B418 800E1F68 8FBF0058 */ lw $ra, 0x58($sp) @@ -6389,7 +6391,7 @@ func_800E2184: /* 07B664 800E21B4 46020002 */ mul.s $f0, $f0, $f2 /* 07B668 800E21B8 00000000 */ nop /* 07B66C 800E21BC 0000202D */ daddu $a0, $zero, $zero -/* 07B670 800E21C0 0C039769 */ jal func_800E5DA4 +/* 07B670 800E21C0 0C039769 */ jal set_action_state /* 07B674 800E21C4 E600006C */ swc1 $f0, 0x6c($s0) /* 07B678 800E21C8 3C068007 */ lui $a2, 0x8007 /* 07B67C 800E21CC 8CC6419C */ lw $a2, 0x419c($a2) @@ -6457,7 +6459,7 @@ func_800E2184: /* 07B770 800E22C0 E4440068 */ swc1 $f4, 0x68($v0) /* 07B774 800E22C4 3C048011 */ lui $a0, 0x8011 /* 07B778 800E22C8 2484F250 */ addiu $a0, $a0, -0xdb0 -/* 07B77C 800E22CC 0C00A580 */ jal func_80029600 +/* 07B77C 800E22CC 0C00A580 */ jal mem_clear /* 07B780 800E22D0 24050034 */ addiu $a1, $zero, 0x34 /* 07B784 800E22D4 8FBF0014 */ lw $ra, 0x14($sp) /* 07B788 800E22D8 8FB00010 */ lw $s0, 0x10($sp) @@ -6500,7 +6502,7 @@ func_800E2304: /* 07B810 800E2360 00000000 */ nop /* 07B814 800E2364 4680C620 */ cvt.s.w $f24, $f24 /* 07B818 800E2368 4407C000 */ mfc1 $a3, $f24 -/* 07B81C 800E236C 0C00A7B5 */ jal func_80029ED4 +/* 07B81C 800E236C 0C00A7B5 */ jal dist2D /* 07B820 800E2370 4600D386 */ mov.s $f14, $f26 /* 07B824 800E2374 3C01428C */ lui $at, 0x428c /* 07B828 800E2378 4481B000 */ mtc1 $at, $f22 @@ -6513,11 +6515,11 @@ func_800E2304: /* 07B840 800E2390 4600D306 */ mov.s $f12, $f26 /* 07B844 800E2394 4406E000 */ mfc1 $a2, $f28 /* 07B848 800E2398 4407C000 */ mfc1 $a3, $f24 -/* 07B84C 800E239C 0C00A720 */ jal func_80029C80 +/* 07B84C 800E239C 0C00A720 */ jal atan2 /* 07B850 800E23A0 4600D386 */ mov.s $f14, $f26 /* 07B854 800E23A4 3C01800B */ lui $at, 0x800b /* 07B858 800E23A8 C42C1DEC */ lwc1 $f12, 0x1dec($at) -/* 07B85C 800E23AC 0C00A6C9 */ jal func_80029B24 +/* 07B85C 800E23AC 0C00A6C9 */ jal clamp_angle /* 07B860 800E23B0 460C0300 */ add.s $f12, $f0, $f12 /* 07B864 800E23B4 461AA032 */ c.eq.s $f20, $f26 /* 07B868 800E23B8 00000000 */ nop @@ -6565,7 +6567,7 @@ func_800E2304: /* 07B908 800E2458 00000000 */ nop /* 07B90C 800E245C 4680C620 */ cvt.s.w $f24, $f24 /* 07B910 800E2460 4407C000 */ mfc1 $a3, $f24 -/* 07B914 800E2464 0C00A7B5 */ jal func_80029ED4 +/* 07B914 800E2464 0C00A7B5 */ jal dist2D /* 07B918 800E2468 4600D386 */ mov.s $f14, $f26 /* 07B91C 800E246C 3C01428C */ lui $at, 0x428c /* 07B920 800E2470 4481B000 */ mtc1 $at, $f22 @@ -6578,11 +6580,11 @@ func_800E2304: /* 07B938 800E2488 4600D306 */ mov.s $f12, $f26 /* 07B93C 800E248C 4406E000 */ mfc1 $a2, $f28 /* 07B940 800E2490 4407C000 */ mfc1 $a3, $f24 -/* 07B944 800E2494 0C00A720 */ jal func_80029C80 +/* 07B944 800E2494 0C00A720 */ jal atan2 /* 07B948 800E2498 4600D386 */ mov.s $f14, $f26 /* 07B94C 800E249C 3C01800B */ lui $at, 0x800b /* 07B950 800E24A0 C42C1DEC */ lwc1 $f12, 0x1dec($at) -/* 07B954 800E24A4 0C00A6C9 */ jal func_80029B24 +/* 07B954 800E24A4 0C00A6C9 */ jal clamp_angle /* 07B958 800E24A8 460C0300 */ add.s $f12, $f0, $f12 /* 07B95C 800E24AC 461AA032 */ c.eq.s $f20, $f26 /* 07B960 800E24B0 00000000 */ nop @@ -6611,7 +6613,7 @@ func_800E24F8: /* 07B9B0 800E2500 3C108011 */ lui $s0, 0x8011 /* 07B9B4 800E2504 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 07B9B8 800E2508 AFBF0014 */ sw $ra, 0x14($sp) -/* 07B9BC 800E250C 0C044181 */ jal func_80110604 +/* 07B9BC 800E250C 0C044181 */ jal get_shadow_by_index /* 07B9C0 800E2510 8E0400CC */ lw $a0, 0xcc($s0) /* 07B9C4 800E2514 C4400028 */ lwc1 $f0, 0x28($v0) /* 07B9C8 800E2518 3C018011 */ lui $at, 0x8011 @@ -6795,7 +6797,7 @@ func_800E26C4: /* 07BC20 800E2770 03E00008 */ jr $ra /* 07BC24 800E2774 0000102D */ daddu $v0, $zero, $zero -func_800E2778: +move_player: /* 07BC28 800E2778 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07BC2C 800E277C 44861000 */ mtc1 $a2, $f2 /* 07BC30 800E2780 3C068011 */ lui $a2, 0x8011 @@ -6818,7 +6820,7 @@ func_800E2778: /* 07BC74 800E27C4 24040001 */ addiu $a0, $zero, 1 /* 07BC78 800E27C8 24040002 */ addiu $a0, $zero, 2 .L800E27CC: -/* 07BC7C 800E27CC 0C039769 */ jal func_800E5DA4 +/* 07BC7C 800E27CC 0C039769 */ jal set_action_state /* 07BC80 800E27D0 00000000 */ nop .L800E27D4: /* 07BC84 800E27D4 8FBF0010 */ lw $ra, 0x10($sp) @@ -6983,7 +6985,7 @@ func_800E29C8: /* 07BED4 800E2A24 C42EC97C */ lwc1 $f14, -0x3684($at) /* 07BED8 800E2A28 8E060028 */ lw $a2, 0x28($s0) /* 07BEDC 800E2A2C 8E070030 */ lw $a3, 0x30($s0) -/* 07BEE0 800E2A30 0C00A7B5 */ jal func_80029ED4 +/* 07BEE0 800E2A30 0C00A7B5 */ jal dist2D /* 07BEE4 800E2A34 26110028 */ addiu $s1, $s0, 0x28 /* 07BEE8 800E2A38 3C0141B0 */ lui $at, 0x41b0 /* 07BEEC 800E2A3C 44811000 */ mtc1 $at, $f2 @@ -6995,7 +6997,7 @@ func_800E29C8: /* 07BF04 800E2A54 0220202D */ daddu $a0, $s1, $zero /* 07BF08 800E2A58 3C0640A0 */ lui $a2, 0x40a0 /* 07BF0C 800E2A5C 8E070080 */ lw $a3, 0x80($s0) -/* 07BF10 800E2A60 0C00A7E7 */ jal func_80029F9C +/* 07BF10 800E2A60 0C00A7E7 */ jal add_vec2D_polar /* 07BF14 800E2A64 0240282D */ daddu $a1, $s2, $zero .L800E2A68: /* 07BF18 800E2A68 0C038D12 */ jal func_800E3448 @@ -7038,7 +7040,7 @@ func_800E29C8: /* 07BF9C 800E2AEC C42EC97C */ lwc1 $f14, -0x3684($at) /* 07BFA0 800E2AF0 8E060028 */ lw $a2, 0x28($s0) /* 07BFA4 800E2AF4 8E070030 */ lw $a3, 0x30($s0) -/* 07BFA8 800E2AF8 0C00A7B5 */ jal func_80029ED4 +/* 07BFA8 800E2AF8 0C00A7B5 */ jal dist2D /* 07BFAC 800E2AFC 26110028 */ addiu $s1, $s0, 0x28 /* 07BFB0 800E2B00 3C0141B0 */ lui $at, 0x41b0 /* 07BFB4 800E2B04 44811000 */ mtc1 $at, $f2 @@ -7050,7 +7052,7 @@ func_800E29C8: /* 07BFCC 800E2B1C 0220202D */ daddu $a0, $s1, $zero /* 07BFD0 800E2B20 3C0640A0 */ lui $a2, 0x40a0 /* 07BFD4 800E2B24 8E070080 */ lw $a3, 0x80($s0) -/* 07BFD8 800E2B28 0C00A7E7 */ jal func_80029F9C +/* 07BFD8 800E2B28 0C00A7E7 */ jal add_vec2D_polar /* 07BFDC 800E2B2C 0240282D */ daddu $a1, $s2, $zero .L800E2B30: /* 07BFE0 800E2B30 0C038D36 */ jal func_800E34D8 @@ -7181,7 +7183,7 @@ func_800E2CB0: /* 07C1A4 800E2CF4 E6000070 */ swc1 $f0, 0x70($s0) /* 07C1A8 800E2CF8 E6020074 */ swc1 $f2, 0x74($s0) /* 07C1AC 800E2CFC E6040078 */ swc1 $f4, 0x78($s0) -/* 07C1B0 800E2D00 0C039769 */ jal func_800E5DA4 +/* 07C1B0 800E2D00 0C039769 */ jal set_action_state /* 07C1B4 800E2D04 E606007C */ swc1 $f6, 0x7c($s0) .L800E2D08: /* 07C1B8 800E2D08 8FBF0014 */ lw $ra, 0x14($sp) @@ -7275,7 +7277,7 @@ func_800E2D18: func_800E2E50: /* 07C300 800E2E50 0C038D12 */ jal func_800E3448 /* 07C304 800E2E54 00000000 */ nop -/* 07C308 800E2E58 0C039769 */ jal func_800E5DA4 +/* 07C308 800E2E58 0C039769 */ jal set_action_state /* 07C30C 800E2E5C 24040008 */ addiu $a0, $zero, 8 /* 07C310 800E2E60 08038BD3 */ j func_800E2F4C /* 07C314 800E2E64 00000000 */ nop @@ -7287,7 +7289,7 @@ func_800E2E50: /* 07C324 800E2E74 00000000 */ nop /* 07C328 800E2E78 0C0389AC */ jal func_800E26B0 /* 07C32C 800E2E7C 00000000 */ nop -/* 07C330 800E2E80 0C039769 */ jal func_800E5DA4 +/* 07C330 800E2E80 0C039769 */ jal set_action_state /* 07C334 800E2E84 24040005 */ addiu $a0, $zero, 5 /* 07C338 800E2E88 0C038D12 */ jal func_800E3448 /* 07C33C 800E2E8C 00000000 */ nop @@ -7327,7 +7329,7 @@ func_800E2E50: /* 07C3C0 800E2F10 00000000 */ nop /* 07C3C4 800E2F14 0C038D12 */ jal func_800E3448 /* 07C3C8 800E2F18 00000000 */ nop -/* 07C3CC 800E2F1C 0C039769 */ jal func_800E5DA4 +/* 07C3CC 800E2F1C 0C039769 */ jal set_action_state /* 07C3D0 800E2F20 24040008 */ addiu $a0, $zero, 8 .L800E2F24: /* 07C3D4 800E2F24 C6000070 */ lwc1 $f0, 0x70($s0) @@ -7498,7 +7500,7 @@ func_800E315C: /* 07C624 800E3174 2631EBB0 */ addiu $s1, $s1, -0x1450 /* 07C628 800E3178 0480003A */ bltz $a0, .L800E3264 /* 07C62C 800E317C AFBF0018 */ sw $ra, 0x18($sp) -/* 07C630 800E3180 0C016F6A */ jal func_8005BDA8 +/* 07C630 800E3180 0C016F6A */ jal get_collider_type_by_id /* 07C634 800E3184 00000000 */ nop /* 07C638 800E3188 304200FF */ andi $v0, $v0, 0xff /* 07C63C 800E318C 2443FFFF */ addiu $v1, $v0, -1 @@ -7510,7 +7512,7 @@ func_800E315C: /* 07C654 800E31A4 8C22BE40 */ lw $v0, -0x41c0($at) /* 07C658 800E31A8 00400008 */ jr $v0 /* 07C65C 800E31AC 00000000 */ nop -/* 07C660 800E31B0 0C039769 */ jal func_800E5DA4 +/* 07C660 800E31B0 0C039769 */ jal set_action_state /* 07C664 800E31B4 2404000A */ addiu $a0, $zero, 0xa /* 07C668 800E31B8 08038C99 */ j func_800E3264 /* 07C66C 800E31BC 00000000 */ nop @@ -7548,13 +7550,13 @@ func_800E315C: /* 07C6E4 800E3234 24020002 */ addiu $v0, $zero, 2 /* 07C6E8 800E3238 A20200BF */ sb $v0, 0xbf($s0) func_800E323C: -/* 07C6EC 800E323C 0C039769 */ jal func_800E5DA4 +/* 07C6EC 800E323C 0C039769 */ jal set_action_state /* 07C6F0 800E3240 24040017 */ addiu $a0, $zero, 0x17 /* 07C6F4 800E3244 08038C99 */ j func_800E3264 /* 07C6F8 800E3248 00000000 */ nop .L800E324C: -/* 07C6FC 800E324C 0C039769 */ jal func_800E5DA4 +/* 07C6FC 800E324C 0C039769 */ jal set_action_state /* 07C700 800E3250 24040016 */ addiu $a0, $zero, 0x16 /* 07C704 800E3254 08038C99 */ j func_800E3264 /* 07C708 800E3258 00000000 */ nop @@ -7592,7 +7594,7 @@ func_800E3278: /* 07C770 800E32C0 00621824 */ and $v1, $v1, $v0 /* 07C774 800E32C4 E6000044 */ swc1 $f0, 0x44($s0) /* 07C778 800E32C8 E6020048 */ swc1 $f2, 0x48($s0) -/* 07C77C 800E32CC 0C052736 */ jal func_80149CD8 +/* 07C77C 800E32CC 0C052736 */ jal play_sound_at_player /* 07C780 800E32D0 AE030000 */ sw $v1, ($s0) /* 07C784 800E32D4 3C038016 */ lui $v1, 0x8016 /* 07C788 800E32D8 2463A550 */ addiu $v1, $v1, -0x5ab0 @@ -7617,7 +7619,7 @@ func_800E3278: /* 07C7D0 800E3320 28620007 */ slti $v0, $v1, 7 /* 07C7D4 800E3324 1440001A */ bnez $v0, .L800E3390 /* 07C7D8 800E3328 00000000 */ nop -/* 07C7DC 800E332C 0C04417A */ jal func_801105E8 +/* 07C7DC 800E332C 0C04417A */ jal get_entity_by_index /* 07C7E0 800E3330 86240002 */ lh $a0, 2($s1) /* 07C7E4 800E3334 90430006 */ lbu $v1, 6($v0) /* 07C7E8 800E3338 34630001 */ ori $v1, $v1, 1 @@ -7633,7 +7635,7 @@ func_800E3278: /* 07C810 800E3360 2402000E */ addiu $v0, $zero, 0xe /* 07C814 800E3364 10620005 */ beq $v1, $v0, .L800E337C /* 07C818 800E3368 00000000 */ nop -/* 07C81C 800E336C 0C039769 */ jal func_800E5DA4 +/* 07C81C 800E336C 0C039769 */ jal set_action_state /* 07C820 800E3370 24040007 */ addiu $a0, $zero, 7 /* 07C824 800E3374 08038D0D */ j func_800E3434 /* 07C828 800E3378 00000000 */ nop @@ -7650,7 +7652,7 @@ func_800E3278: /* 07C844 800E3394 30424000 */ andi $v0, $v0, 0x4000 /* 07C848 800E3398 10400005 */ beqz $v0, .L800E33B0 /* 07C84C 800E339C 24020007 */ addiu $v0, $zero, 7 -/* 07C850 800E33A0 0C039769 */ jal func_800E5DA4 +/* 07C850 800E33A0 0C039769 */ jal set_action_state /* 07C854 800E33A4 24040002 */ addiu $a0, $zero, 2 /* 07C858 800E33A8 08038D0D */ j func_800E3434 /* 07C85C 800E33AC 00000000 */ nop @@ -7659,7 +7661,7 @@ func_800E3278: /* 07C860 800E33B0 820300B4 */ lb $v1, 0xb4($s0) /* 07C864 800E33B4 14620005 */ bne $v1, $v0, .L800E33CC /* 07C868 800E33B8 27A40010 */ addiu $a0, $sp, 0x10 -/* 07C86C 800E33BC 0C039769 */ jal func_800E5DA4 +/* 07C86C 800E33BC 0C039769 */ jal set_action_state /* 07C870 800E33C0 24040020 */ addiu $a0, $zero, 0x20 /* 07C874 800E33C4 08038D0D */ j func_800E3434 /* 07C878 800E33C8 00000000 */ nop @@ -7677,13 +7679,13 @@ func_800E3278: /* 07C8A0 800E33F0 820300B4 */ lb $v1, 0xb4($s0) /* 07C8A4 800E33F4 10620005 */ beq $v1, $v0, .L800E340C /* 07C8A8 800E33F8 00000000 */ nop -/* 07C8AC 800E33FC 0C039769 */ jal func_800E5DA4 +/* 07C8AC 800E33FC 0C039769 */ jal set_action_state /* 07C8B0 800E3400 2404000A */ addiu $a0, $zero, 0xa /* 07C8B4 800E3404 08038D0D */ j func_800E3434 /* 07C8B8 800E3408 00000000 */ nop .L800E340C: -/* 07C8BC 800E340C 0C039769 */ jal func_800E5DA4 +/* 07C8BC 800E340C 0C039769 */ jal set_action_state /* 07C8C0 800E3410 2404000B */ addiu $a0, $zero, 0xb /* 07C8C4 800E3414 08038D0D */ j func_800E3434 /* 07C8C8 800E3418 00000000 */ nop @@ -7694,7 +7696,7 @@ func_800E3278: /* 07C8D4 800E3424 C7A00010 */ lwc1 $f0, 0x10($sp) /* 07C8D8 800E3428 E6000080 */ swc1 $f0, 0x80($s0) .L800E342C: -/* 07C8DC 800E342C 0C0397DA */ jal func_800E5F68 +/* 07C8DC 800E342C 0C0397DA */ jal update_locomotion_state /* 07C8E0 800E3430 00000000 */ nop func_800E3434: /* 07C8E4 800E3434 8FBF0020 */ lw $ra, 0x20($sp) @@ -7878,7 +7880,7 @@ func_800E363C: /* 07CB60 800E36B0 26240028 */ addiu $a0, $s1, 0x28 /* 07CB64 800E36B4 8FA60030 */ lw $a2, 0x30($sp) /* 07CB68 800E36B8 8E2700A0 */ lw $a3, 0xa0($s1) -/* 07CB6C 800E36BC 0C00A7E7 */ jal func_80029F9C +/* 07CB6C 800E36BC 0C00A7E7 */ jal add_vec2D_polar /* 07CB70 800E36C0 26250030 */ addiu $a1, $s1, 0x30 /* 07CB74 800E36C4 080390B8 */ j func_800E42E0 /* 07CB78 800E36C8 00000000 */ nop @@ -7966,7 +7968,7 @@ func_800E363C: /* 07CCB0 800E3800 8E26001C */ lw $a2, 0x1c($s1) /* 07CCB4 800E3804 44806000 */ mtc1 $zero, $f12 /* 07CCB8 800E3808 8E270024 */ lw $a3, 0x24($s1) -/* 07CCBC 800E380C 0C00A720 */ jal func_80029C80 +/* 07CCBC 800E380C 0C00A720 */ jal atan2 /* 07CCC0 800E3810 46006386 */ mov.s $f14, $f12 /* 07CCC4 800E3814 0000202D */ daddu $a0, $zero, $zero /* 07CCC8 800E3818 44060000 */ mfc1 $a2, $f0 @@ -8131,7 +8133,7 @@ func_800E3A40: /* 07CF1C 800E3A6C E7A00010 */ swc1 $f0, 0x10($sp) /* 07CF20 800E3A70 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 07CF24 800E3A74 27A70028 */ addiu $a3, $sp, 0x28 -/* 07CF28 800E3A78 0C037D18 */ jal func_800DF460 +/* 07CF28 800E3A78 0C037D18 */ jal test_player_lateral /* 07CF2C 800E3A7C E7A00014 */ swc1 $f0, 0x14($sp) /* 07CF30 800E3A80 C620001C */ lwc1 $f0, 0x1c($s1) /* 07CF34 800E3A84 44801000 */ mtc1 $zero, $f2 @@ -8248,7 +8250,7 @@ func_800E3A40: /* 07D0D8 800E3C28 3C0143B4 */ lui $at, 0x43b4 /* 07D0DC 800E3C2C 44810000 */ mtc1 $at, $f0 /* 07D0E0 800E3C30 27A60038 */ addiu $a2, $sp, 0x38 -/* 07D0E4 800E3C34 0C00A82D */ jal func_8002A0B4 +/* 07D0E4 800E3C34 0C00A82D */ jal sin_cos_rad /* 07D0E8 800E3C38 46006303 */ div.s $f12, $f12, $f0 /* 07D0EC 800E3C3C 822300B4 */ lb $v1, 0xb4($s1) /* 07D0F0 800E3C40 24020014 */ addiu $v0, $zero, 0x14 @@ -8307,7 +8309,7 @@ func_800E3CD8: /* 07D1A8 800E3CF8 3C0143B4 */ lui $at, 0x43b4 /* 07D1AC 800E3CFC 44810000 */ mtc1 $at, $f0 /* 07D1B0 800E3D00 27A60038 */ addiu $a2, $sp, 0x38 -/* 07D1B4 800E3D04 0C00A82D */ jal func_8002A0B4 +/* 07D1B4 800E3D04 0C00A82D */ jal sin_cos_rad /* 07D1B8 800E3D08 46006303 */ div.s $f12, $f12, $f0 /* 07D1BC 800E3D0C C6220054 */ lwc1 $f2, 0x54($s1) /* 07D1C0 800E3D10 E7A20030 */ swc1 $f2, 0x30($sp) @@ -8337,7 +8339,7 @@ func_800E3CD8: /* 07D21C 800E3D6C 44072000 */ mfc1 $a3, $f4 /* 07D220 800E3D70 46006386 */ mov.s $f14, $f12 /* 07D224 800E3D74 AFA60020 */ sw $a2, 0x20($sp) -/* 07D228 800E3D78 0C00A720 */ jal func_80029C80 +/* 07D228 800E3D78 0C00A720 */ jal atan2 /* 07D22C 800E3D7C AFA70028 */ sw $a3, 0x28($sp) /* 07D230 800E3D80 C7A40020 */ lwc1 $f4, 0x20($sp) /* 07D234 800E3D84 46042102 */ mul.s $f4, $f4, $f4 @@ -8430,7 +8432,7 @@ func_800E3CD8: /* 07D37C 800E3ECC E7A60024 */ swc1 $f6, 0x24($sp) /* 07D380 800E3ED0 E7A80028 */ swc1 $f8, 0x28($sp) /* 07D384 800E3ED4 E7A20014 */ swc1 $f2, 0x14($sp) -/* 07D388 800E3ED8 0C037D18 */ jal func_800DF460 +/* 07D388 800E3ED8 0C037D18 */ jal test_player_lateral /* 07D38C 800E3EDC E7A00010 */ swc1 $f0, 0x10($sp) /* 07D390 800E3EE0 C7A20030 */ lwc1 $f2, 0x30($sp) /* 07D394 800E3EE4 44800000 */ mtc1 $zero, $f0 @@ -8472,7 +8474,7 @@ func_800E3CD8: /* 07D424 800E3F74 3C0143B4 */ lui $at, 0x43b4 /* 07D428 800E3F78 44810000 */ mtc1 $at, $f0 /* 07D42C 800E3F7C 27A60038 */ addiu $a2, $sp, 0x38 -/* 07D430 800E3F80 0C00A82D */ jal func_8002A0B4 +/* 07D430 800E3F80 0C00A82D */ jal sin_cos_rad /* 07D434 800E3F84 46006303 */ div.s $f12, $f12, $f0 /* 07D438 800E3F88 862200B2 */ lh $v0, 0xb2($s1) /* 07D43C 800E3F8C C7A60034 */ lwc1 $f6, 0x34($sp) @@ -8504,7 +8506,7 @@ func_800E3CD8: /* 07D4A4 800E3FF4 46800020 */ cvt.s.w $f0, $f0 /* 07D4A8 800E3FF8 E7A20020 */ swc1 $f2, 0x20($sp) /* 07D4AC 800E3FFC E7A00010 */ swc1 $f0, 0x10($sp) -/* 07D4B0 800E4000 0C037D18 */ jal func_800DF460 +/* 07D4B0 800E4000 0C037D18 */ jal test_player_lateral /* 07D4B4 800E4004 E7B40014 */ swc1 $f20, 0x14($sp) /* 07D4B8 800E4008 A6820012 */ sh $v0, 0x12($s4) .L800E400C: @@ -8564,7 +8566,7 @@ func_800E3CD8: /* 07D588 800E40D8 27B30028 */ addiu $s3, $sp, 0x28 /* 07D58C 800E40DC 0260382D */ daddu $a3, $s3, $zero /* 07D590 800E40E0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 07D594 800E40E4 0C037D18 */ jal func_800DF460 +/* 07D594 800E40E4 0C037D18 */ jal test_player_lateral /* 07D598 800E40E8 E7B40014 */ swc1 $f20, 0x14($sp) /* 07D59C 800E40EC 04430013 */ bgezl $v0, .L800E413C /* 07D5A0 800E40F0 A6820000 */ sh $v0, ($s4) @@ -8586,7 +8588,7 @@ func_800E3CD8: /* 07D5D8 800E4128 E7A60010 */ swc1 $f6, 0x10($sp) /* 07D5DC 800E412C E7B40014 */ swc1 $f20, 0x14($sp) func_800E4130: -/* 07D5E0 800E4130 0C037D18 */ jal func_800DF460 +/* 07D5E0 800E4130 0C037D18 */ jal test_player_lateral /* 07D5E4 800E4134 00000000 */ nop /* 07D5E8 800E4138 A6820000 */ sh $v0, ($s4) .L800E413C: @@ -8600,7 +8602,7 @@ func_800E4130: /* 07D608 800E4158 4636A301 */ sub.d $f12, $f20, $f22 /* 07D60C 800E415C E7A20040 */ swc1 $f2, 0x40($sp) /* 07D610 800E4160 E7A00044 */ swc1 $f0, 0x44($sp) -/* 07D614 800E4164 0C00A6C9 */ jal func_80029B24 +/* 07D614 800E4164 0C00A6C9 */ jal clamp_angle /* 07D618 800E4168 46206320 */ cvt.s.d $f12, $f12 /* 07D61C 800E416C 0000202D */ daddu $a0, $zero, $zero /* 07D620 800E4170 0220282D */ daddu $a1, $s1, $zero @@ -8620,7 +8622,7 @@ func_800E4130: /* 07D658 800E41A8 0040802D */ daddu $s0, $v0, $zero /* 07D65C 800E41AC E7A20050 */ swc1 $f2, 0x50($sp) /* 07D660 800E41B0 4620A320 */ cvt.s.d $f12, $f20 -/* 07D664 800E41B4 0C00A6C9 */ jal func_80029B24 +/* 07D664 800E41B4 0C00A6C9 */ jal clamp_angle /* 07D668 800E41B8 E7A0004C */ swc1 $f0, 0x4c($sp) /* 07D66C 800E41BC 0000202D */ daddu $a0, $zero, $zero /* 07D670 800E41C0 0220282D */ daddu $a1, $s1, $zero @@ -8918,7 +8920,7 @@ func_800E45E0: /* 07DA98 800E45E8 3C108011 */ lui $s0, 0x8011 /* 07DA9C 800E45EC 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 07DAA0 800E45F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 07DAA4 800E45F4 0C044181 */ jal func_80110604 +/* 07DAA4 800E45F4 0C044181 */ jal get_shadow_by_index /* 07DAA8 800E45F8 8E0400CC */ lw $a0, 0xcc($s0) /* 07DAAC 800E45FC 3C068007 */ lui $a2, 0x8007 /* 07DAB0 800E4600 8CC6419C */ lw $a2, 0x419c($a2) @@ -8983,7 +8985,7 @@ func_800E46B4: /* 07DB7C 800E46CC 8C84F094 */ lw $a0, -0xf6c($a0) /* 07DB80 800E46D0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07DB84 800E46D4 AFBF0010 */ sw $ra, 0x10($sp) -/* 07DB88 800E46D8 0C044181 */ jal func_80110604 +/* 07DB88 800E46D8 0C044181 */ jal get_shadow_by_index /* 07DB8C 800E46DC 00000000 */ nop /* 07DB90 800E46E0 C4400030 */ lwc1 $f0, 0x30($v0) /* 07DB94 800E46E4 3C018011 */ lui $at, 0x8011 @@ -9060,7 +9062,7 @@ func_800E4744: /* 07DCA4 800E47F4 AFA20020 */ sw $v0, 0x20($sp) /* 07DCA8 800E47F8 0C03791B */ jal func_800DE46C /* 07DCAC 800E47FC 46002603 */ div.s $f24, $f4, $f0 -/* 07DCB0 800E4800 0C00A794 */ jal func_80029E50 +/* 07DCB0 800E4800 0C00A794 */ jal get_player_normal_pitch /* 07DCB4 800E4804 0040882D */ daddu $s1, $v0, $zero /* 07DCB8 800E4808 4614C502 */ mul.s $f20, $f24, $f20 /* 07DCBC 800E480C 00000000 */ nop @@ -9106,7 +9108,7 @@ func_800E4744: /* 07DD50 800E48A0 00000000 */ nop /* 07DD54 800E48A4 10400006 */ beqz $v0, .L800E48C0 /* 07DD58 800E48A8 00000000 */ nop -/* 07DD5C 800E48AC 0C039769 */ jal func_800E5DA4 +/* 07DD5C 800E48AC 0C039769 */ jal set_action_state /* 07DD60 800E48B0 0240202D */ daddu $a0, $s2, $zero /* 07DD64 800E48B4 820200B4 */ lb $v0, 0xb4($s0) /* 07DD68 800E48B8 1052007C */ beq $v0, $s2, .L800E4AAC @@ -9114,7 +9116,7 @@ func_800E4744: .L800E48C0: /* 07DD70 800E48C0 0620005D */ bltz $s1, .L800E4A38 /* 07DD74 800E48C4 00000000 */ nop -/* 07DD78 800E48C8 0C016F6A */ jal func_8005BDA8 +/* 07DD78 800E48C8 0C016F6A */ jal get_collider_type_by_id /* 07DD7C 800E48CC 0220202D */ daddu $a0, $s1, $zero /* 07DD80 800E48D0 304400FF */ andi $a0, $v0, 0xff /* 07DD84 800E48D4 24020002 */ addiu $v0, $zero, 2 @@ -9158,13 +9160,13 @@ func_800E4744: /* 07DE04 800E4954 24020001 */ addiu $v0, $zero, 1 /* 07DE08 800E4958 A20200BF */ sb $v0, 0xbf($s0) func_800E495C: -/* 07DE0C 800E495C 0C039769 */ jal func_800E5DA4 +/* 07DE0C 800E495C 0C039769 */ jal set_action_state /* 07DE10 800E4960 24040017 */ addiu $a0, $zero, 0x17 /* 07DE14 800E4964 080392AB */ j func_800E4AAC /* 07DE18 800E4968 00000000 */ nop .L800E496C: -/* 07DE1C 800E496C 0C039769 */ jal func_800E5DA4 +/* 07DE1C 800E496C 0C039769 */ jal set_action_state /* 07DE20 800E4970 24040016 */ addiu $a0, $zero, 0x16 /* 07DE24 800E4974 080392AB */ j func_800E4AAC /* 07DE28 800E4978 00000000 */ nop @@ -9204,7 +9206,7 @@ func_800E497C: /* 07DEA4 800E49F4 E604002C */ swc1 $f4, 0x2c($s0) .L800E49F8: -/* 07DEA8 800E49F8 0C039769 */ jal func_800E5DA4 +/* 07DEA8 800E49F8 0C039769 */ jal set_action_state /* 07DEAC 800E49FC 24040022 */ addiu $a0, $zero, 0x22 /* 07DEB0 800E4A00 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 07DEB4 800E4A04 C6020080 */ lwc1 $f2, 0x80($s0) @@ -9251,7 +9253,7 @@ func_800E4A28: /* 07DF44 800E4A94 45030001 */ bc1tl .L800E4A9C /* 07DF48 800E4A98 24040009 */ addiu $a0, $zero, 9 .L800E4A9C: -/* 07DF4C 800E4A9C 0C039769 */ jal func_800E5DA4 +/* 07DF4C 800E4A9C 0C039769 */ jal set_action_state /* 07DF50 800E4AA0 00000000 */ nop /* 07DF54 800E4AA4 0C038C1B */ jal func_800E306C /* 07DF58 800E4AA8 00000000 */ nop @@ -9354,7 +9356,7 @@ func_800E4BB8: /* 07E0BC 800E4C0C 4480A000 */ mtc1 $zero, $f20 /* 07E0C0 800E4C10 46006321 */ cvt.d.s $f12, $f12 /* 07E0C4 800E4C14 46346301 */ sub.d $f12, $f12, $f20 -/* 07E0C8 800E4C18 0C00A6C9 */ jal func_80029B24 +/* 07E0C8 800E4C18 0C00A6C9 */ jal clamp_angle /* 07E0CC 800E4C1C 46206320 */ cvt.s.d $f12, $f12 /* 07E0D0 800E4C20 0000202D */ daddu $a0, $zero, $zero /* 07E0D4 800E4C24 0260282D */ daddu $a1, $s3, $zero @@ -9389,7 +9391,7 @@ func_800E4BB8: /* 07E148 800E4C98 46346300 */ add.d $f12, $f12, $f20 /* 07E14C 800E4C9C E6600028 */ swc1 $f0, 0x28($s3) /* 07E150 800E4CA0 E6620030 */ swc1 $f2, 0x30($s3) -/* 07E154 800E4CA4 0C00A6C9 */ jal func_80029B24 +/* 07E154 800E4CA4 0C00A6C9 */ jal clamp_angle /* 07E158 800E4CA8 46206320 */ cvt.s.d $f12, $f12 /* 07E15C 800E4CAC 0000202D */ daddu $a0, $zero, $zero /* 07E160 800E4CB0 0260282D */ daddu $a1, $s3, $zero @@ -9419,7 +9421,7 @@ func_800E4BB8: /* 07E1C0 800E4D10 46346301 */ sub.d $f12, $f12, $f20 /* 07E1C4 800E4D14 E6600028 */ swc1 $f0, 0x28($s3) /* 07E1C8 800E4D18 E6620030 */ swc1 $f2, 0x30($s3) -/* 07E1CC 800E4D1C 0C00A6C9 */ jal func_80029B24 +/* 07E1CC 800E4D1C 0C00A6C9 */ jal clamp_angle /* 07E1D0 800E4D20 46206320 */ cvt.s.d $f12, $f12 /* 07E1D4 800E4D24 0000202D */ daddu $a0, $zero, $zero /* 07E1D8 800E4D28 0260282D */ daddu $a1, $s3, $zero @@ -9442,7 +9444,7 @@ func_800E4BB8: /* 07E21C 800E4D6C 46346300 */ add.d $f12, $f12, $f20 /* 07E220 800E4D70 E6600028 */ swc1 $f0, 0x28($s3) /* 07E224 800E4D74 E6620030 */ swc1 $f2, 0x30($s3) -/* 07E228 800E4D78 0C00A6C9 */ jal func_80029B24 +/* 07E228 800E4D78 0C00A6C9 */ jal clamp_angle /* 07E22C 800E4D7C 46206320 */ cvt.s.d $f12, $f12 /* 07E230 800E4D80 0000202D */ daddu $a0, $zero, $zero /* 07E234 800E4D84 0260282D */ daddu $a1, $s3, $zero @@ -9467,7 +9469,7 @@ func_800E4BB8: /* 07E280 800E4DD0 46346300 */ add.d $f12, $f12, $f20 /* 07E284 800E4DD4 E6620028 */ swc1 $f2, 0x28($s3) /* 07E288 800E4DD8 E6600030 */ swc1 $f0, 0x30($s3) -/* 07E28C 800E4DDC 0C00A6C9 */ jal func_80029B24 +/* 07E28C 800E4DDC 0C00A6C9 */ jal clamp_angle /* 07E290 800E4DE0 46206320 */ cvt.s.d $f12, $f12 /* 07E294 800E4DE4 0000202D */ daddu $a0, $zero, $zero /* 07E298 800E4DE8 0260282D */ daddu $a1, $s3, $zero @@ -9490,7 +9492,7 @@ func_800E4BB8: /* 07E2DC 800E4E2C 46346301 */ sub.d $f12, $f12, $f20 /* 07E2E0 800E4E30 E6600028 */ swc1 $f0, 0x28($s3) /* 07E2E4 800E4E34 E6620030 */ swc1 $f2, 0x30($s3) -/* 07E2E8 800E4E38 0C00A6C9 */ jal func_80029B24 +/* 07E2E8 800E4E38 0C00A6C9 */ jal clamp_angle /* 07E2EC 800E4E3C 46206320 */ cvt.s.d $f12, $f12 /* 07E2F0 800E4E40 0000202D */ daddu $a0, $zero, $zero /* 07E2F4 800E4E44 0260282D */ daddu $a1, $s3, $zero @@ -9515,7 +9517,7 @@ func_800E4BB8: /* 07E340 800E4E90 46206300 */ add.d $f12, $f12, $f0 /* 07E344 800E4E94 E6640028 */ swc1 $f4, 0x28($s3) /* 07E348 800E4E98 E6620030 */ swc1 $f2, 0x30($s3) -/* 07E34C 800E4E9C 0C00A6C9 */ jal func_80029B24 +/* 07E34C 800E4E9C 0C00A6C9 */ jal clamp_angle /* 07E350 800E4EA0 46206320 */ cvt.s.d $f12, $f12 /* 07E354 800E4EA4 0000202D */ daddu $a0, $zero, $zero /* 07E358 800E4EA8 0260282D */ daddu $a1, $s3, $zero @@ -9588,7 +9590,7 @@ func_800E4F10: /* 07E458 800E4FA8 00000000 */ nop /* 07E45C 800E4FAC 45010003 */ bc1t .L800E4FBC /* 07E460 800E4FB0 00000000 */ nop -/* 07E464 800E4FB4 0C039769 */ jal func_800E5DA4 +/* 07E464 800E4FB4 0C039769 */ jal set_action_state /* 07E468 800E4FB8 0040202D */ daddu $a0, $v0, $zero .L800E4FBC: /* 07E46C 800E4FBC 8FBF0034 */ lw $ra, 0x34($sp) @@ -9596,7 +9598,7 @@ func_800E4F10: /* 07E474 800E4FC4 03E00008 */ jr $ra /* 07E478 800E4FC8 27BD0038 */ addiu $sp, $sp, 0x38 -func_800E4FCC: +check_input_midair_jump: /* 07E47C 800E4FCC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07E480 800E4FD0 3C030080 */ lui $v1, 0x80 /* 07E484 800E4FD4 AFB00010 */ sw $s0, 0x10($sp) @@ -9638,7 +9640,7 @@ func_800E4FCC: .L800E5060: /* 07E510 800E5060 2404000D */ addiu $a0, $zero, 0xd .L800E5064: -/* 07E514 800E5064 0C039769 */ jal func_800E5DA4 +/* 07E514 800E5064 0C039769 */ jal set_action_state /* 07E518 800E5068 00000000 */ nop /* 07E51C 800E506C 8E020000 */ lw $v0, ($s0) /* 07E520 800E5070 34420008 */ ori $v0, $v0, 8 @@ -9678,7 +9680,7 @@ func_800E5088: /* 07E58C 800E50DC 00000000 */ nop /* 07E590 800E50E0 3C048016 */ lui $a0, 0x8016 /* 07E594 800E50E4 8484A552 */ lh $a0, -0x5aae($a0) -/* 07E598 800E50E8 0C016F6A */ jal func_8005BDA8 +/* 07E598 800E50E8 0C016F6A */ jal get_collider_type_by_id /* 07E59C 800E50EC 00000000 */ nop /* 07E5A0 800E50F0 304300FF */ andi $v1, $v0, 0xff /* 07E5A4 800E50F4 24020006 */ addiu $v0, $zero, 6 @@ -9700,7 +9702,7 @@ func_800E5118: /* 07E5D4 800E5124 50400001 */ beql $v0, $zero, .L800E512C /* 07E5D8 800E5128 0060202D */ daddu $a0, $v1, $zero .L800E512C: -/* 07E5DC 800E512C 0C052736 */ jal func_80149CD8 +/* 07E5DC 800E512C 0C052736 */ jal play_sound_at_player /* 07E5E0 800E5130 0000282D */ daddu $a1, $zero, $zero /* 07E5E4 800E5134 96020000 */ lhu $v0, ($s0) /* 07E5E8 800E5138 38420001 */ xori $v0, $v0, 1 @@ -9762,7 +9764,7 @@ func_800E5174: /* 07E6B8 800E5208 E7A6001C */ swc1 $f6, 0x1c($sp) /* 07E6BC 800E520C E7A20020 */ swc1 $f2, 0x20($sp) /* 07E6C0 800E5210 E7A80014 */ swc1 $f8, 0x14($sp) -/* 07E6C4 800E5214 0C037D18 */ jal func_800DF460 +/* 07E6C4 800E5214 0C037D18 */ jal test_player_lateral /* 07E6C8 800E5218 E7A00010 */ swc1 $f0, 0x10($sp) /* 07E6CC 800E521C 0040202D */ daddu $a0, $v0, $zero /* 07E6D0 800E5220 0481002D */ bgez $a0, .L800E52D8 @@ -9807,7 +9809,7 @@ func_800E5174: /* 07E76C 800E52BC 46020200 */ add.s $f8, $f0, $f2 /* 07E770 800E52C0 E7A40020 */ swc1 $f4, 0x20($sp) /* 07E774 800E52C4 E7A60010 */ swc1 $f6, 0x10($sp) -/* 07E778 800E52C8 0C037D18 */ jal func_800DF460 +/* 07E778 800E52C8 0C037D18 */ jal test_player_lateral /* 07E77C 800E52CC E7A80014 */ swc1 $f8, 0x14($sp) /* 07E780 800E52D0 0040202D */ daddu $a0, $v0, $zero .L800E52D4: @@ -9865,7 +9867,7 @@ func_800E5348: /* 07E82C 800E537C 3C01800B */ lui $at, 0x800b /* 07E830 800E5380 00220821 */ addu $at, $at, $v0 /* 07E834 800E5384 C42C1DEC */ lwc1 $f12, 0x1dec($at) -/* 07E838 800E5388 0C00A70A */ jal func_80029C28 +/* 07E838 800E5388 0C00A70A */ jal get_clamped_angle_diff /* 07E83C 800E538C 00000000 */ nop /* 07E840 800E5390 3C01C0A0 */ lui $at, 0xc0a0 /* 07E844 800E5394 44811000 */ mtc1 $at, $f2 @@ -9922,7 +9924,7 @@ func_800E541C: /* 07E8FC 800E544C 3C01800B */ lui $at, 0x800b /* 07E900 800E5450 00220821 */ addu $at, $at, $v0 /* 07E904 800E5454 C4201DEC */ lwc1 $f0, 0x1dec($at) -/* 07E908 800E5458 0C00A6C9 */ jal func_80029B24 +/* 07E908 800E5458 0C00A6C9 */ jal clamp_angle /* 07E90C 800E545C 46006300 */ add.s $f12, $f12, $f0 /* 07E910 800E5460 8FBF0010 */ lw $ra, 0x10($sp) /* 07E914 800E5464 03E00008 */ jr $ra @@ -9954,7 +9956,7 @@ func_800E546C: /* 07E970 800E54C0 460C1300 */ add.s $f12, $f2, $f12 /* 07E974 800E54C4 3C0142B4 */ lui $at, 0x42b4 /* 07E978 800E54C8 44810000 */ mtc1 $at, $f0 -/* 07E97C 800E54CC 0C00A6C9 */ jal func_80029B24 +/* 07E97C 800E54CC 0C00A6C9 */ jal clamp_angle /* 07E980 800E54D0 46006300 */ add.s $f12, $f12, $f0 /* 07E984 800E54D4 8FBF0010 */ lw $ra, 0x10($sp) /* 07E988 800E54D8 03E00008 */ jr $ra @@ -10195,7 +10197,7 @@ func_800E57A0: /* 07ECD0 800E5820 0000202D */ daddu $a0, $zero, $zero .L800E5824: /* 07ECD4 800E5824 3C05F5DE */ lui $a1, 0xf5de -/* 07ECD8 800E5828 0C0B1EAF */ jal func_802C7ABC +/* 07ECD8 800E5828 0C0B1EAF */ jal get_variable /* 07ECDC 800E582C 34A50180 */ ori $a1, $a1, 0x180 /* 07ECE0 800E5830 2842FFC6 */ slti $v0, $v0, -0x3a /* 07ECE4 800E5834 14400003 */ bnez $v0, .L800E5844 @@ -10212,7 +10214,7 @@ func_800E5844: /* 07ECF8 800E5848 00000000 */ nop /* 07ECFC 800E584C 3C048016 */ lui $a0, 0x8016 /* 07ED00 800E5850 8484A552 */ lh $a0, -0x5aae($a0) -/* 07ED04 800E5854 0C016F6A */ jal func_8005BDA8 +/* 07ED04 800E5854 0C016F6A */ jal get_collider_type_by_id /* 07ED08 800E5858 00000000 */ nop /* 07ED0C 800E585C 304200FF */ andi $v0, $v0, 0xff /* 07ED10 800E5860 24030003 */ addiu $v1, $zero, 3 @@ -10313,7 +10315,7 @@ func_800E59A0: /* 07EE54 800E59A4 3C048011 */ lui $a0, 0x8011 /* 07EE58 800E59A8 2484F250 */ addiu $a0, $a0, -0xdb0 /* 07EE5C 800E59AC AFBF0010 */ sw $ra, 0x10($sp) -/* 07EE60 800E59B0 0C00A580 */ jal func_80029600 +/* 07EE60 800E59B0 0C00A580 */ jal mem_clear /* 07EE64 800E59B4 24050034 */ addiu $a1, $zero, 0x34 /* 07EE68 800E59B8 0000382D */ daddu $a3, $zero, $zero /* 07EE6C 800E59BC 3C068011 */ lui $a2, 0x8011 @@ -10432,7 +10434,7 @@ func_800E5A2C: /* 07F008 800E5B58 00431024 */ and $v0, $v0, $v1 /* 07F00C 800E5B5C 10800004 */ beqz $a0, .L800E5B70 /* 07F010 800E5B60 AE020004 */ sw $v0, 4($s0) -/* 07F014 800E5B64 0C05271B */ jal func_80149C6C +/* 07F014 800E5B64 0C05271B */ jal stop_sound /* 07F018 800E5B68 00000000 */ nop .L800E5B6C: /* 07F01C 800E5B6C 3C138000 */ lui $s3, 0x8000 @@ -10463,10 +10465,10 @@ func_800E5A2C: /* 07F074 800E5BC4 00000000 */ nop /* 07F078 800E5BC8 10600003 */ beqz $v1, .L800E5BD8 /* 07F07C 800E5BCC 00000000 */ nop -/* 07F080 800E5BD0 0C039769 */ jal func_800E5DA4 +/* 07F080 800E5BD0 0C039769 */ jal set_action_state /* 07F084 800E5BD4 2404000C */ addiu $a0, $zero, 0xc .L800E5BD8: -/* 07F088 800E5BD8 0C03989A */ jal func_800E6268 +/* 07F088 800E5BD8 0C03989A */ jal check_input_spin /* 07F08C 800E5BDC 00000000 */ nop .L800E5BE0: /* 07F090 800E5BE0 8E020000 */ lw $v0, ($s0) @@ -10487,7 +10489,7 @@ func_800E5A2C: /* 07F0CC 800E5C1C 00511021 */ addu $v0, $v0, $s1 /* 07F0D0 800E5C20 8C450008 */ lw $a1, 8($v0) /* 07F0D4 800E5C24 34C66000 */ ori $a2, $a2, 0x6000 -/* 07F0D8 800E5C28 0C00A5CF */ jal func_8002973C +/* 07F0D8 800E5C28 0C00A5CF */ jal dma_copy /* 07F0DC 800E5C2C AE440000 */ sw $a0, ($s2) .L800E5C30: /* 07F0E0 800E5C30 820200B4 */ lb $v0, 0xb4($s0) @@ -10534,7 +10536,7 @@ func_800E5C78: /* 07F174 800E5CC4 00000000 */ nop /* 07F178 800E5CC8 10400003 */ beqz $v0, .L800E5CD8 /* 07F17C 800E5CCC 00000000 */ nop -/* 07F180 800E5CD0 0C039769 */ jal func_800E5DA4 +/* 07F180 800E5CD0 0C039769 */ jal set_action_state /* 07F184 800E5CD4 2404000C */ addiu $a0, $zero, 0xc .L800E5CD8: /* 07F188 800E5CD8 8E020000 */ lw $v0, ($s0) @@ -10558,7 +10560,7 @@ func_800E5C78: /* 07F1D0 800E5D20 00511021 */ addu $v0, $v0, $s1 /* 07F1D4 800E5D24 8C450008 */ lw $a1, 8($v0) /* 07F1D8 800E5D28 34C66000 */ ori $a2, $a2, 0x6000 -/* 07F1DC 800E5D2C 0C00A5CF */ jal func_8002973C +/* 07F1DC 800E5D2C 0C00A5CF */ jal dma_copy /* 07F1E0 800E5D30 AE440000 */ sw $a0, ($s2) .L800E5D34: /* 07F1E4 800E5D34 820200B4 */ lb $v0, 0xb4($s0) @@ -10592,7 +10594,7 @@ func_800E5C78: /* 07F24C 800E5D9C 03E00008 */ jr $ra /* 07F250 800E5DA0 27BD0028 */ addiu $sp, $sp, 0x28 -func_800E5DA4: +set_action_state: /* 07F254 800E5DA4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07F258 800E5DA8 AFB00010 */ sw $s0, 0x10($sp) /* 07F25C 800E5DAC 3C108011 */ lui $s0, 0x8011 @@ -10704,7 +10706,7 @@ func_800E5DA4: /* 07F3D4 800E5F24 00441024 */ and $v0, $v0, $a0 /* 07F3D8 800E5F28 10600003 */ beqz $v1, .L800E5F38 /* 07F3DC 800E5F2C AE020004 */ sw $v0, 4($s0) -/* 07F3E0 800E5F30 0C05271B */ jal func_80149C6C +/* 07F3E0 800E5F30 0C05271B */ jal stop_sound /* 07F3E4 800E5F34 0060202D */ daddu $a0, $v1, $zero .L800E5F38: /* 07F3E8 800E5F38 8E0200D8 */ lw $v0, 0xd8($s0) @@ -10722,13 +10724,13 @@ func_800E5F54: /* 07F410 800E5F60 03E00008 */ jr $ra /* 07F414 800E5F64 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E5F68: +update_locomotion_state: /* 07F418 800E5F68 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F41C 800E5F6C AFB00010 */ sw $s0, 0x10($sp) /* 07F420 800E5F70 3C108011 */ lui $s0, 0x8011 /* 07F424 800E5F74 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 07F428 800E5F78 AFBF0014 */ sw $ra, 0x14($sp) -/* 07F42C 800E5F7C 0C03A752 */ jal func_800E9D48 +/* 07F42C 800E5F7C 0C03A752 */ jal is_ability_active /* 07F430 800E5F80 2404000B */ addiu $a0, $zero, 0xb /* 07F434 800E5F84 1440000C */ bnez $v0, .L800E5FB8 /* 07F438 800E5F88 24040001 */ addiu $a0, $zero, 1 @@ -10744,16 +10746,17 @@ func_800E5F68: /* 07F460 800E5FB0 50400001 */ beql $v0, $zero, .L800E5FB8 /* 07F464 800E5FB4 24040002 */ addiu $a0, $zero, 2 .L800E5FB8: -/* 07F468 800E5FB8 0C039769 */ jal func_800E5DA4 +/* 07F468 800E5FB8 0C039769 */ jal set_action_state /* 07F46C 800E5FBC 00000000 */ nop /* 07F470 800E5FC0 8FBF0014 */ lw $ra, 0x14($sp) /* 07F474 800E5FC4 8FB00010 */ lw $s0, 0x10($sp) /* 07F478 800E5FC8 03E00008 */ jr $ra /* 07F47C 800E5FCC 27BD0018 */ addiu $sp, $sp, 0x18 +start_falling: /* 07F480 800E5FD0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F484 800E5FD4 AFBF0010 */ sw $ra, 0x10($sp) -/* 07F488 800E5FD8 0C039769 */ jal func_800E5DA4 +/* 07F488 800E5FD8 0C039769 */ jal set_action_state /* 07F48C 800E5FDC 24040008 */ addiu $a0, $zero, 8 /* 07F490 800E5FE0 3C013DEA */ lui $at, 0x3dea /* 07F494 800E5FE4 3421161E */ ori $at, $at, 0x161e @@ -10777,10 +10780,10 @@ func_800E5F68: /* 07F4DC 800E602C 03E00008 */ jr $ra /* 07F4E0 800E6030 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E6034: +start_bounce_a: /* 07F4E4 800E6034 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F4E8 800E6038 AFBF0010 */ sw $ra, 0x10($sp) -/* 07F4EC 800E603C 0C039769 */ jal func_800E5DA4 +/* 07F4EC 800E603C 0C039769 */ jal set_action_state /* 07F4F0 800E6040 24040004 */ addiu $a0, $zero, 4 /* 07F4F4 800E6044 3C014120 */ lui $at, 0x4120 /* 07F4F8 800E6048 44810000 */ mtc1 $at, $f0 @@ -10801,9 +10804,10 @@ func_800E6034: /* 07F534 800E6084 03E00008 */ jr $ra /* 07F538 800E6088 27BD0018 */ addiu $sp, $sp, 0x18 +start_bounce_b: /* 07F53C 800E608C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F540 800E6090 AFBF0010 */ sw $ra, 0x10($sp) -/* 07F544 800E6094 0C039769 */ jal func_800E5DA4 +/* 07F544 800E6094 0C039769 */ jal set_action_state /* 07F548 800E6098 24040004 */ addiu $a0, $zero, 4 /* 07F54C 800E609C 3C048011 */ lui $a0, 0x8011 /* 07F550 800E60A0 2484EFC8 */ addiu $a0, $a0, -0x1038 @@ -10823,6 +10827,7 @@ func_800E6034: /* 07F588 800E60D8 03E00008 */ jr $ra /* 07F58C 800E60DC 27BD0018 */ addiu $sp, $sp, 0x18 +check_input_hammer: /* 07F590 800E60E0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F594 800E60E4 3C038011 */ lui $v1, 0x8011 /* 07F598 800E60E8 2463EFC8 */ addiu $v1, $v1, -0x1038 @@ -10850,7 +10855,7 @@ func_800E6034: /* 07F5EC 800E613C 2402FFFF */ addiu $v0, $zero, -1 /* 07F5F0 800E6140 10620004 */ beq $v1, $v0, .L800E6154 /* 07F5F4 800E6144 0000102D */ daddu $v0, $zero, $zero -/* 07F5F8 800E6148 0C039769 */ jal func_800E5DA4 +/* 07F5F8 800E6148 0C039769 */ jal set_action_state /* 07F5FC 800E614C 24040012 */ addiu $a0, $zero, 0x12 /* 07F600 800E6150 24020001 */ addiu $v0, $zero, 1 .L800E6154: @@ -10858,6 +10863,7 @@ func_800E6034: /* 07F608 800E6158 03E00008 */ jr $ra /* 07F60C 800E615C 27BD0018 */ addiu $sp, $sp, 0x18 +check_input_jump: /* 07F610 800E6160 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07F614 800E6164 AFB10014 */ sw $s1, 0x14($sp) /* 07F618 800E6168 3C118011 */ lui $s1, 0x8011 @@ -10871,7 +10877,7 @@ func_800E6034: /* 07F638 800E6188 10400032 */ beqz $v0, .L800E6254 /* 07F63C 800E618C 0000102D */ daddu $v0, $zero, $zero /* 07F640 800E6190 96040002 */ lhu $a0, 2($s0) -/* 07F644 800E6194 0C016F6A */ jal func_8005BDA8 +/* 07F644 800E6194 0C016F6A */ jal get_collider_type_by_id /* 07F648 800E6198 00000000 */ nop /* 07F64C 800E619C 24030005 */ addiu $v1, $zero, 5 /* 07F650 800E61A0 14430007 */ bne $v0, $v1, .L800E61C0 @@ -10899,7 +10905,7 @@ func_800E6034: /* 07F69C 800E61EC 30624000 */ andi $v0, $v1, 0x4000 /* 07F6A0 800E61F0 10400015 */ beqz $v0, .L800E6248 /* 07F6A4 800E61F4 00000000 */ nop -/* 07F6A8 800E61F8 0C04417A */ jal func_801105E8 +/* 07F6A8 800E61F8 0C04417A */ jal get_entity_by_index /* 07F6AC 800E61FC 00000000 */ nop /* 07F6B0 800E6200 0040182D */ daddu $v1, $v0, $zero /* 07F6B4 800E6204 8C440000 */ lw $a0, ($v0) @@ -10921,7 +10927,7 @@ func_800E6034: /* 07F6F0 800E6240 10620004 */ beq $v1, $v0, .L800E6254 /* 07F6F4 800E6244 0000102D */ daddu $v0, $zero, $zero .L800E6248: -/* 07F6F8 800E6248 0C039769 */ jal func_800E5DA4 +/* 07F6F8 800E6248 0C039769 */ jal set_action_state /* 07F6FC 800E624C 24040003 */ addiu $a0, $zero, 3 /* 07F700 800E6250 24020001 */ addiu $v0, $zero, 1 func_800E6254: @@ -10932,7 +10938,7 @@ func_800E6254: /* 07F710 800E6260 03E00008 */ jr $ra /* 07F714 800E6264 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E6268: +check_input_spin: /* 07F718 800E6268 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07F71C 800E626C AFB00010 */ sw $s0, 0x10($sp) /* 07F720 800E6270 3C108011 */ lui $s0, 0x8011 @@ -10954,7 +10960,7 @@ func_800E6268: /* 07F760 800E62B0 30420004 */ andi $v0, $v0, 4 /* 07F764 800E62B4 14400027 */ bnez $v0, .L800E6354 /* 07F768 800E62B8 00000000 */ nop -/* 07F76C 800E62BC 0C03A752 */ jal func_800E9D48 +/* 07F76C 800E62BC 0C03A752 */ jal is_ability_active /* 07F770 800E62C0 2404000B */ addiu $a0, $zero, 0xb /* 07F774 800E62C4 14400023 */ bnez $v0, .L800E6354 /* 07F778 800E62C8 00000000 */ nop @@ -10980,7 +10986,7 @@ func_800E6268: /* 07F7C8 800E6318 1040000E */ beqz $v0, .L800E6354 /* 07F7CC 800E631C 00000000 */ nop .L800E6320: -/* 07F7D0 800E6320 0C039769 */ jal func_800E5DA4 +/* 07F7D0 800E6320 0C039769 */ jal set_action_state /* 07F7D4 800E6324 2404001A */ addiu $a0, $zero, 0x1a /* 07F7D8 800E6328 82220001 */ lb $v0, 1($s1) /* 07F7DC 800E632C 10400009 */ beqz $v0, .L800E6354 @@ -11010,7 +11016,7 @@ func_800E636C: /* 07F82C 800E637C 8C84C96C */ lw $a0, -0x3694($a0) /* 07F830 800E6380 04800004 */ bltz $a0, .L800E6394 /* 07F834 800E6384 AFBF0014 */ sw $ra, 0x14($sp) -/* 07F838 800E6388 0C00E2B7 */ jal func_80038ADC +/* 07F838 800E6388 0C00E2B7 */ jal get_npc_by_index /* 07F83C 800E638C 00000000 */ nop /* 07F840 800E6390 AC500028 */ sw $s0, 0x28($v0) .L800E6394: @@ -11025,7 +11031,7 @@ func_800E636C: /* 07F860 800E63B0 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 07F864 800E63B4 10800005 */ beqz $a0, .L800E63CC /* 07F868 800E63B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 07F86C 800E63BC 0C039769 */ jal func_800E5DA4 +/* 07F86C 800E63BC 0C039769 */ jal set_action_state /* 07F870 800E63C0 24040019 */ addiu $a0, $zero, 0x19 /* 07F874 800E63C4 08039906 */ j func_800E6418 /* 07F878 800E63C8 00000000 */ nop @@ -11044,7 +11050,7 @@ func_800E636C: /* 07F8A4 800E63F4 8C84C96C */ lw $a0, -0x3694($a0) /* 07F8A8 800E63F8 0C00E228 */ jal func_800388A0 /* 07F8AC 800E63FC A200000C */ sb $zero, 0xc($s0) -/* 07F8B0 800E6400 0C039769 */ jal func_800E5DA4 +/* 07F8B0 800E6400 0C039769 */ jal set_action_state /* 07F8B4 800E6404 0000202D */ daddu $a0, $zero, $zero /* 07F8B8 800E6408 24020037 */ addiu $v0, $zero, 0x37 /* 07F8BC 800E640C A60200B0 */ sh $v0, 0xb0($s0) @@ -11108,7 +11114,7 @@ func_800E6428: /* 07F990 800E64E0 30424000 */ andi $v0, $v0, 0x4000 /* 07F994 800E64E4 10400003 */ beqz $v0, .L800E64F4 /* 07F998 800E64E8 00000000 */ nop -/* 07F99C 800E64EC 0C039769 */ jal func_800E5DA4 +/* 07F99C 800E64EC 0C039769 */ jal set_action_state /* 07F9A0 800E64F0 24040019 */ addiu $a0, $zero, 0x19 func_800E64F4: .L800E64F4: @@ -11125,7 +11131,7 @@ func_800E6500: /* 07F9C4 800E6514 2610EFC8 */ addiu $s0, $s0, -0x1038 /* 07F9C8 800E6518 04800014 */ bltz $a0, .L800E656C /* 07F9CC 800E651C AFBF0014 */ sw $ra, 0x14($sp) -/* 07F9D0 800E6520 0C00E2B7 */ jal func_80038ADC +/* 07F9D0 800E6520 0C00E2B7 */ jal get_npc_by_index /* 07F9D4 800E6524 00000000 */ nop /* 07F9D8 800E6528 0040202D */ daddu $a0, $v0, $zero /* 07F9DC 800E652C 8C820000 */ lw $v0, ($a0) @@ -11197,10 +11203,10 @@ func_800E657C: /* 07FAC4 800E6614 0040202D */ daddu $a0, $v0, $zero /* 07FAC8 800E6618 3C018011 */ lui $at, 0x8011 /* 07FACC 800E661C AC24C96C */ sw $a0, -0x3694($at) -/* 07FAD0 800E6620 0C00E2B7 */ jal func_80038ADC +/* 07FAD0 800E6620 0C00E2B7 */ jal get_npc_by_index /* 07FAD4 800E6624 00000000 */ nop /* 07FAD8 800E6628 0040802D */ daddu $s0, $v0, $zero -/* 07FADC 800E662C 0C00EAFF */ jal func_8003ABFC +/* 07FADC 800E662C 0C00EAFF */ jal disable_npc_shadow /* 07FAE0 800E6630 0200202D */ daddu $a0, $s0, $zero /* 07FAE4 800E6634 C62200A8 */ lwc1 $f2, 0xa8($s1) /* 07FAE8 800E6638 3C0142B4 */ lui $at, 0x42b4 @@ -11228,7 +11234,7 @@ func_800E657C: /* 07FB34 800E6684 00000000 */ nop func_800E6688: /* 07FB38 800E6688 44050000 */ mfc1 $a1, $f0 -/* 07FB3C 800E668C 0C00ECD0 */ jal func_8003B340 +/* 07FB3C 800E668C 0C00ECD0 */ jal set_npc_yaw /* 07FB40 800E6690 0200202D */ daddu $a0, $s0, $zero /* 07FB44 800E6694 C6200028 */ lwc1 $f0, 0x28($s1) /* 07FB48 800E6698 E6000038 */ swc1 $f0, 0x38($s0) @@ -11290,7 +11296,7 @@ func_800E66B0: /* 07FC18 800E6768 00000000 */ nop /* 07FC1C 800E676C 46001501 */ sub.s $f20, $f2, $f0 func_800E6770: -/* 07FC20 800E6770 0C00A6C9 */ jal func_80029B24 +/* 07FC20 800E6770 0C00A6C9 */ jal clamp_angle /* 07FC24 800E6774 4600A306 */ mov.s $f12, $f20 /* 07FC28 800E6778 27A50020 */ addiu $a1, $sp, 0x20 /* 07FC2C 800E677C 27A60024 */ addiu $a2, $sp, 0x24 @@ -11306,7 +11312,7 @@ func_800E6770: /* 07FC54 800E67A4 44816000 */ mtc1 $at, $f12 /* 07FC58 800E67A8 3C014080 */ lui $at, 0x4080 /* 07FC5C 800E67AC 4481B000 */ mtc1 $at, $f22 -/* 07FC60 800E67B0 0C00A82D */ jal func_8002A0B4 +/* 07FC60 800E67B0 0C00A82D */ jal sin_cos_rad /* 07FC64 800E67B4 460C0303 */ div.s $f12, $f0, $f12 .L800E67B8: /* 07FC68 800E67B8 C7A00020 */ lwc1 $f0, 0x20($sp) @@ -11368,7 +11374,7 @@ func_800E6860: /* 07FD3C 800E688C 80630003 */ lb $v1, 3($v1) /* 07FD40 800E6890 14620017 */ bne $v1, $v0, .L800E68F0 /* 07FD44 800E6894 00000000 */ nop -/* 07FD48 800E6898 0C00EABB */ jal func_8003AAEC +/* 07FD48 800E6898 0C00EABB */ jal get_npc_unsafe /* 07FD4C 800E689C 2404FFFC */ addiu $a0, $zero, -4 /* 07FD50 800E68A0 0000202D */ daddu $a0, $zero, $zero /* 07FD54 800E68A4 2405FFFF */ addiu $a1, $zero, -1 @@ -11449,7 +11455,7 @@ func_800E6904: /* 07FE60 800E69B0 24020021 */ addiu $v0, $zero, 0x21 /* 07FE64 800E69B4 12020004 */ beq $s0, $v0, .L800E69C8 /* 07FE68 800E69B8 24020001 */ addiu $v0, $zero, 1 -/* 07FE6C 800E69BC 0C05272D */ jal func_80149CB4 +/* 07FE6C 800E69BC 0C05272D */ jal play_sound /* 07FE70 800E69C0 2404021D */ addiu $a0, $zero, 0x21d .L800E69C4: /* 07FE74 800E69C4 0000102D */ daddu $v0, $zero, $zero @@ -11563,7 +11569,7 @@ func_800E69DC: /* 07FFF0 800E6B40 0000102D */ daddu $v0, $zero, $zero func_800E6B44: .L800E6B44: -/* 07FFF4 800E6B44 0C05272D */ jal func_80149CB4 +/* 07FFF4 800E6B44 0C05272D */ jal play_sound /* 07FFF8 800E6B48 2404021D */ addiu $a0, $zero, 0x21d .L800E6B4C: /* 07FFFC 800E6B4C 0000102D */ daddu $v0, $zero, $zero @@ -11709,7 +11715,7 @@ func_800E6CE4: /* 0801E4 800E6D34 1440014D */ bnez $v0, .L800E726C /* 0801E8 800E6D38 0000202D */ daddu $a0, $zero, $zero /* 0801EC 800E6D3C 3C05F5DE */ lui $a1, 0xf5de -/* 0801F0 800E6D40 0C0B1EAF */ jal func_802C7ABC +/* 0801F0 800E6D40 0C0B1EAF */ jal get_variable /* 0801F4 800E6D44 34A50180 */ ori $a1, $a1, 0x180 /* 0801F8 800E6D48 2403FF80 */ addiu $v1, $zero, -0x80 /* 0801FC 800E6D4C 10430147 */ beq $v0, $v1, .L800E726C @@ -11733,7 +11739,7 @@ func_800E6CE4: /* 08023C 800E6D8C 0000202D */ daddu $a0, $zero, $zero /* 080240 800E6D90 3C05F5DE */ lui $a1, 0xf5de func_800E6D94: -/* 080244 800E6D94 0C0B1EAF */ jal func_802C7ABC +/* 080244 800E6D94 0C0B1EAF */ jal get_variable /* 080248 800E6D98 34A50180 */ ori $a1, $a1, 0x180 /* 08024C 800E6D9C 28420060 */ slti $v0, $v0, 0x60 /* 080250 800E6DA0 14400003 */ bnez $v0, .L800E6DB0 @@ -11785,7 +11791,7 @@ func_800E6E1C: /* 0802F0 800E6E40 30420040 */ andi $v0, $v0, 0x40 /* 0802F4 800E6E44 10400009 */ beqz $v0, .L800E6E6C /* 0802F8 800E6E48 00000000 */ nop -/* 0802FC 800E6E4C 0C05272D */ jal func_80149CB4 +/* 0802FC 800E6E4C 0C05272D */ jal play_sound /* 080300 800E6E50 2404021D */ addiu $a0, $zero, 0x21d /* 080304 800E6E54 3C028011 */ lui $v0, 0x8011 /* 080308 800E6E58 8442C9C0 */ lh $v0, -0x3640($v0) @@ -11895,9 +11901,9 @@ func_800E6EC8: /* 080480 800E6FD0 24020002 */ addiu $v0, $zero, 2 /* 080484 800E6FD4 1462000C */ bne $v1, $v0, .L800E7008 /* 080488 800E6FD8 00000000 */ nop -/* 08048C 800E6FDC 0C00CD3C */ jal func_800334F0 +/* 08048C 800E6FDC 0C00CD3C */ jal set_game_mode /* 080490 800E6FE0 2404000A */ addiu $a0, $zero, 0xa -/* 080494 800E6FE4 0C05272D */ jal func_80149CB4 +/* 080494 800E6FE4 0C05272D */ jal play_sound /* 080498 800E6FE8 240400C5 */ addiu $a0, $zero, 0xc5 /* 08049C 800E6FEC 2402000A */ addiu $v0, $zero, 0xa /* 0804A0 800E6FF0 3C018011 */ lui $at, 0x8011 @@ -11915,7 +11921,7 @@ func_800E6EC8: /* 0804C8 800E7018 82620000 */ lb $v0, ($s3) /* 0804CC 800E701C 14400003 */ bnez $v0, .L800E702C /* 0804D0 800E7020 00000000 */ nop -/* 0804D4 800E7024 0C039769 */ jal func_800E5DA4 +/* 0804D4 800E7024 0C039769 */ jal set_action_state /* 0804D8 800E7028 0000202D */ daddu $a0, $zero, $zero .L800E702C: /* 0804DC 800E702C 3C038011 */ lui $v1, 0x8011 @@ -12030,7 +12036,7 @@ func_800E7150: .L800E71A0: /* 080650 800E71A0 00021080 */ sll $v0, $v0, 2 /* 080654 800E71A4 02421021 */ addu $v0, $s2, $v0 -/* 080658 800E71A8 0C03A900 */ jal func_800EA400 +/* 080658 800E71A8 0C03A900 */ jal use_consumable /* 08065C 800E71AC 8C440108 */ lw $a0, 0x108($v0) /* 080660 800E71B0 3C04800A */ lui $a0, 0x800a /* 080664 800E71B4 2484A650 */ addiu $a0, $a0, -0x59b0 @@ -12093,14 +12099,14 @@ func_800E726C: /* 080734 800E7284 03E00008 */ jr $ra /* 080738 800E7288 27BD0028 */ addiu $sp, $sp, 0x28 -func_800E728C: +check_input_status_menu: /* 08073C 800E728C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080740 800E7290 0000202D */ daddu $a0, $zero, $zero /* 080744 800E7294 3C05F5DE */ lui $a1, 0xf5de /* 080748 800E7298 34A50180 */ ori $a1, $a1, 0x180 /* 08074C 800E729C AFBF0018 */ sw $ra, 0x18($sp) /* 080750 800E72A0 AFB10014 */ sw $s1, 0x14($sp) -/* 080754 800E72A4 0C0B1EAF */ jal func_802C7ABC +/* 080754 800E72A4 0C0B1EAF */ jal get_variable /* 080758 800E72A8 AFB00010 */ sw $s0, 0x10($sp) /* 08075C 800E72AC 3C118011 */ lui $s1, 0x8011 /* 080760 800E72B0 2631EFC8 */ addiu $s1, $s1, -0x1038 @@ -12118,7 +12124,7 @@ func_800E728C: /* 080788 800E72D8 8C42419C */ lw $v0, 0x419c($v0) /* 08078C 800E72DC 8C500010 */ lw $s0, 0x10($v0) func_800E72E0: -/* 080790 800E72E0 0C03A644 */ jal func_800E9910 +/* 080790 800E72E0 0C03A644 */ jal is_status_menu_visible /* 080794 800E72E4 00000000 */ nop /* 080798 800E72E8 14400013 */ bnez $v0, .L800E7338 /* 08079C 800E72EC 00000000 */ nop @@ -12132,7 +12138,7 @@ func_800E72E0: /* 0807BC 800E730C 00000000 */ nop /* 0807C0 800E7310 1040001B */ beqz $v0, .L800E7380 /* 0807C4 800E7314 00000000 */ nop -/* 0807C8 800E7318 0C03A5D8 */ jal func_800E9760 +/* 0807C8 800E7318 0C03A5D8 */ jal open_status_menu_long /* 0807CC 800E731C 00000000 */ nop /* 0807D0 800E7320 0C04D07A */ jal func_801341E8 /* 0807D4 800E7324 00000000 */ nop @@ -12159,7 +12165,7 @@ func_800E72E0: /* 080820 800E7370 14400003 */ bnez $v0, .L800E7380 /* 080824 800E7374 24040004 */ addiu $a0, $zero, 4 func_800E7378: -/* 080828 800E7378 0C05272D */ jal func_80149CB4 +/* 080828 800E7378 0C05272D */ jal play_sound /* 08082C 800E737C 00000000 */ nop .L800E7380: /* 080830 800E7380 8FBF0018 */ lw $ra, 0x18($sp) @@ -12171,7 +12177,7 @@ func_800E7378: /* 080844 800E7394 00000000 */ nop /* 080848 800E7398 00000000 */ nop /* 08084C 800E739C 00000000 */ nop -func_800E73A0: +clear_player_data: /* 080850 800E73A0 0000182D */ daddu $v1, $zero, $zero /* 080854 800E73A4 3C048011 */ lui $a0, 0x8011 /* 080858 800E73A8 2484F290 */ addiu $a0, $a0, -0xd70 @@ -12293,17 +12299,18 @@ func_800E73A0: /* 080A0C 800E755C 03E00008 */ jr $ra /* 080A10 800E7560 A480033C */ sh $zero, 0x33c($a0) +get_player_data: /* 080A14 800E7564 3C028011 */ lui $v0, 0x8011 /* 080A18 800E7568 2442F290 */ addiu $v0, $v0, -0xd70 /* 080A1C 800E756C 03E00008 */ jr $ra /* 080A20 800E7570 00000000 */ nop -func_800E7574: +add_item: /* 080A24 800E7574 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080A28 800E7578 AFB10014 */ sw $s1, 0x14($sp) /* 080A2C 800E757C 0080882D */ daddu $s1, $a0, $zero /* 080A30 800E7580 AFBF0018 */ sw $ra, 0x18($sp) -/* 080A34 800E7584 0C039DB3 */ jal func_800E76CC +/* 080A34 800E7584 0C039DB3 */ jal sort_items /* 080A38 800E7588 AFB00010 */ sw $s0, 0x10($sp) /* 080A3C 800E758C 0000182D */ daddu $v1, $zero, $zero /* 080A40 800E7590 3C108011 */ lui $s0, 0x8011 @@ -12335,7 +12342,7 @@ func_800E75D8: /* 080A94 800E75E4 03E00008 */ jr $ra /* 080A98 800E75E8 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E75EC: +get_item_count: /* 080A9C 800E75EC 0000202D */ daddu $a0, $zero, $zero /* 080AA0 800E75F0 0080282D */ daddu $a1, $a0, $zero /* 080AA4 800E75F4 3C038011 */ lui $v1, 0x8011 @@ -12352,10 +12359,10 @@ func_800E75EC: /* 080AC8 800E7618 03E00008 */ jr $ra /* 080ACC 800E761C 00A0102D */ daddu $v0, $a1, $zero -func_800E7620: +get_item_empty_count: /* 080AD0 800E7620 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080AD4 800E7624 AFBF0010 */ sw $ra, 0x10($sp) -/* 080AD8 800E7628 0C039D7B */ jal func_800E75EC +/* 080AD8 800E7628 0C039D7B */ jal get_item_count /* 080ADC 800E762C 00000000 */ nop /* 080AE0 800E7630 2403000A */ addiu $v1, $zero, 0xa /* 080AE4 800E7634 8FBF0010 */ lw $ra, 0x10($sp) @@ -12363,6 +12370,7 @@ func_800E7620: /* 080AEC 800E763C 03E00008 */ jr $ra /* 080AF0 800E7640 27BD0018 */ addiu $sp, $sp, 0x18 +find_item: /* 080AF4 800E7644 00041140 */ sll $v0, $a0, 5 /* 080AF8 800E7648 3C018008 */ lui $at, 0x8008 /* 080AFC 800E764C 00220821 */ addu $at, $at, $v0 @@ -12404,7 +12412,7 @@ func_800E7620: /* 080B74 800E76C4 03E00008 */ jr $ra /* 080B78 800E76C8 00000000 */ nop -func_800E76CC: +sort_items: /* 080B7C 800E76CC 24060008 */ addiu $a2, $zero, 8 /* 080B80 800E76D0 3C088011 */ lui $t0, 0x8011 /* 080B84 800E76D4 2508F290 */ addiu $t0, $t0, -0xd70 @@ -12440,7 +12448,7 @@ func_800E7728: /* 080BE4 800E7734 03E00008 */ jr $ra /* 080BE8 800E7738 00000000 */ nop -func_800E773C: +add_badge: /* 080BEC 800E773C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080BF0 800E7740 00041140 */ sll $v0, $a0, 5 /* 080BF4 800E7744 AFBF0010 */ sw $ra, 0x10($sp) @@ -12452,7 +12460,7 @@ func_800E773C: /* 080C0C 800E775C 30420040 */ andi $v0, $v0, 0x40 /* 080C10 800E7760 14400005 */ bnez $v0, .L800E7778 /* 080C14 800E7764 0000182D */ daddu $v1, $zero, $zero -/* 080C18 800E7768 0C039D5D */ jal func_800E7574 +/* 080C18 800E7768 0C039D5D */ jal add_item /* 080C1C 800E776C 00000000 */ nop /* 080C20 800E7770 08039DEE */ j func_800E77B8 /* 080C24 800E7774 00000000 */ nop @@ -12483,7 +12491,7 @@ func_800E77B8: /* 080C6C 800E77BC 03E00008 */ jr $ra /* 080C70 800E77C0 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E77C4: +store_item: /* 080C74 800E77C4 0000182D */ daddu $v1, $zero, $zero /* 080C78 800E77C8 3C068011 */ lui $a2, 0x8011 /* 080C7C 800E77CC 24C6F290 */ addiu $a2, $a2, -0xd70 @@ -12509,7 +12517,7 @@ func_800E77C4: /* 080CBC 800E780C 03E00008 */ jr $ra /* 080CC0 800E7810 2402FFFF */ addiu $v0, $zero, -1 -func_800E7814: +get_stored_count: /* 080CC4 800E7814 0000202D */ daddu $a0, $zero, $zero /* 080CC8 800E7818 0080282D */ daddu $a1, $a0, $zero /* 080CCC 800E781C 3C038011 */ lui $v1, 0x8011 @@ -12526,10 +12534,10 @@ func_800E7814: /* 080CF0 800E7840 03E00008 */ jr $ra /* 080CF4 800E7844 00A0102D */ daddu $v0, $a1, $zero -func_800E7848: +get_stored_empty_count: /* 080CF8 800E7848 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080CFC 800E784C AFBF0010 */ sw $ra, 0x10($sp) -/* 080D00 800E7850 0C039E05 */ jal func_800E7814 +/* 080D00 800E7850 0C039E05 */ jal get_stored_count /* 080D04 800E7854 00000000 */ nop /* 080D08 800E7858 24030020 */ addiu $v1, $zero, 0x20 /* 080D0C 800E785C 8FBF0010 */ lw $ra, 0x10($sp) @@ -12537,11 +12545,12 @@ func_800E7848: /* 080D14 800E7864 03E00008 */ jr $ra /* 080D18 800E7868 27BD0018 */ addiu $sp, $sp, 0x18 +enforce_hpfp_limits: /* 080D1C 800E786C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080D20 800E7870 24040004 */ addiu $a0, $zero, 4 /* 080D24 800E7874 AFBF0018 */ sw $ra, 0x18($sp) /* 080D28 800E7878 AFB10014 */ sw $s1, 0x14($sp) -/* 080D2C 800E787C 0C03A752 */ jal func_800E9D48 +/* 080D2C 800E787C 0C03A752 */ jal is_ability_active /* 080D30 800E7880 AFB00010 */ sw $s0, 0x10($sp) /* 080D34 800E7884 3C108011 */ lui $s0, 0x8011 /* 080D38 800E7888 2610F290 */ addiu $s0, $s0, -0xd70 @@ -12565,7 +12574,7 @@ func_800E7848: /* 080D7C 800E78CC 54400001 */ bnezl $v0, .L800E78D4 /* 080D80 800E78D0 A2030002 */ sb $v1, 2($s0) .L800E78D4: -/* 080D84 800E78D4 0C03A752 */ jal func_800E9D48 +/* 080D84 800E78D4 0C03A752 */ jal is_ability_active /* 080D88 800E78D8 2404000C */ addiu $a0, $zero, 0xc /* 080D8C 800E78DC 00022080 */ sll $a0, $v0, 2 /* 080D90 800E78E0 92030007 */ lbu $v1, 7($s0) @@ -12592,7 +12601,7 @@ func_800E7848: /* 080DDC 800E792C 03E00008 */ jr $ra /* 080DE0 800E7930 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E7934: +initialize_status_menu: /* 080DE4 800E7934 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080DE8 800E7938 AFB10014 */ sw $s1, 0x14($sp) /* 080DEC 800E793C 3C118011 */ lui $s1, 0x8011 @@ -12657,153 +12666,153 @@ func_800E7934: /* 080ED8 800E7A28 AE220064 */ sw $v0, 0x64($s1) /* 080EDC 800E7A2C 3C048011 */ lui $a0, 0x8011 /* 080EE0 800E7A30 24848248 */ addiu $a0, $a0, -0x7db8 -/* 080EE4 800E7A34 0C050529 */ jal func_801414A4 +/* 080EE4 800E7A34 0C050529 */ jal create_icon /* 080EE8 800E7A38 00000000 */ nop /* 080EEC 800E7A3C 0040802D */ daddu $s0, $v0, $zero /* 080EF0 800E7A40 0200202D */ daddu $a0, $s0, $zero /* 080EF4 800E7A44 24050080 */ addiu $a1, $zero, 0x80 -/* 080EF8 800E7A48 0C051280 */ jal func_80144A00 +/* 080EF8 800E7A48 0C051280 */ jal set_icon_flags /* 080EFC 800E7A4C AE300000 */ sw $s0, ($s1) /* 080F00 800E7A50 0200202D */ daddu $a0, $s0, $zero -/* 080F04 800E7A54 0C05128B */ jal func_80144A2C +/* 080F04 800E7A54 0C05128B */ jal clear_icon_flags /* 080F08 800E7A58 34058000 */ ori $a1, $zero, 0x8000 /* 080F0C 800E7A5C 3C048011 */ lui $a0, 0x8011 /* 080F10 800E7A60 24848518 */ addiu $a0, $a0, -0x7ae8 -/* 080F14 800E7A64 0C050529 */ jal func_801414A4 +/* 080F14 800E7A64 0C050529 */ jal create_icon /* 080F18 800E7A68 00000000 */ nop /* 080F1C 800E7A6C 0040802D */ daddu $s0, $v0, $zero /* 080F20 800E7A70 0200202D */ daddu $a0, $s0, $zero /* 080F24 800E7A74 24050080 */ addiu $a1, $zero, 0x80 -/* 080F28 800E7A78 0C051280 */ jal func_80144A00 +/* 080F28 800E7A78 0C051280 */ jal set_icon_flags /* 080F2C 800E7A7C AE300004 */ sw $s0, 4($s1) /* 080F30 800E7A80 0200202D */ daddu $a0, $s0, $zero -/* 080F34 800E7A84 0C05128B */ jal func_80144A2C +/* 080F34 800E7A84 0C05128B */ jal clear_icon_flags /* 080F38 800E7A88 34058000 */ ori $a1, $zero, 0x8000 /* 080F3C 800E7A8C 3C048011 */ lui $a0, 0x8011 /* 080F40 800E7A90 24848270 */ addiu $a0, $a0, -0x7d90 -/* 080F44 800E7A94 0C050529 */ jal func_801414A4 +/* 080F44 800E7A94 0C050529 */ jal create_icon /* 080F48 800E7A98 00000000 */ nop /* 080F4C 800E7A9C 0040802D */ daddu $s0, $v0, $zero /* 080F50 800E7AA0 0200202D */ daddu $a0, $s0, $zero /* 080F54 800E7AA4 24050080 */ addiu $a1, $zero, 0x80 -/* 080F58 800E7AA8 0C051280 */ jal func_80144A00 +/* 080F58 800E7AA8 0C051280 */ jal set_icon_flags /* 080F5C 800E7AAC AE300008 */ sw $s0, 8($s1) /* 080F60 800E7AB0 0200202D */ daddu $a0, $s0, $zero -/* 080F64 800E7AB4 0C05128B */ jal func_80144A2C +/* 080F64 800E7AB4 0C05128B */ jal clear_icon_flags /* 080F68 800E7AB8 34058000 */ ori $a1, $zero, 0x8000 /* 080F6C 800E7ABC 3C048011 */ lui $a0, 0x8011 /* 080F70 800E7AC0 24848538 */ addiu $a0, $a0, -0x7ac8 -/* 080F74 800E7AC4 0C050529 */ jal func_801414A4 +/* 080F74 800E7AC4 0C050529 */ jal create_icon /* 080F78 800E7AC8 00000000 */ nop /* 080F7C 800E7ACC 0040802D */ daddu $s0, $v0, $zero /* 080F80 800E7AD0 0200202D */ daddu $a0, $s0, $zero /* 080F84 800E7AD4 24050080 */ addiu $a1, $zero, 0x80 -/* 080F88 800E7AD8 0C051280 */ jal func_80144A00 +/* 080F88 800E7AD8 0C051280 */ jal set_icon_flags /* 080F8C 800E7ADC AE30000C */ sw $s0, 0xc($s1) /* 080F90 800E7AE0 0200202D */ daddu $a0, $s0, $zero -/* 080F94 800E7AE4 0C05128B */ jal func_80144A2C +/* 080F94 800E7AE4 0C05128B */ jal clear_icon_flags /* 080F98 800E7AE8 34058000 */ ori $a1, $zero, 0x8000 /* 080F9C 800E7AEC 3C048011 */ lui $a0, 0x8011 /* 080FA0 800E7AF0 24848558 */ addiu $a0, $a0, -0x7aa8 -/* 080FA4 800E7AF4 0C050529 */ jal func_801414A4 +/* 080FA4 800E7AF4 0C050529 */ jal create_icon /* 080FA8 800E7AF8 00000000 */ nop /* 080FAC 800E7AFC 0040802D */ daddu $s0, $v0, $zero /* 080FB0 800E7B00 0200202D */ daddu $a0, $s0, $zero /* 080FB4 800E7B04 24050080 */ addiu $a1, $zero, 0x80 -/* 080FB8 800E7B08 0C051280 */ jal func_80144A00 +/* 080FB8 800E7B08 0C051280 */ jal set_icon_flags /* 080FBC 800E7B0C AE300010 */ sw $s0, 0x10($s1) /* 080FC0 800E7B10 0200202D */ daddu $a0, $s0, $zero -/* 080FC4 800E7B14 0C05128B */ jal func_80144A2C +/* 080FC4 800E7B14 0C05128B */ jal clear_icon_flags /* 080FC8 800E7B18 34058000 */ ori $a1, $zero, 0x8000 /* 080FCC 800E7B1C 3C048008 */ lui $a0, 0x8008 /* 080FD0 800E7B20 24840FC4 */ addiu $a0, $a0, 0xfc4 -/* 080FD4 800E7B24 0C050529 */ jal func_801414A4 +/* 080FD4 800E7B24 0C050529 */ jal create_icon /* 080FD8 800E7B28 00000000 */ nop /* 080FDC 800E7B2C 0040802D */ daddu $s0, $v0, $zero /* 080FE0 800E7B30 0200202D */ daddu $a0, $s0, $zero /* 080FE4 800E7B34 24050080 */ addiu $a1, $zero, 0x80 -/* 080FE8 800E7B38 0C051280 */ jal func_80144A00 +/* 080FE8 800E7B38 0C051280 */ jal set_icon_flags /* 080FEC 800E7B3C AE300014 */ sw $s0, 0x14($s1) /* 080FF0 800E7B40 0200202D */ daddu $a0, $s0, $zero -/* 080FF4 800E7B44 0C05128B */ jal func_80144A2C +/* 080FF4 800E7B44 0C05128B */ jal clear_icon_flags /* 080FF8 800E7B48 34058000 */ ori $a1, $zero, 0x8000 /* 080FFC 800E7B4C 3C048011 */ lui $a0, 0x8011 /* 081000 800E7B50 248486AC */ addiu $a0, $a0, -0x7954 -/* 081004 800E7B54 0C050529 */ jal func_801414A4 +/* 081004 800E7B54 0C050529 */ jal create_icon /* 081008 800E7B58 00000000 */ nop /* 08100C 800E7B5C 0040802D */ daddu $s0, $v0, $zero /* 081010 800E7B60 0200202D */ daddu $a0, $s0, $zero /* 081014 800E7B64 24050080 */ addiu $a1, $zero, 0x80 -/* 081018 800E7B68 0C051280 */ jal func_80144A00 +/* 081018 800E7B68 0C051280 */ jal set_icon_flags /* 08101C 800E7B6C AE300018 */ sw $s0, 0x18($s1) /* 081020 800E7B70 0200202D */ daddu $a0, $s0, $zero -/* 081024 800E7B74 0C05128B */ jal func_80144A2C +/* 081024 800E7B74 0C05128B */ jal clear_icon_flags /* 081028 800E7B78 34058000 */ ori $a1, $zero, 0x8000 /* 08102C 800E7B7C 3C048010 */ lui $a0, 0x8010 /* 081030 800E7B80 24844BEC */ addiu $a0, $a0, 0x4bec -/* 081034 800E7B84 0C050529 */ jal func_801414A4 +/* 081034 800E7B84 0C050529 */ jal create_icon /* 081038 800E7B88 00000000 */ nop /* 08103C 800E7B8C 0040802D */ daddu $s0, $v0, $zero /* 081040 800E7B90 0200202D */ daddu $a0, $s0, $zero /* 081044 800E7B94 24050080 */ addiu $a1, $zero, 0x80 -/* 081048 800E7B98 0C051280 */ jal func_80144A00 +/* 081048 800E7B98 0C051280 */ jal set_icon_flags /* 08104C 800E7B9C AE30001C */ sw $s0, 0x1c($s1) /* 081050 800E7BA0 0200202D */ daddu $a0, $s0, $zero -/* 081054 800E7BA4 0C05128B */ jal func_80144A2C +/* 081054 800E7BA4 0C05128B */ jal clear_icon_flags /* 081058 800E7BA8 34058000 */ ori $a1, $zero, 0x8000 /* 08105C 800E7BAC 3C128011 */ lui $s2, 0x8011 /* 081060 800E7BB0 26528068 */ addiu $s2, $s2, -0x7f98 -/* 081064 800E7BB4 0C050529 */ jal func_801414A4 +/* 081064 800E7BB4 0C050529 */ jal create_icon /* 081068 800E7BB8 0240202D */ daddu $a0, $s2, $zero /* 08106C 800E7BBC 0040802D */ daddu $s0, $v0, $zero /* 081070 800E7BC0 0200202D */ daddu $a0, $s0, $zero /* 081074 800E7BC4 24050082 */ addiu $a1, $zero, 0x82 -/* 081078 800E7BC8 0C051280 */ jal func_80144A00 +/* 081078 800E7BC8 0C051280 */ jal set_icon_flags /* 08107C 800E7BCC AE300020 */ sw $s0, 0x20($s1) /* 081080 800E7BD0 0200202D */ daddu $a0, $s0, $zero -/* 081084 800E7BD4 0C05128B */ jal func_80144A2C +/* 081084 800E7BD4 0C05128B */ jal clear_icon_flags /* 081088 800E7BD8 34058000 */ ori $a1, $zero, 0x8000 -/* 08108C 800E7BDC 0C050529 */ jal func_801414A4 +/* 08108C 800E7BDC 0C050529 */ jal create_icon /* 081090 800E7BE0 0240202D */ daddu $a0, $s2, $zero /* 081094 800E7BE4 0040802D */ daddu $s0, $v0, $zero /* 081098 800E7BE8 0200202D */ daddu $a0, $s0, $zero /* 08109C 800E7BEC 24050082 */ addiu $a1, $zero, 0x82 -/* 0810A0 800E7BF0 0C051280 */ jal func_80144A00 +/* 0810A0 800E7BF0 0C051280 */ jal set_icon_flags /* 0810A4 800E7BF4 AE300024 */ sw $s0, 0x24($s1) /* 0810A8 800E7BF8 0200202D */ daddu $a0, $s0, $zero -/* 0810AC 800E7BFC 0C05128B */ jal func_80144A2C +/* 0810AC 800E7BFC 0C05128B */ jal clear_icon_flags /* 0810B0 800E7C00 34058000 */ ori $a1, $zero, 0x8000 -/* 0810B4 800E7C04 0C050529 */ jal func_801414A4 +/* 0810B4 800E7C04 0C050529 */ jal create_icon /* 0810B8 800E7C08 0240202D */ daddu $a0, $s2, $zero /* 0810BC 800E7C0C 0040802D */ daddu $s0, $v0, $zero /* 0810C0 800E7C10 0200202D */ daddu $a0, $s0, $zero /* 0810C4 800E7C14 24050082 */ addiu $a1, $zero, 0x82 -/* 0810C8 800E7C18 0C051280 */ jal func_80144A00 +/* 0810C8 800E7C18 0C051280 */ jal set_icon_flags /* 0810CC 800E7C1C AE300028 */ sw $s0, 0x28($s1) /* 0810D0 800E7C20 0200202D */ daddu $a0, $s0, $zero -/* 0810D4 800E7C24 0C05128B */ jal func_80144A2C +/* 0810D4 800E7C24 0C05128B */ jal clear_icon_flags /* 0810D8 800E7C28 34058000 */ ori $a1, $zero, 0x8000 -/* 0810DC 800E7C2C 0C050529 */ jal func_801414A4 +/* 0810DC 800E7C2C 0C050529 */ jal create_icon /* 0810E0 800E7C30 0240202D */ daddu $a0, $s2, $zero /* 0810E4 800E7C34 0040802D */ daddu $s0, $v0, $zero /* 0810E8 800E7C38 0200202D */ daddu $a0, $s0, $zero /* 0810EC 800E7C3C 24050082 */ addiu $a1, $zero, 0x82 -/* 0810F0 800E7C40 0C051280 */ jal func_80144A00 +/* 0810F0 800E7C40 0C051280 */ jal set_icon_flags /* 0810F4 800E7C44 AE30002C */ sw $s0, 0x2c($s1) /* 0810F8 800E7C48 0200202D */ daddu $a0, $s0, $zero -/* 0810FC 800E7C4C 0C05128B */ jal func_80144A2C +/* 0810FC 800E7C4C 0C05128B */ jal clear_icon_flags /* 081100 800E7C50 34058000 */ ori $a1, $zero, 0x8000 /* 081104 800E7C54 3C048011 */ lui $a0, 0x8011 /* 081108 800E7C58 248483D8 */ addiu $a0, $a0, -0x7c28 -/* 08110C 800E7C5C 0C050529 */ jal func_801414A4 +/* 08110C 800E7C5C 0C050529 */ jal create_icon /* 081110 800E7C60 00000000 */ nop /* 081114 800E7C64 0040802D */ daddu $s0, $v0, $zero /* 081118 800E7C68 0200202D */ daddu $a0, $s0, $zero /* 08111C 800E7C6C 24050080 */ addiu $a1, $zero, 0x80 -/* 081120 800E7C70 0C051280 */ jal func_80144A00 +/* 081120 800E7C70 0C051280 */ jal set_icon_flags /* 081124 800E7C74 AE300030 */ sw $s0, 0x30($s1) /* 081128 800E7C78 0200202D */ daddu $a0, $s0, $zero -/* 08112C 800E7C7C 0C05128B */ jal func_80144A2C +/* 08112C 800E7C7C 0C05128B */ jal clear_icon_flags /* 081130 800E7C80 34058000 */ ori $a1, $zero, 0x8000 /* 081134 800E7C84 0C03C357 */ jal func_800F0D5C /* 081138 800E7C88 00000000 */ nop @@ -12814,7 +12823,7 @@ func_800E7934: /* 08114C 800E7C9C 03E00008 */ jr $ra /* 081150 800E7CA0 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E7CA4: +status_menu_draw_number: /* 081154 800E7CA4 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 081158 800E7CA8 AFB1001C */ sw $s1, 0x1c($sp) /* 08115C 800E7CAC 00A0882D */ daddu $s1, $a1, $zero @@ -12833,18 +12842,18 @@ func_800E7CA4: /* 081190 800E7CE0 AFBF003C */ sw $ra, 0x3c($sp) /* 081194 800E7CE4 AFBE0038 */ sw $fp, 0x38($sp) /* 081198 800E7CE8 AFB70034 */ sw $s7, 0x34($sp) -/* 08119C 800E7CEC 0C0511FF */ jal func_801447FC +/* 08119C 800E7CEC 0C0511FF */ jal set_menu_icon_script /* 0811A0 800E7CF0 AFB60030 */ sw $s6, 0x30($sp) /* 0811A4 800E7CF4 26310008 */ addiu $s1, $s1, 8 /* 0811A8 800E7CF8 0280202D */ daddu $a0, $s4, $zero /* 0811AC 800E7CFC 0220282D */ daddu $a1, $s1, $zero /* 0811B0 800E7D00 26060007 */ addiu $a2, $s0, 7 -/* 0811B4 800E7D04 0C051261 */ jal func_80144984 +/* 0811B4 800E7D04 0C051261 */ jal set_icon_render_pos /* 0811B8 800E7D08 261E0008 */ addiu $fp, $s0, 8 /* 0811BC 800E7D0C 0280202D */ daddu $a0, $s4, $zero -/* 0811C0 800E7D10 0C05128B */ jal func_80144A2C +/* 0811C0 800E7D10 0C05128B */ jal clear_icon_flags /* 0811C4 800E7D14 24050002 */ addiu $a1, $zero, 2 -/* 0811C8 800E7D18 0C0511F1 */ jal func_801447C4 +/* 0811C8 800E7D18 0C0511F1 */ jal draw_icon_1 /* 0811CC 800E7D1C 0280202D */ daddu $a0, $s4, $zero /* 0811D0 800E7D20 5AA00016 */ blezl $s5, .L800E7D7C /* 0811D4 800E7D24 2631000D */ addiu $s1, $s1, 0xd @@ -12892,16 +12901,16 @@ func_800E7CA4: /* 08126C 800E7DBC 00021080 */ sll $v0, $v0, 2 /* 081270 800E7DC0 00571021 */ addu $v0, $v0, $s7 /* 081274 800E7DC4 8C450000 */ lw $a1, ($v0) -/* 081278 800E7DC8 0C0511FF */ jal func_801447FC +/* 081278 800E7DC8 0C0511FF */ jal set_menu_icon_script /* 08127C 800E7DCC 0280202D */ daddu $a0, $s4, $zero /* 081280 800E7DD0 0280202D */ daddu $a0, $s4, $zero /* 081284 800E7DD4 0220282D */ daddu $a1, $s1, $zero -/* 081288 800E7DD8 0C051261 */ jal func_80144984 +/* 081288 800E7DD8 0C051261 */ jal set_icon_render_pos /* 08128C 800E7DDC 03C0302D */ daddu $a2, $fp, $zero /* 081290 800E7DE0 0280202D */ daddu $a0, $s4, $zero -/* 081294 800E7DE4 0C05128B */ jal func_80144A2C +/* 081294 800E7DE4 0C05128B */ jal clear_icon_flags /* 081298 800E7DE8 24050002 */ addiu $a1, $zero, 2 -/* 08129C 800E7DEC 0C0511F1 */ jal func_801447C4 +/* 08129C 800E7DEC 0C0511F1 */ jal draw_icon_1 /* 0812A0 800E7DF0 0280202D */ daddu $a0, $s4, $zero /* 0812A4 800E7DF4 26520001 */ addiu $s2, $s2, 1 .L800E7DF8: @@ -12922,7 +12931,7 @@ func_800E7CA4: /* 0812DC 800E7E2C 03E00008 */ jr $ra /* 0812E0 800E7E30 27BD0040 */ addiu $sp, $sp, 0x40 -func_800E7E34: +status_menu_draw_stat: /* 0812E4 800E7E34 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0812E8 800E7E38 AFB40030 */ sw $s4, 0x30($sp) /* 0812EC 800E7E3C 0080A02D */ daddu $s4, $a0, $zero @@ -12946,16 +12955,16 @@ func_800E7E34: /* 081334 800E7E84 AFBF0044 */ sw $ra, 0x44($sp) /* 081338 800E7E88 AFBE0040 */ sw $fp, 0x40($sp) /* 08133C 800E7E8C AFB7003C */ sw $s7, 0x3c($sp) -/* 081340 800E7E90 0C0511FF */ jal func_801447FC +/* 081340 800E7E90 0C0511FF */ jal set_menu_icon_script /* 081344 800E7E94 AFA8001C */ sw $t0, 0x1c($sp) /* 081348 800E7E98 0280202D */ daddu $a0, $s4, $zero /* 08134C 800E7E9C 26050016 */ addiu $a1, $s0, 0x16 -/* 081350 800E7EA0 0C051261 */ jal func_80144984 +/* 081350 800E7EA0 0C051261 */ jal set_icon_render_pos /* 081354 800E7EA4 26260009 */ addiu $a2, $s1, 9 /* 081358 800E7EA8 0280202D */ daddu $a0, $s4, $zero -/* 08135C 800E7EAC 0C05128B */ jal func_80144A2C +/* 08135C 800E7EAC 0C05128B */ jal clear_icon_flags /* 081360 800E7EB0 02C0282D */ daddu $a1, $s6, $zero -/* 081364 800E7EB4 0C0511F1 */ jal func_801447C4 +/* 081364 800E7EB4 0C0511F1 */ jal draw_icon_1 /* 081368 800E7EB8 0280202D */ daddu $a0, $s4, $zero /* 08136C 800E7EBC 3C066666 */ lui $a2, 0x6666 /* 081370 800E7EC0 34C66667 */ ori $a2, $a2, 0x6667 @@ -13001,16 +13010,16 @@ func_800E7E34: /* 081404 800E7F54 25087F80 */ addiu $t0, $t0, 0x7f80 /* 081408 800E7F58 00481021 */ addu $v0, $v0, $t0 /* 08140C 800E7F5C 8C450000 */ lw $a1, ($v0) -/* 081410 800E7F60 0C0511FF */ jal func_801447FC +/* 081410 800E7F60 0C0511FF */ jal set_menu_icon_script /* 081414 800E7F64 0280202D */ daddu $a0, $s4, $zero /* 081418 800E7F68 0280202D */ daddu $a0, $s4, $zero /* 08141C 800E7F6C 0200282D */ daddu $a1, $s0, $zero -/* 081420 800E7F70 0C051261 */ jal func_80144984 +/* 081420 800E7F70 0C051261 */ jal set_icon_render_pos /* 081424 800E7F74 0260302D */ daddu $a2, $s3, $zero /* 081428 800E7F78 0280202D */ daddu $a0, $s4, $zero -/* 08142C 800E7F7C 0C05128B */ jal func_80144A2C +/* 08142C 800E7F7C 0C05128B */ jal clear_icon_flags /* 081430 800E7F80 24050002 */ addiu $a1, $zero, 2 -/* 081434 800E7F84 0C0511F1 */ jal func_801447C4 +/* 081434 800E7F84 0C0511F1 */ jal draw_icon_1 /* 081438 800E7F88 0280202D */ daddu $a0, $s4, $zero /* 08143C 800E7F8C 26520001 */ addiu $s2, $s2, 1 .L800E7F90: @@ -13065,16 +13074,16 @@ func_800E7E34: /* 0814EC 800E803C 00021080 */ sll $v0, $v0, 2 /* 0814F0 800E8040 005E1021 */ addu $v0, $v0, $fp /* 0814F4 800E8044 8C450000 */ lw $a1, ($v0) -/* 0814F8 800E8048 0C0511FF */ jal func_801447FC +/* 0814F8 800E8048 0C0511FF */ jal set_menu_icon_script /* 0814FC 800E804C 0280202D */ daddu $a0, $s4, $zero /* 081500 800E8050 0280202D */ daddu $a0, $s4, $zero /* 081504 800E8054 0200282D */ daddu $a1, $s0, $zero -/* 081508 800E8058 0C051261 */ jal func_80144984 +/* 081508 800E8058 0C051261 */ jal set_icon_render_pos /* 08150C 800E805C 0260302D */ daddu $a2, $s3, $zero /* 081510 800E8060 0280202D */ daddu $a0, $s4, $zero -/* 081514 800E8064 0C05128B */ jal func_80144A2C +/* 081514 800E8064 0C05128B */ jal clear_icon_flags /* 081518 800E8068 24050002 */ addiu $a1, $zero, 2 -/* 08151C 800E806C 0C0511F1 */ jal func_801447C4 +/* 08151C 800E806C 0C0511F1 */ jal draw_icon_1 /* 081520 800E8070 0280202D */ daddu $a0, $s4, $zero /* 081524 800E8074 26520001 */ addiu $s2, $s2, 1 .L800E8078: @@ -13095,7 +13104,7 @@ func_800E7E34: /* 08155C 800E80AC 03E00008 */ jr $ra /* 081560 800E80B0 27BD0048 */ addiu $sp, $sp, 0x48 -func_800E80B4: +update_status_menu: /* 081564 800E80B4 27BDFF70 */ addiu $sp, $sp, -0x90 /* 081568 800E80B8 AFB00068 */ sw $s0, 0x68($sp) /* 08156C 800E80BC 3C108007 */ lui $s0, 0x8007 @@ -13125,7 +13134,7 @@ func_800E80B4: /* 0815CC 800E811C 14400462 */ bnez $v0, .L800E92A8 /* 0815D0 800E8120 0000202D */ daddu $a0, $zero, $zero /* 0815D4 800E8124 3C05F5DE */ lui $a1, 0xf5de -/* 0815D8 800E8128 0C0B1EAF */ jal func_802C7ABC +/* 0815D8 800E8128 0C0B1EAF */ jal get_variable /* 0815DC 800E812C 34A50180 */ ori $a1, $a1, 0x180 /* 0815E0 800E8130 28420060 */ slti $v0, $v0, 0x60 /* 0815E4 800E8134 1040045C */ beqz $v0, .L800E92A8 @@ -13139,7 +13148,7 @@ func_800E80B4: /* 081604 800E8154 86620040 */ lh $v0, 0x40($s3) /* 081608 800E8158 10620007 */ beq $v1, $v0, .L800E8178 /* 08160C 800E815C 00628023 */ subu $s0, $v1, $v0 -/* 081610 800E8160 0C03A67D */ jal func_800E99F4 +/* 081610 800E8160 0C03A67D */ jal status_menu_start_blinking_coins /* 081614 800E8164 00000000 */ nop .L800E8168: /* 081618 800E8168 3C038011 */ lui $v1, 0x8011 @@ -13236,7 +13245,7 @@ func_800E8270: /* 081744 800E8294 0064102A */ slt $v0, $v1, $a0 /* 081748 800E8298 10400003 */ beqz $v0, .L800E82A8 /* 08174C 800E829C 00000000 */ nop -/* 081750 800E82A0 0C03A648 */ jal func_800E9920 +/* 081750 800E82A0 0C03A648 */ jal status_menu_start_blinking_hp /* 081754 800E82A4 00000000 */ nop .L800E82A8: /* 081758 800E82A8 8262003D */ lb $v0, 0x3d($s3) @@ -13256,7 +13265,7 @@ func_800E8270: /* 081790 800E82E0 14400015 */ bnez $v0, .L800E8338 /* 081794 800E82E4 24620001 */ addiu $v0, $v1, 1 /* 081798 800E82E8 A262003D */ sb $v0, 0x3d($s3) -/* 08179C 800E82EC 0C05272D */ jal func_80149CB4 +/* 08179C 800E82EC 0C05272D */ jal play_sound /* 0817A0 800E82F0 24040213 */ addiu $a0, $zero, 0x213 /* 0817A4 800E82F4 0803A0CE */ j func_800E8338 /* 0817A8 800E82F8 00000000 */ nop @@ -13293,7 +13302,7 @@ func_800E8338: /* 08180C 800E835C 0064102A */ slt $v0, $v1, $a0 /* 081810 800E8360 10400003 */ beqz $v0, .L800E8370 /* 081814 800E8364 00000000 */ nop -/* 081818 800E8368 0C03A663 */ jal func_800E998C +/* 081818 800E8368 0C03A663 */ jal status_menu_start_blinking_fp /* 08181C 800E836C 00000000 */ nop .L800E8370: /* 081820 800E8370 8262003E */ lb $v0, 0x3e($s3) @@ -13313,7 +13322,7 @@ func_800E8338: /* 081858 800E83A8 14400015 */ bnez $v0, .L800E8400 /* 08185C 800E83AC 24620001 */ addiu $v0, $v1, 1 /* 081860 800E83B0 A262003E */ sb $v0, 0x3e($s3) -/* 081864 800E83B4 0C05272D */ jal func_80149CB4 +/* 081864 800E83B4 0C05272D */ jal play_sound /* 081868 800E83B8 24040217 */ addiu $a0, $zero, 0x217 /* 08186C 800E83BC 0803A100 */ j func_800E8400 /* 081870 800E83C0 00000000 */ nop @@ -13533,7 +13542,7 @@ func_800E8620: /* 081B54 800E86A4 AFB00048 */ sw $s0, 0x48($sp) /* 081B58 800E86A8 AFA0004C */ sw $zero, 0x4c($sp) /* 081B5C 800E86AC 03C0302D */ daddu $a2, $fp, $zero -/* 081B60 800E86B0 0C03D4B8 */ jal func_800F52E0 +/* 081B60 800E86B0 0C03D4B8 */ jal draw_box /* 081B64 800E86B4 02A0382D */ daddu $a3, $s5, $zero /* 081B68 800E86B8 0000202D */ daddu $a0, $zero, $zero /* 081B6C 800E86BC 24050006 */ addiu $a1, $zero, 6 @@ -13556,7 +13565,7 @@ func_800E8620: /* 081BB0 800E8700 AFA00040 */ sw $zero, 0x40($sp) /* 081BB4 800E8704 AFB10044 */ sw $s1, 0x44($sp) /* 081BB8 800E8708 AFB00048 */ sw $s0, 0x48($sp) -/* 081BBC 800E870C 0C03D4B8 */ jal func_800F52E0 +/* 081BBC 800E870C 0C03D4B8 */ jal draw_box /* 081BC0 800E8710 AFA0004C */ sw $zero, 0x4c($sp) /* 081BC4 800E8714 8262004C */ lb $v0, 0x4c($s3) /* 081BC8 800E8718 9263004C */ lbu $v1, 0x4c($s3) @@ -13566,7 +13575,7 @@ func_800E8620: /* 081BD8 800E8728 00021600 */ sll $v0, $v0, 0x18 /* 081BDC 800E872C 14400003 */ bnez $v0, .L800E873C /* 081BE0 800E8730 00000000 */ nop -/* 081BE4 800E8734 0C03A659 */ jal func_800E9964 +/* 081BE4 800E8734 0C03A659 */ jal status_menu_stop_blinking_hp /* 081BE8 800E8738 00000000 */ nop .L800E873C: /* 081BEC 800E873C 8262004A */ lb $v0, 0x4a($s3) @@ -13592,18 +13601,18 @@ func_800E8620: /* 081C34 800E8784 86660036 */ lh $a2, 0x36($s3) /* 081C38 800E8788 0240202D */ daddu $a0, $s2, $zero /* 081C3C 800E878C 24A50016 */ addiu $a1, $a1, 0x16 -/* 081C40 800E8790 0C051261 */ jal func_80144984 +/* 081C40 800E8790 0C051261 */ jal set_icon_render_pos /* 081C44 800E8794 24C6000D */ addiu $a2, $a2, 0xd -/* 081C48 800E8798 0C0511F1 */ jal func_801447C4 +/* 081C48 800E8798 0C0511F1 */ jal draw_icon_1 /* 081C4C 800E879C 0240202D */ daddu $a0, $s2, $zero /* 081C50 800E87A0 8E720004 */ lw $s2, 4($s3) /* 081C54 800E87A4 86650034 */ lh $a1, 0x34($s3) /* 081C58 800E87A8 86660036 */ lh $a2, 0x36($s3) /* 081C5C 800E87AC 0240202D */ daddu $a0, $s2, $zero /* 081C60 800E87B0 24A50025 */ addiu $a1, $a1, 0x25 -/* 081C64 800E87B4 0C051261 */ jal func_80144984 +/* 081C64 800E87B4 0C051261 */ jal set_icon_render_pos /* 081C68 800E87B8 24C6000D */ addiu $a2, $a2, 0xd -/* 081C6C 800E87BC 0C0511F1 */ jal func_801447C4 +/* 081C6C 800E87BC 0C0511F1 */ jal draw_icon_1 /* 081C70 800E87C0 0240202D */ daddu $a0, $s2, $zero /* 081C74 800E87C4 8E640020 */ lw $a0, 0x20($s3) /* 081C78 800E87C8 86650034 */ lh $a1, 0x34($s3) @@ -13613,7 +13622,7 @@ func_800E8620: /* 081C88 800E87D8 8042F293 */ lb $v0, -0xd6d($v0) /* 081C8C 800E87DC 24A50030 */ addiu $a1, $a1, 0x30 /* 081C90 800E87E0 24C60008 */ addiu $a2, $a2, 8 -/* 081C94 800E87E4 0C039F8D */ jal func_800E7E34 +/* 081C94 800E87E4 0C039F8D */ jal status_menu_draw_stat /* 081C98 800E87E8 AFA20010 */ sw $v0, 0x10($sp) .L800E87EC: /* 081C9C 800E87EC 8262004F */ lb $v0, 0x4f($s3) @@ -13650,18 +13659,18 @@ func_800E8620: /* 081D0C 800E885C 86660036 */ lh $a2, 0x36($s3) /* 081D10 800E8860 0240202D */ daddu $a0, $s2, $zero /* 081D14 800E8864 24A5006E */ addiu $a1, $a1, 0x6e -/* 081D18 800E8868 0C051261 */ jal func_80144984 +/* 081D18 800E8868 0C051261 */ jal set_icon_render_pos /* 081D1C 800E886C 24C6000D */ addiu $a2, $a2, 0xd -/* 081D20 800E8870 0C0511F1 */ jal func_801447C4 +/* 081D20 800E8870 0C0511F1 */ jal draw_icon_1 /* 081D24 800E8874 0240202D */ daddu $a0, $s2, $zero /* 081D28 800E8878 8E72000C */ lw $s2, 0xc($s3) /* 081D2C 800E887C 86650034 */ lh $a1, 0x34($s3) /* 081D30 800E8880 86660036 */ lh $a2, 0x36($s3) /* 081D34 800E8884 0240202D */ daddu $a0, $s2, $zero /* 081D38 800E8888 24A5007D */ addiu $a1, $a1, 0x7d -/* 081D3C 800E888C 0C051261 */ jal func_80144984 +/* 081D3C 800E888C 0C051261 */ jal set_icon_render_pos /* 081D40 800E8890 24C6000D */ addiu $a2, $a2, 0xd -/* 081D44 800E8894 0C0511F1 */ jal func_801447C4 +/* 081D44 800E8894 0C0511F1 */ jal draw_icon_1 /* 081D48 800E8898 0240202D */ daddu $a0, $s2, $zero /* 081D4C 800E889C 8E640024 */ lw $a0, 0x24($s3) /* 081D50 800E88A0 86650034 */ lh $a1, 0x34($s3) @@ -13671,7 +13680,7 @@ func_800E8620: /* 081D60 800E88B0 8042F296 */ lb $v0, -0xd6a($v0) /* 081D64 800E88B4 24A50088 */ addiu $a1, $a1, 0x88 /* 081D68 800E88B8 24C60008 */ addiu $a2, $a2, 8 -/* 081D6C 800E88BC 0C039F8D */ jal func_800E7E34 +/* 081D6C 800E88BC 0C039F8D */ jal status_menu_draw_stat /* 081D70 800E88C0 AFA20010 */ sw $v0, 0x10($sp) .L800E88C4: /* 081D74 800E88C4 3C028011 */ lui $v0, 0x8011 @@ -13704,18 +13713,18 @@ func_800E8620: /* 081DD4 800E8924 86660036 */ lh $a2, 0x36($s3) /* 081DD8 800E8928 0240202D */ daddu $a0, $s2, $zero /* 081DDC 800E892C 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 081DE0 800E8930 0C051261 */ jal func_80144984 +/* 081DE0 800E8930 0C051261 */ jal set_icon_render_pos /* 081DE4 800E8934 24C6000E */ addiu $a2, $a2, 0xe -/* 081DE8 800E8938 0C0511F1 */ jal func_801447C4 +/* 081DE8 800E8938 0C0511F1 */ jal draw_icon_1 /* 081DEC 800E893C 0240202D */ daddu $a0, $s2, $zero /* 081DF0 800E8940 8E72001C */ lw $s2, 0x1c($s3) /* 081DF4 800E8944 86650034 */ lh $a1, 0x34($s3) /* 081DF8 800E8948 86660036 */ lh $a2, 0x36($s3) /* 081DFC 800E894C 0240202D */ daddu $a0, $s2, $zero /* 081E00 800E8950 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 081E04 800E8954 0C051261 */ jal func_80144984 +/* 081E04 800E8954 0C051261 */ jal set_icon_render_pos /* 081E08 800E8958 24C60009 */ addiu $a2, $a2, 9 -/* 081E0C 800E895C 0C0511F1 */ jal func_801447C4 +/* 081E0C 800E895C 0C0511F1 */ jal draw_icon_1 /* 081E10 800E8960 0240202D */ daddu $a0, $s2, $zero /* 081E14 800E8964 8E640028 */ lw $a0, 0x28($s3) /* 081E18 800E8968 86650034 */ lh $a1, 0x34($s3) @@ -13725,7 +13734,7 @@ func_800E8620: /* 081E28 800E8978 3C078011 */ lui $a3, 0x8011 /* 081E2C 800E897C 80E7F2A0 */ lb $a3, -0xd60($a3) /* 081E30 800E8980 24A500C8 */ addiu $a1, $a1, 0xc8 -/* 081E34 800E8984 0C039F29 */ jal func_800E7CA4 +/* 081E34 800E8984 0C039F29 */ jal status_menu_draw_number /* 081E38 800E8988 24C60008 */ addiu $a2, $a2, 8 .L800E898C: /* 081E3C 800E898C 82620056 */ lb $v0, 0x56($s3) @@ -13736,7 +13745,7 @@ func_800E8620: /* 081E50 800E89A0 00021600 */ sll $v0, $v0, 0x18 /* 081E54 800E89A4 14400003 */ bnez $v0, .L800E89B4 /* 081E58 800E89A8 00000000 */ nop -/* 081E5C 800E89AC 0C03A68E */ jal func_800E9A38 +/* 081E5C 800E89AC 0C03A68E */ jal status_menu_stop_blinking_coins /* 081E60 800E89B0 00000000 */ nop .L800E89B4: /* 081E64 800E89B4 82620054 */ lb $v0, 0x54($s3) @@ -13762,18 +13771,18 @@ func_800E8620: /* 081EAC 800E89FC 86660036 */ lh $a2, 0x36($s3) /* 081EB0 800E8A00 0240202D */ daddu $a0, $s2, $zero /* 081EB4 800E8A04 24A500F4 */ addiu $a1, $a1, 0xf4 -/* 081EB8 800E8A08 0C051261 */ jal func_80144984 +/* 081EB8 800E8A08 0C051261 */ jal set_icon_render_pos /* 081EBC 800E8A0C 24C6000E */ addiu $a2, $a2, 0xe -/* 081EC0 800E8A10 0C0511F1 */ jal func_801447C4 +/* 081EC0 800E8A10 0C0511F1 */ jal draw_icon_1 /* 081EC4 800E8A14 0240202D */ daddu $a0, $s2, $zero /* 081EC8 800E8A18 8E720014 */ lw $s2, 0x14($s3) /* 081ECC 800E8A1C 86650034 */ lh $a1, 0x34($s3) /* 081ED0 800E8A20 86660036 */ lh $a2, 0x36($s3) /* 081ED4 800E8A24 0240202D */ daddu $a0, $s2, $zero /* 081ED8 800E8A28 24A500F4 */ addiu $a1, $a1, 0xf4 -/* 081EDC 800E8A2C 0C051261 */ jal func_80144984 +/* 081EDC 800E8A2C 0C051261 */ jal set_icon_render_pos /* 081EE0 800E8A30 24C6000E */ addiu $a2, $a2, 0xe -/* 081EE4 800E8A34 0C0511F1 */ jal func_801447C4 +/* 081EE4 800E8A34 0C0511F1 */ jal draw_icon_1 /* 081EE8 800E8A38 0240202D */ daddu $a0, $s2, $zero /* 081EEC 800E8A3C 8E64002C */ lw $a0, 0x2c($s3) /* 081EF0 800E8A40 86650034 */ lh $a1, 0x34($s3) @@ -13782,7 +13791,7 @@ func_800E8620: /* 081EFC 800E8A4C 86660036 */ lh $a2, 0x36($s3) /* 081F00 800E8A50 86670040 */ lh $a3, 0x40($s3) /* 081F04 800E8A54 24A500F7 */ addiu $a1, $a1, 0xf7 -/* 081F08 800E8A58 0C039F29 */ jal func_800E7CA4 +/* 081F08 800E8A58 0C039F29 */ jal status_menu_draw_number /* 081F0C 800E8A5C 24C60008 */ addiu $a2, $a2, 8 .L800E8A60: /* 081F10 800E8A60 82620050 */ lb $v0, 0x50($s3) @@ -13997,15 +14006,15 @@ func_800E8C38: /* 082200 800E8D50 01229821 */ addu $s3, $t1, $v0 /* 082204 800E8D54 AFA90058 */ sw $t1, 0x58($sp) /* 082208 800E8D58 8E650000 */ lw $a1, ($s3) -/* 08220C 800E8D5C 0C0511FF */ jal func_801447FC +/* 08220C 800E8D5C 0C0511FF */ jal set_menu_icon_script /* 082210 800E8D60 26310001 */ addiu $s1, $s1, 1 /* 082214 800E8D64 0240202D */ daddu $a0, $s2, $zero /* 082218 800E8D68 3C05800F */ lui $a1, 0x800f /* 08221C 800E8D6C 8CA57FE8 */ lw $a1, 0x7fe8($a1) /* 082220 800E8D70 8FA6005C */ lw $a2, 0x5c($sp) -/* 082224 800E8D74 0C051261 */ jal func_80144984 +/* 082224 800E8D74 0C051261 */ jal set_icon_render_pos /* 082228 800E8D78 02C52821 */ addu $a1, $s6, $a1 -/* 08222C 800E8D7C 0C0511F1 */ jal func_801447C4 +/* 08222C 800E8D7C 0C0511F1 */ jal draw_icon_1 /* 082230 800E8D80 0240202D */ daddu $a0, $s2, $zero /* 082234 800E8D84 0214102A */ slt $v0, $s0, $s4 /* 082238 800E8D88 104000A3 */ beqz $v0, .L800E9018 @@ -14019,15 +14028,15 @@ func_800E8C38: .L800E8DA8: /* 082258 800E8DA8 0240202D */ daddu $a0, $s2, $zero /* 08225C 800E8DAC 8E650000 */ lw $a1, ($s3) -/* 082260 800E8DB0 0C0511FF */ jal func_801447FC +/* 082260 800E8DB0 0C0511FF */ jal set_menu_icon_script /* 082264 800E8DB4 26310001 */ addiu $s1, $s1, 1 /* 082268 800E8DB8 0240202D */ daddu $a0, $s2, $zero /* 08226C 800E8DBC 3C05800F */ lui $a1, 0x800f /* 082270 800E8DC0 8CA57FEC */ lw $a1, 0x7fec($a1) /* 082274 800E8DC4 8FA6005C */ lw $a2, 0x5c($sp) -/* 082278 800E8DC8 0C051261 */ jal func_80144984 +/* 082278 800E8DC8 0C051261 */ jal set_icon_render_pos /* 08227C 800E8DCC 02C52821 */ addu $a1, $s6, $a1 -/* 082280 800E8DD0 0C0511F1 */ jal func_801447C4 +/* 082280 800E8DD0 0C0511F1 */ jal draw_icon_1 /* 082284 800E8DD4 0240202D */ daddu $a0, $s2, $zero /* 082288 800E8DD8 0214102A */ slt $v0, $s0, $s4 /* 08228C 800E8DDC 1040008E */ beqz $v0, .L800E9018 @@ -14041,15 +14050,15 @@ func_800E8C38: .L800E8DFC: /* 0822AC 800E8DFC 0240202D */ daddu $a0, $s2, $zero /* 0822B0 800E8E00 8E650000 */ lw $a1, ($s3) -/* 0822B4 800E8E04 0C0511FF */ jal func_801447FC +/* 0822B4 800E8E04 0C0511FF */ jal set_menu_icon_script /* 0822B8 800E8E08 26310001 */ addiu $s1, $s1, 1 /* 0822BC 800E8E0C 0240202D */ daddu $a0, $s2, $zero /* 0822C0 800E8E10 3C05800F */ lui $a1, 0x800f /* 0822C4 800E8E14 8CA57FF0 */ lw $a1, 0x7ff0($a1) /* 0822C8 800E8E18 8FA6005C */ lw $a2, 0x5c($sp) -/* 0822CC 800E8E1C 0C051261 */ jal func_80144984 +/* 0822CC 800E8E1C 0C051261 */ jal set_icon_render_pos /* 0822D0 800E8E20 02C52821 */ addu $a1, $s6, $a1 -/* 0822D4 800E8E24 0C0511F1 */ jal func_801447C4 +/* 0822D4 800E8E24 0C0511F1 */ jal draw_icon_1 /* 0822D8 800E8E28 0240202D */ daddu $a0, $s2, $zero /* 0822DC 800E8E2C 0214102A */ slt $v0, $s0, $s4 /* 0822E0 800E8E30 10400079 */ beqz $v0, .L800E9018 @@ -14063,15 +14072,15 @@ func_800E8C38: .L800E8E50: /* 082300 800E8E50 0240202D */ daddu $a0, $s2, $zero /* 082304 800E8E54 8E650000 */ lw $a1, ($s3) -/* 082308 800E8E58 0C0511FF */ jal func_801447FC +/* 082308 800E8E58 0C0511FF */ jal set_menu_icon_script /* 08230C 800E8E5C 26310001 */ addiu $s1, $s1, 1 /* 082310 800E8E60 0240202D */ daddu $a0, $s2, $zero /* 082314 800E8E64 3C05800F */ lui $a1, 0x800f /* 082318 800E8E68 8CA57FF4 */ lw $a1, 0x7ff4($a1) /* 08231C 800E8E6C 8FA6005C */ lw $a2, 0x5c($sp) -/* 082320 800E8E70 0C051261 */ jal func_80144984 +/* 082320 800E8E70 0C051261 */ jal set_icon_render_pos /* 082324 800E8E74 02C52821 */ addu $a1, $s6, $a1 -/* 082328 800E8E78 0C0511F1 */ jal func_801447C4 +/* 082328 800E8E78 0C0511F1 */ jal draw_icon_1 /* 08232C 800E8E7C 0240202D */ daddu $a0, $s2, $zero /* 082330 800E8E80 0214102A */ slt $v0, $s0, $s4 /* 082334 800E8E84 10400064 */ beqz $v0, .L800E9018 @@ -14085,15 +14094,15 @@ func_800E8C38: .L800E8EA4: /* 082354 800E8EA4 0240202D */ daddu $a0, $s2, $zero /* 082358 800E8EA8 8E650000 */ lw $a1, ($s3) -/* 08235C 800E8EAC 0C0511FF */ jal func_801447FC +/* 08235C 800E8EAC 0C0511FF */ jal set_menu_icon_script /* 082360 800E8EB0 26310001 */ addiu $s1, $s1, 1 /* 082364 800E8EB4 0240202D */ daddu $a0, $s2, $zero /* 082368 800E8EB8 3C05800F */ lui $a1, 0x800f /* 08236C 800E8EBC 8CA57FF8 */ lw $a1, 0x7ff8($a1) /* 082370 800E8EC0 8FA6005C */ lw $a2, 0x5c($sp) -/* 082374 800E8EC4 0C051261 */ jal func_80144984 +/* 082374 800E8EC4 0C051261 */ jal set_icon_render_pos /* 082378 800E8EC8 02C52821 */ addu $a1, $s6, $a1 -/* 08237C 800E8ECC 0C0511F1 */ jal func_801447C4 +/* 08237C 800E8ECC 0C0511F1 */ jal draw_icon_1 /* 082380 800E8ED0 0240202D */ daddu $a0, $s2, $zero /* 082384 800E8ED4 0214102A */ slt $v0, $s0, $s4 /* 082388 800E8ED8 1040004F */ beqz $v0, .L800E9018 @@ -14107,15 +14116,15 @@ func_800E8C38: .L800E8EF8: /* 0823A8 800E8EF8 0240202D */ daddu $a0, $s2, $zero /* 0823AC 800E8EFC 8E650000 */ lw $a1, ($s3) -/* 0823B0 800E8F00 0C0511FF */ jal func_801447FC +/* 0823B0 800E8F00 0C0511FF */ jal set_menu_icon_script /* 0823B4 800E8F04 26310001 */ addiu $s1, $s1, 1 /* 0823B8 800E8F08 0240202D */ daddu $a0, $s2, $zero /* 0823BC 800E8F0C 3C05800F */ lui $a1, 0x800f /* 0823C0 800E8F10 8CA57FFC */ lw $a1, 0x7ffc($a1) /* 0823C4 800E8F14 8FA6005C */ lw $a2, 0x5c($sp) -/* 0823C8 800E8F18 0C051261 */ jal func_80144984 +/* 0823C8 800E8F18 0C051261 */ jal set_icon_render_pos /* 0823CC 800E8F1C 02C52821 */ addu $a1, $s6, $a1 -/* 0823D0 800E8F20 0C0511F1 */ jal func_801447C4 +/* 0823D0 800E8F20 0C0511F1 */ jal draw_icon_1 /* 0823D4 800E8F24 0240202D */ daddu $a0, $s2, $zero /* 0823D8 800E8F28 0214102A */ slt $v0, $s0, $s4 /* 0823DC 800E8F2C 1040003A */ beqz $v0, .L800E9018 @@ -14129,15 +14138,15 @@ func_800E8C38: .L800E8F4C: /* 0823FC 800E8F4C 0240202D */ daddu $a0, $s2, $zero /* 082400 800E8F50 8E650000 */ lw $a1, ($s3) -/* 082404 800E8F54 0C0511FF */ jal func_801447FC +/* 082404 800E8F54 0C0511FF */ jal set_menu_icon_script /* 082408 800E8F58 26310001 */ addiu $s1, $s1, 1 /* 08240C 800E8F5C 0240202D */ daddu $a0, $s2, $zero /* 082410 800E8F60 3C058010 */ lui $a1, 0x8010 /* 082414 800E8F64 8CA58000 */ lw $a1, -0x8000($a1) /* 082418 800E8F68 8FA6005C */ lw $a2, 0x5c($sp) -/* 08241C 800E8F6C 0C051261 */ jal func_80144984 +/* 08241C 800E8F6C 0C051261 */ jal set_icon_render_pos /* 082420 800E8F70 02C52821 */ addu $a1, $s6, $a1 -/* 082424 800E8F74 0C0511F1 */ jal func_801447C4 +/* 082424 800E8F74 0C0511F1 */ jal draw_icon_1 /* 082428 800E8F78 0240202D */ daddu $a0, $s2, $zero /* 08242C 800E8F7C 0214102A */ slt $v0, $s0, $s4 /* 082430 800E8F80 10400025 */ beqz $v0, .L800E9018 @@ -14158,15 +14167,15 @@ func_800E8C38: /* 082468 800E8FB8 8FA90050 */ lw $t1, 0x50($sp) /* 08246C 800E8FBC 26D60014 */ addiu $s6, $s6, 0x14 /* 082470 800E8FC0 25290001 */ addiu $t1, $t1, 1 -/* 082474 800E8FC4 0C0511FF */ jal func_801447FC +/* 082474 800E8FC4 0C0511FF */ jal set_menu_icon_script /* 082478 800E8FC8 AFA90050 */ sw $t1, 0x50($sp) /* 08247C 800E8FCC 0240202D */ daddu $a0, $s2, $zero /* 082480 800E8FD0 8FA90060 */ lw $t1, 0x60($sp) /* 082484 800E8FD4 02A0302D */ daddu $a2, $s5, $zero /* 082488 800E8FD8 2525000C */ addiu $a1, $t1, 0xc -/* 08248C 800E8FDC 0C051261 */ jal func_80144984 +/* 08248C 800E8FDC 0C051261 */ jal set_icon_render_pos /* 082490 800E8FE0 03C52821 */ addu $a1, $fp, $a1 -/* 082494 800E8FE4 0C0511F1 */ jal func_801447C4 +/* 082494 800E8FE4 0C0511F1 */ jal draw_icon_1 /* 082498 800E8FE8 0240202D */ daddu $a0, $s2, $zero /* 08249C 800E8FEC 8FA90060 */ lw $t1, 0x60($sp) /* 0824A0 800E8FF0 0214102A */ slt $v0, $s0, $s4 @@ -14200,15 +14209,15 @@ func_800E9044: /* 082508 800E9058 26100001 */ addiu $s0, $s0, 1 /* 08250C 800E905C 3C058011 */ lui $a1, 0x8011 /* 082510 800E9060 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 082514 800E9064 0C0511FF */ jal func_801447FC +/* 082514 800E9064 0C0511FF */ jal set_menu_icon_script /* 082518 800E9068 0240202D */ daddu $a0, $s2, $zero /* 08251C 800E906C 0240202D */ daddu $a0, $s2, $zero /* 082520 800E9070 3C05800F */ lui $a1, 0x800f /* 082524 800E9074 8CA57FE8 */ lw $a1, 0x7fe8($a1) /* 082528 800E9078 26A6FFFE */ addiu $a2, $s5, -2 -/* 08252C 800E907C 0C051261 */ jal func_80144984 +/* 08252C 800E907C 0C051261 */ jal set_icon_render_pos /* 082530 800E9080 02652821 */ addu $a1, $s3, $a1 -/* 082534 800E9084 0C0511F1 */ jal func_801447C4 +/* 082534 800E9084 0C0511F1 */ jal draw_icon_1 /* 082538 800E9088 0240202D */ daddu $a0, $s2, $zero /* 08253C 800E908C 0214102A */ slt $v0, $s0, $s4 /* 082540 800E9090 10400081 */ beqz $v0, .L800E9298 @@ -14220,14 +14229,14 @@ func_800E9044: /* 082554 800E90A4 02028021 */ addu $s0, $s0, $v0 /* 082558 800E90A8 3C058011 */ lui $a1, 0x8011 /* 08255C 800E90AC 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 082560 800E90B0 0C0511FF */ jal func_801447FC +/* 082560 800E90B0 0C0511FF */ jal set_menu_icon_script /* 082564 800E90B4 0240202D */ daddu $a0, $s2, $zero /* 082568 800E90B8 0240202D */ daddu $a0, $s2, $zero /* 08256C 800E90BC 8EC50004 */ lw $a1, 4($s6) /* 082570 800E90C0 26A6FFFE */ addiu $a2, $s5, -2 -/* 082574 800E90C4 0C051261 */ jal func_80144984 +/* 082574 800E90C4 0C051261 */ jal set_icon_render_pos /* 082578 800E90C8 02652821 */ addu $a1, $s3, $a1 -/* 08257C 800E90CC 0C0511F1 */ jal func_801447C4 +/* 08257C 800E90CC 0C0511F1 */ jal draw_icon_1 /* 082580 800E90D0 0240202D */ daddu $a0, $s2, $zero /* 082584 800E90D4 0214102A */ slt $v0, $s0, $s4 /* 082588 800E90D8 1040006F */ beqz $v0, .L800E9298 @@ -14239,14 +14248,14 @@ func_800E9044: /* 08259C 800E90EC 26100001 */ addiu $s0, $s0, 1 /* 0825A0 800E90F0 3C058011 */ lui $a1, 0x8011 /* 0825A4 800E90F4 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 0825A8 800E90F8 0C0511FF */ jal func_801447FC +/* 0825A8 800E90F8 0C0511FF */ jal set_menu_icon_script /* 0825AC 800E90FC 0240202D */ daddu $a0, $s2, $zero /* 0825B0 800E9100 0240202D */ daddu $a0, $s2, $zero /* 0825B4 800E9104 8EC50008 */ lw $a1, 8($s6) /* 0825B8 800E9108 26A6FFFE */ addiu $a2, $s5, -2 -/* 0825BC 800E910C 0C051261 */ jal func_80144984 +/* 0825BC 800E910C 0C051261 */ jal set_icon_render_pos /* 0825C0 800E9110 02652821 */ addu $a1, $s3, $a1 -/* 0825C4 800E9114 0C0511F1 */ jal func_801447C4 +/* 0825C4 800E9114 0C0511F1 */ jal draw_icon_1 /* 0825C8 800E9118 0240202D */ daddu $a0, $s2, $zero /* 0825CC 800E911C 0214102A */ slt $v0, $s0, $s4 /* 0825D0 800E9120 1040005D */ beqz $v0, .L800E9298 @@ -14258,14 +14267,14 @@ func_800E9044: /* 0825E4 800E9134 26100001 */ addiu $s0, $s0, 1 /* 0825E8 800E9138 3C058011 */ lui $a1, 0x8011 /* 0825EC 800E913C 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 0825F0 800E9140 0C0511FF */ jal func_801447FC +/* 0825F0 800E9140 0C0511FF */ jal set_menu_icon_script /* 0825F4 800E9144 0240202D */ daddu $a0, $s2, $zero /* 0825F8 800E9148 0240202D */ daddu $a0, $s2, $zero /* 0825FC 800E914C 8EC5000C */ lw $a1, 0xc($s6) /* 082600 800E9150 26A6FFFE */ addiu $a2, $s5, -2 -/* 082604 800E9154 0C051261 */ jal func_80144984 +/* 082604 800E9154 0C051261 */ jal set_icon_render_pos /* 082608 800E9158 02652821 */ addu $a1, $s3, $a1 -/* 08260C 800E915C 0C0511F1 */ jal func_801447C4 +/* 08260C 800E915C 0C0511F1 */ jal draw_icon_1 /* 082610 800E9160 0240202D */ daddu $a0, $s2, $zero /* 082614 800E9164 0214102A */ slt $v0, $s0, $s4 /* 082618 800E9168 1040004B */ beqz $v0, .L800E9298 @@ -14277,14 +14286,14 @@ func_800E9044: /* 08262C 800E917C 26100001 */ addiu $s0, $s0, 1 /* 082630 800E9180 3C058011 */ lui $a1, 0x8011 /* 082634 800E9184 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 082638 800E9188 0C0511FF */ jal func_801447FC +/* 082638 800E9188 0C0511FF */ jal set_menu_icon_script /* 08263C 800E918C 0240202D */ daddu $a0, $s2, $zero /* 082640 800E9190 0240202D */ daddu $a0, $s2, $zero /* 082644 800E9194 8EC50010 */ lw $a1, 0x10($s6) /* 082648 800E9198 26A6FFFE */ addiu $a2, $s5, -2 -/* 08264C 800E919C 0C051261 */ jal func_80144984 +/* 08264C 800E919C 0C051261 */ jal set_icon_render_pos /* 082650 800E91A0 02652821 */ addu $a1, $s3, $a1 -/* 082654 800E91A4 0C0511F1 */ jal func_801447C4 +/* 082654 800E91A4 0C0511F1 */ jal draw_icon_1 /* 082658 800E91A8 0240202D */ daddu $a0, $s2, $zero /* 08265C 800E91AC 0214102A */ slt $v0, $s0, $s4 /* 082660 800E91B0 10400039 */ beqz $v0, .L800E9298 @@ -14296,14 +14305,14 @@ func_800E9044: /* 082674 800E91C4 26100001 */ addiu $s0, $s0, 1 /* 082678 800E91C8 3C058011 */ lui $a1, 0x8011 /* 08267C 800E91CC 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 082680 800E91D0 0C0511FF */ jal func_801447FC +/* 082680 800E91D0 0C0511FF */ jal set_menu_icon_script /* 082684 800E91D4 0240202D */ daddu $a0, $s2, $zero /* 082688 800E91D8 0240202D */ daddu $a0, $s2, $zero /* 08268C 800E91DC 8EC50014 */ lw $a1, 0x14($s6) /* 082690 800E91E0 26A6FFFE */ addiu $a2, $s5, -2 -/* 082694 800E91E4 0C051261 */ jal func_80144984 +/* 082694 800E91E4 0C051261 */ jal set_icon_render_pos /* 082698 800E91E8 02652821 */ addu $a1, $s3, $a1 -/* 08269C 800E91EC 0C0511F1 */ jal func_801447C4 +/* 08269C 800E91EC 0C0511F1 */ jal draw_icon_1 /* 0826A0 800E91F0 0240202D */ daddu $a0, $s2, $zero /* 0826A4 800E91F4 0214102A */ slt $v0, $s0, $s4 /* 0826A8 800E91F8 10400027 */ beqz $v0, .L800E9298 @@ -14315,14 +14324,14 @@ func_800E9044: /* 0826BC 800E920C 26100001 */ addiu $s0, $s0, 1 /* 0826C0 800E9210 3C058011 */ lui $a1, 0x8011 /* 0826C4 800E9214 24A583B0 */ addiu $a1, $a1, -0x7c50 -/* 0826C8 800E9218 0C0511FF */ jal func_801447FC +/* 0826C8 800E9218 0C0511FF */ jal set_menu_icon_script /* 0826CC 800E921C 0240202D */ daddu $a0, $s2, $zero /* 0826D0 800E9220 0240202D */ daddu $a0, $s2, $zero /* 0826D4 800E9224 8EC50018 */ lw $a1, 0x18($s6) /* 0826D8 800E9228 26A6FFFE */ addiu $a2, $s5, -2 -/* 0826DC 800E922C 0C051261 */ jal func_80144984 +/* 0826DC 800E922C 0C051261 */ jal set_icon_render_pos /* 0826E0 800E9230 02652821 */ addu $a1, $s3, $a1 -/* 0826E4 800E9234 0C0511F1 */ jal func_801447C4 +/* 0826E4 800E9234 0C0511F1 */ jal draw_icon_1 /* 0826E8 800E9238 0240202D */ daddu $a0, $s2, $zero /* 0826EC 800E923C 0214102A */ slt $v0, $s0, $s4 /* 0826F0 800E9240 10400015 */ beqz $v0, .L800E9298 @@ -14334,13 +14343,13 @@ func_800E9044: /* 082704 800E9254 26100001 */ addiu $s0, $s0, 1 /* 082708 800E9258 3C058011 */ lui $a1, 0x8011 /* 08270C 800E925C 24A584F0 */ addiu $a1, $a1, -0x7b10 -/* 082710 800E9260 0C0511FF */ jal func_801447FC +/* 082710 800E9260 0C0511FF */ jal set_menu_icon_script /* 082714 800E9264 0240202D */ daddu $a0, $s2, $zero /* 082718 800E9268 0240202D */ daddu $a0, $s2, $zero /* 08271C 800E926C 03D72821 */ addu $a1, $fp, $s7 -/* 082720 800E9270 0C051261 */ jal func_80144984 +/* 082720 800E9270 0C051261 */ jal set_icon_render_pos /* 082724 800E9274 02A0302D */ daddu $a2, $s5, $zero -/* 082728 800E9278 0C0511F1 */ jal func_801447C4 +/* 082728 800E9278 0C0511F1 */ jal draw_icon_1 /* 08272C 800E927C 0240202D */ daddu $a0, $s2, $zero /* 082730 800E9280 0214102A */ slt $v0, $s0, $s4 /* 082734 800E9284 10400004 */ beqz $v0, .L800E9298 @@ -14369,6 +14378,7 @@ func_800E9044: /* 082780 800E92D0 03E00008 */ jr $ra /* 082784 800E92D4 27BD0090 */ addiu $sp, $sp, 0x90 +coin_counter_draw_content: /* 082788 800E92D8 3C038011 */ lui $v1, 0x8011 /* 08278C 800E92DC 8463F29C */ lh $v1, -0xd64($v1) /* 082790 800E92E0 27BDFFC8 */ addiu $sp, $sp, -0x38 @@ -14398,7 +14408,7 @@ func_800E9044: /* 0827F0 800E9340 3063FFFF */ andi $v1, $v1, 0xffff /* 0827F4 800E9344 14600004 */ bnez $v1, .L800E9358 /* 0827F8 800E9348 2665001B */ addiu $a1, $s3, 0x1b -/* 0827FC 800E934C 0C05272D */ jal func_80149CB4 +/* 0827FC 800E934C 0C05272D */ jal play_sound /* 082800 800E9350 24040211 */ addiu $a0, $zero, 0x211 .L800E9354: /* 082804 800E9354 2665001B */ addiu $a1, $s3, 0x1b @@ -14406,16 +14416,16 @@ func_800E9044: /* 082808 800E9358 2690000B */ addiu $s0, $s4, 0xb /* 08280C 800E935C 8E51005C */ lw $s1, 0x5c($s2) /* 082810 800E9360 0200302D */ daddu $a2, $s0, $zero -/* 082814 800E9364 0C051261 */ jal func_80144984 +/* 082814 800E9364 0C051261 */ jal set_icon_render_pos /* 082818 800E9368 0220202D */ daddu $a0, $s1, $zero -/* 08281C 800E936C 0C0511EA */ jal func_801447A8 +/* 08281C 800E936C 0C0511EA */ jal draw_icon_0 /* 082820 800E9370 0220202D */ daddu $a0, $s1, $zero /* 082824 800E9374 2665000F */ addiu $a1, $s3, 0xf /* 082828 800E9378 8E510060 */ lw $s1, 0x60($s2) /* 08282C 800E937C 0200302D */ daddu $a2, $s0, $zero -/* 082830 800E9380 0C051261 */ jal func_80144984 +/* 082830 800E9380 0C051261 */ jal set_icon_render_pos /* 082834 800E9384 0220202D */ daddu $a0, $s1, $zero -/* 082838 800E9388 0C0511EA */ jal func_801447A8 +/* 082838 800E9388 0C0511EA */ jal draw_icon_0 /* 08283C 800E938C 0220202D */ daddu $a0, $s1, $zero /* 082840 800E9390 2665003A */ addiu $a1, $s3, 0x3a /* 082844 800E9394 26860004 */ addiu $a2, $s4, 4 @@ -14426,7 +14436,7 @@ func_800E9044: /* 082858 800E93A8 24020003 */ addiu $v0, $zero, 3 /* 08285C 800E93AC 86440040 */ lh $a0, 0x40($s2) /* 082860 800E93B0 24070001 */ addiu $a3, $zero, 1 -/* 082864 800E93B4 0C049DA7 */ jal func_8012769C +/* 082864 800E93B4 0C049DA7 */ jal draw_number /* 082868 800E93B8 AFA20018 */ sw $v0, 0x18($sp) /* 08286C 800E93BC 8FBF0034 */ lw $ra, 0x34($sp) /* 082870 800E93C0 8FB40030 */ lw $s4, 0x30($sp) @@ -14437,7 +14447,7 @@ func_800E9044: /* 082884 800E93D4 03E00008 */ jr $ra /* 082888 800E93D8 27BD0038 */ addiu $sp, $sp, 0x38 -func_800E93DC: +update_coin_counter: /* 08288C 800E93DC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 082890 800E93E0 AFB00010 */ sw $s0, 0x10($sp) /* 082894 800E93E4 3C108011 */ lui $s0, 0x8011 @@ -14457,9 +14467,9 @@ func_800E93DC: /* 0828CC 800E941C 8E040064 */ lw $a0, 0x64($s0) /* 0828D0 800E9420 04800007 */ bltz $a0, .L800E9440 /* 0828D4 800E9424 00000000 */ nop -/* 0828D8 800E9428 0C05123D */ jal func_801448F4 +/* 0828D8 800E9428 0C05123D */ jal free_icon /* 0828DC 800E942C 00000000 */ nop -/* 0828E0 800E9430 0C05123D */ jal func_801448F4 +/* 0828E0 800E9430 0C05123D */ jal free_icon /* 0828E4 800E9434 8E040068 */ lw $a0, 0x68($s0) /* 0828E8 800E9438 2402FFFF */ addiu $v0, $zero, -1 /* 0828EC 800E943C AE020064 */ sw $v0, 0x64($s0) @@ -14524,7 +14534,7 @@ func_800E93DC: /* 0829C0 800E9510 03E00008 */ jr $ra /* 0829C4 800E9514 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E9518: +show_coin_counter: /* 0829C8 800E9518 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0829CC 800E951C AFB00028 */ sw $s0, 0x28($sp) /* 0829D0 800E9520 3C108011 */ lui $s0, 0x8011 @@ -14547,9 +14557,9 @@ func_800E9518: /* 082A10 800E9560 04420009 */ bltzl $v0, .L800E9588 /* 082A14 800E9564 A220006C */ sb $zero, 0x6c($s1) /* 082A18 800E9568 8E24005C */ lw $a0, 0x5c($s1) -/* 082A1C 800E956C 0C05123D */ jal func_801448F4 +/* 082A1C 800E956C 0C05123D */ jal free_icon /* 082A20 800E9570 00000000 */ nop -/* 082A24 800E9574 0C05123D */ jal func_801448F4 +/* 082A24 800E9574 0C05123D */ jal free_icon /* 082A28 800E9578 8E240060 */ lw $a0, 0x60($s1) /* 082A2C 800E957C 2402FFFF */ addiu $v0, $zero, -1 /* 082A30 800E9580 AE220064 */ sw $v0, 0x64($s1) @@ -14583,12 +14593,12 @@ func_800E9518: /* 082A98 800E95E8 24040014 */ addiu $a0, $zero, 0x14 /* 082A9C 800E95EC 3C048011 */ lui $a0, 0x8011 /* 082AA0 800E95F0 24849270 */ addiu $a0, $a0, -0x6d90 -/* 082AA4 800E95F4 0C050529 */ jal func_801414A4 +/* 082AA4 800E95F4 0C050529 */ jal create_icon /* 082AA8 800E95F8 00000000 */ nop /* 082AAC 800E95FC 0040802D */ daddu $s0, $v0, $zero /* 082AB0 800E9600 0200202D */ daddu $a0, $s0, $zero /* 082AB4 800E9604 24050080 */ addiu $a1, $zero, 0x80 -/* 082AB8 800E9608 0C051280 */ jal func_80144A00 +/* 082AB8 800E9608 0C051280 */ jal set_icon_flags /* 082ABC 800E960C AE30005C */ sw $s0, 0x5c($s1) /* 082AC0 800E9610 0200202D */ daddu $a0, $s0, $zero /* 082AC4 800E9614 240500FF */ addiu $a1, $zero, 0xff @@ -14597,12 +14607,12 @@ func_800E9518: /* 082AD0 800E9620 00A0382D */ daddu $a3, $a1, $zero /* 082AD4 800E9624 3C048011 */ lui $a0, 0x8011 /* 082AD8 800E9628 24848558 */ addiu $a0, $a0, -0x7aa8 -/* 082ADC 800E962C 0C050529 */ jal func_801414A4 +/* 082ADC 800E962C 0C050529 */ jal create_icon /* 082AE0 800E9630 00000000 */ nop /* 082AE4 800E9634 0040802D */ daddu $s0, $v0, $zero /* 082AE8 800E9638 0200202D */ daddu $a0, $s0, $zero /* 082AEC 800E963C 24050080 */ addiu $a1, $zero, 0x80 -/* 082AF0 800E9640 0C051280 */ jal func_80144A00 +/* 082AF0 800E9640 0C051280 */ jal set_icon_flags /* 082AF4 800E9644 AE300060 */ sw $s0, 0x60($s1) /* 082AF8 800E9648 0200202D */ daddu $a0, $s0, $zero /* 082AFC 800E964C 240500FF */ addiu $a1, $zero, 0xff @@ -14627,7 +14637,7 @@ func_800E9518: /* 082B40 800E9690 03E00008 */ jr $ra /* 082B44 800E9694 27BD0038 */ addiu $sp, $sp, 0x38 -func_800E9698: +hide_coin_counter: /* 082B48 800E9698 3C028011 */ lui $v0, 0x8011 /* 082B4C 800E969C 8442CD10 */ lh $v0, -0x32f0($v0) /* 082B50 800E96A0 3C038011 */ lui $v1, 0x8011 @@ -14657,20 +14667,21 @@ func_800E96C8: /* 082BA0 800E96F0 03E00008 */ jr $ra /* 082BA4 800E96F4 00000000 */ nop +ShowCoinCounter: /* 082BA8 800E96F8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 082BAC 800E96FC AFBF0010 */ sw $ra, 0x10($sp) /* 082BB0 800E9700 8C82000C */ lw $v0, 0xc($a0) -/* 082BB4 800E9704 0C0B1EAF */ jal func_802C7ABC +/* 082BB4 800E9704 0C0B1EAF */ jal get_variable /* 082BB8 800E9708 8C450000 */ lw $a1, ($v0) /* 082BBC 800E970C 10400005 */ beqz $v0, .L800E9724 /* 082BC0 800E9710 00000000 */ nop -/* 082BC4 800E9714 0C03A546 */ jal func_800E9518 +/* 082BC4 800E9714 0C03A546 */ jal show_coin_counter /* 082BC8 800E9718 00000000 */ nop /* 082BCC 800E971C 0803A5CB */ j func_800E972C /* 082BD0 800E9720 00000000 */ nop .L800E9724: -/* 082BD4 800E9724 0C03A5A6 */ jal func_800E9698 +/* 082BD4 800E9724 0C03A5A6 */ jal hide_coin_counter /* 082BD8 800E9728 00000000 */ nop func_800E972C: /* 082BDC 800E972C 8FBF0010 */ lw $ra, 0x10($sp) @@ -14681,15 +14692,15 @@ func_800E972C: func_800E973C: /* 082BEC 800E973C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 082BF0 800E9740 AFBF0010 */ sw $ra, 0x10($sp) -/* 082BF4 800E9744 0C03A02D */ jal func_800E80B4 +/* 082BF4 800E9744 0C03A02D */ jal update_status_menu /* 082BF8 800E9748 00000000 */ nop -/* 082BFC 800E974C 0C03A4F7 */ jal func_800E93DC +/* 082BFC 800E974C 0C03A4F7 */ jal update_coin_counter /* 082C00 800E9750 00000000 */ nop /* 082C04 800E9754 8FBF0010 */ lw $ra, 0x10($sp) /* 082C08 800E9758 03E00008 */ jr $ra /* 082C0C 800E975C 27BD0018 */ addiu $sp, $sp, 0x18 -func_800E9760: +open_status_menu_long: /* 082C10 800E9760 3C038011 */ lui $v1, 0x8011 /* 082C14 800E9764 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082C18 800E9768 8062003A */ lb $v0, 0x3a($v1) @@ -14703,7 +14714,7 @@ func_800E9760: /* 082C34 800E9784 03E00008 */ jr $ra /* 082C38 800E9788 00000000 */ nop -func_800E978C: +open_status_menu_short: /* 082C3C 800E978C 3C038011 */ lui $v1, 0x8011 /* 082C40 800E9790 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082C44 800E9794 8062003A */ lb $v0, 0x3a($v1) @@ -14828,13 +14839,13 @@ func_800E9900: /* 082DB8 800E9908 03E00008 */ jr $ra /* 082DBC 800E990C 00000000 */ nop -func_800E9910: +is_status_menu_visible: /* 082DC0 800E9910 3C028011 */ lui $v0, 0x8011 /* 082DC4 800E9914 8042EF92 */ lb $v0, -0x106e($v0) /* 082DC8 800E9918 03E00008 */ jr $ra /* 082DCC 800E991C 2C420001 */ sltiu $v0, $v0, 1 -func_800E9920: +status_menu_start_blinking_hp: /* 082DD0 800E9920 3C028007 */ lui $v0, 0x8007 /* 082DD4 800E9924 8C42419C */ lw $v0, 0x419c($v0) /* 082DD8 800E9928 3C038011 */ lui $v1, 0x8011 @@ -14855,7 +14866,7 @@ func_800E9920: /* 082E0C 800E995C 03E00008 */ jr $ra /* 082E10 800E9960 00000000 */ nop -func_800E9964: +status_menu_stop_blinking_hp: /* 082E14 800E9964 3C038011 */ lui $v1, 0x8011 /* 082E18 800E9968 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082E1C 800E996C 8062004A */ lb $v0, 0x4a($v1) @@ -14868,7 +14879,7 @@ func_800E9964: /* 082E34 800E9984 03E00008 */ jr $ra /* 082E38 800E9988 00000000 */ nop -func_800E998C: +status_menu_start_blinking_fp: /* 082E3C 800E998C 3C028007 */ lui $v0, 0x8007 /* 082E40 800E9990 8C42419C */ lw $v0, 0x419c($v0) /* 082E44 800E9994 3C038011 */ lui $v1, 0x8011 @@ -14899,9 +14910,10 @@ func_800E99D0: /* 082E98 800E99E8 A060004E */ sb $zero, 0x4e($v1) .L800E99EC: /* 082E9C 800E99EC 03E00008 */ jr $ra +status_menu_stop_blinking_fp: /* 082EA0 800E99F0 00000000 */ nop -func_800E99F4: +status_menu_start_blinking_coins: /* 082EA4 800E99F4 3C028007 */ lui $v0, 0x8007 /* 082EA8 800E99F8 8C42419C */ lw $v0, 0x419c($v0) /* 082EAC 800E99FC 3C038011 */ lui $v1, 0x8011 @@ -14922,7 +14934,7 @@ func_800E99F4: /* 082EE0 800E9A30 03E00008 */ jr $ra /* 082EE4 800E9A34 00000000 */ nop -func_800E9A38: +status_menu_stop_blinking_coins: /* 082EE8 800E9A38 3C038011 */ lui $v1, 0x8011 /* 082EEC 800E9A3C 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082EF0 800E9A40 80620054 */ lb $v0, 0x54($v1) @@ -14935,6 +14947,7 @@ func_800E9A38: /* 082F08 800E9A58 03E00008 */ jr $ra /* 082F0C 800E9A5C 00000000 */ nop +status_menu_start_blinking_sp: /* 082F10 800E9A60 3C028011 */ lui $v0, 0x8011 /* 082F14 800E9A64 9042F51E */ lbu $v0, -0xae2($v0) /* 082F18 800E9A68 3C038011 */ lui $v1, 0x8011 @@ -14950,6 +14963,7 @@ func_800E9A38: /* 082F3C 800E9A8C 03E00008 */ jr $ra /* 082F40 800E9A90 00000000 */ nop +status_menu_stop_blinking_sp: /* 082F44 800E9A94 3C038011 */ lui $v1, 0x8011 /* 082F48 800E9A98 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082F4C 800E9A9C 80620050 */ lb $v0, 0x50($v1) @@ -14961,6 +14975,7 @@ func_800E9A38: /* 082F60 800E9AB0 03E00008 */ jr $ra /* 082F64 800E9AB4 00000000 */ nop +status_menu_start_blinking_sp_bars: /* 082F68 800E9AB8 3C038011 */ lui $v1, 0x8011 /* 082F6C 800E9ABC 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082F70 800E9AC0 80620050 */ lb $v0, 0x50($v1) @@ -14974,6 +14989,7 @@ func_800E9A38: /* 082F8C 800E9ADC 03E00008 */ jr $ra /* 082F90 800E9AE0 00000000 */ nop +status_menu_start_blinking_starpoints: /* 082F94 800E9AE4 3C038011 */ lui $v1, 0x8011 /* 082F98 800E9AE8 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082F9C 800E9AEC 80620052 */ lb $v0, 0x52($v1) @@ -14986,6 +15002,7 @@ func_800E9A38: /* 082FB4 800E9B04 03E00008 */ jr $ra /* 082FB8 800E9B08 00000000 */ nop +status_menu_stop_blinking_starpoints: /* 082FBC 800E9B0C 3C038011 */ lui $v1, 0x8011 /* 082FC0 800E9B10 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 082FC4 800E9B14 80620052 */ lb $v0, 0x52($v1) @@ -14997,7 +15014,7 @@ func_800E9A38: /* 082FD8 800E9B28 03E00008 */ jr $ra /* 082FDC 800E9B2C 00000000 */ nop -func_800E9B30: +decrement_status_menu_disabled: /* 082FE0 800E9B30 3C048011 */ lui $a0, 0x8011 /* 082FE4 800E9B34 2484EF58 */ addiu $a0, $a0, -0x10a8 /* 082FE8 800E9B38 80820047 */ lb $v0, 0x47($a0) @@ -15009,7 +15026,7 @@ func_800E9B30: /* 082FFC 800E9B4C 03E00008 */ jr $ra /* 083000 800E9B50 00000000 */ nop -func_800E9B54: +increment_status_menu_disabled: /* 083004 800E9B54 3C038011 */ lui $v1, 0x8011 /* 083008 800E9B58 2463EF58 */ addiu $v1, $v1, -0x10a8 /* 08300C 800E9B5C 90620047 */ lbu $v0, 0x47($v1) @@ -15017,6 +15034,7 @@ func_800E9B54: /* 083014 800E9B64 03E00008 */ jr $ra /* 083018 800E9B68 A0620047 */ sb $v0, 0x47($v1) +sync_status_menu: /* 08301C 800E9B6C 3C028011 */ lui $v0, 0x8011 /* 083020 800E9B70 2442F290 */ addiu $v0, $v0, -0xd70 /* 083024 800E9B74 90430010 */ lbu $v1, 0x10($v0) @@ -15035,7 +15053,7 @@ func_800E9B54: /* 083058 800E9BA8 03E00008 */ jr $ra /* 08305C 800E9BAC A4430042 */ sh $v1, 0x42($v0) -func_800E9BB0: +reset_status_menu: /* 083060 800E9BB0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 083064 800E9BB4 AFB20018 */ sw $s2, 0x18($sp) /* 083068 800E9BB8 0000902D */ daddu $s2, $zero, $zero @@ -15141,7 +15159,7 @@ func_800E9BB0: /* 0831F0 800E9D40 03E00008 */ jr $ra /* 0831F4 800E9D44 27BD0020 */ addiu $sp, $sp, 0x20 -func_800E9D48: +is_ability_active: /* 0831F8 800E9D48 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0831FC 800E9D4C AFBF0028 */ sw $ra, 0x28($sp) /* 083200 800E9D50 0080482D */ daddu $t1, $a0, $zero @@ -15420,7 +15438,7 @@ func_800EA07C: /* 083538 800EA088 00071040 */ sll $v0, $a3, 1 /* 08353C 800EA08C 04A10007 */ bgez $a1, .L800EA0AC /* 083540 800EA090 00A0102D */ daddu $v0, $a1, $zero -/* 083544 800EA094 0C00A67F */ jal func_800299FC +/* 083544 800EA094 0C00A67F */ jal rand_int /* 083548 800EA098 2484FFFF */ addiu $a0, $a0, -1 /* 08354C 800EA09C 00021080 */ sll $v0, $v0, 2 /* 083550 800EA0A0 03A21021 */ addu $v0, $sp, $v0 @@ -15431,10 +15449,11 @@ func_800EA07C: /* 083560 800EA0B0 03E00008 */ jr $ra /* 083564 800EA0B4 27BD0030 */ addiu $sp, $sp, 0x30 +is_partner_ability_active: /* 083568 800EA0B8 03E00008 */ jr $ra /* 08356C 800EA0BC 0000102D */ daddu $v0, $zero, $zero -func_800EA0C0: +add_coins: /* 083570 800EA0C0 3C038011 */ lui $v1, 0x8011 /* 083574 800EA0C4 2463F290 */ addiu $v1, $v1, -0xd70 /* 083578 800EA0C8 9462000C */ lhu $v0, 0xc($v1) @@ -15465,7 +15484,7 @@ func_800EA0C0: /* 0835D0 800EA120 03E00008 */ jr $ra /* 0835D4 800EA124 00000000 */ nop -func_800EA128: +add_star_points: /* 0835D8 800EA128 3C038011 */ lui $v1, 0x8011 /* 0835DC 800EA12C 2463F290 */ addiu $v1, $v1, -0xd70 /* 0835E0 800EA130 90620010 */ lbu $v0, 0x10($v1) @@ -15487,7 +15506,7 @@ func_800EA128: /* 083618 800EA168 03E00008 */ jr $ra /* 08361C 800EA16C 00000000 */ nop -func_800EA170: +add_star_pieces: /* 083620 800EA170 3C058011 */ lui $a1, 0x8011 /* 083624 800EA174 24A5F290 */ addiu $a1, $a1, -0xd70 /* 083628 800EA178 90A3000F */ lbu $v1, 0xf($a1) @@ -15509,6 +15528,7 @@ func_800EA170: /* 08365C 800EA1AC 03E00008 */ jr $ra /* 083660 800EA1B0 90C2000F */ lbu $v0, 0xf($a2) +increment_max_SP: /* 083664 800EA1B4 3C038011 */ lui $v1, 0x8011 /* 083668 800EA1B8 2463F290 */ addiu $v1, $v1, -0xd70 /* 08366C 800EA1BC 9062028E */ lbu $v0, 0x28e($v1) @@ -15519,6 +15539,7 @@ func_800EA170: /* 083680 800EA1D0 03E00008 */ jr $ra /* 083684 800EA1D4 A4620290 */ sh $v0, 0x290($v1) +set_max_SP: /* 083688 800EA1D8 3C028011 */ lui $v0, 0x8011 /* 08368C 800EA1DC 2442F290 */ addiu $v0, $v0, -0xd70 /* 083690 800EA1E0 A044028E */ sb $a0, 0x28e($v0) @@ -15527,6 +15548,7 @@ func_800EA170: /* 08369C 800EA1EC 03E00008 */ jr $ra /* 0836A0 800EA1F0 A4440290 */ sh $a0, 0x290($v0) +add_SP: /* 0836A4 800EA1F4 3C078011 */ lui $a3, 0x8011 /* 0836A8 800EA1F8 24E7F290 */ addiu $a3, $a3, -0xd70 /* 0836AC 800EA1FC 3C068011 */ lui $a2, 0x8011 @@ -15558,7 +15580,7 @@ func_800EA170: /* 08370C 800EA25C 03E00008 */ jr $ra /* 083710 800EA260 A5220048 */ sh $v0, 0x48($t1) -func_800EA264: +recover_fp: /* 083714 800EA264 3C058011 */ lui $a1, 0x8011 /* 083718 800EA268 24A5F290 */ addiu $a1, $a1, -0xd70 /* 08371C 800EA26C 80A30005 */ lb $v1, 5($a1) @@ -15591,7 +15613,7 @@ func_800EA264: /* 083774 800EA2C4 03E00008 */ jr $ra /* 083778 800EA2C8 0060102D */ daddu $v0, $v1, $zero -func_800EA2CC: +recover_hp: /* 08377C 800EA2CC 3C058011 */ lui $a1, 0x8011 /* 083780 800EA2D0 24A5F290 */ addiu $a1, $a1, -0xd70 /* 083784 800EA2D4 80A30002 */ lb $v1, 2($a1) @@ -15624,6 +15646,7 @@ func_800EA2CC: /* 0837DC 800EA32C 03E00008 */ jr $ra /* 0837E0 800EA330 0060102D */ daddu $v0, $v1, $zero +subtract_hp: /* 0837E4 800EA334 3C038011 */ lui $v1, 0x8011 /* 0837E8 800EA338 2463F290 */ addiu $v1, $v1, -0xd70 /* 0837EC 800EA33C 80620002 */ lb $v0, 2($v1) @@ -15638,6 +15661,7 @@ func_800EA2CC: /* 083808 800EA358 03E00008 */ jr $ra /* 08380C 800EA35C A0620002 */ sb $v0, 2($v1) +has_full_hp: /* 083810 800EA360 3C038011 */ lui $v1, 0x8011 /* 083814 800EA364 2463F290 */ addiu $v1, $v1, -0xd70 /* 083818 800EA368 80620003 */ lb $v0, 3($v1) @@ -15646,6 +15670,7 @@ func_800EA2CC: /* 083824 800EA374 03E00008 */ jr $ra /* 083828 800EA378 2C420001 */ sltiu $v0, $v0, 1 +has_full_fp: /* 08382C 800EA37C 3C038011 */ lui $v1, 0x8011 /* 083830 800EA380 2463F290 */ addiu $v1, $v1, -0xd70 /* 083834 800EA384 80620006 */ lb $v0, 6($v1) @@ -15654,6 +15679,7 @@ func_800EA2CC: /* 083840 800EA390 03E00008 */ jr $ra /* 083844 800EA394 2C420001 */ sltiu $v0, $v0, 1 +add_fortress_keys: /* 083848 800EA398 3C038011 */ lui $v1, 0x8011 /* 08384C 800EA39C 2463F290 */ addiu $v1, $v1, -0xd70 /* 083850 800EA3A0 9062000E */ lbu $v0, 0xe($v1) @@ -15663,7 +15689,7 @@ func_800EA2CC: /* 083860 800EA3B0 03E00008 */ jr $ra /* 083864 800EA3B4 00021603 */ sra $v0, $v0, 0x18 -func_800EA3B8: +subtract_fortress_keys: /* 083868 800EA3B8 3C038011 */ lui $v1, 0x8011 /* 08386C 800EA3BC 2463F290 */ addiu $v1, $v1, -0xd70 /* 083870 800EA3C0 9062000E */ lbu $v0, 0xe($v1) @@ -15677,7 +15703,7 @@ func_800EA3B8: /* 08388C 800EA3DC 03E00008 */ jr $ra /* 083890 800EA3E0 8082000E */ lb $v0, 0xe($a0) -func_800EA3E4: +get_fortress_key_count: /* 083894 800EA3E4 3C028011 */ lui $v0, 0x8011 /* 083898 800EA3E8 8042F29E */ lb $v0, -0xd62($v0) /* 08389C 800EA3EC 03E00008 */ jr $ra @@ -15686,7 +15712,7 @@ func_800EA3E4: /* 0838A4 800EA3F4 00000000 */ nop /* 0838A8 800EA3F8 00000000 */ nop /* 0838AC 800EA3FC 00000000 */ nop -func_800EA400: +use_consumable: /* 0838B0 800EA400 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0838B4 800EA404 AFB10014 */ sw $s1, 0x14($sp) /* 0838B8 800EA408 0080882D */ daddu $s1, $a0, $zero @@ -15704,11 +15730,11 @@ func_800EA400: /* 0838E8 800EA438 3C118011 */ lui $s1, 0x8011 /* 0838EC 800EA43C 02228821 */ addu $s1, $s1, $v0 /* 0838F0 800EA440 8631F444 */ lh $s1, -0xbbc($s1) -/* 0838F4 800EA444 0C00A5CF */ jal func_8002973C +/* 0838F4 800EA444 0C00A5CF */ jal dma_copy /* 0838F8 800EA448 00000000 */ nop /* 0838FC 800EA44C 24050001 */ addiu $a1, $zero, 1 /* 083900 800EA450 8E040008 */ lw $a0, 8($s0) -/* 083904 800EA454 0C0B0CF8 */ jal func_802C33E0 +/* 083904 800EA454 0C0B0CF8 */ jal start_script /* 083908 800EA458 0000302D */ daddu $a2, $zero, $zero /* 08390C 800EA45C 0040182D */ daddu $v1, $v0, $zero /* 083910 800EA460 8C620144 */ lw $v0, 0x144($v1) @@ -15719,6 +15745,7 @@ func_800EA400: /* 083924 800EA474 03E00008 */ jr $ra /* 083928 800EA478 27BD0020 */ addiu $sp, $sp, 0x20 +remove_consumable: /* 08392C 800EA47C 3C028011 */ lui $v0, 0x8011 /* 083930 800EA480 8C42CD20 */ lw $v0, -0x32e0($v0) /* 083934 800EA484 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -15727,7 +15754,7 @@ func_800EA400: /* 083940 800EA490 3C018011 */ lui $at, 0x8011 /* 083944 800EA494 00220821 */ addu $at, $at, $v0 /* 083948 800EA498 A420F444 */ sh $zero, -0xbbc($at) -/* 08394C 800EA49C 0C039DB3 */ jal func_800E76CC +/* 08394C 800EA49C 0C039DB3 */ jal sort_items /* 083950 800EA4A0 00000000 */ nop /* 083954 800EA4A4 8FBF0010 */ lw $ra, 0x10($sp) /* 083958 800EA4A8 03E00008 */ jr $ra @@ -15841,7 +15868,7 @@ func_800EA5D0: /* 083AAC 800EA5FC 8C460008 */ lw $a2, 8($v0) /* 083AB0 800EA600 3C108011 */ lui $s0, 0x8011 /* 083AB4 800EA604 2610CFEC */ addiu $s0, $s0, -0x3014 -/* 083AB8 800EA608 0C00A5CF */ jal func_8002973C +/* 083AB8 800EA608 0C00A5CF */ jal dma_copy /* 083ABC 800EA60C AE020000 */ sw $v0, ($s0) /* 083AC0 800EA610 3C020400 */ lui $v0, 0x400 /* 083AC4 800EA614 34420100 */ ori $v0, $v0, 0x100 @@ -15856,7 +15883,7 @@ func_800EA5D0: /* 083AE8 800EA638 0040202D */ daddu $a0, $v0, $zero /* 083AEC 800EA63C 3C018011 */ lui $at, 0x8011 /* 083AF0 800EA640 AC24CFD0 */ sw $a0, -0x3030($at) -/* 083AF4 800EA644 0C00E2B7 */ jal func_80038ADC +/* 083AF4 800EA644 0C00E2B7 */ jal get_npc_by_index /* 083AF8 800EA648 00000000 */ nop /* 083AFC 800EA64C 3C048011 */ lui $a0, 0x8011 /* 083B00 800EA650 2484C930 */ addiu $a0, $a0, -0x36d0 @@ -16019,17 +16046,17 @@ func_800EA790: .L800EA890: /* 083D40 800EA890 0C03805E */ jal func_800E0178 /* 083D44 800EA894 00000000 */ nop -/* 083D48 800EA898 0C05272D */ jal func_80149CB4 +/* 083D48 800EA898 0C05272D */ jal play_sound /* 083D4C 800EA89C 2404000D */ addiu $a0, $zero, 0xd /* 083D50 800EA8A0 3C108011 */ lui $s0, 0x8011 /* 083D54 800EA8A4 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 083D58 800EA8A8 0C0B102B */ jal func_802C40AC +/* 083D58 800EA8A8 0C0B102B */ jal kill_script_by_ID /* 083D5C 800EA8AC 8E040000 */ lw $a0, ($s0) /* 083D60 800EA8B0 3C028011 */ lui $v0, 0x8011 /* 083D64 800EA8B4 8C42CFEC */ lw $v0, -0x3014($v0) /* 083D68 800EA8B8 24050014 */ addiu $a1, $zero, 0x14 /* 083D6C 800EA8BC 8C440020 */ lw $a0, 0x20($v0) -/* 083D70 800EA8C0 0C0B0CF8 */ jal func_802C33E0 +/* 083D70 800EA8C0 0C0B0CF8 */ jal start_script /* 083D74 800EA8C4 24060020 */ addiu $a2, $zero, 0x20 /* 083D78 800EA8C8 8C430144 */ lw $v1, 0x144($v0) /* 083D7C 800EA8CC 3C018011 */ lui $at, 0x8011 @@ -16051,7 +16078,7 @@ func_800EA790: .L800EA908: /* 083DB8 800EA908 3C048011 */ lui $a0, 0x8011 /* 083DBC 800EA90C 8C84CFDC */ lw $a0, -0x3024($a0) -/* 083DC0 800EA910 0C0B1059 */ jal func_802C4164 +/* 083DC0 800EA910 0C0B1059 */ jal does_script_exist /* 083DC4 800EA914 00000000 */ nop /* 083DC8 800EA918 1440020C */ bnez $v0, .L800EB14C /* 083DCC 800EA91C 00000000 */ nop @@ -16065,7 +16092,7 @@ func_800EA790: /* 083DEC 800EA93C AC22CFD8 */ sw $v0, -0x3028($at) /* 083DF0 800EA940 0C03A974 */ jal func_800EA5D0 /* 083DF4 800EA944 A2620012 */ sb $v0, 0x12($s3) -/* 083DF8 800EA948 0C05272D */ jal func_80149CB4 +/* 083DF8 800EA948 0C05272D */ jal play_sound /* 083DFC 800EA94C 2404000E */ addiu $a0, $zero, 0xe /* 083E00 800EA950 3C028011 */ lui $v0, 0x8011 /* 083E04 800EA954 8C42CFEC */ lw $v0, -0x3014($v0) @@ -16082,7 +16109,7 @@ func_800EA790: /* 083E2C 800EA97C 8C42CFEC */ lw $v0, -0x3014($v0) /* 083E30 800EA980 24050014 */ addiu $a1, $zero, 0x14 /* 083E34 800EA984 8C440014 */ lw $a0, 0x14($v0) -/* 083E38 800EA988 0C0B0CF8 */ jal func_802C33E0 +/* 083E38 800EA988 0C0B0CF8 */ jal start_script /* 083E3C 800EA98C 24060020 */ addiu $a2, $zero, 0x20 /* 083E40 800EA990 8C430144 */ lw $v1, 0x144($v0) /* 083E44 800EA994 3C068011 */ lui $a2, 0x8011 @@ -16107,14 +16134,14 @@ func_800EA790: .L800EA9DC: /* 083E8C 800EA9DC 3C108011 */ lui $s0, 0x8011 /* 083E90 800EA9E0 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 083E94 800EA9E4 0C0B1059 */ jal func_802C4164 +/* 083E94 800EA9E4 0C0B1059 */ jal does_script_exist /* 083E98 800EA9E8 8E040000 */ lw $a0, ($s0) /* 083E9C 800EA9EC 144001D7 */ bnez $v0, .L800EB14C /* 083EA0 800EA9F0 24050014 */ addiu $a1, $zero, 0x14 /* 083EA4 800EA9F4 3C028011 */ lui $v0, 0x8011 /* 083EA8 800EA9F8 8C42CFEC */ lw $v0, -0x3014($v0) /* 083EAC 800EA9FC 8C440018 */ lw $a0, 0x18($v0) -/* 083EB0 800EAA00 0C0B0CF8 */ jal func_802C33E0 +/* 083EB0 800EAA00 0C0B0CF8 */ jal start_script /* 083EB4 800EAA04 24060020 */ addiu $a2, $zero, 0x20 /* 083EB8 800EAA08 3C038011 */ lui $v1, 0x8011 /* 083EBC 800EAA0C 8C63C930 */ lw $v1, -0x36d0($v1) @@ -16160,7 +16187,7 @@ func_800EA790: .L800EAA9C: /* 083F4C 800EAA9C 3C048011 */ lui $a0, 0x8011 /* 083F50 800EAAA0 8C84CFDC */ lw $a0, -0x3024($a0) -/* 083F54 800EAAA4 0C0B102B */ jal func_802C40AC +/* 083F54 800EAAA4 0C0B102B */ jal kill_script_by_ID /* 083F58 800EAAA8 00000000 */ nop /* 083F5C 800EAAAC 8E020000 */ lw $v0, ($s0) /* 083F60 800EAAB0 24420001 */ addiu $v0, $v0, 1 @@ -16207,7 +16234,7 @@ func_800EA790: /* 083FF8 800EAB48 3C028011 */ lui $v0, 0x8011 /* 083FFC 800EAB4C 8C42CFEC */ lw $v0, -0x3014($v0) /* 084000 800EAB50 8C440018 */ lw $a0, 0x18($v0) -/* 084004 800EAB54 0C0B0CF8 */ jal func_802C33E0 +/* 084004 800EAB54 0C0B0CF8 */ jal start_script /* 084008 800EAB58 24060020 */ addiu $a2, $zero, 0x20 /* 08400C 800EAB5C 3C038011 */ lui $v1, 0x8011 /* 084010 800EAB60 8C63C930 */ lw $v1, -0x36d0($v1) @@ -16236,11 +16263,11 @@ func_800EA790: .L800EABB4: /* 084064 800EABB4 0C03805E */ jal func_800E0178 /* 084068 800EABB8 00000000 */ nop -/* 08406C 800EABBC 0C05272D */ jal func_80149CB4 +/* 08406C 800EABBC 0C05272D */ jal play_sound /* 084070 800EABC0 2404000D */ addiu $a0, $zero, 0xd /* 084074 800EABC4 3C108011 */ lui $s0, 0x8011 /* 084078 800EABC8 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 08407C 800EABCC 0C0B102B */ jal func_802C40AC +/* 08407C 800EABCC 0C0B102B */ jal kill_script_by_ID /* 084080 800EABD0 8E040000 */ lw $a0, ($s0) /* 084084 800EABD4 3C028011 */ lui $v0, 0x8011 /* 084088 800EABD8 8C42CFEC */ lw $v0, -0x3014($v0) @@ -16251,7 +16278,7 @@ func_800EA790: .L800EABE8: /* 084098 800EABE8 3C048011 */ lui $a0, 0x8011 /* 08409C 800EABEC 8C84CFDC */ lw $a0, -0x3024($a0) -/* 0840A0 800EABF0 0C0B1059 */ jal func_802C4164 +/* 0840A0 800EABF0 0C0B1059 */ jal does_script_exist /* 0840A4 800EABF4 00000000 */ nop /* 0840A8 800EABF8 14400154 */ bnez $v0, .L800EB14C /* 0840AC 800EABFC 00000000 */ nop @@ -16274,7 +16301,7 @@ func_800EA790: /* 0840EC 800EAC3C 00000000 */ nop /* 0840F0 800EAC40 3C048011 */ lui $a0, 0x8011 /* 0840F4 800EAC44 8C84CFDC */ lw $a0, -0x3024($a0) -/* 0840F8 800EAC48 0C0B102B */ jal func_802C40AC +/* 0840F8 800EAC48 0C0B102B */ jal kill_script_by_ID /* 0840FC 800EAC4C 00000000 */ nop /* 084100 800EAC50 0C03A9AA */ jal func_800EA6A8 /* 084104 800EAC54 00000000 */ nop @@ -16331,7 +16358,7 @@ func_800EA790: /* 0841B8 800EAD08 8C42CFEC */ lw $v0, -0x3014($v0) /* 0841BC 800EAD0C 24050014 */ addiu $a1, $zero, 0x14 /* 0841C0 800EAD10 8C440014 */ lw $a0, 0x14($v0) -/* 0841C4 800EAD14 0C0B0CF8 */ jal func_802C33E0 +/* 0841C4 800EAD14 0C0B0CF8 */ jal start_script /* 0841C8 800EAD18 24060020 */ addiu $a2, $zero, 0x20 /* 0841CC 800EAD1C 8C430144 */ lw $v1, 0x144($v0) /* 0841D0 800EAD20 3C058011 */ lui $a1, 0x8011 @@ -16353,14 +16380,14 @@ func_800EA790: .L800EAD5C: /* 08420C 800EAD5C 3C108011 */ lui $s0, 0x8011 /* 084210 800EAD60 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 084214 800EAD64 0C0B1059 */ jal func_802C4164 +/* 084214 800EAD64 0C0B1059 */ jal does_script_exist /* 084218 800EAD68 8E040000 */ lw $a0, ($s0) /* 08421C 800EAD6C 144000F7 */ bnez $v0, .L800EB14C /* 084220 800EAD70 24050014 */ addiu $a1, $zero, 0x14 /* 084224 800EAD74 3C028011 */ lui $v0, 0x8011 /* 084228 800EAD78 8C42CFEC */ lw $v0, -0x3014($v0) /* 08422C 800EAD7C 8C440018 */ lw $a0, 0x18($v0) -/* 084230 800EAD80 0C0B0CF8 */ jal func_802C33E0 +/* 084230 800EAD80 0C0B0CF8 */ jal start_script /* 084234 800EAD84 24060020 */ addiu $a2, $zero, 0x20 /* 084238 800EAD88 3C038011 */ lui $v1, 0x8011 /* 08423C 800EAD8C 8C63C930 */ lw $v1, -0x36d0($v1) @@ -16430,7 +16457,7 @@ func_800EA790: /* 084328 800EAE78 3C028011 */ lui $v0, 0x8011 /* 08432C 800EAE7C 8C42CFEC */ lw $v0, -0x3014($v0) /* 084330 800EAE80 8C440018 */ lw $a0, 0x18($v0) -/* 084334 800EAE84 0C0B0CF8 */ jal func_802C33E0 +/* 084334 800EAE84 0C0B0CF8 */ jal start_script /* 084338 800EAE88 24060020 */ addiu $a2, $zero, 0x20 /* 08433C 800EAE8C 8C430144 */ lw $v1, 0x144($v0) /* 084340 800EAE90 3C058011 */ lui $a1, 0x8011 @@ -16472,14 +16499,14 @@ func_800EA790: .L800EAF18: /* 0843C8 800EAF18 3C108011 */ lui $s0, 0x8011 /* 0843CC 800EAF1C 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 0843D0 800EAF20 0C0B102B */ jal func_802C40AC +/* 0843D0 800EAF20 0C0B102B */ jal kill_script_by_ID /* 0843D4 800EAF24 8E040000 */ lw $a0, ($s0) /* 0843D8 800EAF28 3C028011 */ lui $v0, 0x8011 /* 0843DC 800EAF2C 8C42CFEC */ lw $v0, -0x3014($v0) /* 0843E0 800EAF30 24050014 */ addiu $a1, $zero, 0x14 /* 0843E4 800EAF34 8C44001C */ lw $a0, 0x1c($v0) func_800EAF38: -/* 0843E8 800EAF38 0C0B0CF8 */ jal func_802C33E0 +/* 0843E8 800EAF38 0C0B0CF8 */ jal start_script /* 0843EC 800EAF3C 24060020 */ addiu $a2, $zero, 0x20 /* 0843F0 800EAF40 8C430144 */ lw $v1, 0x144($v0) /* 0843F4 800EAF44 3C018011 */ lui $at, 0x8011 @@ -16498,14 +16525,14 @@ func_800EAF38: .L800EAF74: /* 084424 800EAF74 3C118011 */ lui $s1, 0x8011 /* 084428 800EAF78 2631CFDC */ addiu $s1, $s1, -0x3024 -/* 08442C 800EAF7C 0C0B1059 */ jal func_802C4164 +/* 08442C 800EAF7C 0C0B1059 */ jal does_script_exist /* 084430 800EAF80 8E240000 */ lw $a0, ($s1) /* 084434 800EAF84 14400071 */ bnez $v0, .L800EB14C /* 084438 800EAF88 24050014 */ addiu $a1, $zero, 0x14 /* 08443C 800EAF8C 3C028011 */ lui $v0, 0x8011 /* 084440 800EAF90 8C42CFEC */ lw $v0, -0x3014($v0) /* 084444 800EAF94 8C440018 */ lw $a0, 0x18($v0) -/* 084448 800EAF98 0C0B0CF8 */ jal func_802C33E0 +/* 084448 800EAF98 0C0B0CF8 */ jal start_script /* 08444C 800EAF9C 24060020 */ addiu $a2, $zero, 0x20 /* 084450 800EAFA0 3C038011 */ lui $v1, 0x8011 /* 084454 800EAFA4 8C63C930 */ lw $v1, -0x36d0($v1) @@ -16579,7 +16606,7 @@ func_800EB050: /* 084540 800EB090 E4228340 */ swc1 $f2, -0x7cc0($at) /* 084544 800EB094 3C018010 */ lui $at, 0x8010 /* 084548 800EB098 E4248344 */ swc1 $f4, -0x7cbc($at) -/* 08454C 800EB09C 0C0B0CF8 */ jal func_802C33E0 +/* 08454C 800EB09C 0C0B0CF8 */ jal start_script /* 084550 800EB0A0 24060020 */ addiu $a2, $zero, 0x20 /* 084554 800EB0A4 3C038011 */ lui $v1, 0x8011 /* 084558 800EB0A8 8C63C930 */ lw $v1, -0x36d0($v1) @@ -16605,11 +16632,11 @@ func_800EB050: /* 0845A0 800EB0F0 00000000 */ nop /* 0845A4 800EB0F4 3C118011 */ lui $s1, 0x8011 /* 0845A8 800EB0F8 2631CFDC */ addiu $s1, $s1, -0x3024 -/* 0845AC 800EB0FC 0C0B1059 */ jal func_802C4164 +/* 0845AC 800EB0FC 0C0B1059 */ jal does_script_exist /* 0845B0 800EB100 8E240000 */ lw $a0, ($s1) /* 0845B4 800EB104 10400003 */ beqz $v0, .L800EB114 /* 0845B8 800EB108 00000000 */ nop -/* 0845BC 800EB10C 0C0B102B */ jal func_802C40AC +/* 0845BC 800EB10C 0C0B102B */ jal kill_script_by_ID /* 0845C0 800EB110 8E240000 */ lw $a0, ($s1) .L800EB114: /* 0845C4 800EB114 8E020000 */ lw $v0, ($s0) @@ -16767,7 +16794,7 @@ func_800EB200: /* 0847BC 800EB30C 03E00008 */ jr $ra /* 0847C0 800EB310 00000000 */ nop -func_800EB314: +use_partner_ability: /* 0847C4 800EB314 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0847C8 800EB318 AFBF0010 */ sw $ra, 0x10($sp) /* 0847CC 800EB31C 0C011052 */ jal func_80044148 @@ -16799,7 +16826,7 @@ func_800EB314: /* 084830 800EB380 30424000 */ andi $v0, $v0, 0x4000 /* 084834 800EB384 10400005 */ beqz $v0, .L800EB39C /* 084838 800EB388 00000000 */ nop -/* 08483C 800EB38C 0C05272D */ jal func_80149CB4 +/* 08483C 800EB38C 0C05272D */ jal play_sound /* 084840 800EB390 2404021D */ addiu $a0, $zero, 0x21d /* 084844 800EB394 0803ACF5 */ j func_800EB3D4 /* 084848 800EB398 0000102D */ daddu $v0, $zero, $zero @@ -16881,7 +16908,7 @@ func_800EB474: /* 08493C 800EB48C 3C108011 */ lui $s0, 0x8011 /* 084940 800EB490 8210F2A2 */ lb $s0, -0xd5e($s0) /* 084944 800EB494 AFBF0018 */ sw $ra, 0x18($sp) -/* 084948 800EB498 0C00A580 */ jal func_80029600 +/* 084948 800EB498 0C00A580 */ jal mem_clear /* 08494C 800EB49C 24050360 */ addiu $a1, $zero, 0x360 /* 084950 800EB4A0 3C04800F */ lui $a0, 0x800f /* 084954 800EB4A4 2484A6CC */ addiu $a0, $a0, -0x5934 @@ -17019,11 +17046,11 @@ func_800EB658: /* 084B1C 800EB66C AFB00010 */ sw $s0, 0x10($sp) /* 084B20 800EB670 3C108011 */ lui $s0, 0x8011 /* 084B24 800EB674 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 084B28 800EB678 0C0B1059 */ jal func_802C4164 +/* 084B28 800EB678 0C0B1059 */ jal does_script_exist /* 084B2C 800EB67C 8E040000 */ lw $a0, ($s0) /* 084B30 800EB680 10400003 */ beqz $v0, .L800EB690 /* 084B34 800EB684 00000000 */ nop -/* 084B38 800EB688 0C0B102B */ jal func_802C40AC +/* 084B38 800EB688 0C0B102B */ jal kill_script_by_ID /* 084B3C 800EB68C 8E040000 */ lw $a0, ($s0) .L800EB690: /* 084B40 800EB690 3C028011 */ lui $v0, 0x8011 @@ -17053,18 +17080,18 @@ func_800EB6C4: /* 084B94 800EB6E4 AFB00010 */ sw $s0, 0x10($sp) /* 084B98 800EB6E8 3C108011 */ lui $s0, 0x8011 /* 084B9C 800EB6EC 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 084BA0 800EB6F0 0C0B1059 */ jal func_802C4164 +/* 084BA0 800EB6F0 0C0B1059 */ jal does_script_exist /* 084BA4 800EB6F4 8E040000 */ lw $a0, ($s0) /* 084BA8 800EB6F8 10400003 */ beqz $v0, .L800EB708 /* 084BAC 800EB6FC 00000000 */ nop -/* 084BB0 800EB700 0C0B102B */ jal func_802C40AC +/* 084BB0 800EB700 0C0B102B */ jal kill_script_by_ID /* 084BB4 800EB704 8E040000 */ lw $a0, ($s0) .L800EB708: /* 084BB8 800EB708 3C028011 */ lui $v0, 0x8011 /* 084BBC 800EB70C 8C42CFEC */ lw $v0, -0x3014($v0) /* 084BC0 800EB710 24050014 */ addiu $a1, $zero, 0x14 /* 084BC4 800EB714 8C440018 */ lw $a0, 0x18($v0) -/* 084BC8 800EB718 0C0B0CF8 */ jal func_802C33E0 +/* 084BC8 800EB718 0C0B0CF8 */ jal start_script /* 084BCC 800EB71C 24060020 */ addiu $a2, $zero, 0x20 /* 084BD0 800EB720 3C038011 */ lui $v1, 0x8011 /* 084BD4 800EB724 8C63C930 */ lw $v1, -0x36d0($v1) @@ -17121,11 +17148,11 @@ func_800EB6C4: /* 084C94 800EB7E4 2402000A */ addiu $v0, $zero, 0xa /* 084C98 800EB7E8 3C018011 */ lui $at, 0x8011 /* 084C9C 800EB7EC AC22CFE8 */ sw $v0, -0x3018($at) -/* 084CA0 800EB7F0 0C0B1059 */ jal func_802C4164 +/* 084CA0 800EB7F0 0C0B1059 */ jal does_script_exist /* 084CA4 800EB7F4 00000000 */ nop /* 084CA8 800EB7F8 10400003 */ beqz $v0, .L800EB808 /* 084CAC 800EB7FC 00000000 */ nop -/* 084CB0 800EB800 0C0B102B */ jal func_802C40AC +/* 084CB0 800EB800 0C0B102B */ jal kill_script_by_ID /* 084CB4 800EB804 8E040000 */ lw $a0, ($s0) .L800EB808: /* 084CB8 800EB808 8FBF0014 */ lw $ra, 0x14($sp) @@ -17141,11 +17168,11 @@ func_800EB6C4: /* 084CDC 800EB82C AFB00010 */ sw $s0, 0x10($sp) /* 084CE0 800EB830 3C108011 */ lui $s0, 0x8011 /* 084CE4 800EB834 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 084CE8 800EB838 0C0B1059 */ jal func_802C4164 +/* 084CE8 800EB838 0C0B1059 */ jal does_script_exist /* 084CEC 800EB83C 8E040000 */ lw $a0, ($s0) /* 084CF0 800EB840 10400003 */ beqz $v0, .L800EB850 /* 084CF4 800EB844 00000000 */ nop -/* 084CF8 800EB848 0C0B1108 */ jal func_802C4420 +/* 084CF8 800EB848 0C0B1108 */ jal suspend_all_script /* 084CFC 800EB84C 8E040000 */ lw $a0, ($s0) .L800EB850: /* 084D00 800EB850 8FBF0014 */ lw $ra, 0x14($sp) @@ -17161,11 +17188,11 @@ func_800EB6C4: /* 084D24 800EB874 AFB00010 */ sw $s0, 0x10($sp) /* 084D28 800EB878 3C108011 */ lui $s0, 0x8011 /* 084D2C 800EB87C 2610CFDC */ addiu $s0, $s0, -0x3024 -/* 084D30 800EB880 0C0B1059 */ jal func_802C4164 +/* 084D30 800EB880 0C0B1059 */ jal does_script_exist /* 084D34 800EB884 8E040000 */ lw $a0, ($s0) /* 084D38 800EB888 10400003 */ beqz $v0, .L800EB898 /* 084D3C 800EB88C 00000000 */ nop -/* 084D40 800EB890 0C0B1123 */ jal func_802C448C +/* 084D40 800EB890 0C0B1123 */ jal resume_all_script /* 084D44 800EB894 8E040000 */ lw $a0, ($s0) .L800EB898: /* 084D48 800EB898 8FBF0014 */ lw $ra, 0x14($sp) @@ -17173,7 +17200,7 @@ func_800EB6C4: /* 084D50 800EB8A0 03E00008 */ jr $ra /* 084D54 800EB8A4 27BD0018 */ addiu $sp, $sp, 0x18 -func_800EB8A8: +enable_partner_walking: /* 084D58 800EB8A8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 084D5C 800EB8AC AFB00010 */ sw $s0, 0x10($sp) /* 084D60 800EB8B0 0080802D */ daddu $s0, $a0, $zero @@ -17504,7 +17531,7 @@ func_800EBC74: /* 085214 800EBD64 E7A2002C */ swc1 $f2, 0x2c($sp) /* 085218 800EBD68 E7A40030 */ swc1 $f4, 0x30($sp) /* 08521C 800EBD6C E7A60020 */ swc1 $f6, 0x20($sp) -/* 085220 800EBD70 0C00A7B5 */ jal func_80029ED4 +/* 085220 800EBD70 0C00A7B5 */ jal dist2D /* 085224 800EBD74 E7A80024 */ swc1 $f8, 0x24($sp) /* 085228 800EBD78 3C014049 */ lui $at, 0x4049 /* 08522C 800EBD7C 44811800 */ mtc1 $at, $f3 @@ -17565,13 +17592,13 @@ func_800EBC74: /* 0852F8 800EBE48 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 0852FC 800EBE4C C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085300 800EBE50 8FA60020 */ lw $a2, 0x20($sp) -/* 085304 800EBE54 0C00A7B5 */ jal func_80029ED4 +/* 085304 800EBE54 0C00A7B5 */ jal dist2D /* 085308 800EBE58 8FA70024 */ lw $a3, 0x24($sp) /* 08530C 800EBE5C C7AC0028 */ lwc1 $f12, 0x28($sp) /* 085310 800EBE60 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085314 800EBE64 8FA60020 */ lw $a2, 0x20($sp) /* 085318 800EBE68 8FA70024 */ lw $a3, 0x24($sp) -/* 08531C 800EBE6C 0C00A720 */ jal func_80029C80 +/* 08531C 800EBE6C 0C00A720 */ jal atan2 /* 085320 800EBE70 E7A00034 */ swc1 $f0, 0x34($sp) /* 085324 800EBE74 C6240018 */ lwc1 $f4, 0x18($s1) /* 085328 800EBE78 C7A20034 */ lwc1 $f2, 0x34($sp) @@ -17582,7 +17609,7 @@ func_800EBC74: /* 08533C 800EBE8C C7AC0028 */ lwc1 $f12, 0x28($sp) /* 085340 800EBE90 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085344 800EBE94 8E660028 */ lw $a2, 0x28($s3) -/* 085348 800EBE98 0C00A7B5 */ jal func_80029ED4 +/* 085348 800EBE98 0C00A7B5 */ jal dist2D /* 08534C 800EBE9C 8E670030 */ lw $a3, 0x30($s3) /* 085350 800EBEA0 3C014049 */ lui $at, 0x4049 /* 085354 800EBEA4 44811800 */ mtc1 $at, $f3 @@ -17638,7 +17665,7 @@ func_800EBC74: /* 08540C 800EBF5C C62E0040 */ lwc1 $f14, 0x40($s1) /* 085410 800EBF60 AE200018 */ sw $zero, 0x18($s1) /* 085414 800EBF64 8E660028 */ lw $a2, 0x28($s3) -/* 085418 800EBF68 0C00A720 */ jal func_80029C80 +/* 085418 800EBF68 0C00A720 */ jal atan2 /* 08541C 800EBF6C 8E670030 */ lw $a3, 0x30($s3) /* 085420 800EBF70 E620000C */ swc1 $f0, 0xc($s1) .L800EBF74: @@ -17662,10 +17689,10 @@ func_800EBC74: /* 085464 800EBFB4 44060000 */ mfc1 $a2, $f0 /* 085468 800EBFB8 44071000 */ mfc1 $a3, $f2 /* 08546C 800EBFBC AFA60020 */ sw $a2, 0x20($sp) -/* 085470 800EBFC0 0C00A720 */ jal func_80029C80 +/* 085470 800EBFC0 0C00A720 */ jal atan2 /* 085474 800EBFC4 AFA70024 */ sw $a3, 0x24($sp) /* 085478 800EBFC8 C62C000C */ lwc1 $f12, 0xc($s1) -/* 08547C 800EBFCC 0C00A70A */ jal func_80029C28 +/* 08547C 800EBFCC 0C00A70A */ jal get_clamped_angle_diff /* 085480 800EBFD0 46000386 */ mov.s $f14, $f0 /* 085484 800EBFD4 3C0142B4 */ lui $at, 0x42b4 /* 085488 800EBFD8 44811000 */ mtc1 $at, $f2 @@ -17701,7 +17728,7 @@ func_800EC014: /* 0854F0 800EC040 8E250018 */ lw $a1, 0x18($s1) /* 0854F4 800EC044 4406A000 */ mfc1 $a2, $f20 /* 0854F8 800EC048 0220202D */ daddu $a0, $s1, $zero -/* 0854FC 800EC04C 0C00EA95 */ jal func_8003AA54 +/* 0854FC 800EC04C 0C00EA95 */ jal npc_move_heading /* 085500 800EC050 AE26000C */ sw $a2, 0xc($s1) /* 085504 800EC054 C6200018 */ lwc1 $f0, 0x18($s1) /* 085508 800EC058 3C014010 */ lui $at, 0x4010 @@ -17717,7 +17744,7 @@ func_800EC014: /* 08552C 800EC07C 0C00F598 */ jal func_8003D660 /* 085530 800EC080 0220202D */ daddu $a0, $s1, $zero /* 085534 800EC084 86240084 */ lh $a0, 0x84($s1) -/* 085538 800EC088 0C016F6A */ jal func_8005BDA8 +/* 085538 800EC088 0C016F6A */ jal get_collider_type_by_id /* 08553C 800EC08C 00000000 */ nop /* 085540 800EC090 2442FFFE */ addiu $v0, $v0, -2 /* 085544 800EC094 2C420002 */ sltiu $v0, $v0, 2 @@ -17753,10 +17780,10 @@ func_800EC014: /* 0855B4 800EC104 44060000 */ mfc1 $a2, $f0 /* 0855B8 800EC108 44071000 */ mfc1 $a3, $f2 /* 0855BC 800EC10C AFA60020 */ sw $a2, 0x20($sp) -/* 0855C0 800EC110 0C00A720 */ jal func_80029C80 +/* 0855C0 800EC110 0C00A720 */ jal atan2 /* 0855C4 800EC114 AFA70024 */ sw $a3, 0x24($sp) /* 0855C8 800EC118 C62C000C */ lwc1 $f12, 0xc($s1) -/* 0855CC 800EC11C 0C00A70A */ jal func_80029C28 +/* 0855CC 800EC11C 0C00A70A */ jal get_clamped_angle_diff /* 0855D0 800EC120 46000386 */ mov.s $f14, $f0 /* 0855D4 800EC124 3C0142B4 */ lui $at, 0x42b4 /* 0855D8 800EC128 44811000 */ mtc1 $at, $f2 @@ -17768,7 +17795,7 @@ func_800EC014: /* 0855F0 800EC140 0803B4B7 */ j func_800ED2DC /* 0855F4 800EC144 00000000 */ nop -/* 0855F8 800EC148 0C016F6A */ jal func_8005BDA8 +/* 0855F8 800EC148 0C016F6A */ jal get_collider_type_by_id /* 0855FC 800EC14C 86240084 */ lh $a0, 0x84($s1) /* 085600 800EC150 3C058011 */ lui $a1, 0x8011 /* 085604 800EC154 24A5CFBC */ addiu $a1, $a1, -0x3044 @@ -17789,12 +17816,12 @@ func_800EC014: /* 085640 800EC190 46006006 */ mov.s $f0, $f12 /* 085644 800EC194 46007086 */ mov.s $f2, $f14 /* 085648 800EC198 E7A00020 */ swc1 $f0, 0x20($sp) -/* 08564C 800EC19C 0C00A720 */ jal func_80029C80 +/* 08564C 800EC19C 0C00A720 */ jal atan2 /* 085650 800EC1A0 E7A20024 */ swc1 $f2, 0x24($sp) /* 085654 800EC1A4 27A40020 */ addiu $a0, $sp, 0x20 /* 085658 800EC1A8 3C0640C0 */ lui $a2, 0x40c0 /* 08565C 800EC1AC 44070000 */ mfc1 $a3, $f0 -/* 085660 800EC1B0 0C00A7E7 */ jal func_80029F9C +/* 085660 800EC1B0 0C00A7E7 */ jal add_vec2D_polar /* 085664 800EC1B4 27A50024 */ addiu $a1, $sp, 0x24 /* 085668 800EC1B8 0803B07F */ j func_800EC1FC /* 08566C 800EC1BC 00000000 */ nop @@ -17832,13 +17859,13 @@ func_800EC1FC: /* 0856DC 800EC22C E6340064 */ swc1 $f20, 0x64($s1) /* 0856E0 800EC230 A620008E */ sh $zero, 0x8e($s1) /* 0856E4 800EC234 E6220018 */ swc1 $f2, 0x18($s1) -/* 0856E8 800EC238 0C00A7B5 */ jal func_80029ED4 +/* 0856E8 800EC238 0C00A7B5 */ jal dist2D /* 0856EC 800EC23C E6200014 */ swc1 $f0, 0x14($s1) /* 0856F0 800EC240 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0856F4 800EC244 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0856F8 800EC248 8E260060 */ lw $a2, 0x60($s1) /* 0856FC 800EC24C 8E270068 */ lw $a3, 0x68($s1) -/* 085700 800EC250 0C00A720 */ jal func_80029C80 +/* 085700 800EC250 0C00A720 */ jal atan2 /* 085704 800EC254 E6200010 */ swc1 $f0, 0x10($s1) /* 085708 800EC258 E620000C */ swc1 $f0, 0xc($s1) /* 08570C 800EC25C C6200010 */ lwc1 $f0, 0x10($s1) @@ -17874,7 +17901,7 @@ func_800EC1FC: /* 085780 800EC2D0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085784 800EC2D4 AE20001C */ sw $zero, 0x1c($s1) /* 085788 800EC2D8 8E660028 */ lw $a2, 0x28($s3) -/* 08578C 800EC2DC 0C00A720 */ jal func_80029C80 +/* 08578C 800EC2DC 0C00A720 */ jal atan2 /* 085790 800EC2E0 8E670030 */ lw $a3, 0x30($s3) /* 085794 800EC2E4 E620000C */ swc1 $f0, 0xc($s1) func_800EC2E8: @@ -18025,7 +18052,7 @@ func_800EC42C: /* 0859B0 800EC500 AE220000 */ sw $v0, ($s1) /* 0859B4 800EC504 AE230028 */ sw $v1, 0x28($s1) /* 0859B8 800EC508 8E660028 */ lw $a2, 0x28($s3) -/* 0859BC 800EC50C 0C00A720 */ jal func_80029C80 +/* 0859BC 800EC50C 0C00A720 */ jal atan2 /* 0859C0 800EC510 8E670030 */ lw $a3, 0x30($s3) /* 0859C4 800EC514 E620000C */ swc1 $f0, 0xc($s1) /* 0859C8 800EC518 C6600028 */ lwc1 $f0, 0x28($s3) @@ -18100,7 +18127,7 @@ func_800EC42C: /* 085AD4 800EC624 AE220000 */ sw $v0, ($s1) /* 085AD8 800EC628 AE240028 */ sw $a0, 0x28($s1) /* 085ADC 800EC62C 8E660028 */ lw $a2, 0x28($s3) -/* 085AE0 800EC630 0C00A720 */ jal func_80029C80 +/* 085AE0 800EC630 0C00A720 */ jal atan2 /* 085AE4 800EC634 8E670030 */ lw $a3, 0x30($s3) /* 085AE8 800EC638 0220202D */ daddu $a0, $s1, $zero /* 085AEC 800EC63C 24050002 */ addiu $a1, $zero, 2 @@ -18112,7 +18139,7 @@ func_800EC42C: /* 085B04 800EC654 8E270068 */ lw $a3, 0x68($s1) /* 085B08 800EC658 3C108011 */ lui $s0, 0x8011 /* 085B0C 800EC65C 2610CFC8 */ addiu $s0, $s0, -0x3038 -/* 085B10 800EC660 0C00A7B5 */ jal func_80029ED4 +/* 085B10 800EC660 0C00A7B5 */ jal dist2D /* 085B14 800EC664 A6000000 */ sh $zero, ($s0) /* 085B18 800EC668 3C014014 */ lui $at, 0x4014 /* 085B1C 800EC66C 44811800 */ mtc1 $at, $f3 @@ -18135,12 +18162,12 @@ func_800EC42C: /* 085B60 800EC6B0 00000000 */ nop /* 085B64 800EC6B4 46006300 */ add.s $f12, $f12, $f0 /* 085B68 800EC6B8 C66000A8 */ lwc1 $f0, 0xa8($s3) -/* 085B6C 800EC6BC 0C00A6C9 */ jal func_80029B24 +/* 085B6C 800EC6BC 0C00A6C9 */ jal clamp_angle /* 085B70 800EC6C0 46006301 */ sub.s $f12, $f12, $f0 /* 085B74 800EC6C4 0240202D */ daddu $a0, $s2, $zero /* 085B78 800EC6C8 3C0640A0 */ lui $a2, 0x40a0 /* 085B7C 800EC6CC 44070000 */ mfc1 $a3, $f0 -/* 085B80 800EC6D0 0C00A7E7 */ jal func_80029F9C +/* 085B80 800EC6D0 0C00A7E7 */ jal add_vec2D_polar /* 085B84 800EC6D4 0280282D */ daddu $a1, $s4, $zero /* 085B88 800EC6D8 24020005 */ addiu $v0, $zero, 5 /* 085B8C 800EC6DC 0803B4B9 */ j func_800ED2E4 @@ -18149,7 +18176,7 @@ func_800EC42C: .L800EC6E4: /* 085B94 800EC6E4 8E250018 */ lw $a1, 0x18($s1) /* 085B98 800EC6E8 8E26000C */ lw $a2, 0xc($s1) -/* 085B9C 800EC6EC 0C00EA95 */ jal func_8003AA54 +/* 085B9C 800EC6EC 0C00EA95 */ jal npc_move_heading /* 085BA0 800EC6F0 0220202D */ daddu $a0, $s1, $zero /* 085BA4 800EC6F4 0803B4B9 */ j func_800ED2E4 /* 085BA8 800EC6F8 00000000 */ nop @@ -18173,7 +18200,7 @@ func_800EC42C: /* 085BEC 800EC73C E7A0002C */ swc1 $f0, 0x2c($sp) /* 085BF0 800EC740 E7A20030 */ swc1 $f2, 0x30($sp) /* 085BF4 800EC744 E7A60020 */ swc1 $f6, 0x20($sp) -/* 085BF8 800EC748 0C00A7B5 */ jal func_80029ED4 +/* 085BF8 800EC748 0C00A7B5 */ jal dist2D /* 085BFC 800EC74C E7A80024 */ swc1 $f8, 0x24($sp) /* 085C00 800EC750 3C018011 */ lui $at, 0x8011 /* 085C04 800EC754 C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -18203,7 +18230,7 @@ func_800EC42C: /* 085C64 800EC7B4 A4800000 */ sh $zero, ($a0) .L800EC7B8: /* 085C68 800EC7B8 86240084 */ lh $a0, 0x84($s1) -/* 085C6C 800EC7BC 0C016F6A */ jal func_8005BDA8 +/* 085C6C 800EC7BC 0C016F6A */ jal get_collider_type_by_id /* 085C70 800EC7C0 00000000 */ nop /* 085C74 800EC7C4 2442FFFE */ addiu $v0, $v0, -2 /* 085C78 800EC7C8 2C420002 */ sltiu $v0, $v0, 2 @@ -18225,7 +18252,7 @@ func_800EC42C: /* 085CB0 800EC800 3C0142B4 */ lui $at, 0x42b4 /* 085CB4 800EC804 44810000 */ mtc1 $at, $f0 .L800EC808: -/* 085CB8 800EC808 0C00A6C9 */ jal func_80029B24 +/* 085CB8 800EC808 0C00A6C9 */ jal clamp_angle /* 085CBC 800EC80C 46006300 */ add.s $f12, $f12, $f0 /* 085CC0 800EC810 44070000 */ mfc1 $a3, $f0 /* 085CC4 800EC814 C6600028 */ lwc1 $f0, 0x28($s3) @@ -18241,18 +18268,18 @@ func_800EC42C: /* 085CEC 800EC83C C6600030 */ lwc1 $f0, 0x30($s3) /* 085CF0 800EC840 44062000 */ mfc1 $a2, $f4 /* 085CF4 800EC844 26250068 */ addiu $a1, $s1, 0x68 -/* 085CF8 800EC848 0C00A7E7 */ jal func_80029F9C +/* 085CF8 800EC848 0C00A7E7 */ jal add_vec2D_polar /* 085CFC 800EC84C E6200068 */ swc1 $f0, 0x68($s1) /* 085D00 800EC850 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085D04 800EC854 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085D08 800EC858 8E260060 */ lw $a2, 0x60($s1) -/* 085D0C 800EC85C 0C00A720 */ jal func_80029C80 +/* 085D0C 800EC85C 0C00A720 */ jal atan2 /* 085D10 800EC860 8E270068 */ lw $a3, 0x68($s1) /* 085D14 800EC864 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085D18 800EC868 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085D1C 800EC86C 8E260060 */ lw $a2, 0x60($s1) /* 085D20 800EC870 8E270068 */ lw $a3, 0x68($s1) -/* 085D24 800EC874 0C00A7B5 */ jal func_80029ED4 +/* 085D24 800EC874 0C00A7B5 */ jal dist2D /* 085D28 800EC878 46000506 */ mov.s $f20, $f0 /* 085D2C 800EC87C 3C014000 */ lui $at, 0x4000 /* 085D30 800EC880 44811000 */ mtc1 $at, $f2 @@ -18301,7 +18328,7 @@ func_800EC42C: /* 085DCC 800EC91C C62C0038 */ lwc1 $f12, 0x38($s1) /* 085DD0 800EC920 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085DD4 800EC924 8E660028 */ lw $a2, 0x28($s3) -/* 085DD8 800EC928 0C00A720 */ jal func_80029C80 +/* 085DD8 800EC928 0C00A720 */ jal atan2 /* 085DDC 800EC92C 8E670030 */ lw $a3, 0x30($s3) /* 085DE0 800EC930 3C038011 */ lui $v1, 0x8011 /* 085DE4 800EC934 8C63CFD8 */ lw $v1, -0x3028($v1) @@ -18333,7 +18360,7 @@ func_800EC98C: /* 085E3C 800EC98C 8E250018 */ lw $a1, 0x18($s1) /* 085E40 800EC990 4406A000 */ mfc1 $a2, $f20 /* 085E44 800EC994 0220202D */ daddu $a0, $s1, $zero -/* 085E48 800EC998 0C00EA95 */ jal func_8003AA54 +/* 085E48 800EC998 0C00EA95 */ jal npc_move_heading /* 085E4C 800EC99C E634000C */ swc1 $f20, 0xc($s1) /* 085E50 800EC9A0 C6200018 */ lwc1 $f0, 0x18($s1) /* 085E54 800EC9A4 3C014010 */ lui $at, 0x4010 @@ -18380,7 +18407,7 @@ func_800EC98C: /* 085EF4 800ECA44 00000000 */ nop /* 085EF8 800ECA48 3C108011 */ lui $s0, 0x8011 /* 085EFC 800ECA4C 2610C978 */ addiu $s0, $s0, -0x3688 -/* 085F00 800ECA50 0C016F6A */ jal func_8005BDA8 +/* 085F00 800ECA50 0C016F6A */ jal get_collider_type_by_id /* 085F04 800ECA54 8E040000 */ lw $a0, ($s0) /* 085F08 800ECA58 2442FFFE */ addiu $v0, $v0, -2 /* 085F0C 800ECA5C 2C420002 */ sltiu $v0, $v0, 2 @@ -18388,12 +18415,12 @@ func_800EC98C: /* 085F14 800ECA64 00000000 */ nop /* 085F18 800ECA68 3C014334 */ lui $at, 0x4334 /* 085F1C 800ECA6C 44816000 */ mtc1 $at, $f12 -/* 085F20 800ECA70 0C00A6C9 */ jal func_80029B24 +/* 085F20 800ECA70 0C00A6C9 */ jal clamp_angle /* 085F24 800ECA74 460CA300 */ add.s $f12, $f20, $f12 /* 085F28 800ECA78 8E250018 */ lw $a1, 0x18($s1) /* 085F2C 800ECA7C 44060000 */ mfc1 $a2, $f0 /* 085F30 800ECA80 0220202D */ daddu $a0, $s1, $zero -/* 085F34 800ECA84 0C00EA95 */ jal func_8003AA54 +/* 085F34 800ECA84 0C00EA95 */ jal npc_move_heading /* 085F38 800ECA88 AE26000C */ sw $a2, 0xc($s1) /* 085F3C 800ECA8C 3C038011 */ lui $v1, 0x8011 /* 085F40 800ECA90 8C63CFD8 */ lw $v1, -0x3028($v1) @@ -18427,7 +18454,7 @@ func_800EC98C: /* 085FA0 800ECAF0 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085FA4 800ECAF4 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085FA8 800ECAF8 8E660028 */ lw $a2, 0x28($s3) -/* 085FAC 800ECAFC 0C00A7B5 */ jal func_80029ED4 +/* 085FAC 800ECAFC 0C00A7B5 */ jal dist2D /* 085FB0 800ECB00 8E670030 */ lw $a3, 0x30($s3) /* 085FB4 800ECB04 3C018011 */ lui $at, 0x8011 /* 085FB8 800ECB08 C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -18461,16 +18488,16 @@ func_800ECB5C: /* 086018 800ECB68 C62C0038 */ lwc1 $f12, 0x38($s1) /* 08601C 800ECB6C C62E0040 */ lwc1 $f14, 0x40($s1) /* 086020 800ECB70 8FA60020 */ lw $a2, 0x20($sp) -/* 086024 800ECB74 0C00A720 */ jal func_80029C80 +/* 086024 800ECB74 0C00A720 */ jal atan2 /* 086028 800ECB78 8FA70024 */ lw $a3, 0x24($sp) /* 08602C 800ECB7C C62C0038 */ lwc1 $f12, 0x38($s1) /* 086030 800ECB80 C62E0040 */ lwc1 $f14, 0x40($s1) /* 086034 800ECB84 8E660028 */ lw $a2, 0x28($s3) /* 086038 800ECB88 8E670030 */ lw $a3, 0x30($s3) -/* 08603C 800ECB8C 0C00A720 */ jal func_80029C80 +/* 08603C 800ECB8C 0C00A720 */ jal atan2 /* 086040 800ECB90 46000506 */ mov.s $f20, $f0 /* 086044 800ECB94 4600A306 */ mov.s $f12, $f20 -/* 086048 800ECB98 0C00A70A */ jal func_80029C28 +/* 086048 800ECB98 0C00A70A */ jal get_clamped_angle_diff /* 08604C 800ECB9C 46000386 */ mov.s $f14, $f0 /* 086050 800ECBA0 46000005 */ abs.s $f0, $f0 /* 086054 800ECBA4 4616003C */ c.lt.s $f0, $f22 @@ -18514,16 +18541,16 @@ func_800ECC1C: /* 0860D8 800ECC28 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0860DC 800ECC2C C62E0040 */ lwc1 $f14, 0x40($s1) /* 0860E0 800ECC30 8FA60020 */ lw $a2, 0x20($sp) -/* 0860E4 800ECC34 0C00A720 */ jal func_80029C80 +/* 0860E4 800ECC34 0C00A720 */ jal atan2 /* 0860E8 800ECC38 8FA70024 */ lw $a3, 0x24($sp) /* 0860EC 800ECC3C C62C0038 */ lwc1 $f12, 0x38($s1) /* 0860F0 800ECC40 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0860F4 800ECC44 8E660028 */ lw $a2, 0x28($s3) /* 0860F8 800ECC48 8E670030 */ lw $a3, 0x30($s3) -/* 0860FC 800ECC4C 0C00A720 */ jal func_80029C80 +/* 0860FC 800ECC4C 0C00A720 */ jal atan2 /* 086100 800ECC50 46000506 */ mov.s $f20, $f0 /* 086104 800ECC54 4600A306 */ mov.s $f12, $f20 -/* 086108 800ECC58 0C00A70A */ jal func_80029C28 +/* 086108 800ECC58 0C00A70A */ jal get_clamped_angle_diff /* 08610C 800ECC5C 46000386 */ mov.s $f14, $f0 /* 086110 800ECC60 46000005 */ abs.s $f0, $f0 /* 086114 800ECC64 4616003C */ c.lt.s $f0, $f22 @@ -18577,7 +18604,7 @@ func_800ECC1C: /* 0861B4 800ECD04 00000000 */ nop /* 0861B8 800ECD08 3C014334 */ lui $at, 0x4334 /* 0861BC 800ECD0C 44816000 */ mtc1 $at, $f12 -/* 0861C0 800ECD10 0C00A6C9 */ jal func_80029B24 +/* 0861C0 800ECD10 0C00A6C9 */ jal clamp_angle /* 0861C4 800ECD14 460C0300 */ add.s $f12, $f0, $f12 /* 0861C8 800ECD18 C6620028 */ lwc1 $f2, 0x28($s3) /* 0861CC 800ECD1C E6220060 */ swc1 $f2, 0x60($s1) @@ -18592,12 +18619,12 @@ func_800ECC1C: /* 0861F0 800ECD40 00000000 */ nop /* 0861F4 800ECD44 468052A0 */ cvt.s.w $f10, $f10 /* 0861F8 800ECD48 44065000 */ mfc1 $a2, $f10 -/* 0861FC 800ECD4C 0C00A7E7 */ jal func_80029F9C +/* 0861FC 800ECD4C 0C00A7E7 */ jal add_vec2D_polar /* 086200 800ECD50 26250068 */ addiu $a1, $s1, 0x68 /* 086204 800ECD54 C62C0038 */ lwc1 $f12, 0x38($s1) /* 086208 800ECD58 C62E0040 */ lwc1 $f14, 0x40($s1) /* 08620C 800ECD5C 8E260060 */ lw $a2, 0x60($s1) -/* 086210 800ECD60 0C00A7B5 */ jal func_80029ED4 +/* 086210 800ECD60 0C00A7B5 */ jal dist2D /* 086214 800ECD64 8E270068 */ lw $a3, 0x68($s1) /* 086218 800ECD68 3C018010 */ lui $at, 0x8010 /* 08621C 800ECD6C C422802C */ lwc1 $f2, -0x7fd4($at) @@ -18634,7 +18661,7 @@ func_800ECDC8: /* 08628C 800ECDDC C62C0038 */ lwc1 $f12, 0x38($s1) /* 086290 800ECDE0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 086294 800ECDE4 8E260060 */ lw $a2, 0x60($s1) -/* 086298 800ECDE8 0C00A720 */ jal func_80029C80 +/* 086298 800ECDE8 0C00A720 */ jal atan2 /* 08629C 800ECDEC 8E270068 */ lw $a3, 0x68($s1) /* 0862A0 800ECDF0 3C038011 */ lui $v1, 0x8011 /* 0862A4 800ECDF4 2463CFCE */ addiu $v1, $v1, -0x3032 @@ -18760,7 +18787,7 @@ func_800ECF74: /* 08646C 800ECFBC 8E250018 */ lw $a1, 0x18($s1) /* 086470 800ECFC0 44060000 */ mfc1 $a2, $f0 /* 086474 800ECFC4 0220202D */ daddu $a0, $s1, $zero -/* 086478 800ECFC8 0C00EA95 */ jal func_8003AA54 +/* 086478 800ECFC8 0C00EA95 */ jal npc_move_heading /* 08647C 800ECFCC AE26000C */ sw $a2, 0xc($s1) /* 086480 800ECFD0 C6200018 */ lwc1 $f0, 0x18($s1) /* 086484 800ECFD4 3C014010 */ lui $at, 0x4010 @@ -18779,7 +18806,7 @@ func_800ECF74: /* 0864B4 800ED004 00000000 */ nop .L800ED008: -/* 0864B8 800ED008 0C03BD17 */ jal func_800EF45C +/* 0864B8 800ED008 0C03BD17 */ jal clear_partner_move_history /* 0864BC 800ED00C 0220202D */ daddu $a0, $s1, $zero /* 0864C0 800ED010 3C038011 */ lui $v1, 0x8011 /* 0864C4 800ED014 8C63CFD8 */ lw $v1, -0x3028($v1) @@ -18797,7 +18824,7 @@ func_800ECF74: /* 0864F4 800ED044 C6AC006C */ lwc1 $f12, 0x6c($s5) /* 0864F8 800ED048 46006300 */ add.s $f12, $f12, $f0 /* 0864FC 800ED04C C66000A8 */ lwc1 $f0, 0xa8($s3) -/* 086500 800ED050 0C00A6C9 */ jal func_80029B24 +/* 086500 800ED050 0C00A6C9 */ jal clamp_angle /* 086504 800ED054 46006301 */ sub.s $f12, $f12, $f0 /* 086508 800ED058 3C048011 */ lui $a0, 0x8011 /* 08650C 800ED05C 2484CFCE */ addiu $a0, $a0, -0x3032 @@ -18902,7 +18929,7 @@ func_800ECF74: /* 086670 800ED1C0 AE220000 */ sw $v0, ($s1) /* 086674 800ED1C4 AE230028 */ sw $v1, 0x28($s1) /* 086678 800ED1C8 8E660028 */ lw $a2, 0x28($s3) -/* 08667C 800ED1CC 0C00A720 */ jal func_80029C80 +/* 08667C 800ED1CC 0C00A720 */ jal atan2 /* 086680 800ED1D0 8E670030 */ lw $a3, 0x30($s3) /* 086684 800ED1D4 E620000C */ swc1 $f0, 0xc($s1) /* 086688 800ED1D8 C6600028 */ lwc1 $f0, 0x28($s3) @@ -18966,7 +18993,7 @@ func_800ED1F0: /* 086764 800ED2B4 AE220000 */ sw $v0, ($s1) /* 086768 800ED2B8 AE240028 */ sw $a0, 0x28($s1) /* 08676C 800ED2BC 8E660028 */ lw $a2, 0x28($s3) -/* 086770 800ED2C0 0C00A720 */ jal func_80029C80 +/* 086770 800ED2C0 0C00A720 */ jal atan2 /* 086774 800ED2C4 8E670030 */ lw $a3, 0x30($s3) /* 086778 800ED2C8 0220202D */ daddu $a0, $s1, $zero /* 08677C 800ED2CC 24050002 */ addiu $a1, $zero, 2 @@ -18991,7 +19018,7 @@ func_800ED2E4: /* 0867B8 800ED308 03E00008 */ jr $ra /* 0867BC 800ED30C 27BD0068 */ addiu $sp, $sp, 0x68 -func_800ED310: +enable_partner_flying: /* 0867C0 800ED310 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0867C4 800ED314 AFB00010 */ sw $s0, 0x10($sp) /* 0867C8 800ED318 0080802D */ daddu $s0, $a0, $zero @@ -19110,6 +19137,7 @@ func_800ED434: /* 086960 800ED4B0 03E00008 */ jr $ra /* 086964 800ED4B4 27BD0018 */ addiu $sp, $sp, 0x18 +update_player_move_history: /* 086968 800ED4B8 3C058011 */ lui $a1, 0x8011 /* 08696C 800ED4BC 24A5EFC8 */ addiu $a1, $a1, -0x1038 /* 086970 800ED4C0 24020017 */ addiu $v0, $zero, 0x17 @@ -19555,7 +19583,7 @@ func_800ED9F8: /* 086FD0 800EDB20 E620003C */ swc1 $f0, 0x3c($s1) /* 086FD4 800EDB24 8E660028 */ lw $a2, 0x28($s3) /* 086FD8 800EDB28 8E670030 */ lw $a3, 0x30($s3) -/* 086FDC 800EDB2C 0C00A7B5 */ jal func_80029ED4 +/* 086FDC 800EDB2C 0C00A7B5 */ jal dist2D /* 086FE0 800EDB30 E7A00024 */ swc1 $f0, 0x24($sp) /* 086FE4 800EDB34 3C014049 */ lui $at, 0x4049 /* 086FE8 800EDB38 44811800 */ mtc1 $at, $f3 @@ -19651,13 +19679,13 @@ func_800EDC68: /* 08711C 800EDC6C C7AE0028 */ lwc1 $f14, 0x28($sp) /* 087120 800EDC70 4406B000 */ mfc1 $a2, $f22 /* 087124 800EDC74 4407A000 */ mfc1 $a3, $f20 -/* 087128 800EDC78 0C00A720 */ jal func_80029C80 +/* 087128 800EDC78 0C00A720 */ jal atan2 /* 08712C 800EDC7C 00000000 */ nop /* 087130 800EDC80 C7AC0020 */ lwc1 $f12, 0x20($sp) /* 087134 800EDC84 C7AE0028 */ lwc1 $f14, 0x28($sp) /* 087138 800EDC88 4406B000 */ mfc1 $a2, $f22 /* 08713C 800EDC8C 4407A000 */ mfc1 $a3, $f20 -/* 087140 800EDC90 0C00A7B5 */ jal func_80029ED4 +/* 087140 800EDC90 0C00A7B5 */ jal dist2D /* 087144 800EDC94 46000506 */ mov.s $f20, $f0 /* 087148 800EDC98 E7A0002C */ swc1 $f0, 0x2c($sp) /* 08714C 800EDC9C C6260018 */ lwc1 $f6, 0x18($s1) @@ -19715,7 +19743,7 @@ func_800EDC68: /* 08720C 800EDD5C C62C0038 */ lwc1 $f12, 0x38($s1) /* 087210 800EDD60 C62E0040 */ lwc1 $f14, 0x40($s1) /* 087214 800EDD64 8E660028 */ lw $a2, 0x28($s3) -/* 087218 800EDD68 0C00A7B5 */ jal func_80029ED4 +/* 087218 800EDD68 0C00A7B5 */ jal dist2D /* 08721C 800EDD6C 8E670030 */ lw $a3, 0x30($s3) /* 087220 800EDD70 3C018011 */ lui $at, 0x8011 /* 087224 800EDD74 C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -19742,7 +19770,7 @@ func_800EDDB8: /* 087268 800EDDB8 8E250018 */ lw $a1, 0x18($s1) /* 08726C 800EDDBC 4406A000 */ mfc1 $a2, $f20 /* 087270 800EDDC0 0220202D */ daddu $a0, $s1, $zero -/* 087274 800EDDC4 0C00EA95 */ jal func_8003AA54 +/* 087274 800EDDC4 0C00EA95 */ jal npc_move_heading /* 087278 800EDDC8 AE26000C */ sw $a2, 0xc($s1) /* 08727C 800EDDCC 8E220000 */ lw $v0, ($s1) /* 087280 800EDDD0 30424000 */ andi $v0, $v0, 0x4000 @@ -19795,13 +19823,13 @@ func_800EDDB8: /* 087330 800EDE80 C62C0038 */ lwc1 $f12, 0x38($s1) /* 087334 800EDE84 C62E0040 */ lwc1 $f14, 0x40($s1) /* 087338 800EDE88 8E260060 */ lw $a2, 0x60($s1) -/* 08733C 800EDE8C 0C00A7B5 */ jal func_80029ED4 +/* 08733C 800EDE8C 0C00A7B5 */ jal dist2D /* 087340 800EDE90 8E270068 */ lw $a3, 0x68($s1) /* 087344 800EDE94 C62C0038 */ lwc1 $f12, 0x38($s1) /* 087348 800EDE98 C62E0040 */ lwc1 $f14, 0x40($s1) /* 08734C 800EDE9C 8E260060 */ lw $a2, 0x60($s1) /* 087350 800EDEA0 8E270068 */ lw $a3, 0x68($s1) -/* 087354 800EDEA4 0C00A720 */ jal func_80029C80 +/* 087354 800EDEA4 0C00A720 */ jal atan2 /* 087358 800EDEA8 E6200010 */ swc1 $f0, 0x10($s1) /* 08735C 800EDEAC E620000C */ swc1 $f0, 0xc($s1) /* 087360 800EDEB0 C6200010 */ lwc1 $f0, 0x10($s1) @@ -19844,7 +19872,7 @@ func_800EDDB8: /* 0873EC 800EDF3C C62E0040 */ lwc1 $f14, 0x40($s1) /* 0873F0 800EDF40 AE20001C */ sw $zero, 0x1c($s1) /* 0873F4 800EDF44 8E660028 */ lw $a2, 0x28($s3) -/* 0873F8 800EDF48 0C00A720 */ jal func_80029C80 +/* 0873F8 800EDF48 0C00A720 */ jal atan2 /* 0873FC 800EDF4C 8E670030 */ lw $a3, 0x30($s3) /* 087400 800EDF50 24020005 */ addiu $v0, $zero, 5 /* 087404 800EDF54 E620000C */ swc1 $f0, 0xc($s1) @@ -19951,7 +19979,7 @@ func_800EDFB4: .L800EE0C8: /* 087578 800EE0C8 8E250018 */ lw $a1, 0x18($s1) /* 08757C 800EE0CC 8E26000C */ lw $a2, 0xc($s1) -/* 087580 800EE0D0 0C00EA95 */ jal func_8003AA54 +/* 087580 800EE0D0 0C00EA95 */ jal npc_move_heading /* 087584 800EE0D4 0220202D */ daddu $a0, $s1, $zero /* 087588 800EE0D8 C620001C */ lwc1 $f0, 0x1c($s1) /* 08758C 800EE0DC 4614003E */ c.le.s $f0, $f20 @@ -19978,7 +20006,7 @@ func_800EDFB4: /* 0875E0 800EE130 E620003C */ swc1 $f0, 0x3c($s1) /* 0875E4 800EE134 AE220028 */ sw $v0, 0x28($s1) /* 0875E8 800EE138 8E660028 */ lw $a2, 0x28($s3) -/* 0875EC 800EE13C 0C00A720 */ jal func_80029C80 +/* 0875EC 800EE13C 0C00A720 */ jal atan2 /* 0875F0 800EE140 8E670030 */ lw $a3, 0x30($s3) /* 0875F4 800EE144 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0875F8 800EE148 C62E0040 */ lwc1 $f14, 0x40($s1) @@ -19987,7 +20015,7 @@ func_800EDFB4: /* 087604 800EE154 3C108011 */ lui $s0, 0x8011 /* 087608 800EE158 2610CFC8 */ addiu $s0, $s0, -0x3038 /* 08760C 800EE15C E620000C */ swc1 $f0, 0xc($s1) -/* 087610 800EE160 0C00A7B5 */ jal func_80029ED4 +/* 087610 800EE160 0C00A7B5 */ jal dist2D /* 087614 800EE164 A6000000 */ sh $zero, ($s0) /* 087618 800EE168 3C018011 */ lui $at, 0x8011 /* 08761C 800EE16C C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -20016,7 +20044,7 @@ func_800EDFB4: /* 087674 800EE1C4 46007106 */ mov.s $f4, $f14 /* 087678 800EE1C8 E7A00020 */ swc1 $f0, 0x20($sp) /* 08767C 800EE1CC E7A20024 */ swc1 $f2, 0x24($sp) -/* 087680 800EE1D0 0C00A7B5 */ jal func_80029ED4 +/* 087680 800EE1D0 0C00A7B5 */ jal dist2D /* 087684 800EE1D4 E7A40028 */ swc1 $f4, 0x28($sp) /* 087688 800EE1D8 3C018011 */ lui $at, 0x8011 /* 08768C 800EE1DC C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -20087,7 +20115,7 @@ func_800EDFB4: /* 087788 800EE2D8 3C0142B4 */ lui $at, 0x42b4 /* 08778C 800EE2DC 44810000 */ mtc1 $at, $f0 .L800EE2E0: -/* 087790 800EE2E0 0C00A6C9 */ jal func_80029B24 +/* 087790 800EE2E0 0C00A6C9 */ jal clamp_angle /* 087794 800EE2E4 46006300 */ add.s $f12, $f12, $f0 /* 087798 800EE2E8 44070000 */ mfc1 $a3, $f0 /* 08779C 800EE2EC C6600028 */ lwc1 $f0, 0x28($s3) @@ -20103,18 +20131,18 @@ func_800EDFB4: /* 0877C4 800EE314 C6600030 */ lwc1 $f0, 0x30($s3) /* 0877C8 800EE318 44062000 */ mfc1 $a2, $f4 /* 0877CC 800EE31C 26250068 */ addiu $a1, $s1, 0x68 -/* 0877D0 800EE320 0C00A7E7 */ jal func_80029F9C +/* 0877D0 800EE320 0C00A7E7 */ jal add_vec2D_polar /* 0877D4 800EE324 E6200068 */ swc1 $f0, 0x68($s1) /* 0877D8 800EE328 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0877DC 800EE32C C62E0040 */ lwc1 $f14, 0x40($s1) /* 0877E0 800EE330 8E260060 */ lw $a2, 0x60($s1) -/* 0877E4 800EE334 0C00A720 */ jal func_80029C80 +/* 0877E4 800EE334 0C00A720 */ jal atan2 /* 0877E8 800EE338 8E270068 */ lw $a3, 0x68($s1) /* 0877EC 800EE33C C62C0038 */ lwc1 $f12, 0x38($s1) /* 0877F0 800EE340 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0877F4 800EE344 8E260060 */ lw $a2, 0x60($s1) /* 0877F8 800EE348 8E270068 */ lw $a3, 0x68($s1) -/* 0877FC 800EE34C 0C00A7B5 */ jal func_80029ED4 +/* 0877FC 800EE34C 0C00A7B5 */ jal dist2D /* 087800 800EE350 46000506 */ mov.s $f20, $f0 /* 087804 800EE354 3C014000 */ lui $at, 0x4000 /* 087808 800EE358 44811000 */ mtc1 $at, $f2 @@ -20163,7 +20191,7 @@ func_800EDFB4: /* 0878A4 800EE3F4 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0878A8 800EE3F8 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0878AC 800EE3FC 8E660028 */ lw $a2, 0x28($s3) -/* 0878B0 800EE400 0C00A720 */ jal func_80029C80 +/* 0878B0 800EE400 0C00A720 */ jal atan2 /* 0878B4 800EE404 8E670030 */ lw $a3, 0x30($s3) /* 0878B8 800EE408 3C038011 */ lui $v1, 0x8011 /* 0878BC 800EE40C 8C63CFD8 */ lw $v1, -0x3028($v1) @@ -20195,7 +20223,7 @@ func_800EE464: /* 087914 800EE464 8E250018 */ lw $a1, 0x18($s1) /* 087918 800EE468 4406A000 */ mfc1 $a2, $f20 /* 08791C 800EE46C 0220202D */ daddu $a0, $s1, $zero -/* 087920 800EE470 0C00EA95 */ jal func_8003AA54 +/* 087920 800EE470 0C00EA95 */ jal npc_move_heading /* 087924 800EE474 AC86000C */ sw $a2, 0xc($a0) /* 087928 800EE478 0803BA5A */ j func_800EE968 /* 08792C 800EE47C 00000000 */ nop @@ -20205,7 +20233,7 @@ func_800EE480: /* 087930 800EE480 C62C0038 */ lwc1 $f12, 0x38($s1) /* 087934 800EE484 C62E0040 */ lwc1 $f14, 0x40($s1) /* 087938 800EE488 8E660028 */ lw $a2, 0x28($s3) -/* 08793C 800EE48C 0C00A7B5 */ jal func_80029ED4 +/* 08793C 800EE48C 0C00A7B5 */ jal dist2D /* 087940 800EE490 8E670030 */ lw $a3, 0x30($s3) /* 087944 800EE494 3C018011 */ lui $at, 0x8011 /* 087948 800EE498 C422CFC0 */ lwc1 $f2, -0x3040($at) @@ -20227,16 +20255,16 @@ func_800EE4C4: /* 087984 800EE4D4 C62E0040 */ lwc1 $f14, 0x40($s1) /* 087988 800EE4D8 4406B000 */ mfc1 $a2, $f22 /* 08798C 800EE4DC 4407A000 */ mfc1 $a3, $f20 -/* 087990 800EE4E0 0C00A720 */ jal func_80029C80 +/* 087990 800EE4E0 0C00A720 */ jal atan2 /* 087994 800EE4E4 00000000 */ nop /* 087998 800EE4E8 C62C0038 */ lwc1 $f12, 0x38($s1) /* 08799C 800EE4EC C62E0040 */ lwc1 $f14, 0x40($s1) /* 0879A0 800EE4F0 8E660028 */ lw $a2, 0x28($s3) /* 0879A4 800EE4F4 8E670030 */ lw $a3, 0x30($s3) -/* 0879A8 800EE4F8 0C00A720 */ jal func_80029C80 +/* 0879A8 800EE4F8 0C00A720 */ jal atan2 /* 0879AC 800EE4FC 46000506 */ mov.s $f20, $f0 /* 0879B0 800EE500 4600A306 */ mov.s $f12, $f20 -/* 0879B4 800EE504 0C00A70A */ jal func_80029C28 +/* 0879B4 800EE504 0C00A70A */ jal get_clamped_angle_diff /* 0879B8 800EE508 46000386 */ mov.s $f14, $f0 /* 0879BC 800EE50C 46000005 */ abs.s $f0, $f0 /* 0879C0 800EE510 4618003C */ c.lt.s $f0, $f24 @@ -20286,7 +20314,7 @@ func_800EE4C4: /* 087A58 800EE5A8 00000000 */ nop /* 087A5C 800EE5AC 3C014334 */ lui $at, 0x4334 /* 087A60 800EE5B0 44816000 */ mtc1 $at, $f12 -/* 087A64 800EE5B4 0C00A6C9 */ jal func_80029B24 +/* 087A64 800EE5B4 0C00A6C9 */ jal clamp_angle /* 087A68 800EE5B8 460C0300 */ add.s $f12, $f0, $f12 /* 087A6C 800EE5BC C6620028 */ lwc1 $f2, 0x28($s3) /* 087A70 800EE5C0 E6220060 */ swc1 $f2, 0x60($s1) @@ -20301,12 +20329,12 @@ func_800EE4C4: /* 087A94 800EE5E4 00000000 */ nop /* 087A98 800EE5E8 46808420 */ cvt.s.w $f16, $f16 /* 087A9C 800EE5EC 44068000 */ mfc1 $a2, $f16 -/* 087AA0 800EE5F0 0C00A7E7 */ jal func_80029F9C +/* 087AA0 800EE5F0 0C00A7E7 */ jal add_vec2D_polar /* 087AA4 800EE5F4 26250068 */ addiu $a1, $s1, 0x68 /* 087AA8 800EE5F8 C62C0038 */ lwc1 $f12, 0x38($s1) /* 087AAC 800EE5FC C62E0040 */ lwc1 $f14, 0x40($s1) /* 087AB0 800EE600 8E260060 */ lw $a2, 0x60($s1) -/* 087AB4 800EE604 0C00A7B5 */ jal func_80029ED4 +/* 087AB4 800EE604 0C00A7B5 */ jal dist2D /* 087AB8 800EE608 8E270068 */ lw $a3, 0x68($s1) /* 087ABC 800EE60C 3C018010 */ lui $at, 0x8010 /* 087AC0 800EE610 C422802C */ lwc1 $f2, -0x7fd4($at) @@ -20343,7 +20371,7 @@ func_800EE66C: /* 087B30 800EE680 C62C0038 */ lwc1 $f12, 0x38($s1) /* 087B34 800EE684 C62E0040 */ lwc1 $f14, 0x40($s1) /* 087B38 800EE688 8E260060 */ lw $a2, 0x60($s1) -/* 087B3C 800EE68C 0C00A720 */ jal func_80029C80 +/* 087B3C 800EE68C 0C00A720 */ jal atan2 /* 087B40 800EE690 8E270068 */ lw $a3, 0x68($s1) /* 087B44 800EE694 3C038011 */ lui $v1, 0x8011 /* 087B48 800EE698 2463CFCE */ addiu $v1, $v1, -0x3032 @@ -20487,13 +20515,13 @@ func_800EE7E8: .L800EE8A8: /* 087D58 800EE8A8 8E250018 */ lw $a1, 0x18($s1) /* 087D5C 800EE8AC 8E26000C */ lw $a2, 0xc($s1) -/* 087D60 800EE8B0 0C00EA95 */ jal func_8003AA54 +/* 087D60 800EE8B0 0C00EA95 */ jal npc_move_heading /* 087D64 800EE8B4 0220202D */ daddu $a0, $s1, $zero /* 087D68 800EE8B8 0803BA5A */ j func_800EE968 /* 087D6C 800EE8BC 00000000 */ nop .L800EE8C0: -/* 087D70 800EE8C0 0C03BD17 */ jal func_800EF45C +/* 087D70 800EE8C0 0C03BD17 */ jal clear_partner_move_history /* 087D74 800EE8C4 0220202D */ daddu $a0, $s1, $zero /* 087D78 800EE8C8 3C038011 */ lui $v1, 0x8011 /* 087D7C 800EE8CC 8C63CFD8 */ lw $v1, -0x3028($v1) @@ -20517,7 +20545,7 @@ func_800EE7E8: /* 087DC4 800EE914 A420CFCA */ sh $zero, -0x3036($at) /* 087DC8 800EE918 3C018011 */ lui $at, 0x8011 /* 087DCC 800EE91C A420CFCE */ sh $zero, -0x3032($at) -/* 087DD0 800EE920 0C00A6C9 */ jal func_80029B24 +/* 087DD0 800EE920 0C00A6C9 */ jal clamp_angle /* 087DD4 800EE924 46006301 */ sub.s $f12, $f12, $f0 /* 087DD8 800EE928 0803BA5A */ j func_800EE968 /* 087DDC 800EE92C E620000C */ swc1 $f0, 0xc($s1) @@ -20636,13 +20664,13 @@ func_800EE968: /* 087F78 800EEAC8 E4368344 */ swc1 $f22, -0x7cbc($at) /* 087F7C 800EEACC E6000018 */ swc1 $f0, 0x18($s0) /* 087F80 800EEAD0 E6020014 */ swc1 $f2, 0x14($s0) -/* 087F84 800EEAD4 0C00A7B5 */ jal func_80029ED4 +/* 087F84 800EEAD4 0C00A7B5 */ jal dist2D /* 087F88 800EEAD8 E6180068 */ swc1 $f24, 0x68($s0) /* 087F8C 800EEADC 4600D306 */ mov.s $f12, $f26 /* 087F90 800EEAE0 4406E000 */ mfc1 $a2, $f28 /* 087F94 800EEAE4 4407C000 */ mfc1 $a3, $f24 /* 087F98 800EEAE8 4600B386 */ mov.s $f14, $f22 -/* 087F9C 800EEAEC 0C00A720 */ jal func_80029C80 +/* 087F9C 800EEAEC 0C00A720 */ jal atan2 /* 087FA0 800EEAF0 E6000010 */ swc1 $f0, 0x10($s0) /* 087FA4 800EEAF4 2402000F */ addiu $v0, $zero, 0xf /* 087FA8 800EEAF8 A602008E */ sh $v0, 0x8e($s0) @@ -20678,7 +20706,7 @@ func_800EE968: /* 088020 800EEB70 00220821 */ addu $at, $at, $v0 /* 088024 800EEB74 8C228350 */ lw $v0, -0x7cb0($at) /* 088028 800EEB78 0200202D */ daddu $a0, $s0, $zero -/* 08802C 800EEB7C 0C00EB49 */ jal func_8003AD24 +/* 08802C 800EEB7C 0C00EB49 */ jal enable_npc_blur /* 088030 800EEB80 AC820028 */ sw $v0, 0x28($a0) /* 088034 800EEB84 0803BB24 */ j func_800EEC90 /* 088038 800EEB88 A6320000 */ sh $s2, ($s1) @@ -20709,7 +20737,7 @@ func_800EE968: .L800EEBE4: /* 088094 800EEBE4 8E06000C */ lw $a2, 0xc($s0) /* 088098 800EEBE8 8E050018 */ lw $a1, 0x18($s0) -/* 08809C 800EEBEC 0C00EA95 */ jal func_8003AA54 +/* 08809C 800EEBEC 0C00EA95 */ jal npc_move_heading /* 0880A0 800EEBF0 0200202D */ daddu $a0, $s0, $zero /* 0880A4 800EEBF4 8602008E */ lh $v0, 0x8e($s0) /* 0880A8 800EEBF8 3C014120 */ lui $at, 0x4120 @@ -20749,7 +20777,7 @@ func_800EE968: /* 088124 800EEC74 8C228358 */ lw $v0, -0x7ca8($at) /* 088128 800EEC78 AC80001C */ sw $zero, 0x1c($a0) /* 08812C 800EEC7C E480003C */ swc1 $f0, 0x3c($a0) -/* 088130 800EEC80 0C00EB6B */ jal func_8003ADAC +/* 088130 800EEC80 0C00EB6B */ jal disable_npc_blur /* 088134 800EEC84 AC820028 */ sw $v0, 0x28($a0) /* 088138 800EEC88 0803BB25 */ j func_800EEC94 /* 08813C 800EEC8C 24020001 */ addiu $v0, $zero, 1 @@ -20828,7 +20856,7 @@ func_800EEC94: /* 088240 800EED90 00000000 */ nop .L800EED94: -/* 088244 800EED94 0C00A6C9 */ jal func_80029B24 +/* 088244 800EED94 0C00A6C9 */ jal clamp_angle /* 088248 800EED98 C62C00A8 */ lwc1 $f12, 0xa8($s1) /* 08824C 800EED9C 3C014334 */ lui $at, 0x4334 /* 088250 800EEDA0 44811000 */ mtc1 $at, $f2 @@ -20850,7 +20878,7 @@ func_800EEC94: /* 088288 800EEDD8 00000000 */ nop /* 08828C 800EEDDC 460C0301 */ sub.s $f12, $f0, $f12 func_800EEDE0: -/* 088290 800EEDE0 0C00A6C9 */ jal func_80029B24 +/* 088290 800EEDE0 0C00A6C9 */ jal clamp_angle /* 088294 800EEDE4 00000000 */ nop /* 088298 800EEDE8 E600000C */ swc1 $f0, 0xc($s0) /* 08829C 800EEDEC C6200028 */ lwc1 $f0, 0x28($s1) @@ -20874,7 +20902,7 @@ func_800EEDE0: /* 0882E0 800EEE30 00000000 */ nop /* 0882E4 800EEE34 468052A0 */ cvt.s.w $f10, $f10 /* 0882E8 800EEE38 44065000 */ mfc1 $a2, $f10 -/* 0882EC 800EEE3C 0C00A7E7 */ jal func_80029F9C +/* 0882EC 800EEE3C 0C00A7E7 */ jal add_vec2D_polar /* 0882F0 800EEE40 26050068 */ addiu $a1, $s0, 0x68 /* 0882F4 800EEE44 C6160060 */ lwc1 $f22, 0x60($s0) /* 0882F8 800EEE48 8E420000 */ lw $v0, ($s2) @@ -20909,7 +20937,7 @@ func_800EEDE0: /* 08836C 800EEEBC 4600D000 */ add.s $f0, $f26, $f0 /* 088370 800EEEC0 E7B60020 */ swc1 $f22, 0x20($sp) /* 088374 800EEEC4 E7B40024 */ swc1 $f20, 0x24($sp) -/* 088378 800EEEC8 0C00A7E7 */ jal func_80029F9C +/* 088378 800EEEC8 0C00A7E7 */ jal add_vec2D_polar /* 08837C 800EEECC E7A00028 */ swc1 $f0, 0x28($sp) /* 088380 800EEED0 3C040001 */ lui $a0, 1 /* 088384 800EEED4 0240282D */ daddu $a1, $s2, $zero @@ -20934,7 +20962,7 @@ func_800EEDE0: /* 0883D0 800EEF20 0240202D */ daddu $a0, $s2, $zero /* 0883D4 800EEF24 3C048011 */ lui $a0, 0x8011 /* 0883D8 800EEF28 8C84C978 */ lw $a0, -0x3688($a0) -/* 0883DC 800EEF2C 0C016F6A */ jal func_8005BDA8 +/* 0883DC 800EEF2C 0C016F6A */ jal get_collider_type_by_id /* 0883E0 800EEF30 00000000 */ nop /* 0883E4 800EEF34 2442FFFE */ addiu $v0, $v0, -2 /* 0883E8 800EEF38 2C420002 */ sltiu $v0, $v0, 2 @@ -20963,7 +20991,7 @@ func_800EEDE0: /* 088440 800EEF90 00741821 */ addu $v1, $v1, $s4 /* 088444 800EEF94 8C67006C */ lw $a3, 0x6c($v1) /* 088448 800EEF98 C6340030 */ lwc1 $f20, 0x30($s1) -/* 08844C 800EEF9C 0C00A7E7 */ jal func_80029F9C +/* 08844C 800EEF9C 0C00A7E7 */ jal add_vec2D_polar /* 088450 800EEFA0 0260282D */ daddu $a1, $s3, $zero .L800EEFA4: /* 088454 800EEFA4 C62C0028 */ lwc1 $f12, 0x28($s1) @@ -20993,13 +21021,13 @@ func_800EEDE0: /* 0884B4 800EF004 E6000018 */ swc1 $f0, 0x18($s0) /* 0884B8 800EF008 E6040014 */ swc1 $f4, 0x14($s0) /* 0884BC 800EF00C E60E0040 */ swc1 $f14, 0x40($s0) -/* 0884C0 800EF010 0C00A7B5 */ jal func_80029ED4 +/* 0884C0 800EF010 0C00A7B5 */ jal dist2D /* 0884C4 800EF014 E7AE0024 */ swc1 $f14, 0x24($sp) /* 0884C8 800EF018 C7AC0020 */ lwc1 $f12, 0x20($sp) /* 0884CC 800EF01C C7AE0024 */ lwc1 $f14, 0x24($sp) /* 0884D0 800EF020 4406B000 */ mfc1 $a2, $f22 /* 0884D4 800EF024 4407A000 */ mfc1 $a3, $f20 -/* 0884D8 800EF028 0C00A720 */ jal func_80029C80 +/* 0884D8 800EF028 0C00A720 */ jal atan2 /* 0884DC 800EF02C E6000010 */ swc1 $f0, 0x10($s0) /* 0884E0 800EF030 C6020010 */ lwc1 $f2, 0x10($s0) /* 0884E4 800EF034 C6040018 */ lwc1 $f4, 0x18($s0) @@ -21098,7 +21126,7 @@ func_800EEDE0: .L800EF194: /* 088644 800EF194 8E050018 */ lw $a1, 0x18($s0) /* 088648 800EF198 8E06000C */ lw $a2, 0xc($s0) -/* 08864C 800EF19C 0C00EA95 */ jal func_8003AA54 +/* 08864C 800EF19C 0C00EA95 */ jal npc_move_heading /* 088650 800EF1A0 0200202D */ daddu $a0, $s0, $zero /* 088654 800EF1A4 0C00E2BF */ jal func_80038AFC /* 088658 800EF1A8 0200202D */ daddu $a0, $s0, $zero @@ -21157,7 +21185,7 @@ func_800EEDE0: /* 088720 800EF270 E600003C */ swc1 $f0, 0x3c($s0) .L800EF274: /* 088724 800EF274 C6000040 */ lwc1 $f0, 0x40($s0) -/* 088728 800EF278 0C03BD17 */ jal func_800EF45C +/* 088728 800EF278 0C03BD17 */ jal clear_partner_move_history /* 08872C 800EF27C 0200202D */ daddu $a0, $s0, $zero /* 088730 800EF280 C6000060 */ lwc1 $f0, 0x60($s0) /* 088734 800EF284 C6020064 */ lwc1 $f2, 0x64($s0) @@ -21212,7 +21240,7 @@ func_800EF314: /* 0887D0 800EF320 03E00008 */ jr $ra /* 0887D4 800EF324 00000000 */ nop -func_800EF328: +enable_partner_ai: /* 0887D8 800EF328 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0887DC 800EF32C AFB00010 */ sw $s0, 0x10($sp) /* 0887E0 800EF330 3C108011 */ lui $s0, 0x8011 @@ -21221,7 +21249,7 @@ func_800EF328: /* 0887EC 800EF33C 8E040000 */ lw $a0, ($s0) /* 0887F0 800EF340 3C018011 */ lui $at, 0x8011 /* 0887F4 800EF344 A420CFC8 */ sh $zero, -0x3038($at) -/* 0887F8 800EF348 0C03BD17 */ jal func_800EF45C +/* 0887F8 800EF348 0C03BD17 */ jal clear_partner_move_history /* 0887FC 800EF34C 00000000 */ nop /* 088800 800EF350 3C028011 */ lui $v0, 0x8011 /* 088804 800EF354 8C42CFEC */ lw $v0, -0x3014($v0) @@ -21229,14 +21257,14 @@ func_800EF328: /* 08880C 800EF35C 14400006 */ bnez $v0, .L800EF378 /* 088810 800EF360 00000000 */ nop /* 088814 800EF364 8E040000 */ lw $a0, ($s0) -/* 088818 800EF368 0C03AE2A */ jal func_800EB8A8 +/* 088818 800EF368 0C03AE2A */ jal enable_partner_walking /* 08881C 800EF36C 0000282D */ daddu $a1, $zero, $zero /* 088820 800EF370 0803BCE1 */ j func_800EF384 /* 088824 800EF374 00000000 */ nop .L800EF378: /* 088828 800EF378 8E040000 */ lw $a0, ($s0) -/* 08882C 800EF37C 0C03B4C4 */ jal func_800ED310 +/* 08882C 800EF37C 0C03B4C4 */ jal enable_partner_flying /* 088830 800EF380 0000282D */ daddu $a1, $zero, $zero func_800EF384: /* 088834 800EF384 8FBF0014 */ lw $ra, 0x14($sp) @@ -21308,7 +21336,7 @@ func_800EF43C: /* 088904 800EF454 03E00008 */ jr $ra /* 088908 800EF458 00000000 */ nop -func_800EF45C: +clear_partner_move_history: /* 08890C 800EF45C 3C058011 */ lui $a1, 0x8011 /* 088910 800EF460 24A5CD38 */ addiu $a1, $a1, -0x32c8 /* 088914 800EF464 0000302D */ daddu $a2, $zero, $zero @@ -21389,7 +21417,7 @@ func_800EF45C: .L800EF57C: /* 088A2C 800EF57C C60C006C */ lwc1 $f12, 0x6c($s0) -/* 088A30 800EF580 0C00A70A */ jal func_80029C28 +/* 088A30 800EF580 0C00A70A */ jal get_clamped_angle_diff /* 088A34 800EF584 C62E0080 */ lwc1 $f14, 0x80($s1) /* 088A38 800EF588 4614003C */ c.lt.s $f0, $f20 /* 088A3C 800EF58C 00000000 */ nop @@ -21412,7 +21440,7 @@ func_800EF45C: func_800EF5C8: /* 088A78 800EF5C8 0000802D */ daddu $s0, $zero, $zero func_800EF5CC: -/* 088A7C 800EF5CC 0C00A6C9 */ jal func_80029B24 +/* 088A7C 800EF5CC 0C00A6C9 */ jal clamp_angle /* 088A80 800EF5D0 00000000 */ nop /* 088A84 800EF5D4 E6200080 */ swc1 $f0, 0x80($s1) /* 088A88 800EF5D8 C6200080 */ lwc1 $f0, 0x80($s1) @@ -21475,7 +21503,7 @@ func_800EF640: /* 088B50 800EF6A0 27B00034 */ addiu $s0, $sp, 0x34 /* 088B54 800EF6A4 AFA2001C */ sw $v0, 0x1c($sp) /* 088B58 800EF6A8 AFB00020 */ sw $s0, 0x20($sp) -/* 088B5C 800EF6AC 0C00A588 */ jal func_80029620 +/* 088B5C 800EF6AC 0C00A588 */ jal transform_point /* 088B60 800EF6B0 E7B40010 */ swc1 $f20, 0x10($sp) /* 088B64 800EF6B4 0260202D */ daddu $a0, $s3, $zero /* 088B68 800EF6B8 27A20038 */ addiu $v0, $sp, 0x38 @@ -21490,7 +21518,7 @@ func_800EF640: /* 088B8C 800EF6DC 8E250038 */ lw $a1, 0x38($s1) /* 088B90 800EF6E0 8E26003C */ lw $a2, 0x3c($s1) /* 088B94 800EF6E4 8E270040 */ lw $a3, 0x40($s1) -/* 088B98 800EF6E8 0C00A588 */ jal func_80029620 +/* 088B98 800EF6E8 0C00A588 */ jal transform_point /* 088B9C 800EF6EC 26340040 */ addiu $s4, $s1, 0x40 /* 088BA0 800EF6F0 862200A6 */ lh $v0, 0xa6($s1) /* 088BA4 800EF6F4 864300B2 */ lh $v1, 0xb2($s2) @@ -21541,11 +21569,11 @@ func_800EF640: /* 088C58 800EF7A8 8E260038 */ lw $a2, 0x38($s1) /* 088C5C 800EF7AC 8E270040 */ lw $a3, 0x40($s1) /* 088C60 800EF7B0 C64C0028 */ lwc1 $f12, 0x28($s2) -/* 088C64 800EF7B4 0C00A720 */ jal func_80029C80 +/* 088C64 800EF7B4 0C00A720 */ jal atan2 /* 088C68 800EF7B8 C64E0030 */ lwc1 $f14, 0x30($s2) /* 088C6C 800EF7BC 4405A000 */ mfc1 $a1, $f20 /* 088C70 800EF7C0 44060000 */ mfc1 $a2, $f0 -/* 088C74 800EF7C4 0C00EA95 */ jal func_8003AA54 +/* 088C74 800EF7C4 0C00EA95 */ jal npc_move_heading /* 088C78 800EF7C8 0220202D */ daddu $a0, $s1, $zero /* 088C7C 800EF7CC 0200202D */ daddu $a0, $s0, $zero /* 088C80 800EF7D0 3C028007 */ lui $v0, 0x8007 @@ -21560,7 +21588,7 @@ func_800EF640: /* 088CA4 800EF7F4 000318C0 */ sll $v1, $v1, 3 /* 088CA8 800EF7F8 02631821 */ addu $v1, $s3, $v1 /* 088CAC 800EF7FC 8C67FF98 */ lw $a3, -0x68($v1) -/* 088CB0 800EF800 0C00A7E7 */ jal func_80029F9C +/* 088CB0 800EF800 0C00A7E7 */ jal add_vec2D_polar /* 088CB4 800EF804 0280282D */ daddu $a1, $s4, $zero .L800EF808: /* 088CB8 800EF808 8FBF005C */ lw $ra, 0x5c($sp) @@ -21612,7 +21640,7 @@ func_800EF82C: /* 088D68 800EF8B8 26510068 */ addiu $s1, $s2, 0x68 /* 088D6C 800EF8BC A4A20000 */ sh $v0, ($a1) /* 088D70 800EF8C0 AE470068 */ sw $a3, 0x68($s2) -/* 088D74 800EF8C4 0C00A720 */ jal func_80029C80 +/* 088D74 800EF8C4 0C00A720 */ jal atan2 /* 088D78 800EF8C8 E6420064 */ swc1 $f2, 0x64($s2) /* 088D7C 800EF8CC 0200202D */ daddu $a0, $s0, $zero /* 088D80 800EF8D0 3C0640A0 */ lui $a2, 0x40a0 @@ -21620,7 +21648,7 @@ func_800EF82C: /* 088D88 800EF8D8 0220282D */ daddu $a1, $s1, $zero /* 088D8C 800EF8DC 3C018010 */ lui $at, 0x8010 /* 088D90 800EF8E0 AC278034 */ sw $a3, -0x7fcc($at) -/* 088D94 800EF8E4 0C00A7E7 */ jal func_80029F9C +/* 088D94 800EF8E4 0C00A7E7 */ jal add_vec2D_polar /* 088D98 800EF8E8 AE47000C */ sw $a3, 0xc($s2) /* 088D9C 800EF8EC 3C108010 */ lui $s0, 0x8010 /* 088DA0 800EF8F0 2610802C */ addiu $s0, $s0, -0x7fd4 @@ -21629,7 +21657,7 @@ func_800EF82C: /* 088DAC 800EF8FC 8E460060 */ lw $a2, 0x60($s2) /* 088DB0 800EF900 8E470068 */ lw $a3, 0x68($s2) /* 088DB4 800EF904 24020012 */ addiu $v0, $zero, 0x12 -/* 088DB8 800EF908 0C00A7B5 */ jal func_80029ED4 +/* 088DB8 800EF908 0C00A7B5 */ jal dist2D /* 088DBC 800EF90C AE020000 */ sw $v0, ($s0) /* 088DC0 800EF910 E7A0002C */ swc1 $f0, 0x2c($sp) /* 088DC4 800EF914 C6020000 */ lwc1 $f2, ($s0) @@ -21792,7 +21820,7 @@ func_800EFB18: /* 089010 800EFB60 8E450018 */ lw $a1, 0x18($s2) /* 089014 800EFB64 44060000 */ mfc1 $a2, $f0 /* 089018 800EFB68 0240202D */ daddu $a0, $s2, $zero -/* 08901C 800EFB6C 0C00EA95 */ jal func_8003AA54 +/* 08901C 800EFB6C 0C00EA95 */ jal npc_move_heading /* 089020 800EFB70 AE46000C */ sw $a2, 0xc($s2) /* 089024 800EFB74 26450028 */ addiu $a1, $s2, 0x28 /* 089028 800EFB78 C6400018 */ lwc1 $f0, 0x18($s2) @@ -21855,7 +21883,7 @@ func_800EFBBC: /* 0890F4 800EFC44 8E450018 */ lw $a1, 0x18($s2) /* 0890F8 800EFC48 44060000 */ mfc1 $a2, $f0 /* 0890FC 800EFC4C 0240202D */ daddu $a0, $s2, $zero -/* 089100 800EFC50 0C00EA95 */ jal func_8003AA54 +/* 089100 800EFC50 0C00EA95 */ jal npc_move_heading /* 089104 800EFC54 AE46000C */ sw $a2, 0xc($s2) /* 089108 800EFC58 24050001 */ addiu $a1, $zero, 1 func_800EFC5C: @@ -21926,7 +21954,7 @@ func_800EFD08: .L800EFD3C: /* 0891EC 800EFD3C 3C048016 */ lui $a0, 0x8016 /* 0891F0 800EFD40 9484A552 */ lhu $a0, -0x5aae($a0) -/* 0891F4 800EFD44 0C016F6A */ jal func_8005BDA8 +/* 0891F4 800EFD44 0C016F6A */ jal get_collider_type_by_id /* 0891F8 800EFD48 00000000 */ nop /* 0891FC 800EFD4C 822300B4 */ lb $v1, 0xb4($s1) /* 089200 800EFD50 304200FF */ andi $v0, $v0, 0xff @@ -22069,7 +22097,7 @@ func_800EFE2C: /* 0893E4 800EFF34 3C018011 */ lui $at, 0x8011 /* 0893E8 800EFF38 C4209484 */ lwc1 $f0, -0x6b7c($at) /* 0893EC 800EFF3C 0000202D */ daddu $a0, $zero, $zero -/* 0893F0 800EFF40 0C01BEB4 */ jal func_8006FAD0 +/* 0893F0 800EFF40 0C01BEB4 */ jal fx_walk_large /* 0893F4 800EFF44 E7A00010 */ swc1 $f0, 0x10($sp) /* 0893F8 800EFF48 0803C08E */ j func_800F0238 /* 0893FC 800EFF4C 00000000 */ nop @@ -22121,7 +22149,7 @@ func_800EFE2C: /* 0894A4 800EFFF4 10A0002C */ beqz $a1, .L800F00A8 /* 0894A8 800EFFF8 A4820000 */ sh $v0, ($a0) /* 0894AC 800EFFFC C60C0080 */ lwc1 $f12, 0x80($s0) -/* 0894B0 800F0000 0C00A6C9 */ jal func_80029B24 +/* 0894B0 800F0000 0C00A6C9 */ jal clamp_angle /* 0894B4 800F0004 00000000 */ nop /* 0894B8 800F0008 3C0140C9 */ lui $at, 0x40c9 /* 0894BC 800F000C 34210FD0 */ ori $at, $at, 0xfd0 @@ -22133,7 +22161,7 @@ func_800EFE2C: /* 0894D4 800F0024 3C0143B4 */ lui $at, 0x43b4 /* 0894D8 800F0028 44816000 */ mtc1 $at, $f12 /* 0894DC 800F002C 27A6002C */ addiu $a2, $sp, 0x2c -/* 0894E0 800F0030 0C00A82D */ jal func_8002A0B4 +/* 0894E0 800F0030 0C00A82D */ jal sin_cos_rad /* 0894E4 800F0034 460C0303 */ div.s $f12, $f0, $f12 /* 0894E8 800F0038 860200B2 */ lh $v0, 0xb2($s0) /* 0894EC 800F003C C7A40028 */ lwc1 $f4, 0x28($sp) @@ -22169,7 +22197,7 @@ func_800EFE2C: /* 089554 800F00A4 A4800000 */ sh $zero, ($a0) .L800F00A8: /* 089558 800F00A8 C60C0084 */ lwc1 $f12, 0x84($s0) -/* 08955C 800F00AC 0C00A6C9 */ jal func_80029B24 +/* 08955C 800F00AC 0C00A6C9 */ jal clamp_angle /* 089560 800F00B0 46006307 */ neg.s $f12, $f12 /* 089564 800F00B4 3C0140C9 */ lui $at, 0x40c9 /* 089568 800F00B8 34210FD0 */ ori $at, $at, 0xfd0 @@ -22181,7 +22209,7 @@ func_800EFE2C: /* 089580 800F00D0 3C0143B4 */ lui $at, 0x43b4 /* 089584 800F00D4 44816000 */ mtc1 $at, $f12 /* 089588 800F00D8 27A6002C */ addiu $a2, $sp, 0x2c -/* 08958C 800F00DC 0C00A82D */ jal func_8002A0B4 +/* 08958C 800F00DC 0C00A82D */ jal sin_cos_rad /* 089590 800F00E0 460C0303 */ div.s $f12, $f0, $f12 /* 089594 800F00E4 860200B2 */ lh $v0, 0xb2($s0) /* 089598 800F00E8 C7AA0028 */ lwc1 $f10, 0x28($sp) @@ -22215,13 +22243,13 @@ func_800EFE2C: /* 089608 800F0158 44070000 */ mfc1 $a3, $f0 /* 08960C 800F015C 0000202D */ daddu $a0, $zero, $zero /* 089610 800F0160 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 089614 800F0164 0C01BECC */ jal func_8006FB30 +/* 089614 800F0164 0C01BECC */ jal fx_walk_normal /* 089618 800F0168 E7A80014 */ swc1 $f8, 0x14($sp) /* 08961C 800F016C 0803C08E */ j func_800F0238 /* 089620 800F0170 00000000 */ nop .L800F0174: -/* 089624 800F0174 0C00A6C9 */ jal func_80029B24 +/* 089624 800F0174 0C00A6C9 */ jal clamp_angle /* 089628 800F0178 C60C0080 */ lwc1 $f12, 0x80($s0) /* 08962C 800F017C 3C0140C9 */ lui $at, 0x40c9 /* 089630 800F0180 34210FD0 */ ori $at, $at, 0xfd0 @@ -22233,7 +22261,7 @@ func_800EFE2C: /* 089648 800F0198 3C0143B4 */ lui $at, 0x43b4 /* 08964C 800F019C 44816000 */ mtc1 $at, $f12 /* 089650 800F01A0 27A6002C */ addiu $a2, $sp, 0x2c -/* 089654 800F01A4 0C00A82D */ jal func_8002A0B4 +/* 089654 800F01A4 0C00A82D */ jal sin_cos_rad /* 089658 800F01A8 460C0303 */ div.s $f12, $f0, $f12 /* 08965C 800F01AC C6060054 */ lwc1 $f6, 0x54($s0) /* 089660 800F01B0 C7A40028 */ lwc1 $f4, 0x28($sp) @@ -22314,7 +22342,7 @@ func_800F0248: /* 089774 800F02C4 C6000000 */ lwc1 $f0, ($s0) /* 089778 800F02C8 3C01420C */ lui $at, 0x420c /* 08977C 800F02CC 44816000 */ mtc1 $at, $f12 -/* 089780 800F02D0 0C00A6C9 */ jal func_80029B24 +/* 089780 800F02D0 0C00A6C9 */ jal clamp_angle /* 089784 800F02D4 460C0300 */ add.s $f12, $f0, $f12 /* 089788 800F02D8 E6000000 */ swc1 $f0, ($s0) /* 08978C 800F02DC 0803C11C */ j func_800F0470 @@ -22358,7 +22386,7 @@ func_800F0248: /* 089810 800F0360 A4830000 */ sh $v1, ($a0) /* 089814 800F0364 C60C0084 */ lwc1 $f12, 0x84($s0) /* 089818 800F0368 A4800000 */ sh $zero, ($a0) -/* 08981C 800F036C 0C00A6C9 */ jal func_80029B24 +/* 08981C 800F036C 0C00A6C9 */ jal clamp_angle /* 089820 800F0370 46006307 */ neg.s $f12, $f12 /* 089824 800F0374 3C0140C9 */ lui $at, 0x40c9 /* 089828 800F0378 34210FD0 */ ori $at, $at, 0xfd0 @@ -22370,7 +22398,7 @@ func_800F0248: /* 089840 800F0390 3C0143B4 */ lui $at, 0x43b4 /* 089844 800F0394 44816000 */ mtc1 $at, $f12 /* 089848 800F0398 27A6001C */ addiu $a2, $sp, 0x1c -/* 08984C 800F039C 0C00A82D */ jal func_8002A0B4 +/* 08984C 800F039C 0C00A82D */ jal sin_cos_rad /* 089850 800F03A0 460C0303 */ div.s $f12, $f0, $f12 /* 089854 800F03A4 860200B2 */ lh $v0, 0xb2($s0) /* 089858 800F03A8 C7A20018 */ lwc1 $f2, 0x18($sp) @@ -22398,7 +22426,7 @@ func_800F0248: /* 0898B0 800F0400 3C014178 */ lui $at, 0x4178 /* 0898B4 800F0404 44810000 */ mtc1 $at, $f0 /* 0898B8 800F0408 2404000A */ addiu $a0, $zero, 0xa -/* 0898BC 800F040C 0C00A67F */ jal func_800299FC +/* 0898BC 800F040C 0C00A67F */ jal rand_int /* 0898C0 800F0410 46001500 */ add.s $f20, $f2, $f0 /* 0898C4 800F0414 0000202D */ daddu $a0, $zero, $zero /* 0898C8 800F0418 44821000 */ mtc1 $v0, $f2 @@ -22500,17 +22528,17 @@ func_800F0490: /* 089A2C 800F057C 3C01BE99 */ lui $at, 0xbe99 /* 089A30 800F0580 3421999A */ ori $at, $at, 0x999a /* 089A34 800F0584 4481D000 */ mtc1 $at, $f26 -/* 089A38 800F0588 0C00A6C9 */ jal func_80029B24 +/* 089A38 800F0588 0C00A6C9 */ jal clamp_angle /* 089A3C 800F058C 0260902D */ daddu $s2, $s3, $zero /* 089A40 800F0590 E6000000 */ swc1 $f0, ($s0) func_800F0594: -/* 089A44 800F0594 0C00A67F */ jal func_800299FC +/* 089A44 800F0594 0C00A67F */ jal rand_int /* 089A48 800F0598 2404000A */ addiu $a0, $zero, 0xa /* 089A4C 800F059C 2442FFFB */ addiu $v0, $v0, -5 /* 089A50 800F05A0 4482B000 */ mtc1 $v0, $f22 /* 089A54 800F05A4 00000000 */ nop /* 089A58 800F05A8 4680B5A0 */ cvt.s.w $f22, $f22 -/* 089A5C 800F05AC 0C00A67F */ jal func_800299FC +/* 089A5C 800F05AC 0C00A67F */ jal rand_int /* 089A60 800F05B0 2404000A */ addiu $a0, $zero, 0xa /* 089A64 800F05B4 4616B082 */ mul.s $f2, $f22, $f22 /* 089A68 800F05B8 00000000 */ nop @@ -22534,7 +22562,7 @@ func_800F0594: /* 089AB0 800F0600 3C018011 */ lui $at, 0x8011 /* 089AB4 800F0604 A420949C */ sh $zero, -0x6b64($at) /* 089AB8 800F0608 46001083 */ div.s $f2, $f2, $f0 -/* 089ABC 800F060C 0C00A6C9 */ jal func_80029B24 +/* 089ABC 800F060C 0C00A6C9 */ jal clamp_angle /* 089AC0 800F0610 4602A501 */ sub.s $f20, $f20, $f2 /* 089AC4 800F0614 3C0140C9 */ lui $at, 0x40c9 /* 089AC8 800F0618 34210FD0 */ ori $at, $at, 0xfd0 @@ -22546,7 +22574,7 @@ func_800F0594: /* 089AE0 800F0630 3C0143B4 */ lui $at, 0x43b4 /* 089AE4 800F0634 44816000 */ mtc1 $at, $f12 /* 089AE8 800F0638 27A60014 */ addiu $a2, $sp, 0x14 -/* 089AEC 800F063C 0C00A82D */ jal func_8002A0B4 +/* 089AEC 800F063C 0C00A82D */ jal sin_cos_rad /* 089AF0 800F0640 460C0303 */ div.s $f12, $f0, $f12 /* 089AF4 800F0644 862200B2 */ lh $v0, 0xb2($s1) /* 089AF8 800F0648 C7A40010 */ lwc1 $f4, 0x10($sp) @@ -22603,13 +22631,13 @@ func_800F0594: /* 089BBC 800F070C A420949C */ sh $zero, -0x6b64($at) .L800F0710: -/* 089BC0 800F0710 0C00A67F */ jal func_800299FC +/* 089BC0 800F0710 0C00A67F */ jal rand_int /* 089BC4 800F0714 2404000A */ addiu $a0, $zero, 0xa /* 089BC8 800F0718 2442FFFB */ addiu $v0, $v0, -5 /* 089BCC 800F071C 4482C000 */ mtc1 $v0, $f24 /* 089BD0 800F0720 00000000 */ nop /* 089BD4 800F0724 4680C620 */ cvt.s.w $f24, $f24 -/* 089BD8 800F0728 0C00A67F */ jal func_800299FC +/* 089BD8 800F0728 0C00A67F */ jal rand_int /* 089BDC 800F072C 2404000A */ addiu $a0, $zero, 0xa /* 089BE0 800F0730 4618C002 */ mul.s $f0, $f24, $f24 /* 089BE4 800F0734 00000000 */ nop @@ -22629,7 +22657,7 @@ func_800F0594: /* 089C1C 800F076C 44811000 */ mtc1 $at, $f2 /* 089C20 800F0770 46006307 */ neg.s $f12, $f12 /* 089C24 800F0774 46020003 */ div.s $f0, $f0, $f2 -/* 089C28 800F0778 0C00A6C9 */ jal func_80029B24 +/* 089C28 800F0778 0C00A6C9 */ jal clamp_angle /* 089C2C 800F077C 4600A501 */ sub.s $f20, $f20, $f0 /* 089C30 800F0780 3C0140C9 */ lui $at, 0x40c9 /* 089C34 800F0784 34210FD0 */ ori $at, $at, 0xfd0 @@ -22641,7 +22669,7 @@ func_800F0594: /* 089C4C 800F079C 3C0143B4 */ lui $at, 0x43b4 /* 089C50 800F07A0 44816000 */ mtc1 $at, $f12 /* 089C54 800F07A4 27A60014 */ addiu $a2, $sp, 0x14 -/* 089C58 800F07A8 0C00A82D */ jal func_8002A0B4 +/* 089C58 800F07A8 0C00A82D */ jal sin_cos_rad /* 089C5C 800F07AC 460C0303 */ div.s $f12, $f0, $f12 /* 089C60 800F07B0 862200B2 */ lh $v0, 0xb2($s1) /* 089C64 800F07B4 C7A60010 */ lwc1 $f6, 0x10($sp) @@ -22736,7 +22764,7 @@ func_800F0864: /* 089DA8 800F08F8 A4830000 */ sh $v1, ($a0) /* 089DAC 800F08FC C62C0084 */ lwc1 $f12, 0x84($s1) /* 089DB0 800F0900 A4800000 */ sh $zero, ($a0) -/* 089DB4 800F0904 0C00A6C9 */ jal func_80029B24 +/* 089DB4 800F0904 0C00A6C9 */ jal clamp_angle /* 089DB8 800F0908 46006307 */ neg.s $f12, $f12 /* 089DBC 800F090C 3C0140C9 */ lui $at, 0x40c9 /* 089DC0 800F0910 34210FD0 */ ori $at, $at, 0xfd0 @@ -22748,7 +22776,7 @@ func_800F0864: /* 089DD8 800F0928 3C0143B4 */ lui $at, 0x43b4 /* 089DDC 800F092C 44816000 */ mtc1 $at, $f12 /* 089DE0 800F0930 27A50018 */ addiu $a1, $sp, 0x18 -/* 089DE4 800F0934 0C00A82D */ jal func_8002A0B4 +/* 089DE4 800F0934 0C00A82D */ jal sin_cos_rad /* 089DE8 800F0938 460C0303 */ div.s $f12, $f0, $f12 /* 089DEC 800F093C 862200B2 */ lh $v0, 0xb2($s1) /* 089DF0 800F0940 C7A40018 */ lwc1 $f4, 0x18($sp) @@ -22841,7 +22869,7 @@ func_800F09EC: /* 089F2C 800F0A7C A4830000 */ sh $v1, ($a0) /* 089F30 800F0A80 C60C0084 */ lwc1 $f12, 0x84($s0) /* 089F34 800F0A84 A4800000 */ sh $zero, ($a0) -/* 089F38 800F0A88 0C00A6C9 */ jal func_80029B24 +/* 089F38 800F0A88 0C00A6C9 */ jal clamp_angle /* 089F3C 800F0A8C 46006307 */ neg.s $f12, $f12 /* 089F40 800F0A90 3C0140C9 */ lui $at, 0x40c9 /* 089F44 800F0A94 34210FD0 */ ori $at, $at, 0xfd0 @@ -22853,7 +22881,7 @@ func_800F09EC: /* 089F5C 800F0AAC 3C0143B4 */ lui $at, 0x43b4 /* 089F60 800F0AB0 44816000 */ mtc1 $at, $f12 /* 089F64 800F0AB4 27A60014 */ addiu $a2, $sp, 0x14 -/* 089F68 800F0AB8 0C00A82D */ jal func_8002A0B4 +/* 089F68 800F0AB8 0C00A82D */ jal sin_cos_rad /* 089F6C 800F0ABC 460C0303 */ div.s $f12, $f0, $f12 /* 089F70 800F0AC0 860200B2 */ lh $v0, 0xb2($s0) /* 089F74 800F0AC4 C7A40010 */ lwc1 $f4, 0x10($sp) @@ -22933,7 +22961,7 @@ func_800F0B3C: /* 08A07C 800F0BCC A4830000 */ sh $v1, ($a0) /* 08A080 800F0BD0 C60C0084 */ lwc1 $f12, 0x84($s0) /* 08A084 800F0BD4 A4800000 */ sh $zero, ($a0) -/* 08A088 800F0BD8 0C00A6C9 */ jal func_80029B24 +/* 08A088 800F0BD8 0C00A6C9 */ jal clamp_angle /* 08A08C 800F0BDC 46006307 */ neg.s $f12, $f12 /* 08A090 800F0BE0 3C0140C9 */ lui $at, 0x40c9 /* 08A094 800F0BE4 34210FD0 */ ori $at, $at, 0xfd0 @@ -22945,7 +22973,7 @@ func_800F0B3C: /* 08A0AC 800F0BFC 3C0143B4 */ lui $at, 0x43b4 /* 08A0B0 800F0C00 44816000 */ mtc1 $at, $f12 /* 08A0B4 800F0C04 27A6001C */ addiu $a2, $sp, 0x1c -/* 08A0B8 800F0C08 0C00A82D */ jal func_8002A0B4 +/* 08A0B8 800F0C08 0C00A82D */ jal sin_cos_rad /* 08A0BC 800F0C0C 460C0303 */ div.s $f12, $f0, $f12 /* 08A0C0 800F0C10 860200B2 */ lh $v0, 0xb2($s0) /* 08A0C4 800F0C14 C7A40018 */ lwc1 $f4, 0x18($sp) @@ -23150,17 +23178,17 @@ func_800F0E74: /* 08A38C 800F0EDC 462010A0 */ cvt.s.d $f2, $f2 /* 08A390 800F0EE0 E602FFF8 */ swc1 $f2, -8($s0) /* 08A394 800F0EE4 46200020 */ cvt.s.d $f0, $f0 -/* 08A398 800F0EE8 0C00A67F */ jal func_800299FC +/* 08A398 800F0EE8 0C00A67F */ jal rand_int /* 08A39C 800F0EEC E600FFFC */ swc1 $f0, -4($s0) /* 08A3A0 800F0EF0 A202FFEB */ sb $v0, -0x15($s0) /* 08A3A4 800F0EF4 304400FF */ andi $a0, $v0, 0xff -/* 08A3A8 800F0EF8 0C00A67F */ jal func_800299FC +/* 08A3A8 800F0EF8 0C00A67F */ jal rand_int /* 08A3AC 800F0EFC 02C42023 */ subu $a0, $s6, $a0 /* 08A3B0 800F0F00 A202FFEC */ sb $v0, -0x14($s0) /* 08A3B4 800F0F04 304400FF */ andi $a0, $v0, 0xff /* 08A3B8 800F0F08 9202FFEB */ lbu $v0, -0x15($s0) /* 08A3BC 800F0F0C 02C42023 */ subu $a0, $s6, $a0 -/* 08A3C0 800F0F10 0C00A67F */ jal func_800299FC +/* 08A3C0 800F0F10 0C00A67F */ jal rand_int /* 08A3C4 800F0F14 00822023 */ subu $a0, $a0, $v0 /* 08A3C8 800F0F18 9203FFEB */ lbu $v1, -0x15($s0) /* 08A3CC 800F0F1C A202FFED */ sb $v0, -0x13($s0) @@ -23584,23 +23612,23 @@ func_800F1538: /* 08A9F0 800F1540 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 08A9F4 800F1544 AFBF0018 */ sw $ra, 0x18($sp) /* 08A9F8 800F1548 AFB10014 */ sw $s1, 0x14($sp) -/* 08A9FC 800F154C 0C05123D */ jal func_801448F4 +/* 08A9FC 800F154C 0C05123D */ jal free_icon /* 08AA00 800F1550 AFB00010 */ sw $s0, 0x10($sp) /* 08AA04 800F1554 3C048011 */ lui $a0, 0x8011 /* 08AA08 800F1558 8C84D678 */ lw $a0, -0x2988($a0) -/* 08AA0C 800F155C 0C05123D */ jal func_801448F4 +/* 08AA0C 800F155C 0C05123D */ jal free_icon /* 08AA10 800F1560 00000000 */ nop /* 08AA14 800F1564 3C048011 */ lui $a0, 0x8011 /* 08AA18 800F1568 8C84D66C */ lw $a0, -0x2994($a0) -/* 08AA1C 800F156C 0C05123D */ jal func_801448F4 +/* 08AA1C 800F156C 0C05123D */ jal free_icon /* 08AA20 800F1570 00000000 */ nop /* 08AA24 800F1574 3C048011 */ lui $a0, 0x8011 /* 08AA28 800F1578 8C84D670 */ lw $a0, -0x2990($a0) -/* 08AA2C 800F157C 0C05123D */ jal func_801448F4 +/* 08AA2C 800F157C 0C05123D */ jal free_icon /* 08AA30 800F1580 00000000 */ nop /* 08AA34 800F1584 3C048011 */ lui $a0, 0x8011 /* 08AA38 800F1588 8C84D674 */ lw $a0, -0x298c($a0) -/* 08AA3C 800F158C 0C05123D */ jal func_801448F4 +/* 08AA3C 800F158C 0C05123D */ jal free_icon /* 08AA40 800F1590 00000000 */ nop /* 08AA44 800F1594 3C108011 */ lui $s0, 0x8011 /* 08AA48 800F1598 2610D69C */ addiu $s0, $s0, -0x2964 @@ -23611,11 +23639,11 @@ func_800F1538: /* 08AA5C 800F15AC 00000000 */ nop /* 08AA60 800F15B0 3C048011 */ lui $a0, 0x8011 /* 08AA64 800F15B4 8C84D660 */ lw $a0, -0x29a0($a0) -/* 08AA68 800F15B8 0C05123D */ jal func_801448F4 +/* 08AA68 800F15B8 0C05123D */ jal free_icon /* 08AA6C 800F15BC 00000000 */ nop /* 08AA70 800F15C0 3C048011 */ lui $a0, 0x8011 /* 08AA74 800F15C4 8C84D664 */ lw $a0, -0x299c($a0) -/* 08AA78 800F15C8 0C05123D */ jal func_801448F4 +/* 08AA78 800F15C8 0C05123D */ jal free_icon /* 08AA7C 800F15CC 00000000 */ nop .L800F15D0: /* 08AA80 800F15D0 8E020000 */ lw $v0, ($s0) @@ -23625,11 +23653,11 @@ func_800F1538: /* 08AA90 800F15E0 00000000 */ nop /* 08AA94 800F15E4 3C048011 */ lui $a0, 0x8011 /* 08AA98 800F15E8 8C84D660 */ lw $a0, -0x29a0($a0) -/* 08AA9C 800F15EC 0C05123D */ jal func_801448F4 +/* 08AA9C 800F15EC 0C05123D */ jal free_icon /* 08AAA0 800F15F0 00000000 */ nop /* 08AAA4 800F15F4 3C048011 */ lui $a0, 0x8011 /* 08AAA8 800F15F8 8C84D664 */ lw $a0, -0x299c($a0) -/* 08AAAC 800F15FC 0C05123D */ jal func_801448F4 +/* 08AAAC 800F15FC 0C05123D */ jal free_icon /* 08AAB0 800F1600 00000000 */ nop .L800F1604: /* 08AAB4 800F1604 8E020000 */ lw $v0, ($s0) @@ -23642,7 +23670,7 @@ func_800F1538: .L800F1620: /* 08AAD0 800F1620 3C048011 */ lui $a0, 0x8011 /* 08AAD4 800F1624 8C84D668 */ lw $a0, -0x2998($a0) -/* 08AAD8 800F1628 0C05123D */ jal func_801448F4 +/* 08AAD8 800F1628 0C05123D */ jal free_icon /* 08AADC 800F162C 00000000 */ nop .L800F1630: /* 08AAE0 800F1630 3C108011 */ lui $s0, 0x8011 @@ -23654,7 +23682,7 @@ func_800F1538: /* 08AAF8 800F1648 00000000 */ nop /* 08AAFC 800F164C 3C048011 */ lui $a0, 0x8011 /* 08AB00 800F1650 8C84D660 */ lw $a0, -0x29a0($a0) -/* 08AB04 800F1654 0C05123D */ jal func_801448F4 +/* 08AB04 800F1654 0C05123D */ jal free_icon /* 08AB08 800F1658 00000000 */ nop .L800F165C: /* 08AB0C 800F165C 8E020000 */ lw $v0, ($s0) @@ -23723,7 +23751,7 @@ func_800F1538: /* 08ABF4 800F1744 0200282D */ daddu $a1, $s0, $zero /* 08ABF8 800F1748 24040002 */ addiu $a0, $zero, 2 func_800F174C: -/* 08ABFC 800F174C 0C05272D */ jal func_80149CB4 +/* 08ABFC 800F174C 0C05272D */ jal play_sound /* 08AC00 800F1750 00000000 */ nop /* 08AC04 800F1754 24040013 */ addiu $a0, $zero, 0x13 /* 08AC08 800F1758 0C051F9F */ jal func_80147E7C @@ -23735,7 +23763,7 @@ func_800F174C: /* 08AC1C 800F176C 24A57474 */ addiu $a1, $a1, 0x7474 /* 08AC20 800F1770 0C051F9F */ jal func_80147E7C /* 08AC24 800F1774 2404000E */ addiu $a0, $zero, 0xe -/* 08AC28 800F1778 0C05272D */ jal func_80149CB4 +/* 08AC28 800F1778 0C05272D */ jal play_sound /* 08AC2C 800F177C 24040001 */ addiu $a0, $zero, 1 .L800F1780: /* 08AC30 800F1780 24040015 */ addiu $a0, $zero, 0x15 @@ -23904,7 +23932,7 @@ func_800F17F0: /* 08AE7C 800F19CC 8C84D66C */ lw $a0, -0x2994($a0) /* 08AE80 800F19D0 3C058010 */ lui $a1, 0x8010 /* 08AE84 800F19D4 24A54A28 */ addiu $a1, $a1, 0x4a28 -/* 08AE88 800F19D8 0C0511FF */ jal func_801447FC +/* 08AE88 800F19D8 0C0511FF */ jal set_menu_icon_script /* 08AE8C 800F19DC 00000000 */ nop /* 08AE90 800F19E0 8FBF001C */ lw $ra, 0x1c($sp) /* 08AE94 800F19E4 8FB20018 */ lw $s2, 0x18($sp) @@ -23987,13 +24015,13 @@ func_800F1A10: /* 08AFB8 800F1B08 2484790C */ addiu $a0, $a0, 0x790c /* 08AFBC 800F1B0C 3C018011 */ lui $at, 0x8011 /* 08AFC0 800F1B10 A420D68C */ sh $zero, -0x2974($at) -/* 08AFC4 800F1B14 0C050529 */ jal func_801414A4 +/* 08AFC4 800F1B14 0C050529 */ jal create_icon /* 08AFC8 800F1B18 00000000 */ nop /* 08AFCC 800F1B1C 0040802D */ daddu $s0, $v0, $zero /* 08AFD0 800F1B20 0200202D */ daddu $a0, $s0, $zero /* 08AFD4 800F1B24 3C018011 */ lui $at, 0x8011 /* 08AFD8 800F1B28 AC30D65C */ sw $s0, -0x29a4($at) -/* 08AFDC 800F1B2C 0C051280 */ jal func_80144A00 +/* 08AFDC 800F1B2C 0C051280 */ jal set_icon_flags /* 08AFE0 800F1B30 24050080 */ addiu $a1, $zero, 0x80 /* 08AFE4 800F1B34 0200202D */ daddu $a0, $s0, $zero /* 08AFE8 800F1B38 240500FF */ addiu $a1, $zero, 0xff @@ -24008,12 +24036,12 @@ func_800F1A10: /* 08B00C 800F1B5C 10620004 */ beq $v1, $v0, .L800F1B70 /* 08B010 800F1B60 00000000 */ nop /* 08B014 800F1B64 0200202D */ daddu $a0, $s0, $zero -/* 08B018 800F1B68 0C051280 */ jal func_80144A00 +/* 08B018 800F1B68 0C051280 */ jal set_icon_flags /* 08B01C 800F1B6C 0040282D */ daddu $a1, $v0, $zero .L800F1B70: /* 08B020 800F1B70 8E220000 */ lw $v0, ($s1) /* 08B024 800F1B74 8C440000 */ lw $a0, ($v0) -/* 08B028 800F1B78 0C050529 */ jal func_801414A4 +/* 08B028 800F1B78 0C050529 */ jal create_icon /* 08B02C 800F1B7C 24130001 */ addiu $s3, $zero, 1 /* 08B030 800F1B80 0040802D */ daddu $s0, $v0, $zero /* 08B034 800F1B84 3C053EE6 */ lui $a1, 0x3ee6 @@ -24023,40 +24051,40 @@ func_800F1A10: /* 08B044 800F1B94 0C051308 */ jal func_80144C20 /* 08B048 800F1B98 0200202D */ daddu $a0, $s0, $zero /* 08B04C 800F1B9C 0200202D */ daddu $a0, $s0, $zero -/* 08B050 800F1BA0 0C051280 */ jal func_80144A00 +/* 08B050 800F1BA0 0C051280 */ jal set_icon_flags /* 08B054 800F1BA4 34058080 */ ori $a1, $zero, 0x8080 /* 08B058 800F1BA8 3C048010 */ lui $a0, 0x8010 /* 08B05C 800F1BAC 24844A28 */ addiu $a0, $a0, 0x4a28 -/* 08B060 800F1BB0 0C050529 */ jal func_801414A4 +/* 08B060 800F1BB0 0C050529 */ jal create_icon /* 08B064 800F1BB4 00000000 */ nop /* 08B068 800F1BB8 0040802D */ daddu $s0, $v0, $zero /* 08B06C 800F1BBC 0200202D */ daddu $a0, $s0, $zero /* 08B070 800F1BC0 3C052000 */ lui $a1, 0x2000 /* 08B074 800F1BC4 3C018011 */ lui $at, 0x8011 /* 08B078 800F1BC8 AC24D66C */ sw $a0, -0x2994($at) -/* 08B07C 800F1BCC 0C051280 */ jal func_80144A00 +/* 08B07C 800F1BCC 0C051280 */ jal set_icon_flags /* 08B080 800F1BD0 34A50080 */ ori $a1, $a1, 0x80 /* 08B084 800F1BD4 3C048010 */ lui $a0, 0x8010 /* 08B088 800F1BD8 248477E4 */ addiu $a0, $a0, 0x77e4 -/* 08B08C 800F1BDC 0C050529 */ jal func_801414A4 +/* 08B08C 800F1BDC 0C050529 */ jal create_icon /* 08B090 800F1BE0 00000000 */ nop /* 08B094 800F1BE4 0040802D */ daddu $s0, $v0, $zero /* 08B098 800F1BE8 0200202D */ daddu $a0, $s0, $zero /* 08B09C 800F1BEC 3C052000 */ lui $a1, 0x2000 /* 08B0A0 800F1BF0 3C018011 */ lui $at, 0x8011 /* 08B0A4 800F1BF4 AC24D670 */ sw $a0, -0x2990($at) -/* 08B0A8 800F1BF8 0C051280 */ jal func_80144A00 +/* 08B0A8 800F1BF8 0C051280 */ jal set_icon_flags /* 08B0AC 800F1BFC 34A50080 */ ori $a1, $a1, 0x80 /* 08B0B0 800F1C00 3C048010 */ lui $a0, 0x8010 /* 08B0B4 800F1C04 24847798 */ addiu $a0, $a0, 0x7798 -/* 08B0B8 800F1C08 0C050529 */ jal func_801414A4 +/* 08B0B8 800F1C08 0C050529 */ jal create_icon /* 08B0BC 800F1C0C 00000000 */ nop /* 08B0C0 800F1C10 0040802D */ daddu $s0, $v0, $zero /* 08B0C4 800F1C14 0200202D */ daddu $a0, $s0, $zero /* 08B0C8 800F1C18 3C052000 */ lui $a1, 0x2000 /* 08B0CC 800F1C1C 3C018011 */ lui $at, 0x8011 /* 08B0D0 800F1C20 AC24D674 */ sw $a0, -0x298c($at) -/* 08B0D4 800F1C24 0C051280 */ jal func_80144A00 +/* 08B0D4 800F1C24 0C051280 */ jal set_icon_flags /* 08B0D8 800F1C28 34A50080 */ ori $a1, $a1, 0x80 /* 08B0DC 800F1C2C 8E220000 */ lw $v0, ($s1) /* 08B0E0 800F1C30 8C430318 */ lw $v1, 0x318($v0) @@ -24065,13 +24093,13 @@ func_800F1A10: /* 08B0EC 800F1C3C 00000000 */ nop /* 08B0F0 800F1C40 3C048010 */ lui $a0, 0x8010 /* 08B0F4 800F1C44 24844C10 */ addiu $a0, $a0, 0x4c10 -/* 08B0F8 800F1C48 0C050529 */ jal func_801414A4 +/* 08B0F8 800F1C48 0C050529 */ jal create_icon /* 08B0FC 800F1C4C 00000000 */ nop /* 08B100 800F1C50 3C018011 */ lui $at, 0x8011 /* 08B104 800F1C54 AC22D660 */ sw $v0, -0x29a0($at) /* 08B108 800F1C58 0040802D */ daddu $s0, $v0, $zero /* 08B10C 800F1C5C 0040202D */ daddu $a0, $v0, $zero -/* 08B110 800F1C60 0C051280 */ jal func_80144A00 +/* 08B110 800F1C60 0C051280 */ jal set_icon_flags /* 08B114 800F1C64 24050080 */ addiu $a1, $zero, 0x80 /* 08B118 800F1C68 0200202D */ daddu $a0, $s0, $zero /* 08B11C 800F1C6C 240500FF */ addiu $a1, $zero, 0xff @@ -24086,13 +24114,13 @@ func_800F1A10: /* 08B13C 800F1C8C 00000000 */ nop /* 08B140 800F1C90 3C048010 */ lui $a0, 0x8010 /* 08B144 800F1C94 24844C10 */ addiu $a0, $a0, 0x4c10 -/* 08B148 800F1C98 0C050529 */ jal func_801414A4 +/* 08B148 800F1C98 0C050529 */ jal create_icon /* 08B14C 800F1C9C 00000000 */ nop /* 08B150 800F1CA0 3C018011 */ lui $at, 0x8011 /* 08B154 800F1CA4 AC22D660 */ sw $v0, -0x29a0($at) /* 08B158 800F1CA8 0040802D */ daddu $s0, $v0, $zero /* 08B15C 800F1CAC 0040202D */ daddu $a0, $v0, $zero -/* 08B160 800F1CB0 0C051280 */ jal func_80144A00 +/* 08B160 800F1CB0 0C051280 */ jal set_icon_flags /* 08B164 800F1CB4 34058080 */ ori $a1, $zero, 0x8080 /* 08B168 800F1CB8 0200202D */ daddu $a0, $s0, $zero /* 08B16C 800F1CBC 240500FF */ addiu $a1, $zero, 0xff @@ -24107,13 +24135,13 @@ func_800F1A10: /* 08B18C 800F1CDC 00000000 */ nop /* 08B190 800F1CE0 3C048011 */ lui $a0, 0x8011 /* 08B194 800F1CE4 24848558 */ addiu $a0, $a0, -0x7aa8 -/* 08B198 800F1CE8 0C050529 */ jal func_801414A4 +/* 08B198 800F1CE8 0C050529 */ jal create_icon /* 08B19C 800F1CEC 00000000 */ nop /* 08B1A0 800F1CF0 3C018011 */ lui $at, 0x8011 /* 08B1A4 800F1CF4 AC22D660 */ sw $v0, -0x29a0($at) /* 08B1A8 800F1CF8 0040802D */ daddu $s0, $v0, $zero /* 08B1AC 800F1CFC 0040202D */ daddu $a0, $v0, $zero -/* 08B1B0 800F1D00 0C051280 */ jal func_80144A00 +/* 08B1B0 800F1D00 0C051280 */ jal set_icon_flags /* 08B1B4 800F1D04 24050080 */ addiu $a1, $zero, 0x80 /* 08B1B8 800F1D08 0200202D */ daddu $a0, $s0, $zero /* 08B1BC 800F1D0C 240500FF */ addiu $a1, $zero, 0xff @@ -24129,13 +24157,13 @@ func_800F1A10: /* 08B1E0 800F1D30 00000000 */ nop /* 08B1E4 800F1D34 3C048011 */ lui $a0, 0x8011 /* 08B1E8 800F1D38 24849270 */ addiu $a0, $a0, -0x6d90 -/* 08B1EC 800F1D3C 0C050529 */ jal func_801414A4 +/* 08B1EC 800F1D3C 0C050529 */ jal create_icon /* 08B1F0 800F1D40 00000000 */ nop /* 08B1F4 800F1D44 3C018011 */ lui $at, 0x8011 /* 08B1F8 800F1D48 AC22D664 */ sw $v0, -0x299c($at) /* 08B1FC 800F1D4C 0040802D */ daddu $s0, $v0, $zero /* 08B200 800F1D50 0040202D */ daddu $a0, $v0, $zero -/* 08B204 800F1D54 0C051280 */ jal func_80144A00 +/* 08B204 800F1D54 0C051280 */ jal set_icon_flags /* 08B208 800F1D58 24050080 */ addiu $a1, $zero, 0x80 /* 08B20C 800F1D5C 0200202D */ daddu $a0, $s0, $zero /* 08B210 800F1D60 240500FF */ addiu $a1, $zero, 0xff @@ -24151,13 +24179,13 @@ func_800F1A10: /* 08B234 800F1D84 2402FF38 */ addiu $v0, $zero, -0xc8 .L800F1D88: /* 08B238 800F1D88 3C048011 */ lui $a0, 0x8011 -/* 08B23C 800F1D8C 0C050529 */ jal func_801414A4 +/* 08B23C 800F1D8C 0C050529 */ jal create_icon /* 08B240 800F1D90 8C849890 */ lw $a0, -0x6770($a0) /* 08B244 800F1D94 0040802D */ daddu $s0, $v0, $zero /* 08B248 800F1D98 0200202D */ daddu $a0, $s0, $zero /* 08B24C 800F1D9C 3C018011 */ lui $at, 0x8011 /* 08B250 800F1DA0 AC30D668 */ sw $s0, -0x2998($at) -/* 08B254 800F1DA4 0C051280 */ jal func_80144A00 +/* 08B254 800F1DA4 0C051280 */ jal set_icon_flags /* 08B258 800F1DA8 24050080 */ addiu $a1, $zero, 0x80 /* 08B25C 800F1DAC 0200202D */ daddu $a0, $s0, $zero /* 08B260 800F1DB0 240500FF */ addiu $a1, $zero, 0xff @@ -24836,7 +24864,7 @@ func_800F26A4: /* 08BC40 800F2790 0200282D */ daddu $a1, $s0, $zero /* 08BC44 800F2794 24040002 */ addiu $a0, $zero, 2 func_800F2798: -/* 08BC48 800F2798 0C05272D */ jal func_80149CB4 +/* 08BC48 800F2798 0C05272D */ jal play_sound /* 08BC4C 800F279C 00000000 */ nop /* 08BC50 800F27A0 24040013 */ addiu $a0, $zero, 0x13 /* 08BC54 800F27A4 0C051F9F */ jal func_80147E7C @@ -24848,7 +24876,7 @@ func_800F2798: /* 08BC68 800F27B8 24A57474 */ addiu $a1, $a1, 0x7474 /* 08BC6C 800F27BC 0C051F9F */ jal func_80147E7C /* 08BC70 800F27C0 2404000E */ addiu $a0, $zero, 0xe -/* 08BC74 800F27C4 0C05272D */ jal func_80149CB4 +/* 08BC74 800F27C4 0C05272D */ jal play_sound /* 08BC78 800F27C8 24040001 */ addiu $a0, $zero, 1 .L800F27CC: /* 08BC7C 800F27CC 24040015 */ addiu $a0, $zero, 0x15 @@ -24974,7 +25002,7 @@ func_800F27D0: /* 08BE28 800F2978 8E020000 */ lw $v0, ($s0) /* 08BE2C 800F297C 10620004 */ beq $v1, $v0, .L800F2990 /* 08BE30 800F2980 0000302D */ daddu $a2, $zero, $zero -/* 08BE34 800F2984 0C05272D */ jal func_80149CB4 +/* 08BE34 800F2984 0C05272D */ jal play_sound /* 08BE38 800F2988 240400C7 */ addiu $a0, $zero, 0xc7 /* 08BE3C 800F298C 0000302D */ daddu $a2, $zero, $zero .L800F2990: @@ -25061,7 +25089,7 @@ func_800F27D0: /* 08BF6C 800F2ABC 00000000 */ nop .L800F2AC0: -/* 08BF70 800F2AC0 0C05272D */ jal func_80149CB4 +/* 08BF70 800F2AC0 0C05272D */ jal play_sound /* 08BF74 800F2AC4 240400C9 */ addiu $a0, $zero, 0xc9 /* 08BF78 800F2AC8 3C028011 */ lui $v0, 0x8011 /* 08BF7C 800F2ACC 8042D68E */ lb $v0, -0x2972($v0) @@ -25071,7 +25099,7 @@ func_800F27D0: /* 08BF8C 800F2ADC 2402FFFF */ addiu $v0, $zero, -1 .L800F2AE0: -/* 08BF90 800F2AE0 0C05272D */ jal func_80149CB4 +/* 08BF90 800F2AE0 0C05272D */ jal play_sound /* 08BF94 800F2AE4 240400C9 */ addiu $a0, $zero, 0xc9 /* 08BF98 800F2AE8 3C028011 */ lui $v0, 0x8011 /* 08BF9C 800F2AEC 8042D68E */ lb $v0, -0x2972($v0) @@ -25090,7 +25118,7 @@ func_800F2B00: /* 08BFC8 800F2B18 8C42018C */ lw $v0, 0x18c($v0) /* 08BFCC 800F2B1C 10400009 */ beqz $v0, .L800F2B44 /* 08BFD0 800F2B20 24020001 */ addiu $v0, $zero, 1 -/* 08BFD4 800F2B24 0C05272D */ jal func_80149CB4 +/* 08BFD4 800F2B24 0C05272D */ jal play_sound /* 08BFD8 800F2B28 240400C9 */ addiu $a0, $zero, 0xc9 /* 08BFDC 800F2B2C 3C028011 */ lui $v0, 0x8011 /* 08BFE0 800F2B30 8042D68E */ lb $v0, -0x2972($v0) @@ -25103,7 +25131,7 @@ func_800F2B00: /* 08BFF4 800F2B44 8C630318 */ lw $v1, 0x318($v1) /* 08BFF8 800F2B48 14620005 */ bne $v1, $v0, .L800F2B60 /* 08BFFC 800F2B4C 00000000 */ nop -/* 08C000 800F2B50 0C05272D */ jal func_80149CB4 +/* 08C000 800F2B50 0C05272D */ jal play_sound /* 08C004 800F2B54 2404021D */ addiu $a0, $zero, 0x21d /* 08C008 800F2B58 0803CD93 */ j func_800F364C /* 08C00C 800F2B5C 2402001E */ addiu $v0, $zero, 0x1e @@ -25118,7 +25146,7 @@ func_800F2B00: /* 08C028 800F2B78 146202B6 */ bne $v1, $v0, .L800F3654 /* 08C02C 800F2B7C 00000000 */ nop .L800F2B80: -/* 08C030 800F2B80 0C05272D */ jal func_80149CB4 +/* 08C030 800F2B80 0C05272D */ jal play_sound /* 08C034 800F2B84 2404021D */ addiu $a0, $zero, 0x21d /* 08C038 800F2B88 0803CD95 */ j func_800F3654 /* 08C03C 800F2B8C 00000000 */ nop @@ -25162,7 +25190,7 @@ func_800F2BF8: /* 08C0B4 800F2C04 00431024 */ and $v0, $v0, $v1 /* 08C0B8 800F2C08 10400013 */ beqz $v0, .L800F2C58 /* 08C0BC 800F2C0C 00000000 */ nop -/* 08C0C0 800F2C10 0C05272D */ jal func_80149CB4 +/* 08C0C0 800F2C10 0C05272D */ jal play_sound /* 08C0C4 800F2C14 240400CA */ addiu $a0, $zero, 0xca /* 08C0C8 800F2C18 3C028011 */ lui $v0, 0x8011 /* 08C0CC 800F2C1C 8042D698 */ lb $v0, -0x2968($v0) @@ -25211,7 +25239,7 @@ func_800F2C88: /* 08C154 800F2CA4 00431024 */ and $v0, $v0, $v1 /* 08C158 800F2CA8 1040026A */ beqz $v0, .L800F3654 /* 08C15C 800F2CAC 00000000 */ nop -/* 08C160 800F2CB0 0C05272D */ jal func_80149CB4 +/* 08C160 800F2CB0 0C05272D */ jal play_sound /* 08C164 800F2CB4 240400CA */ addiu $a0, $zero, 0xca /* 08C168 800F2CB8 0803CD93 */ j func_800F364C /* 08C16C 800F2CBC 2402FFFA */ addiu $v0, $zero, -6 @@ -25250,7 +25278,7 @@ func_800F2C88: /* 08C1EC 800F2D3C 8E040000 */ lw $a0, ($s0) /* 08C1F0 800F2D40 3C058010 */ lui $a1, 0x8010 /* 08C1F4 800F2D44 24A54A00 */ addiu $a1, $a1, 0x4a00 -/* 08C1F8 800F2D48 0C0511FF */ jal func_801447FC +/* 08C1F8 800F2D48 0C0511FF */ jal set_menu_icon_script /* 08C1FC 800F2D4C 00000000 */ nop /* 08C200 800F2D50 3C108011 */ lui $s0, 0x8011 /* 08C204 800F2D54 2610D69C */ addiu $s0, $s0, -0x2964 @@ -25472,7 +25500,7 @@ func_800F3004: .L800F3064: /* 08C514 800F3064 3C04001D */ lui $a0, 0x1d /* 08C518 800F3068 3484006B */ ori $a0, $a0, 0x6b -/* 08C51C 800F306C 0C04991D */ jal func_80126474 +/* 08C51C 800F306C 0C04991D */ jal get_string_width /* 08C520 800F3070 0000282D */ daddu $a1, $zero, $zero /* 08C524 800F3074 24470017 */ addiu $a3, $v0, 0x17 /* 08C528 800F3078 24040009 */ addiu $a0, $zero, 9 @@ -25582,7 +25610,7 @@ func_800F3004: /* 08C6B0 800F3200 8E040000 */ lw $a0, ($s0) /* 08C6B4 800F3204 3C058010 */ lui $a1, 0x8010 /* 08C6B8 800F3208 24A54A00 */ addiu $a1, $a1, 0x4a00 -/* 08C6BC 800F320C 0C0511FF */ jal func_801447FC +/* 08C6BC 800F320C 0C0511FF */ jal set_menu_icon_script /* 08C6C0 800F3210 00000000 */ nop /* 08C6C4 800F3214 3C108011 */ lui $s0, 0x8011 /* 08C6C8 800F3218 2610D69C */ addiu $s0, $s0, -0x2964 @@ -25687,7 +25715,7 @@ func_800F3354: /* 08C830 800F3380 3C04001D */ lui $a0, 0x1d /* 08C834 800F3384 34840068 */ ori $a0, $a0, 0x68 .L800F3388: -/* 08C838 800F3388 0C04991D */ jal func_80126474 +/* 08C838 800F3388 0C04991D */ jal get_string_width /* 08C83C 800F338C 0000282D */ daddu $a1, $zero, $zero /* 08C840 800F3390 24470017 */ addiu $a3, $v0, 0x17 /* 08C844 800F3394 24040015 */ addiu $a0, $zero, 0x15 @@ -25714,13 +25742,13 @@ func_800F3354: /* 08C898 800F33E8 3C04001E */ lui $a0, 0x1e /* 08C89C 800F33EC 3C058011 */ lui $a1, 0x8011 /* 08C8A0 800F33F0 24A5D6A4 */ addiu $a1, $a1, -0x295c -/* 08C8A4 800F33F4 0C049640 */ jal func_80125900 +/* 08C8A4 800F33F4 0C049640 */ jal load_string /* 08C8A8 800F33F8 3484001D */ ori $a0, $a0, 0x1d /* 08C8AC 800F33FC 0040202D */ daddu $a0, $v0, $zero /* 08C8B0 800F3400 240500A0 */ addiu $a1, $zero, 0xa0 /* 08C8B4 800F3404 3C018011 */ lui $at, 0x8011 /* 08C8B8 800F3408 AC24D6A0 */ sw $a0, -0x2960($at) -/* 08C8BC 800F340C 0C0496AE */ jal func_80125AB8 +/* 08C8BC 800F340C 0C0496AE */ jal clamp_printer_coords /* 08C8C0 800F3410 24060090 */ addiu $a2, $zero, 0x90 /* 08C8C4 800F3414 0803CD93 */ j func_800F364C /* 08C8C8 800F3418 24020065 */ addiu $v0, $zero, 0x65 @@ -25843,7 +25871,7 @@ func_800F3354: /* 08CA7C 800F35CC 8C84D66C */ lw $a0, -0x2994($a0) /* 08CA80 800F35D0 3C058010 */ lui $a1, 0x8010 /* 08CA84 800F35D4 24A54A00 */ addiu $a1, $a1, 0x4a00 -/* 08CA88 800F35D8 0C0511FF */ jal func_801447FC +/* 08CA88 800F35D8 0C0511FF */ jal set_menu_icon_script /* 08CA8C 800F35DC 00000000 */ nop /* 08CA90 800F35E0 8E020000 */ lw $v0, ($s0) /* 08CA94 800F35E4 8C430318 */ lw $v1, 0x318($v0) @@ -26148,7 +26176,7 @@ func_800F3964: /* 08CED4 800F3A24 3C108011 */ lui $s0, 0x8011 /* 08CED8 800F3A28 8E10D65C */ lw $s0, -0x29a4($s0) /* 08CEDC 800F3A2C 25450049 */ addiu $a1, $t2, 0x49 -/* 08CEE0 800F3A30 0C051261 */ jal func_80144984 +/* 08CEE0 800F3A30 0C051261 */ jal set_icon_render_pos /* 08CEE4 800F3A34 0200202D */ daddu $a0, $s0, $zero /* 08CEE8 800F3A38 3C058011 */ lui $a1, 0x8011 /* 08CEEC 800F3A3C 8CA5D650 */ lw $a1, -0x29b0($a1) @@ -26366,7 +26394,7 @@ func_800F3964: .L800F3D58: /* 08D208 800F3D58 8C640108 */ lw $a0, 0x108($v1) /* 08D20C 800F3D5C 0000282D */ daddu $a1, $zero, $zero -/* 08D210 800F3D60 0C0496FA */ jal func_80125BE8 +/* 08D210 800F3D60 0C0496FA */ jal set_message_value /* 08D214 800F3D64 24840001 */ addiu $a0, $a0, 1 /* 08D218 800F3D68 3C04001D */ lui $a0, 0x1d /* 08D21C 800F3D6C 348400CD */ ori $a0, $a0, 0xcd @@ -26398,7 +26426,7 @@ func_800F3964: /* 08D27C 800F3DCC AFB00010 */ sw $s0, 0x10($sp) /* 08D280 800F3DD0 AFAA0014 */ sw $t2, 0x14($sp) func_800F3DD4: -/* 08D284 800F3DD4 0C04993B */ jal func_801264EC +/* 08D284 800F3DD4 0C04993B */ jal draw_string /* 08D288 800F3DD8 00000000 */ nop .L800F3DDC: /* 08D28C 800F3DDC 3C048011 */ lui $a0, 0x8011 @@ -26449,7 +26477,7 @@ func_800F3DD4: .L800F3E74: /* 08D324 800F3E74 8EA50000 */ lw $a1, ($s5) func_800F3E78: -/* 08D328 800F3E78 0C0511FF */ jal func_801447FC +/* 08D328 800F3E78 0C0511FF */ jal set_menu_icon_script /* 08D32C 800F3E7C 0200202D */ daddu $a0, $s0, $zero /* 08D330 800F3E80 3C028011 */ lui $v0, 0x8011 /* 08D334 800F3E84 8C42D69C */ lw $v0, -0x2964($v0) @@ -26467,7 +26495,7 @@ func_800F3E78: /* 08D35C 800F3EAC 2626000A */ addiu $a2, $s1, 0xa /* 08D360 800F3EB0 01772821 */ addu $a1, $t3, $s7 func_800F3EB4: -/* 08D364 800F3EB4 0C051261 */ jal func_80144984 +/* 08D364 800F3EB4 0C051261 */ jal set_icon_render_pos /* 08D368 800F3EB8 00000000 */ nop /* 08D36C 800F3EBC 3C028011 */ lui $v0, 0x8011 /* 08D370 800F3EC0 8C42D69C */ lw $v0, -0x2964($v0) @@ -26476,7 +26504,7 @@ func_800F3EB4: /* 08D37C 800F3ECC 0262102A */ slt $v0, $s3, $v0 /* 08D380 800F3ED0 50400004 */ beql $v0, $zero, .L800F3EE4 /* 08D384 800F3ED4 26F7000D */ addiu $s7, $s7, 0xd -/* 08D388 800F3ED8 0C0511F1 */ jal func_801447C4 +/* 08D388 800F3ED8 0C0511F1 */ jal draw_icon_1 /* 08D38C 800F3EDC 0200202D */ daddu $a0, $s0, $zero /* 08D390 800F3EE0 26F7000D */ addiu $s7, $s7, 0xd .L800F3EE4: @@ -26515,7 +26543,7 @@ func_800F3EB4: /* 08D404 800F3F54 008B1021 */ addu $v0, $a0, $t3 func_800F3F58: /* 08D408 800F3F58 8C440210 */ lw $a0, 0x210($v0) -/* 08D40C 800F3F5C 0C049DA7 */ jal func_8012769C +/* 08D40C 800F3F5C 0C049DA7 */ jal draw_number /* 08D410 800F3F60 24070001 */ addiu $a3, $zero, 1 /* 08D414 800F3F64 2631000D */ addiu $s1, $s1, 0xd func_800F3F68: @@ -26594,11 +26622,11 @@ func_800F3F78: /* 08D514 800F4064 8E10D678 */ lw $s0, -0x2988($s0) /* 08D518 800F4068 00431021 */ addu $v0, $v0, $v1 /* 08D51C 800F406C 8C450000 */ lw $a1, ($v0) -/* 08D520 800F4070 0C0511FF */ jal func_801447FC +/* 08D520 800F4070 0C0511FF */ jal set_menu_icon_script /* 08D524 800F4074 0200202D */ daddu $a0, $s0, $zero /* 08D528 800F4078 0200202D */ daddu $a0, $s0, $zero /* 08D52C 800F407C 8FA50020 */ lw $a1, 0x20($sp) -/* 08D530 800F4080 0C051261 */ jal func_80144984 +/* 08D530 800F4080 0C051261 */ jal set_icon_render_pos /* 08D534 800F4084 0220302D */ daddu $a2, $s1, $zero /* 08D538 800F4088 0200202D */ daddu $a0, $s0, $zero /* 08D53C 800F408C 3C058011 */ lui $a1, 0x8011 @@ -26659,11 +26687,11 @@ func_800F40C4: /* 08D5FC 800F414C 8E10D678 */ lw $s0, -0x2988($s0) /* 08D600 800F4150 00431021 */ addu $v0, $v0, $v1 /* 08D604 800F4154 8C450000 */ lw $a1, ($v0) -/* 08D608 800F4158 0C0511FF */ jal func_801447FC +/* 08D608 800F4158 0C0511FF */ jal set_menu_icon_script /* 08D60C 800F415C 0200202D */ daddu $a0, $s0, $zero /* 08D610 800F4160 0200202D */ daddu $a0, $s0, $zero /* 08D614 800F4164 8FA50020 */ lw $a1, 0x20($sp) -/* 08D618 800F4168 0C051261 */ jal func_80144984 +/* 08D618 800F4168 0C051261 */ jal set_icon_render_pos /* 08D61C 800F416C 0220302D */ daddu $a2, $s1, $zero /* 08D620 800F4170 0200202D */ daddu $a0, $s0, $zero /* 08D624 800F4174 3C058011 */ lui $a1, 0x8011 @@ -26724,11 +26752,11 @@ func_800F41AC: /* 08D6E4 800F4234 8E10D678 */ lw $s0, -0x2988($s0) /* 08D6E8 800F4238 00431021 */ addu $v0, $v0, $v1 /* 08D6EC 800F423C 8C450000 */ lw $a1, ($v0) -/* 08D6F0 800F4240 0C0511FF */ jal func_801447FC +/* 08D6F0 800F4240 0C0511FF */ jal set_menu_icon_script /* 08D6F4 800F4244 0200202D */ daddu $a0, $s0, $zero /* 08D6F8 800F4248 0200202D */ daddu $a0, $s0, $zero /* 08D6FC 800F424C 8FA50020 */ lw $a1, 0x20($sp) -/* 08D700 800F4250 0C051261 */ jal func_80144984 +/* 08D700 800F4250 0C051261 */ jal set_icon_render_pos /* 08D704 800F4254 0220302D */ daddu $a2, $s1, $zero /* 08D708 800F4258 0200202D */ daddu $a0, $s0, $zero /* 08D70C 800F425C 3C058011 */ lui $a1, 0x8011 @@ -26785,7 +26813,7 @@ func_800F42B0: /* 08D7C4 800F4314 0200202D */ daddu $a0, $s0, $zero .L800F4318: /* 08D7C8 800F4318 8FA50020 */ lw $a1, 0x20($sp) -/* 08D7CC 800F431C 0C051261 */ jal func_80144984 +/* 08D7CC 800F431C 0C051261 */ jal set_icon_render_pos /* 08D7D0 800F4320 0220302D */ daddu $a2, $s1, $zero /* 08D7D4 800F4324 3C058011 */ lui $a1, 0x8011 /* 08D7D8 800F4328 8CA5D650 */ lw $a1, -0x29b0($a1) @@ -26950,7 +26978,7 @@ func_800F4544: /* 08DA1C 800F456C 25450023 */ addiu $a1, $t2, 0x23 /* 08DA20 800F4570 8FAA0060 */ lw $t2, 0x60($sp) /* 08DA24 800F4574 0200202D */ daddu $a0, $s0, $zero -/* 08DA28 800F4578 0C051261 */ jal func_80144984 +/* 08DA28 800F4578 0C051261 */ jal set_icon_render_pos /* 08DA2C 800F457C 2546FFFF */ addiu $a2, $t2, -1 /* 08DA30 800F4580 3C058011 */ lui $a1, 0x8011 /* 08DA34 800F4584 8CA5D650 */ lw $a1, -0x29b0($a1) @@ -26983,7 +27011,7 @@ func_800F4544: /* 08DA9C 800F45EC 8FAB0060 */ lw $t3, 0x60($sp) /* 08DAA0 800F45F0 0200202D */ daddu $a0, $s0, $zero /* 08DAA4 800F45F4 01628821 */ addu $s1, $t3, $v0 -/* 08DAA8 800F45F8 0C051261 */ jal func_80144984 +/* 08DAA8 800F45F8 0C051261 */ jal set_icon_render_pos /* 08DAAC 800F45FC 26260005 */ addiu $a2, $s1, 5 /* 08DAB0 800F4600 3C058011 */ lui $a1, 0x8011 /* 08DAB4 800F4604 8CA5D650 */ lw $a1, -0x29b0($a1) @@ -27006,6 +27034,7 @@ func_800F4618: /* 08DAF0 800F4640 03E00008 */ jr $ra /* 08DAF4 800F4644 27BD0058 */ addiu $sp, $sp, 0x58 +draw_submenu_title: /* 08DAF8 800F4648 3C028011 */ lui $v0, 0x8011 /* 08DAFC 800F464C 8C42D69C */ lw $v0, -0x2964($v0) /* 08DB00 800F4650 27BDFFC8 */ addiu $sp, $sp, -0x38 @@ -27067,7 +27096,7 @@ func_800F4618: /* 08DBC8 800F4718 8E070000 */ lw $a3, ($s0) /* 08DBCC 800F471C 24110032 */ addiu $s1, $zero, 0x32 /* 08DBD0 800F4720 AFB10010 */ sw $s1, 0x10($sp) -/* 08DBD4 800F4724 0C04993B */ jal func_801264EC +/* 08DBD4 800F4724 0C04993B */ jal draw_string /* 08DBD8 800F4728 AFA80014 */ sw $t0, 0x14($sp) /* 08DBDC 800F472C 2685005E */ addiu $a1, $s4, 0x5e /* 08DBE0 800F4730 0240302D */ daddu $a2, $s2, $zero @@ -27078,7 +27107,7 @@ func_800F4618: /* 08DBF4 800F4744 AFB30018 */ sw $s3, 0x18($sp) /* 08DBF8 800F4748 AFA20014 */ sw $v0, 0x14($sp) /* 08DBFC 800F474C 8C640320 */ lw $a0, 0x320($v1) -/* 08DC00 800F4750 0C049DA7 */ jal func_8012769C +/* 08DC00 800F4750 0C049DA7 */ jal draw_number /* 08DC04 800F4754 24070001 */ addiu $a3, $zero, 1 /* 08DC08 800F4758 0803D1EF */ j func_800F47BC /* 08DC0C 800F475C 24040002 */ addiu $a0, $zero, 2 @@ -27093,7 +27122,7 @@ func_800F4618: /* 08DC28 800F4778 8E070000 */ lw $a3, ($s0) /* 08DC2C 800F477C 24110032 */ addiu $s1, $zero, 0x32 /* 08DC30 800F4780 AFB10010 */ sw $s1, 0x10($sp) -/* 08DC34 800F4784 0C04993B */ jal func_801264EC +/* 08DC34 800F4784 0C04993B */ jal draw_string /* 08DC38 800F4788 AFA80014 */ sw $t0, 0x14($sp) /* 08DC3C 800F478C 2685005E */ addiu $a1, $s4, 0x5e /* 08DC40 800F4790 0240302D */ daddu $a2, $s2, $zero @@ -27104,7 +27133,7 @@ func_800F4618: /* 08DC54 800F47A4 AFB30018 */ sw $s3, 0x18($sp) /* 08DC58 800F47A8 AFA20014 */ sw $v0, 0x14($sp) /* 08DC5C 800F47AC 8C640320 */ lw $a0, 0x320($v1) -/* 08DC60 800F47B0 0C049DA7 */ jal func_8012769C +/* 08DC60 800F47B0 0C049DA7 */ jal draw_number /* 08DC64 800F47B4 24070001 */ addiu $a3, $zero, 1 /* 08DC68 800F47B8 0260202D */ daddu $a0, $s3, $zero func_800F47BC: @@ -27114,7 +27143,7 @@ func_800F47BC: /* 08DC78 800F47C8 24070001 */ addiu $a3, $zero, 1 /* 08DC7C 800F47CC AFB10010 */ sw $s1, 0x10($sp) /* 08DC80 800F47D0 AFB30018 */ sw $s3, 0x18($sp) -/* 08DC84 800F47D4 0C049DA7 */ jal func_8012769C +/* 08DC84 800F47D4 0C049DA7 */ jal draw_number /* 08DC88 800F47D8 AFA20014 */ sw $v0, 0x14($sp) /* 08DC8C 800F47DC 0803D235 */ j func_800F48D4 /* 08DC90 800F47E0 00000000 */ nop @@ -27185,7 +27214,7 @@ func_800F48C0: /* 08DD74 800F48C4 24020001 */ addiu $v0, $zero, 1 /* 08DD78 800F48C8 AFA20014 */ sw $v0, 0x14($sp) func_800F48CC: -/* 08DD7C 800F48CC 0C04993B */ jal func_801264EC +/* 08DD7C 800F48CC 0C04993B */ jal draw_string /* 08DD80 800F48D0 00000000 */ nop func_800F48D4: .L800F48D4: @@ -27213,7 +27242,7 @@ func_800F48D4: /* 08DDD4 800F4924 00021080 */ sll $v0, $v0, 2 /* 08DDD8 800F4928 00621821 */ addu $v1, $v1, $v0 /* 08DDDC 800F492C 8C640294 */ lw $a0, 0x294($v1) -/* 08DDE0 800F4930 0C04993B */ jal func_801264EC +/* 08DDE0 800F4930 0C04993B */ jal draw_string /* 08DDE4 800F4934 24A50008 */ addiu $a1, $a1, 8 /* 08DDE8 800F4938 8FBF0018 */ lw $ra, 0x18($sp) /* 08DDEC 800F493C 03E00008 */ jr $ra @@ -27241,7 +27270,7 @@ func_800F48D4: /* 08DE40 800F4990 00000000 */ nop /* 08DE44 800F4994 3C04001D */ lui $a0, 0x1d /* 08DE48 800F4998 34840061 */ ori $a0, $a0, 0x61 -/* 08DE4C 800F499C 0C04991D */ jal func_80126474 +/* 08DE4C 800F499C 0C04991D */ jal get_string_width /* 08DE50 800F49A0 0000282D */ daddu $a1, $zero, $zero /* 08DE54 800F49A4 3C04001D */ lui $a0, 0x1d /* 08DE58 800F49A8 0803D2F7 */ j func_800F4BDC @@ -27249,7 +27278,7 @@ func_800F48D4: /* 08DE60 800F49B0 3C04001D */ lui $a0, 0x1d /* 08DE64 800F49B4 34840063 */ ori $a0, $a0, 0x63 -/* 08DE68 800F49B8 0C04991D */ jal func_80126474 +/* 08DE68 800F49B8 0C04991D */ jal get_string_width /* 08DE6C 800F49BC 0000282D */ daddu $a1, $zero, $zero /* 08DE70 800F49C0 3C04001D */ lui $a0, 0x1d /* 08DE74 800F49C4 34840063 */ ori $a0, $a0, 0x63 @@ -27263,7 +27292,7 @@ func_800F48D4: /* 08DE94 800F49E4 3C04001D */ lui $a0, 0x1d /* 08DE98 800F49E8 34840064 */ ori $a0, $a0, 0x64 -/* 08DE9C 800F49EC 0C04991D */ jal func_80126474 +/* 08DE9C 800F49EC 0C04991D */ jal get_string_width /* 08DEA0 800F49F0 0000282D */ daddu $a1, $zero, $zero /* 08DEA4 800F49F4 3C04001D */ lui $a0, 0x1d /* 08DEA8 800F49F8 34840064 */ ori $a0, $a0, 0x64 @@ -27277,7 +27306,7 @@ func_800F48D4: /* 08DEC8 800F4A18 3C04001D */ lui $a0, 0x1d /* 08DECC 800F4A1C 34840070 */ ori $a0, $a0, 0x70 -/* 08DED0 800F4A20 0C04991D */ jal func_80126474 +/* 08DED0 800F4A20 0C04991D */ jal get_string_width /* 08DED4 800F4A24 0000282D */ daddu $a1, $zero, $zero /* 08DED8 800F4A28 3C04001D */ lui $a0, 0x1d /* 08DEDC 800F4A2C 34840070 */ ori $a0, $a0, 0x70 @@ -27291,7 +27320,7 @@ func_800F48D4: /* 08DEFC 800F4A4C 3C04001D */ lui $a0, 0x1d /* 08DF00 800F4A50 3484006A */ ori $a0, $a0, 0x6a -/* 08DF04 800F4A54 0C04991D */ jal func_80126474 +/* 08DF04 800F4A54 0C04991D */ jal get_string_width /* 08DF08 800F4A58 0000282D */ daddu $a1, $zero, $zero /* 08DF0C 800F4A5C 3C04001D */ lui $a0, 0x1d /* 08DF10 800F4A60 3484006A */ ori $a0, $a0, 0x6a @@ -27305,7 +27334,7 @@ func_800F48D4: /* 08DF30 800F4A80 3C04001D */ lui $a0, 0x1d /* 08DF34 800F4A84 34840065 */ ori $a0, $a0, 0x65 -/* 08DF38 800F4A88 0C04991D */ jal func_80126474 +/* 08DF38 800F4A88 0C04991D */ jal get_string_width /* 08DF3C 800F4A8C 0000282D */ daddu $a1, $zero, $zero /* 08DF40 800F4A90 3C04001D */ lui $a0, 0x1d /* 08DF44 800F4A94 34840065 */ ori $a0, $a0, 0x65 @@ -27314,7 +27343,7 @@ func_800F48D4: /* 08DF50 800F4AA0 3C04001D */ lui $a0, 0x1d /* 08DF54 800F4AA4 34840066 */ ori $a0, $a0, 0x66 -/* 08DF58 800F4AA8 0C04991D */ jal func_80126474 +/* 08DF58 800F4AA8 0C04991D */ jal get_string_width /* 08DF5C 800F4AAC 0000282D */ daddu $a1, $zero, $zero /* 08DF60 800F4AB0 3C04001D */ lui $a0, 0x1d /* 08DF64 800F4AB4 0803D2F7 */ j func_800F4BDC @@ -27322,7 +27351,7 @@ func_800F48D4: /* 08DF6C 800F4ABC 3C04001D */ lui $a0, 0x1d /* 08DF70 800F4AC0 34840067 */ ori $a0, $a0, 0x67 -/* 08DF74 800F4AC4 0C04991D */ jal func_80126474 +/* 08DF74 800F4AC4 0C04991D */ jal get_string_width /* 08DF78 800F4AC8 0000282D */ daddu $a1, $zero, $zero /* 08DF7C 800F4ACC 3C04001D */ lui $a0, 0x1d /* 08DF80 800F4AD0 0803D2F7 */ j func_800F4BDC @@ -27330,7 +27359,7 @@ func_800F48D4: /* 08DF88 800F4AD8 3C04001D */ lui $a0, 0x1d /* 08DF8C 800F4ADC 3484006F */ ori $a0, $a0, 0x6f -/* 08DF90 800F4AE0 0C04991D */ jal func_80126474 +/* 08DF90 800F4AE0 0C04991D */ jal get_string_width /* 08DF94 800F4AE4 0000282D */ daddu $a1, $zero, $zero /* 08DF98 800F4AE8 3C04001D */ lui $a0, 0x1d /* 08DF9C 800F4AEC 3484006F */ ori $a0, $a0, 0x6f @@ -27344,7 +27373,7 @@ func_800F48D4: /* 08DFBC 800F4B0C 3C04001D */ lui $a0, 0x1d /* 08DFC0 800F4B10 3484006D */ ori $a0, $a0, 0x6d -/* 08DFC4 800F4B14 0C04991D */ jal func_80126474 +/* 08DFC4 800F4B14 0C04991D */ jal get_string_width /* 08DFC8 800F4B18 0000282D */ daddu $a1, $zero, $zero /* 08DFCC 800F4B1C 3C04001D */ lui $a0, 0x1d /* 08DFD0 800F4B20 3484006D */ ori $a0, $a0, 0x6d @@ -27358,7 +27387,7 @@ func_800F48D4: /* 08DFF0 800F4B40 3C04001D */ lui $a0, 0x1d /* 08DFF4 800F4B44 348400D6 */ ori $a0, $a0, 0xd6 -/* 08DFF8 800F4B48 0C04991D */ jal func_80126474 +/* 08DFF8 800F4B48 0C04991D */ jal get_string_width /* 08DFFC 800F4B4C 0000282D */ daddu $a1, $zero, $zero /* 08E000 800F4B50 3C04001D */ lui $a0, 0x1d /* 08E004 800F4B54 0803D2F7 */ j func_800F4BDC @@ -27366,7 +27395,7 @@ func_800F48D4: /* 08E00C 800F4B5C 3C04001D */ lui $a0, 0x1d /* 08E010 800F4B60 3484006C */ ori $a0, $a0, 0x6c -/* 08E014 800F4B64 0C04991D */ jal func_80126474 +/* 08E014 800F4B64 0C04991D */ jal get_string_width /* 08E018 800F4B68 0000282D */ daddu $a1, $zero, $zero /* 08E01C 800F4B6C 3C04001D */ lui $a0, 0x1d /* 08E020 800F4B70 3484006C */ ori $a0, $a0, 0x6c @@ -27380,7 +27409,7 @@ func_800F48D4: /* 08E040 800F4B90 3C04001D */ lui $a0, 0x1d /* 08E044 800F4B94 3484006D */ ori $a0, $a0, 0x6d -/* 08E048 800F4B98 0C04991D */ jal func_80126474 +/* 08E048 800F4B98 0C04991D */ jal get_string_width /* 08E04C 800F4B9C 0000282D */ daddu $a1, $zero, $zero /* 08E050 800F4BA0 3C04001D */ lui $a0, 0x1d /* 08E054 800F4BA4 3484006D */ ori $a0, $a0, 0x6d @@ -27394,7 +27423,7 @@ func_800F48D4: /* 08E074 800F4BC4 3C04001D */ lui $a0, 0x1d /* 08E078 800F4BC8 34840062 */ ori $a0, $a0, 0x62 -/* 08E07C 800F4BCC 0C04991D */ jal func_80126474 +/* 08E07C 800F4BCC 0C04991D */ jal get_string_width /* 08E080 800F4BD0 0000282D */ daddu $a1, $zero, $zero /* 08E084 800F4BD4 3C04001D */ lui $a0, 0x1d /* 08E088 800F4BD8 34840062 */ ori $a0, $a0, 0x62 @@ -27410,7 +27439,7 @@ func_800F4BF4: /* 08E0A4 800F4BF4 240700FF */ addiu $a3, $zero, 0xff /* 08E0A8 800F4BF8 2402000F */ addiu $v0, $zero, 0xf /* 08E0AC 800F4BFC AFA20010 */ sw $v0, 0x10($sp) -/* 08E0B0 800F4C00 0C04993B */ jal func_801264EC +/* 08E0B0 800F4C00 0C04993B */ jal draw_string /* 08E0B4 800F4C04 AFA00014 */ sw $zero, 0x14($sp) .L800F4C08: /* 08E0B8 800F4C08 8FBF0020 */ lw $ra, 0x20($sp) @@ -27435,7 +27464,7 @@ func_800F4BF4: /* 08E0FC 800F4C4C 2402000F */ addiu $v0, $zero, 0xf /* 08E100 800F4C50 240700FF */ addiu $a3, $zero, 0xff /* 08E104 800F4C54 AFA20010 */ sw $v0, 0x10($sp) -/* 08E108 800F4C58 0C04993B */ jal func_801264EC +/* 08E108 800F4C58 0C04993B */ jal draw_string /* 08E10C 800F4C5C AFA00014 */ sw $zero, 0x14($sp) /* 08E110 800F4C60 8FBF0018 */ lw $ra, 0x18($sp) /* 08E114 800F4C64 03E00008 */ jr $ra @@ -27467,13 +27496,13 @@ func_800F4BF4: /* 08E168 800F4CB8 8E10D660 */ lw $s0, -0x29a0($s0) /* 08E16C 800F4CBC 24C60011 */ addiu $a2, $a2, 0x11 func_800F4CC0: -/* 08E170 800F4CC0 0C051261 */ jal func_80144984 +/* 08E170 800F4CC0 0C051261 */ jal set_icon_render_pos /* 08E174 800F4CC4 0200202D */ daddu $a0, $s0, $zero /* 08E178 800F4CC8 3C058011 */ lui $a1, 0x8011 /* 08E17C 800F4CCC 8CA5D650 */ lw $a1, -0x29b0($a1) /* 08E180 800F4CD0 0C0513AC */ jal func_80144EB0 /* 08E184 800F4CD4 0200202D */ daddu $a0, $s0, $zero -/* 08E188 800F4CD8 0C0511EA */ jal func_801447A8 +/* 08E188 800F4CD8 0C0511EA */ jal draw_icon_0 /* 08E18C 800F4CDC 0200202D */ daddu $a0, $s0, $zero func_800F4CE0: /* 08E190 800F4CE0 8FBF0014 */ lw $ra, 0x14($sp) @@ -27490,7 +27519,7 @@ func_800F4CE0: /* 08E1B8 800F4D08 240700FF */ addiu $a3, $zero, 0xff /* 08E1BC 800F4D0C AFBF0018 */ sw $ra, 0x18($sp) /* 08E1C0 800F4D10 AFA20010 */ sw $v0, 0x10($sp) -/* 08E1C4 800F4D14 0C04993B */ jal func_801264EC +/* 08E1C4 800F4D14 0C04993B */ jal draw_string /* 08E1C8 800F4D18 AFA00014 */ sw $zero, 0x14($sp) /* 08E1CC 800F4D1C 8FBF0018 */ lw $ra, 0x18($sp) /* 08E1D0 800F4D20 03E00008 */ jr $ra @@ -27527,22 +27556,22 @@ func_800F4CE0: /* 08E240 800F4D90 0220282D */ daddu $a1, $s1, $zero /* 08E244 800F4D94 2666000A */ addiu $a2, $s3, 0xa func_800F4D98: -/* 08E248 800F4D98 0C051261 */ jal func_80144984 +/* 08E248 800F4D98 0C051261 */ jal set_icon_render_pos /* 08E24C 800F4D9C 00000000 */ nop -/* 08E250 800F4DA0 0C0511EA */ jal func_801447A8 +/* 08E250 800F4DA0 0C0511EA */ jal draw_icon_0 /* 08E254 800F4DA4 0200202D */ daddu $a0, $s0, $zero /* 08E258 800F4DA8 2685001A */ addiu $a1, $s4, 0x1a /* 08E25C 800F4DAC 3C108011 */ lui $s0, 0x8011 /* 08E260 800F4DB0 8E10D664 */ lw $s0, -0x299c($s0) /* 08E264 800F4DB4 2666000B */ addiu $a2, $s3, 0xb -/* 08E268 800F4DB8 0C051261 */ jal func_80144984 +/* 08E268 800F4DB8 0C051261 */ jal set_icon_render_pos /* 08E26C 800F4DBC 0200202D */ daddu $a0, $s0, $zero /* 08E270 800F4DC0 3C118011 */ lui $s1, 0x8011 /* 08E274 800F4DC4 2631D650 */ addiu $s1, $s1, -0x29b0 /* 08E278 800F4DC8 8E250000 */ lw $a1, ($s1) /* 08E27C 800F4DCC 0C0513AC */ jal func_80144EB0 /* 08E280 800F4DD0 0200202D */ daddu $a0, $s0, $zero -/* 08E284 800F4DD4 0C0511EA */ jal func_801447A8 +/* 08E284 800F4DD4 0C0511EA */ jal draw_icon_0 /* 08E288 800F4DD8 0200202D */ daddu $a0, $s0, $zero /* 08E28C 800F4DDC 3C028011 */ lui $v0, 0x8011 /* 08E290 800F4DE0 8C42D69C */ lw $v0, -0x2964($v0) @@ -27559,7 +27588,7 @@ func_800F4D98: /* 08E2BC 800F4E0C 9044000F */ lbu $a0, 0xf($v0) /* 08E2C0 800F4E10 8E220000 */ lw $v0, ($s1) /* 08E2C4 800F4E14 24070001 */ addiu $a3, $zero, 1 -/* 08E2C8 800F4E18 0C049DA7 */ jal func_8012769C +/* 08E2C8 800F4E18 0C049DA7 */ jal draw_number /* 08E2CC 800F4E1C AFA20014 */ sw $v0, 0x14($sp) .L800F4E20: /* 08E2D0 800F4E20 8FBF0034 */ lw $ra, 0x34($sp) @@ -27581,7 +27610,7 @@ func_800F4E40: /* 08E308 800F4E58 A022D69A */ sb $v0, -0x2966($at) /* 08E30C 800F4E5C 0C03A625 */ jal func_800E9894 /* 08E310 800F4E60 00000000 */ nop -/* 08E314 800F4E64 0C03A5E3 */ jal func_800E978C +/* 08E314 800F4E64 0C03A5E3 */ jal open_status_menu_short /* 08E318 800F4E68 00000000 */ nop /* 08E31C 800F4E6C 3C048011 */ lui $a0, 0x8011 /* 08E320 800F4E70 2484D699 */ addiu $a0, $a0, -0x2967 @@ -27888,7 +27917,7 @@ func_800F4FC4: /* 08E788 800F52D8 00000000 */ nop /* 08E78C 800F52DC 00000000 */ nop -func_800F52E0: +draw_box: /* 08E790 800F52E0 27BDFE10 */ addiu $sp, $sp, -0x1f0 /* 08E794 800F52E4 0000482D */ daddu $t1, $zero, $zero /* 08E798 800F52E8 93AE020F */ lbu $t6, 0x20f($sp) diff --git a/papermario/globals.inc b/papermario/globals.inc index dd7e3da914..1b8152988f 100644 --- a/papermario/globals.inc +++ b/papermario/globals.inc @@ -1,8 +1,238 @@ # globally accessible functions and data # these will be accessible by C code and show up in the .map file -.global EntryPoint -.global PAPERMARIO_func_80025C60 +.global entry_point +.global boot_main +.global gfxRetrace_Callback +.global gfxPreNMI_Callback +.global step_game_loop +.global gfx_draw_frame +.global load_engine_data +.global update_input +.global poll_rumble +.global start_rumble +.global length2D +.global _heap_create +.global _heap_malloc +.global _heap_malloc_tail +.global _heap_free +.global _heap_realloc +.global cosine +.global sign +.global int_to_string +.global mem_clear +.global transform_point +.global copy_matrix +.global dma_copy +.global _advance_rng +.global rand_int +.global signF +.global round +.global clamp_angle +.global get_clamped_angle_diff +.global atan2 +.global get_player_normal_yaw +.global get_player_normal_pitch +.global dist2D +.global dist3D +.global add_vec2D_polar +.global _wrap_trig_lookup_value +.global sin_cos_rad +.global sin_rad +.global cos_rad +.global sin_cos_deg +.global sin_deg +.global cos_deg +.global update_lerp +.global general_heap_create +.global general_heap_malloc +.global general_heap_malloc_tail +.global general_heap_free +.global battle_heap_create +.global heap_malloc +.global heap_free +.global collision_heap_create +.global collision_heap_malloc +.global collision_heap_free +.global get_spirits_rescued +.global fio_calc_header_checksum +.global fio_validate_header_checksums +.global fio_has_valid_backup +.global fio_flush_backups +.global fio_calc_file_checksum +.global fio_validate_file_checksum +.global fio_fetch_saved_file_info +.global fio_load_game +.global fio_save_game +.global fio_erase_game +.global fio_deserialize_state +.global fio_serialize_state +.global fio_init_flash +.global fio_read_flash +.global fio_write_flash +.global fio_erase_flash +.global crash_delay_msec +.global crash_printf_string +.global crash_print_fpr +.global crash_show_handler +.global crash_monitor_thread +.global crash_create_monitor +.global nuGfxTaskMgr +.global nuGfxTaskMgrInit +.global nuGfxTaskStart +.global nuSiMgrInit +.global nuSiSendMesg +.global nuSiMgrStop +.global nuSiMgrRestart +.global nuSiMgrThread +.global update_cameras +.global render_frame +.global set_cam_viewport +.global get_cam_viewport +.global get_screen_coords +.global create_cameras_a +.global create_cameras_b +.global initialize_next_camera +.global do_camera_type_4 +.global do_camera_type_2 +.global do_camera_type_1 +.global do_camera_type_0 +.global do_camera_type_6 +.global do_camera_type_unused +.global do_camera_type_5 +.global test_ray_zone_aabb +.global do_camera_type_3 +.global set_game_mode +.global get_game_mode +.global start_battle_countdown +.global step_battle +.global step_pause_menu +.global step_world +.global init_demo_data +.global next_demo_scene +.global mtx_ident_mirror_y +.global init_npc_list +.global free_npc +.global get_npc_by_index +.global render_npcs +.global npc_move_heading +.global get_npc_unsafe +.global get_npc_safe +.global enable_npc_shadow +.global disable_npc_shadow +.global enable_npc_blur +.global disable_npc_blur +.global update_npc_blur +.global render_npc_blur +.global set_npc_yaw +.global clear_encounter_status +.global make_npcs +.global kill_encounter +.global kill_enemy +.global COPY_set_defeated +.global bind_enemy_ai +.global bind_enemy_aux +.global bind_enemy_interact +.global bind_npc_ai +.global bind_npc_aux +.global bind_npc_interact +.global get_enemy +.global get_enemy_safe +.global get_defeated +.global set_defeated +.global GetCamLookAtObjVector +.global HasMerleeCasts +.global OnDefeatEnemy +.global OnFleeBattleDrops +.global show_first_strike_message +.global create_npcs +.global SetEncounterStatusFlags +.global LoadDemoBattle +.global MakeNpcs +.global RemoveNpc +.global RemoveEncounter +.global GetBattleOutcome +.global GetOwnerEncountered +.global start_battle +.global DoNpcDefeat +.global StartBattle +.global StartBattleWith +.global StartBossBattle +.global SetBattleMusic +.global BindNpcAI +.global BindNpcIdle +.global RestartNpcAI +.global EnableNpcAI +.global SetNpcAux +.global BindNpcAux +.global RestartNpcAux +.global EnableNpcAux +.global BindNpcInteract +.global BindNpcHit +.global BindNpcDefeat +.global SetSelfVar +.global GetSelfVar +.global SetNpcVar +.global GetNpcVar +.global SetSelfRotation +.global SetSelfEnemyFlags +.global SetSelfEnemyFlagBits +.global GetSelfNpcID +.global ClearDefeatedEnemies +.global SetEnemyFlagBits +.global GetSelfAnimationFromTable +.global NpcDefeat +.global get_coin_drop_amount +.global spawn_drops +.global is_point_within_region +.global nuAuDmaCallBack +.global nuAuDmaNew +.global nuAuCleanDMABuffers +.global alLink +.global alUnlink +.global al_LoadINIT +.global al_CopyFileTableEntry +.global al_LoadPER +.global al_LoadPRG +.global al_LoadBank +.global al_DmaCopy +.global al_CopyWords +.global al_LoadBKHeaders +.global alAudioFrame +.global alHeapAlloc +.global render_effects +.global remove_effect +.global remove_all_effects +.global play_effect +.global load_map_script_lib +.global load_map_by_IDs +.global get_current_map_config +.global get_current_map_header +.global get_map_IDs_by_name +.global load_asset_by_name +.global get_asset_offset +.global allocate_hit_tables +.global initialize_collision +.global load_hit_asset +.global load_collision +.global load_stage_collision +.global load_hit_data +.global parent_collider_to_model +.global _add_hit_vert_to_buffer +.global _get_hit_vert_index_from_buffer +.global update_collider_transform +.global get_collider_type_by_id +.global get_collider_center +.global test_ray_triangle_general +.global test_down_ray_triangle +.global test_up_ray_triangle +.global test_ray_colliders +.global test_ray_zones +.global test_up_ray_collider +.global test_ray_entities +.global get_npc_pos +.global nuBoot +.global boot_idle .global nuScCreateScheduler .global nuScExecuteAudio .global nuScExecuteGraphics @@ -306,4 +536,630 @@ .global osFlashWriteBuffer .global osFlashWriteArray .global osFlashReadArray +.global fx_walk_large +.global fx_walk_normal +.global fx_emote +.global fx_sweat +.global fx_sleep_bubble +.global load_battle +.global setup_demo_player +.global load_demo_battle +.global test_below_player +.global trace_below_player +.global trace_above_player +.global test_player_lateral +.global check_input_use_partner +.global clear_player_status +.global enable_player_shadow +.global disable_player_shadow +.global enable_player_physics +.global disable_player_physics +.global render_player +.global render_player_model +.global make_player_display_list +.global make_spinning_player_display_list +.global update_below_player +.global move_player +.global check_input_midair_jump +.global set_action_state +.global update_locomotion_state +.global start_falling +.global start_bounce_a +.global start_bounce_b +.global check_input_hammer +.global check_input_jump +.global check_input_spin +.global check_input_status_menu +.global clear_player_data +.global get_player_data +.global add_item +.global get_item_count +.global get_item_empty_count +.global find_item +.global sort_items +.global add_badge +.global store_item +.global get_stored_count +.global get_stored_empty_count +.global enforce_hpfp_limits +.global initialize_status_menu +.global status_menu_draw_number +.global status_menu_draw_stat +.global update_status_menu +.global coin_counter_draw_content +.global update_coin_counter +.global show_coin_counter +.global hide_coin_counter +.global ShowCoinCounter +.global open_status_menu_long +.global open_status_menu_short +.global is_status_menu_visible +.global status_menu_start_blinking_hp +.global status_menu_stop_blinking_hp +.global status_menu_start_blinking_fp +.global status_menu_stop_blinking_fp +.global status_menu_start_blinking_coins +.global status_menu_stop_blinking_coins +.global status_menu_start_blinking_sp +.global status_menu_stop_blinking_sp +.global status_menu_start_blinking_sp_bars +.global status_menu_start_blinking_starpoints +.global status_menu_stop_blinking_starpoints +.global decrement_status_menu_disabled +.global increment_status_menu_disabled +.global sync_status_menu +.global reset_status_menu +.global is_ability_active +.global is_partner_ability_active +.global add_coins +.global add_star_points +.global add_star_pieces +.global increment_max_SP +.global set_max_SP +.global add_SP +.global recover_fp +.global recover_hp +.global subtract_hp +.global has_full_hp +.global has_full_fp +.global add_fortress_keys +.global subtract_fortress_keys +.global get_fortress_key_count +.global use_consumable +.global remove_consumable +.global use_partner_ability +.global enable_partner_walking +.global enable_partner_flying +.global enable_partner_ai +.global update_player_move_history +.global clear_partner_move_history +.global draw_submenu_title +.global draw_box +.global update_entities +.global update_shadows +.global get_entity_by_index +.global get_shadow_by_index +.global get_entity_list +.global get_shadow_list +.global test_player_entity_aabb +.global is_player_action_state +.global load_entity_data +.global create_entity +.global create_shadow_from_data +.global MakeEntity +.global AssignScript +.global AssignAreaFlag +.global AssignFlag +.global AssignBlockFlag +.global AssignPanelFlag +.global AssignCrateFlag +.global create_entity_shadow +.global create_shadow_type +.global set_standard_shadow_scale +.global set_shadow_scale_peach +.global step_current_game_mode +.global render_ui +.global load_tile_header +.global get_model_property +.global _load_model_textures +.global load_model_textures +.global clear_model_data +.global init_model_data +.global calculate_model_sizes +.global render_models +.global get_model_from_list_index +.global load_data_for_models +.global load_model_transforms +.global get_model_list_index_from_tree_index +.global get_model_center_and_size +.global clone_model +.global set_fog_color +.global get_fog_color +.global set_tex_panner +.global set_main_pan_u +.global set_main_pan_v +.global set_aux_pan_u +.global set_aux_pan_v +.global queue_render_task +.global play_model_animation +.global clear_character_set +.global clear_printers +.global load_font_data +.global load_font +.global update_messages +.global _update_message +.global render_messages +.global initialize_printer +.global dma_load_string +.global load_message_to_buffer +.global load_string +.global _load_string +.global load_message_to_printer +.global clamp_printer_coords +.global cancel_message +.global set_message_images +.global set_message_string +.global set_message_value +.global close_message +.global get_char_width +.global get_string_properties +.global get_string_width +.global draw_string +.global draw_number +.global _draw_message_box +.global draw_coin_sparkles +.global get_item_entity +.global clear_item_entity_data +.global init_item_entity_list +.global make_item_entity +.global make_item_entity_nodelay +.global make_item_entity_delayed +.global init_got_item +.global update_item_entities +.global draw_item_entity +.global draw_item_entities +.global stub_item_entity_nodraw +.global remove_item_entity_by_reference +.global remove_item_entity_by_index +.global test_item_player_collision +.global set_item_entity_flags +.global clear_item_entity_flags +.global set_item_entity_position +.global update_item_entity_collectable +.global update_item_entity_static +.global update_item_entity_temp +.global set_map_transition_effect +.global init_menu_icon_list +.global create_icon +.global update_menu_icons +.global render_menu_icon +.global render_menu_icons +.global draw_menu_icon +.global draw_icon_0 +.global draw_icon_1 +.global play_ambient_sounds +.global set_menu_icon_script +.global get_menu_icon_script +.global get_menu_icon +.global free_icon +.global set_icon_render_pos +.global get_icon_render_pos +.global set_icon_flags +.global clear_icon_flags +.global clear_saved_variables +.global clear_area_flags +.global clear_global_flag +.global set_global_flag +.global get_global_flag +.global set_global_byte +.global get_global_byte +.global clear_area_flag +.global set_area_flag +.global get_area_flag +.global set_area_byte +.global get_area_byte +.global default_trigger_function_handler +.global clear_trigger_data +.global init_trigger_list +.global create_trigger +.global update_triggers +.global delete_trigger +.global is_trigger_bound +.global get_trigger_by_id +.global load_map_bg +.global read_background_size +.global set_background_size +.global UpdateMusicPlayers +.global _play_sound +.global stop_sound +.global play_sound +.global play_sound_at_player +.global play_sound_at_npc +.global play_sound_at_position +.global get_default_variation_for_song +.global _set_music_track +.global set_music_track +.global sort_scripts +.global find_script_labels +.global clear_script_list +.global init_script_list +.global start_script +.global start_script_in_group +.global start_child_script +.global restart_script +.global update_scripts +.global kill_script +.global kill_script_by_ID +.global kill_all_scripts +.global does_script_exist +.global does_script_exist_by_ref +.global set_script_priority +.global set_script_timescale +.global set_global_timespace +.global get_global_timespace +.global set_script_group +.global bind_trigger +.global bind_trigger_1 +.global suspend_group_script +.global resume_group_script +.global suspend_all_script +.global resume_all_script +.global suspend_group_script_index +.global resume_group_script_index +.global suspend_all_group +.global resume_all_group +.global suspend_group_others +.global resume_group_others +.global get_script_by_index +.global get_script_by_id +.global set_script_flags +.global clear_script_flags +.global fixed_var_to_float +.global float_to_fixed_var +.global si_handle_return +.global si_handle_label +.global si_handle_goto +.global si_handle_Loop +.global si_handle_end_loop +.global si_handle_break_loop +.global si_handle_wait +.global si_handle_wait_seconds +.global si_handle_if_equal +.global si_handle_if_not_equal +.global si_handle_if_less +.global si_handle_if_greater +.global si_handle_if_less_equal +.global si_handle_if_greater_equal +.global si_handle_if_AND +.global si_handle_if_not_AND +.global si_handle_else +.global si_handle_end_if +.global si_handle_switch +.global si_handle_switch_const +.global si_handle_case_equal +.global si_handle_case_not_equal +.global si_handle_case_less +.global si_handle_case_less_equal +.global si_handle_case_greater +.global si_handle_case_greater_equal +.global si_handle_case_range +.global si_handle_case_default +.global si_handle_case_AND +.global si_handle_case_equal_OR +.global si_handle_case_equal_AND +.global si_handle_end_case_group +.global si_handle_break_case +.global si_handle_end_switch +.global si_handle_set_var +.global si_handle_set_const +.global si_handle_set_float +.global si_handle_add +.global si_handle_subtract +.global si_handle_multiply +.global si_handle_divide +.global si_handle_mod +.global si_handle_addF +.global si_handle_subtractF +.global si_handle_multiplyF +.global si_handle_divideF +.global si_handle_set_int_buffer_ptr +.global si_handle_set_float_buffer_ptr +.global si_handle_get_1_word +.global si_handle_get_2_word +.global si_handle_get_3_word +.global si_handle_get_4_word +.global si_handle_get_Nth_word +.global si_handle_get_1_float +.global si_handle_get_2_float +.global si_handle_get_3_float +.global si_handle_get_4_float +.global si_handle_get_Nth_float +.global si_handle_set_array +.global si_handle_set_flag_array +.global si_handle_allocate_array +.global si_handle_AND +.global si_handle_AND_const +.global si_handle_OR +.global si_handle_OR_const +.global si_handle_call +.global si_handle_exec1 +.global si_handle_exec2 +.global si_handle_exec_wait +.global si_handle_jump +.global _bound_script_trigger_handler +.global si_handle_bind +.global DeleteTrigger +.global si_handle_unbind +.global si_handle_kill +.global si_handle_set_priority +.global si_handle_set_timescale +.global si_handle_set_group +.global si_handle_suspend_all +.global si_handle_resume_all +.global si_handle_suspend_others +.global si_handle_resume_others +.global si_handle_suspend +.global si_handle_resume +.global si_handle_does_script_exist +.global si_handle_bind_lock +.global si_handle_thread +.global si_handle_end_thread +.global si_handle_child_thread +.global si_handle_end_child_thread +.global si_handle_print_debug_var +.global si_execute_next_command +.global si_handle_end +.global get_variable +.global get_variable_index +.global get_variable_index_alt +.global set_variable +.global get_float_variable +.global set_float_variable +.global si_goto_label +.global si_skip_if +.global si_skip_else +.global si_goto_end_case +.global si_goto_next_case +.global si_goto_end_loop +.global TranslateModel +.global RotateModel +.global ScaleModel +.global CloneModel +.global GetModelIndex +.global GetModelCenter +.global SetTexPanner +.global SetModelFlag10 +.global EnableTexPanning +.global EnableModel +.global SetGroupEnabled +.global SetTexPanOffset +.global SetModelFlags +.global TranslateGroup +.global RotateGroup +.global ScaleGroup +.global EnableGroup +.global modify_collider_family_flags +.global ModifyColliderFlags +.global ResetFromLava +.global GetColliderCenter +.global ParentColliderToModel +.global UpdateColliderTransform +.global goto_map +.global GotoMap +.global GotoMapSpecial +.global GotoMapByID +.global GetEntryID +.global GetMapID +.global GetLoadType +.global SetRenderMode +.global PlaySoundAtModel +.global PlaySoundAtCollider +.global SetCamEnabled +.global SetCamFlag80 +.global SetCamPerspective +.global SetCamViewport +.global SetCamBGColor +.global SetCamTarget +.global ShakeCam +.global exec_ShakeCam1 +.global exec_ShakeCamX +.global SetCamLeadPlayer +.global PanToTarget +.global UseSettingsFrom +.global LoadSettings +.global SetCamType +.global SetCamPitch +.global SetCamDistance +.global SetCamPosA +.global SetCamPosB +.global SetCamPosC +.global SetPanTarget +.global SetCamSpeed +.global GetCamType +.global GetCamPitch +.global GetCamDistance +.global GetCamPosA +.global GetCamPosB +.global GetCamPosC +.global GetCamPosition +.global WaitForCam +.global SetCamProperties +.global AdjustCam +.global ResetCam +.global draw_anim_models +.global SetAnimModelPosition +.global GetAnimModelPosition +.global AddAnimModelPosition +.global SetAnimModelRotation +.global SetAnimModelScale +.global LoadModelAnimation +.global PlayModelAnimation +.global ChangeModelAnimation +.global set_npc_animation +.global DeleteNpc +.global GetNpcPointer +.global SetNpcPos +.global SetNpcRotation +.global SetNpcScale +.global SetNpcCollisionSize +.global SetNpcSpeed +.global SetNpcJumpscale +.global SetNpcAnimation +.global GetNpcAnimation +.global NpcMoveTo +.global _npc_jump_to +.global NpcJump0 +.global NpcJump1 +.global NpcFlyTo +.global GetNpcYaw +.global SetNpcYaw +.global InterpNpcYaw +.global NpcFacePlayer +.global NpcFaceNpc +.global SetNpcFlagBits +.global GetNpcPos +.global EnableNpcShadow +.global EnableNpcBlur +.global ClearPartnerMoveHistory +.global NpcSetHomePosToCurrent +.global GetPartnerPos +.global DisablePartnerAI +.global EnablePartnerAI +.global BringPartnerOut +.global PutPartnerAway +.global GetCurrentPartnerID +.global SetNpcEffect +.global PlaySoundAtNpc +.global SpeakToPlayer +.global EndSpeech +.global ContinueSpeech +.global SpeakToNpc +.global _show_message +.global ShowMessageAtScreenPos +.global ShowMessageAtWorldPos +.global CloseMessage +.global SwitchMessage +.global ShowChoice +.global CloseChoice +.global CancelMessage +.global CancelMessageAndBlock +.global SetMessageImages +.global SetMessageString +.global SetMessageValue +.global HidePlayerShadow +.global DisablePlayerPhysics +.global DisablePlayerInput +.global SetPlayerPos +.global SetPlayerCollisionSize +.global SetPlayerSpeed +.global SetPlayerJumpscale +.global SetPlayerAnimation +.global SetPlayerActionState +.global MovePlayerTo +.global player_jump +.global PlayerJump +.global PlayerJump1 +.global PlayerJump2 +.global InterpPlayerYaw +.global PlayerFaceNpc +.global GetPlayerTargetYaw +.global SetPlayerFlagBits +.global GetPlayerActionState +.global GetPlayerPos +.global GetPlayerAnimation +.global FullyRestoreHPandFP +.global FullyRestoreSP +.global EnablePartner +.global DisablePartner +.global ForceExitHeading +.global UseExitHeading +.global DisablePulseStone +.global GetCurrentPartner +.global Disable8bitMario +.global PlaySoundAtPlayer +.global CreateImageObj +.global RemoveImageObj +.global SetObjPosition +.global SetObjRotation +.global SetObjScale +.global SetObjJumpScale +.global JumpObj +.global MakeLerp +.global UpdateLerp +.global RandInt +.global GetAngleBetweenNPCs +.global GetAngleToNPC +.global GetAngleToPlayer +.global AwaitPlayerApproach +.global IsPlayerWithin +.global AwaitPlayerLeave +.global AddVectorPolar +.global LoadPath +.global setup_path_data +.global GetNextPathPos +.global GetDist2D +.global SetValueByRef +.global GetValueByRef +.global EnableStatusMenu +.global ShowStatusMenu +.global SetGameMode +.global ClampAngleInt +.global ClampAngleFloat +.global FadeOutMusic +.global SetMusicTrack +.global FadeInMusic +.global PlayAmbientSounds +.global PlaySound +.global PlaySoundAt +.global StopSound +.global UseDoorSounds +.global PlaySoundAtF +.global RemoveKeyItemAt +.global RemoveItemAt +.global AddKeyItem +.global HasKeyItem +.global FindKeyItem +.global AddItem +.global FindItem +.global RemoveItem +.global CountFortessKeys +.global RemoveFortressKeys +.global MakeItemEntity +.global DropItemEntity +.global DropItemEntityB +.global RemoveItemEntity +.global AddBadge +.global RemoveBadge +.global SetItemPos +.global SetItemFlags +.global AddCoin +.global AddStarPoints +.global AddStarPieces +.global GetItemPower +.global ShowGotItem +.global ShowEmote +.global ShowSleepBubble +.global RemoveEffect +.global PlayEffect +.global SetSpriteShading +.global EnableSpriteShading +.global GetDemoState +.global DemoPressButton +.global DemoReleaseButton +.global DemoSetButtons +.global DemoJoystickRadial +.global DemoJoystickXY +.global ShakeCam1 +.global ShakeCamX +.global spr_appendMDL_component +.global spr_transform_point +.global spr_draw_component +.global _spr_sign_extend_12bit +.global _spr_sign_extend_16bit +.global update_component +.global render_sprite +.global load_sprite +.global save_game_at_player_position +.global player_enter_blue_pipe +.global push_entity_matrix